Cinco pasos para hacer lo inevitable, o un sistema de referencia de venta cruzada

Etapa 0: comienzo del camino


En las realidades del mundo moderno, cuando se lleva a cabo la digitalización ubicua y la acumulación de datos sobre todo y sobre todos, surge una pregunta razonable, pero ¿cómo usar estos datos? Muchos, por supuesto, ya han escuchado acerca de los sistemas de recomendación en las áreas de entretenimiento y ventas. Las compañías de inversión no se mantienen alejadas de las tendencias actuales en el campo de la ciencia de datos y de los sistemas de recomendación en particular. Así que veamos qué características y qué etapas tuvo que atravesar una gran empresa de inversión para desarrollar su propio sistema de recomendaciones para aumentar la efectividad de las ventas cruzadas y lo que sucedió al final.



Etapa 1: Negación


¿Cuál es la diferencia entre el proceso de ventas en una compañía de inversión y el proceso similar en otras compañías? Veamos qué hay en común.


  • / ( , ).
  • , ( ).

.


  • , .
  • , (, ) .
  • , , .
  • .

: , . , , , . - ( , ).


2:


-, , . , : , , , , -, , ( ). 100 , . , , .


7070 , ( ) . Pandas NumPy Python. 31, , , - . Python , . .


, , () :


  • ,
  • ,
  • ,
  • - .

3:


, ? – , .


, , . , , .


, . «» . :


  1. , .
  2. « », .. , , , .
  3. .

, « » , .. . , , , «» :


  • . = 1
  • . = 2

, . .


, , ?



«». , , . : , , , .


. 0 1, 0 – . , ...


4:


, Python « », :


dist_cosini = scipy.spatial.distance.cosine(user_one, user_two)

- , Python «», 30000 31- , . .


, , , «l1-» ( — ), «l2-» ( ).


manhattan = round(numpy.linalg.norm(user_one - user_two, ord = 1), 4)


euclidean = round(numpy.linalg.norm(user_one - user_two, ord = 2), 4)

. , . , , . , «l1-» - , «l2-» — . , , …


. , «» , . - .


?


.

, ?


  • «» «» .
  • GIL ( ), Python .

...



. :


  • ( — ).
  • .
  • - , .. , .
  • : 0 1, .

:



, ( B). , :


import numpy as np

CosD = round(1 - (np.sum((user_one * user_two)) / (np.sqrt(np.sum(user_one**2)) * np.sqrt(np.sum(user_two**2)))), 4)

, «l-», .



GIL (Global Interpreter Lock) . , «» GIL, «». , — . , ? Numba.


Python, Numba - . - Python , - . Numba - Python LLVM ( Python).


, :


import numpy as np
from numba import njit

@njit
def dist_cosini(user_one, all_user):
    user_point = []
    for q in range(len(all_user)): 
        user_two =  all_user[q]
        CosD = round(1 - (np.sum((user_one * user_two)) / np.sqrt(np.sum(user_one**2)) / np.sqrt(np.sum(user_two**2))), 4)
        user_point.append(CosD)
    return user_point

, Numba «» GIL . 60 .



5:


"" ( 13 ). .


, — . .


, «» . .


, , , .


. -. , CRM. « » .



:


  • ( ).
  • « » ( 13 ).

Con este fin, el trabajo ya ha comenzado a modificar el sistema en uno de los tipos de sistema de recomendación híbrido. También se está trabajando para profundizar el trabajo del sistema de recomendación con productos complejos.


All Articles