06.- Predecir las ventas con Inteligencia Artificial en TensorFlow ?

05. %2BPredecir%2Blas%2Bventas%2Bcon%2BInteligencia%2BArtificial%2Ben%2BTensorFlow
En este tutorial les voy a enseñar a poder predecir las ventas que puede llegar a tener su tienda  negocio o empresa con inteligencia artificial y pues bueno aquí tengo un ejemplo de las ventas de una tienda.
Selecci%25C3%25B3n 007
Es un ejemplo muy sencillo en donde tenemos los días, las ventas que se han tenido en sus respectivos días y la idea es poder predecir cuál va a ser la venta que vamos a tener el día 13 y el día 14 con inteligencia artificial. además tenemos una gráfica en donde expresamos los datos que tenemos 
La idea es que nuestro programa que vamos a desarrollar con tensor flow tenga la capacidad de reconocer un patrón y que nuestro programa dibuje una línea lomas cercana a cada uno de esos puntos. Esa línea va a estar definida por esta fórmula w * x + b.
Si asi como lo oyes, ya es posible predecir el futuro y esto lo podemos lograr con unas simples lineas de codigo que esta aqui abajo:

import tensorflow as tf
import matplotlib.pyplot as plt

# Declaramos la variable del peso (Weight W)
# Yo prefiero llamarlo como la inclinacion de la curva
W=tf.Variable([0.01],dtype=tf.float32)
# Declaramos la variable del margen (bias b)
# En otras palabra de aqui para arriba o para abajo
b=tf.Variable([0.01],dtype=tf.float32)
# x son los dias que han transcurriendo
x=tf.placeholder(tf.float32)
# y es la venta de ese dia
y=tf.placeholder(tf.float32)
# Operacion que genera la linea que le llamaremos regresion lineal
regresionLineal=W*x + b
# La taza de aprendisaje es el tamaño de los brincos que hay que dar para encontrar el resultado optimo
tazaDeAprendizaje=0.001
# Estas operaciones lo que hacen es tratar de reducir
# la perdida de exactitud de la inclinacion por cada venta de cada dia
perdida=tf.reduce_sum(tf.square(regresionLineal-y))
optimizacion = tf.train.GradientDescentOptimizer(tazaDeAprendizaje)
entrenar = optimizacion.minimize(perdida)
# Los dias y las ventas por dia
diasDelMes =[1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,12 ]
ventasPorDia=[100,120,110,100,150,140,140,160,150,143,145,150 ]

# Declaramos la vriable que inicializa las variables
init=tf.global_variables_initializer()
# Inicializamos la sesion
sess=tf.Session()
# Inicializamos las variables
sess.run(init)
#Inicializamos la grafica
fig = plt.gcf()
fig.set_size_inches(18.5, 10.5)
fig.show()
fig.canvas.draw()
# Hacemos in cliclo de 1000 repeticiones
# (En TensorFlow a cada repeticion se le conoce como epoca)
for epoca in range(1000):
fig.clear()
entrenar_, resPerdida=sess.run([entrenar,perdida],feed_dict={x: diasDelMes,y:ventasPorDia})
# Obtenemos el resultado de la inclinacion (Weight)
resW=sess.run(W)
# Obtenemos el resultado del sesgo (Bias)
resB=sess.run(b)
# Pintamos las ventas en la grafica
plt.plot(diasDelMes,ventasPorDia,'ro',label="datos")
# Obtenemos la inclinacion de la prediccion en la grafica
inclinacion=[ resW * x + resB for x in diasDelMes]
# Pintamos la linea de la prediccion
plt.plot(diasDelMes,inclinacion,label="ajuste")
#plt.text(0, 0, 'epoca'+str(epoca))
plt.title('Epoca='+str(epoca)+'n W='+str(resW)+'n B='+str(resB)+ 'nPerdida='+str(resPerdida))
if epoca == 0:
plt.legend()
fig.canvas.draw()
plt.show()
Excel del ejemplo https://www.dropbox.com/s/h77pbpsrq2ydvu2/ventas-IA.xlsx?dl=0
Ejercicio que explica como reducir la perdida: https://developers.google.com/machine-learning/crash-course/fitter/graph?hl=es-419

Una respuesta a “06.- Predecir las ventas con Inteligencia Artificial en TensorFlow ?”

  1. diealebal dice:

    hola eugenio, hay alguna forma de contactarte, pode mandar un mail con tus datos de contacto para un proyecto, gracias

Responder a diealebal Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos Ver más

  • Responsable: Eugenio Chaparro.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a digitalocean.com que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad