Entradas

Mostrando las entradas de noviembre, 2018

Integrar Jupyter Notebook de Python en Visual Studio Code con Neuron

Imagen
Jupyter Notebook es un entorno interactivo de ejecucion de codigo, en otras palabras puedes ir creando y probando codigo de python linea por linea. Ahora esta tecnologia la tenemos integrada en Visual Studio Code, el proceso de instalacion es muy simple:

1.- Abrir la terminal y ejecutar el siguiente codigo:
pip3 install jupyter 2.- Abrimos visual studio code en el area de plugings buscamos neuron y le damos click a install

3.- Creamos un nuevo archivo python y hacemos presionamos ctrl+shift+p,  aparecera un popup de busqeda donde escribiremos "Open Output Pane"

Podemos poner este codigo de ejemplo:
prueba.py
print("Hello")print("Hello How Are you")print(2+4*2) grafica.py
importmatplotlib.pyplotaspltdiasDelMes=[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]plt.scatter(diasDelMes,ventasPorDia)plt.show()

4.- Seleccionamos alguna(s) linea(s) de codigo y precionamos alt+enter y los resultados se mostraran en el panel de l…

07.- Redes neuronales en TensorFlow, conceptos bien explicados

Imagen
Para tener una idea mas clara de que es una red neuronal podemos ir al Playground de tensorflow en https://playground.tensorflow.org donde veremos algo asi:
Para entender mejor las redes neuronales debemos comprender para que sirven las diferentes funciones de activación que se muestran a continuación.
Función sigmoide

Función Tangente Hiperbólica (TANH)
Función Unidad Rectificada Lineal (RELU)







06.- Predecir las ventas con Inteligencia Artificial en TensorFlow

Imagen
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:

importtensorflowastfimportmatplotlib.pyplotasplt# Declaramos la variable del peso (Weight W) # Yo prefiero llamarlo como la inclinacion de la curvaW=tf.Variable([0.01],dtype=tf.float32)# Declaramos la variable del margen (bias b)# En otras palabra de aqui para arriba o para abajob=tf.Variable([0.01],dtype=tf.float32)# x son los dias que han transcurriendox=tf.placeholder(tf.float32)# y es la venta de ese diay=tf.placeholder(tf.float32)# Operacion que genera la linea que le llamaremos regresion linealregresionLineal=W*x+b# La taza de aprendisaje es el tamaño de los brincos que hay que dar para encontrar el resultado optimotazaDeAprendizaje=0.001# Estas operaciones lo que hacen es tratar de reducir # la perdida de exactitud de la inclinacion por cada venta de cada diaperdida=tf.reduce_sum(tf.square(regresionLineal-y))optimizacion=tf.train.GradientDescentO…

04.- Placeholder en TensorFlow

Imagen
Un placeholder es muy parecido a una variable con la diferencia de que al placeholder no se le asignan valores cuando se declara y que el placeholder se le asigna su valor mientras se ejecuta la sesión.


importtensorflowastf# Declaramos las contantes a y ba=tf.constant(5)b=tf.constant(10)# Declaramos el placeholder al que agregaremos su valor dentro de la sesionc=tf.placeholder(tf.int32)# Sumamos "a" y "b" y le restamos el valor de "c"# Pero a "c" le asignaremos su valor durante la sesionz=a+b-c# Inicializamos la sesionwithtf.Session()assess:# Corremos la sesion y alimentamos el valor de "c"=2result=sess.run(z,feed_dict={c:2})# Imprimimos el resultado de la operacionprint(result)


03.- Variables en TensorFlow

Imagen
A diferencia de las constantes a las variables si se pueden cambiar los valores. Cabe resaltar que las variables son creadas usando tf.Variable y no son inicializadas en el inicio. Para inicializar las variables  tenemos que usar una función especial llamada tf.global_variables_initializer()

importtensorflowastf# Declaramos la variable inicial con un valor de 0varInicial=tf.Variable(0)# Declaramos la constante con valor de 1consUno=tf.constant(1)# A varInicial le sumamos consUno y el resultado lo ponemos en sumarsumar=tf.add(varInicial,consUno)# El resultado de la suma se lo asignamos a asignarasignar=tf.assign(varInicial,sumar)# Inicializamos los valores de las variables en este caso (varInicial)init=tf.global_variables_initializer()# Declaramos la sesionwithtf.Session()assess:# Corremos la sessionsess.run(init)# Creamos un ciclo que se repita 3 vecesfor_inrange(3):# Ejecutamos la accion reasignacionsess.run(asignar)# Imprimimos el valor de la variable inicialprint(sess.run(varInicia…

