def index_busqueda(request): #Se generan las lista que se van a generar en el index usuario_activo = request.user usuario = Users.objects.get(pk=usuario_activo.id) nombre_usuario = usuario.Nombre + " " + usuario.Apellido_p # Carrusel de resultados de busqueda texto_busqueda = "" if request.GET.get('busqueda_main') is not None: texto_busqueda = request.GET.get('busqueda_main') productos_busqueda = busqueda.coincidencia(texto_busqueda) productoExtra = Product_extras() for cada_producto in productos_busqueda: productoExtra = productoExtra.calculaPromedio(cada_producto) # Carrusel de productos que te han gustado productos_calificados = recomendaciones_contenido.productos_calificados(usuario) for productoEvaluado in productos_calificados: productoExtra = productoExtra.calculaPromedio(productoEvaluado) # Carrusel de productos similares productos_similares = recomendaciones_contenido.recomendacion_similares(usuario) for productoEvaluado in productos_similares: productoExtra = productoExtra.calculaPromedio(productoEvaluado) # Recomendaciones por perfil productos_perfil, metadatos_recomendacion4 = recomendaciones_conocimiento.recomendacion_por_reglas(usuario) for productoEvaluado in productos_perfil: productoExtra = productoExtra.calculaPromedio(productoEvaluado) # Recomendaciones productos_fc productos_fc = recomendaciones_filtrado_colaborativo.recomendaciones_fc(usuario) for productoEvaluado in productos_fc: productoExtra = productoExtra.calculaPromedio(productoEvaluado) # Recomendaciones hibridas recomendaciones_predictivas = recomendaciones_filtrado_colaborativo.recomendaciones_hibridas(productos_fc) for productoEvaluado in recomendaciones_predictivas: productoExtra = productoExtra.calculaPromedio(productoEvaluado) template = loader.get_template('products/index.html') perfil_usuario = recomendaciones_conocimiento.perfil_usuario(usuario) context = { 'nombre_usuario_saludo': nombre_usuario, 'perfil': perfil_usuario, 'productos_busqueda': productos_busqueda, 'productos_calificados': productos_calificados, 'productos_similares': productos_similares, 'productos_perfil': productos_perfil, 'productos_predictivos': recomendaciones_predictivas, 'productos_fc': productos_fc } return HttpResponse(template.render(context, request))
def index_busqueda(request): texto_busqueda = "" if request.GET.get('busqueda_main') is not None: texto_busqueda = request.GET.get('busqueda_main') print texto_busqueda if request.user.is_authenticated(): usuario = Users.objects.get(pk=request.user.id) nombre_usuario = usuario.Nombre + " " + usuario.Apellido_p else: usuario = Users.objects.all()[3] nombre_usuario = "Usuario anónimo" # Carrusel de resultados de busqueda productos_busqueda = busqueda.coincidencia(texto_busqueda) # Carrusel de productos que te han gustado calificaciones = Calificaciones.objects.filter( users=usuario.id).values_list('product_id', flat=True) print "lista:: ", calificaciones productos_calificados = Product.objects.filter(pk__in=list(calificaciones)) # Carrusel de productos similares productos_similares = clasificador_k_vecinos.k_vecinos_lista_productos( productos_calificados, 15) # Recomendaciones por perfil productos_perfil, metadatos_recomendacion4 = recomendaciones_conocimiento.recomendacion_por_reglas( usuario) # Recomendaciones de usuarios similares recomendaciones_usuarios_similares = clasificador_k_vecinos.recomendaciones_usuarios_similares( usuario) # Recomendaciones productos_fc productos_fc = clasificador_k_vecinos.recomendaciones_fc(usuario) template = loader.get_template('products/index.html') perfil_usuario = recomendaciones_conocimiento.perfil_usuario(usuario) context = { 'nombre_usuario_saludo': nombre_usuario, 'perfil': perfil_usuario, 'productos_busqueda': productos_busqueda[:50], 'productos_calificados': productos_calificados, 'productos_similares': productos_similares[:50], 'productos_perfil': productos_perfil[:50], 'productos_contenido': recomendaciones_usuarios_similares[:50], 'productos_fc': productos_fc[:50] } return HttpResponse(template.render(context, request))
def index_busqueda(request): texto_busqueda = "" if request.GET.get('busqueda_main') is not None: texto_busqueda = request.GET.get('busqueda_main') print texto_busqueda if request.user.is_authenticated(): usuario = Users.objects.get(pk=request.user.id) nombre_usuario = usuario.Nombre + " " + usuario.Apellido_p else: usuario = Users.objects.all()[3] nombre_usuario = "Usuario anónimo" # Carrusel de resultados de busqueda productos_busqueda = busqueda.coincidencia(texto_busqueda) # Carrusel de productos que te han gustado calificaciones = Calificaciones.objects.filter(users=usuario.id).values_list('product_id', flat=True) print "lista:: ", calificaciones productos_calificados = Product.objects.filter(pk__in=list(calificaciones)) # Carrusel de productos similares productos_similares = clasificador_k_vecinos.k_vecinos_lista_productos(productos_calificados, 15) # Recomendaciones por perfil productos_perfil, metadatos_recomendacion4 = recomendaciones_conocimiento.recomendacion_por_reglas(usuario) # Recomendaciones de usuarios similares recomendaciones_usuarios_similares = clasificador_k_vecinos.recomendaciones_usuarios_similares(usuario) # Recomendaciones productos_fc productos_fc = clasificador_k_vecinos.recomendaciones_fc(usuario) template = loader.get_template('products/index.html') perfil_usuario = recomendaciones_conocimiento.perfil_usuario(usuario) context = { 'nombre_usuario_saludo': nombre_usuario, 'perfil': perfil_usuario, 'productos_busqueda': productos_busqueda[:50], 'productos_calificados': productos_calificados, 'productos_similares': productos_similares[:50], 'productos_perfil': productos_perfil[:50], 'productos_contenido': recomendaciones_usuarios_similares[:50], 'productos_fc': productos_fc[:50] } return HttpResponse(template.render(context, request))
def index(request): #Se generan las lista que se van a generar en el index usuario_activo = request.user usuario = Users.objects.get(pk=usuario_activo.id) nombre_usuario = usuario.Nombre + " " + usuario.Apellido_p ## populate comments # se insertan 10,000 comentarios de 1000 usuarios sobre 1000 productos, 10 por usuario # se colectan 1000 usuarios al azar #todos_usuarios = Users.objects.order_by('?')[:1000] #todos_productos = Product.objects.order_by('?')[:1000] #calificaciones_por_usuario = 10 #for cada_usuario in todos_usuarios: # print "HEY: Ho ", cada_usuario.Nombre # for i in range(0, calificaciones_por_usuario): # valorCalificacion = random.randint(1, 5) # producto_calificar = todos_productos[random.randint(0, len(todos_productos)-1)] # comentario = comentarios_predefinidos[valorCalificacion] # calificacionExistente = Calificaciones(product=producto_calificar, users=cada_usuario, calificacion_producto=valorCalificacion, comentario=comentario) # print "cali: ", calificacionExistente # calificacionExistente.save() #valorCalificacion = request.POST.get('calificacion') #calificacionExistente.calificacion_producto=valorCalificacion #calificacionExistente.comentario=comentario #calificacionExistente.save() # Carrusel de resultados de busqueda texto_busqueda = "" if request.GET.get('busqueda_main') is not None: texto_busqueda = request.GET.get('busqueda_main') productos_busqueda = busqueda.coincidencia(texto_busqueda) productoExtra = Product_extras() for cada_producto in productos_busqueda: productoExtra = productoExtra.calculaPromedio(cada_producto) # Carrusel de productos que te han gustado productos_calificados = recomendaciones_contenido.productos_calificados(usuario) for productoEvaluado in productos_calificados: productoExtra = productoExtra.calculaPromedio(productoEvaluado) # Carrusel de productos similares productos_similares = recomendaciones_contenido.recomendacion_similares(usuario) for productoEvaluado in productos_similares: productoExtra = productoExtra.calculaPromedio(productoEvaluado) # Recomendaciones por perfil productos_perfil, metadatos_recomendacion4 = recomendaciones_conocimiento.recomendacion_por_reglas(usuario) for productoEvaluado in productos_perfil: productoExtra = productoExtra.calculaPromedio(productoEvaluado) # Recomendaciones productos_fc productos_fc = recomendaciones_filtrado_colaborativo.recomendaciones_fc(usuario) for productoEvaluado in productos_fc: productoExtra = productoExtra.calculaPromedio(productoEvaluado) # Recomendaciones hibridas recomendaciones_predictivas = recomendaciones_filtrado_colaborativo.recomendaciones_hibridas(productos_fc) for productoEvaluado in recomendaciones_predictivas: productoExtra = productoExtra.calculaPromedio(productoEvaluado) template = loader.get_template('products/index.html') perfil_usuario = recomendaciones_conocimiento.perfil_usuario(usuario) context = { 'nombre_usuario_saludo': nombre_usuario, 'perfil': perfil_usuario, 'productos_busqueda': productos_busqueda, 'productos_calificados': productos_calificados, 'productos_similares': productos_similares, 'productos_perfil': productos_perfil, 'productos_predictivos': recomendaciones_predictivas, 'productos_fc': productos_fc } return HttpResponse(template.render(context, request))