Categor铆as: Sin categor铆a

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

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.
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()
Eugenio Chaparro

Ver comentarios

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

Compartir
Publicado por
Eugenio Chaparro

Entradas recientes

馃煝Editar c贸digo de un m贸dulo en Dolibarr [04]

馃煝Editar c贸digo de un m贸dulo en Dolibarr [04]

En este tutorial vamos editar el c贸digo de nuestro m贸dulo personas para poder personalizar algunas…

2 meses hace
馃煝Crear un sub_m贸dulo en Dolibarr [03]

馃煝Crear un sub_m贸dulo en Dolibarr [03]

En este tutorial vamos a crear un sub m贸dulo llamado seguridad que ser谩 muy parecido…

2 meses hace
馃煝Modificar un m贸dulo en Dolibarr [02]

馃煝Modificar un m贸dulo en Dolibarr [02]

En este tutorial aprenderemos a editar el objeto personas del modulo persona que creamos en…

2 meses hace
馃煝Constructor de m贸dulos en Dolibarr

馃煝Constructor de m贸dulos en Dolibarr

Como mencionamos anteriormente Dolibarr es un proyecto realizado sobre la base de una pol铆tica clara:…

2 meses hace
馃煝Tickets en Dolibarr [19]

馃煝Tickets en Dolibarr [19]

Los ticket en dolibarr nos ayudan a comunicar inconveniente en nuestros productos y servicios dentro…

2 meses hace
馃煝Agenda en Dolibarr [18]

馃煝Agenda en Dolibarr [18]

Las agendas en dolibarr nos ayudan a ver las actividades realizadas en proceso y por…

2 meses hace