02.- Constantes, matrices y sesiones en TensorFlow

Imagen
Un tensor de tipo constante en TensorFlow es un tensor al que se le asignan valores y ya no pueden ser cambiados en el transcurso del programa.

importtensorflowastf# Declaramos las 2 matricez como constantesmatrizA=tf.constant([[1,2,-3],[4,0,2]])matrizB=tf.constant([[3,1],[2,4],[-1,5]])# Multiplicamos las matricezproduct=tf.matmul(matrizA,matrizB)# Ejecutamos la sesion con el metodo 1sess=tf.Session()result=sess.run(product)print(result)sess.close()# Ejecutamos la sesion con el metodo 2#with tf.Session() as sess:# result2 = sess.run(product)# print(result2)


Videotutorial donde se explica LA MULTIPLICACIÓN DE MATRICES
01.- Instalar TensorFlow en Ubuntu 18.04 
Instalar Visual Studio Code en Ubuntu 18.04  Debug python con visual studio code 







01.- Instalar TensorFlow en Ubuntu 18.04

Imagen
Debemos tener pip3 instalado para comprobar que pip3 este instalado escribimos este codigo en la terminal.
pip3 -V Debe mostrarse algo asi:
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6) De lo contrario debemos inatalar pip3 asi:
sudo apt install python3-pip Una ves instalado pip3 en Ubuntu debemos instalar TensorFlow atraves de pip3 asi:
pip3 install tensorflow Y listo ya tenemos nstalado tensorflow ahora uqe si quieres corroborarlo puedes escribir esto:
pip3 show tensorflow A lo que debe salir algo asi:
Name: tensorflow Version: 1.12.0 Summary: TensorFlow is an open source machine learning framework for everyone.




Crear entornos virtuales en Pyton3 en Ubuntu 18.04

Imagen
Un entorno virtual de Python (o virtualenv) es una herramienta para crear un entorno de Python aislado en su sistema operativo. Esto puede ser extremadamente poderoso ya que puede crear un entorno virtual e instalarle todos los ejecutables/paquetes de Python, sin dejar dependencias fuera de su entorno virtual creado.
Para crear tu primer entorno virtual solo hay que seguir estos pasos:
Instalamos el modulo de python para la creacio de entornos virtuales llamado venv sudo apt-get install python3-venv Nos movemos a nuestra carpeta home cd ~ Creamos y entramos a una carpeta que contendrá nuestros proyecto de python mkdir python cd python Creamos en entorno virtual python3 -m venvpruebaVirtual Donde -m venv = Le decimos a python que vamos a ejecutar el modulo venv pruebaVirtual = Nombre de la carpeta donde se va instalar el entorno virtual
Entramos dentro de la carpeta donde creamos el entorno virtual cd pruebaVirtual Ahora activamos el entorno virtual asi: source bin/activate En nuestra termin…

Debug python con visual studio code

Imagen
Buscamos la extencion "ms-python.python"
Despues de instalarla creamos un archivo con este codigo, agregamos un breackpiont y precionamos f5 y listo:



#Funcion que imprime la suma de 2 variablesdefsuma(x,y):#Sumamos las 2 variables y el resultado lo ponemos en zz=x+yprint('z en def='+str(z))#Declaramos las variablesz=5x=50y=60#Llamamos la funcion sumarsuma(5,10)#Imprimimos el resultado de zprint('z en flujo='+str(z))#Hacemos un blicle de 4 ciclosforxinrange(4):#imprimimos el valor de xprint('x='+str(x))




Instalar Visual Studio Code en Ubuntu 18.04

Imagen
1.- Agregamos la key y el repositorio de visual studio code asi:
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg sudo install -o root -g root -m 644 microsoft.gpg /etc/apt/trusted.gpg.d/ sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list' 2.- Actualizamos los repositorios asi:
sudo apt-get update 3.- Instalamos visual studio code:
sudo apt-get install code Y es todo. Suerte :)


