Continuando con los artículos sobre Inteligencia Artificial con Python.
La serie de artículos sobre Scikit-Learn han sido:
Scikit-learn es una librería de Machine Learning para Python que soporta algoritmos de clasificación, regresión y clustering (wikipedia).
A continuación el notebook de jupyter:
Para instalar scikit-learn se usa pip
En el siguiente artículo se explicará otro ejemplo de Árbol de decisión usando scikit-learn.
La serie de artículos sobre Scikit-Learn han sido:
- Árbol de decisión hecho con Python (esté tendrá una segunda parte).
- Una red neuronal para aprendizaje supervisado usando scikit-learn.
- Funciones de activación para un perceptron.
Scikit-learn es una librería de Machine Learning para Python que soporta algoritmos de clasificación, regresión y clustering (wikipedia).
A continuación el notebook de jupyter:
Se creará una red neuronal para clasificación¶
Se usará la tabla de la verdad de XORx | y | Salida | |
---|---|---|---|
0 | 0 | 0 | |
0 | 1 | 1 | |
1 | 0 | 1 | |
1 | 1 | 0 |
Para instalar scikit-learn se usa pip
pip3 install scikit-learn
In [4]:
##Se importa Numpy, MLPCCLassifier y KNeighborsClassifier
importnumpyasnp
fromsklearn.neural_networkimportMLPClassifier
fromsklearn.neighborsimportKNeighborsClassifier
In [5]:
#un Arreglo con la tabla de la verdad
# 0 0
# 0 1
# 1 0
# 1 1
xs=np.array([
0,0,
0,1,
1,0,
1,1
]).reshape(4,2)
xs
Out[5]:
In [6]:
#Se muestra un arreglo con el resultado de hacer un XOR
ys=np.array([0,1,1,0]).reshape(4,)
ys
Out[6]:
In [7]:
#Se crea el clasificador con la función de activación relu,con 10k iteraciones y tiene capaz ocultas 4,2
model=MLPClassifier(activation='tanh',max_iter=10000,hidden_layer_sizes=(4,2))
model
Out[7]:
In [8]:
#Se entrena la red neuronal pasando los arreglos de entrada y de salida
model.fit(xs,ys)
Out[8]:
In [9]:
print('prediccion:',model.predict(xs))# salida 0110
In [10]:
print('Se espera:',np.array([0,1,1,0]))
Otro ejercicio¶
Entrada | Salida | |
---|---|---|
001 | 0 | |
111 | 1 | |
101 | 1 | |
011 | 0 | |
100 | ? |
In [11]:
#Se importa de numpy array
fromnumpyimportarray
In [12]:
#Datos de entrada y de salida
datos_entrada=array([[0,0,1],[1,1,1],[1,0,1],[0,1,1]]).reshape(4,3)
datos_salida=array([[0,1,1,0]]).reshape(4,)
print(datos_entrada)
print("-"*4)
print(datos_salida)
In [13]:
#En este caso se usa KNeighborsClassifier con 2 capaz
KNC=KNeighborsClassifier(n_neighbors=2)
In [14]:
KNC.fit(datos_entrada,datos_salida)
Out[14]:
In [15]:
#Se predice el valor de 1,0,0 que da como resultado el mismo del artículo anterior.
print(KNC.predict([[1,0,0]]))
In [16]:
#Se crea la red de nuevo pero ahora con PLPCCLassifier.
#Se crea el clasificador con la función de activación relu,con 10k iteraciones y tiene capaz ocultas 4,2
KNC=MLPClassifier(activation='tanh',max_iter=10000,hidden_layer_sizes=(4,2))
In [17]:
#Se entrena la red neuronal pasando los arreglos de entrada y de salida
KNC.fit(datos_entrada,datos_salida)
Out[17]:
In [18]:
#Se predice el valor de 1,0,0 que da como resultado el mismo del artículo anterior.
print(KNC.predict([[1,0,0]]))
En el siguiente artículo se explicará otro ejemplo de Árbol de decisión usando scikit-learn.