02.- Subir datos a elasticsearch desde excel con excelastic

Imagen
Excelastic es una herramienta para mover datos de archivos de excel a elasticsearch.

Debemos ir a la pagina https://github.com/codingchili/excelastic/releases y descargar los archivos excelastic-1.3.2.jarconfiguration.json
El archivo configuration.json lo vamos a editar de esta forma
{ "web_port": 8082, "elastic_port": 9200, "elastic_host": "localhost", "elastic_tls": false, "authentication": false, "basic": "username:password" }8082=Puerto donde visualizaremos la aplicacion.

Despues con la terminal nos hubicamos en el path donde guardamos los archivos excelastic-1.3.2.jar y configuration.json (en mi caso ~/Descargas/exelastic) y ejecutamos este comando:
java -Xmx2g -jar excelastic-1.3.2.jar Ahora podemos abrir esta url:
http://localhost:8082

Ahora descargamos el archivo ventas.xlsx desde esta url
https://www.dropbox.com/s/1izxcntnzoco0ep/ventas.xlsx?dl=0

El campo index ponemos ventas, mapping …

01.- Instalar Kibana en Ubuntu 18.04

Imagen
Kibana es una programa open-source, en la cual podemo crear visualizaciones de datos por medio de diferente graficas. Kibana trabaja bajo Elasticsearch, es decir, un plugin de ElasticSearch. Kibana también es conocido por el stack ELK:

ElasticsearchLogstashKibana

Para instalar kibana en ubuntu 18.04 solo debemos insertar estos sencillos comandos en nuestra terminal.

Descargamos e instalamos la llave de kibana.
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - Guardamos el repositorio en "/etc/apt/sources.list.d/elastic-6.x.list" asi
echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list Actualizamos el repositorio:
sudo apt-get update Instalamos kibana:
sudo apt-get install kibana Correr kibana con SysV init sudo update-rc.d kibana defaults 95 10 Iniciamos el servicio de kibana
sudo -i service kibana start Detenemos el servicio de kibana
sudo -i service kibana stop Correr…

13.-Crear un index con Elasticsearch-php

Imagen
Suponiendo que trabajemos en la carpeta /var/www/html/elasticsearch vamos a crar ahi un archivo llamado07creaIndex.php con este texto:


<?php/*La funcion $client->indices()->create crea un indice en elasticsearch*///Cargamos las libreriasrequire'vendor/autoload.php';//Llamamos las librerias de elasticsearchuseElasticsearch\ClientBuilder;//Inicializamos el cliente de elasticsearch$client=ClientBuilder::create()->build();//Si la conexion fue exitosa mostramos este mensajeif($client){echo'Conexion exitosa</br>';}//Si no se pudo realizar la conexion mostramos este otro mensaje y nos salimoselse{echo'Conexion fallida</br>';exit;}//Cargamos el array con los parametros del index (bd) a crear$params=['index'=>'empresa','body'=>['settings'=>['number_of_shards'=>2,'number_of_replicas'=>0]]];//Pasamos los parametros a la funcion indices()->create de elasticseach$response=$client->i…

12.- Borrar un index con Elasticsearch-php

Imagen
Suponiendo que trabajemos en la carpeta /var/www/html/elasticsearch vamos a crar ahi un archivo llamado06deleteIndex.php con este texto:


<?php/*La funcion $client->indices()->delete Borra el indice que le pasemos*///Cargamos las libreriasrequire'vendor/autoload.php';//Llamamos las librerias de elasticsearchuseElasticsearch\ClientBuilder;//Inicializamos el cliente de elasticsearch$client=ClientBuilder::create()->build();//Si la conexion fue exitosa mostramos este mensajeif($client){echo'Conexion exitosa</br>';}//Si no se pudo realizar la conexion mostramos este otro mensaje y nos salimoselse{echo'Conexion fallida</br>';exit;}//Cargamos el array con los parametros del index (bd) a borrar$deleteParams=[//Nombre del index (bd)'index'=>'empresa'];//Pasamos los parametros a la funcion indices()->delete de elasticseach$response=$client->indices()->delete($deleteParams);//Mostramos la respuestaecho'<pre>'…

11.- Borra documentos con Elasticsearch-php

Imagen
Suponiendo que trabajemos en la carpeta /var/www/html/elasticsearch vamos a crar ahi un archivo llamado 05deleteDoc.php con este texto:


<?php/*La funcion $client->delete es usada para eliminar documentos*///Cargamos las libreriasrequire'vendor/autoload.php';//Llamamos las librerias de elasticsearchuseElasticsearch\ClientBuilder;//Inicializamos el cliente de elasticsearch$client=ClientBuilder::create()->build();//Si la conexion fue exitosa mostramos este mensajeif($client){echo'Conexion exitosa</br>';}//Si no se pudo realizar la conexion mostramos este otro mensaje y nos salimoselse{echo'Conexion fallida</br>';exit;}//Cargamos el array con los parametros del documento a borrar$params=[ //Nombre del index (bd) 'index'=>'empresa', //Nombre del type (tabla) 'type'=>'empleados', //Nombre del id 'id'=>'5be4f4287a731'];//Pasamos los parametros a la funcion delete de elasticseach$respo…

10.- Consultas a elasticsearch-php

Imagen
Suponiendo que trabajemos en la carpeta /var/www/html/elasticsearch vamos a crar ahi un archivo llamado 04searchDoc.php con este texto:

<?php/*La funcion $client->search podemos hacer un consulta con DSL (Domain Specific Language)*///Cargamos las libreriasrequire'vendor/autoload.php';//Llamamos las librerias de elasticsearchuseElasticsearch\ClientBuilder;//Inicializamos el cliente de elasticsearch$client=ClientBuilder::create()->build();//Si la conexion fue exitosa mostramos este mensajeif($client){echo'Conexion exitosa</br>';}//Si no se pudo realizar la conexion mostramos este otro mensaje y nos salimoselse{echo'Conexion fallida</br>';exit;}//Cargamos el array con los parametros de la busquda$params=[ //Nombre del index (bd) 'index'=>'empresa', //Nombre del type (tabla) 'type'=>'empleados', //Le decimos que vamos a buscar dentro del cuerpo del documetno 'body'=>[ 'query'=&g…

09.- Leer un documento con elasticsearch-php

Imagen
Suponiendo que trabajemos en la carpeta /var/www/html/elasticsearch vamos a crar ahi un archivo llamado 03getDoc.php con este texto:


<?php/*La funcion $client->get llamamos los datos del index (bd)*///Cargamos las libreriasrequire'vendor/autoload.php';//Llamamos las librerias de elasticsearchuseElasticsearch\ClientBuilder;//Inicializamos el cliente de elasticsearch$client=ClientBuilder::create()->build();//Si la conexion fue exitosa mostramos este mensajeif($client){echo'Conexion exitosa</br>';}//Si no se pudo realizar la conexion mostramos este otro mensaje y nos salimoselse{echo'Conexion fallida</br>';exit;}//Cargamos el array con los parametros de la consulta$params=[//Nombre del index (bd) a llamar'index'=>'empresa',//Nombre del type (tabla)'type'=>'empleados',//Nombre del id del documento autogenerado'id'=>'5be3599059305'];//Pasamos los parametros a la funcion get de elasticseac…

08.- Crear un documento con elasticsearch-php

Imagen
Suponiendo que trabajemos en la carpeta /var/www/html/elasticsearch vamos a crar ahi un archivo llamado 02creaDoc.php con este texto:


<?php//Cargamos las libreriasrequire'vendor/autoload.php';//Llamamos las librerias de elasticsearchuseElasticsearch\ClientBuilder;//Inicializamos el cliente de elasticsearch$client=ClientBuilder::create()->build();//Si la conexion fue exitosa mostramos este mensajeif($client){echo'Conexion exitosa</br>';}//Si no se pudo realizar la conexion mostramos este otro mensaje y nos salimoselse{echo'Conexion fallida</br>';exit;}//Generamos un id unico para colocarlo como id de este documento$idDocumento=uniqid();//Cargamos el array con los parametros a insertar$params=[//Nombre del index (bd) donde sea va a crear el documento'index'=>'empresa',//Nombre del type (tabla) donde sea va a crear el documento'type'=>'empleados',//Generamos un id unico con php con el que se identificara est…

Facebook Like