IRIS VERSICOLOR
IRIS VERSICOLOR

Continuando con nuestras recientes publicaciones sobre 芦Machine Learning禄 (art铆culo anterior sobre fundamentos), en esta oportunidad compartimos algunas cosas que hemos aprendido siguiendo el tutorial 芦 Machine Learning in Python Step by Step芦.

Para poder entender este art铆culo recomendamos seguir el tutorial paso a paso… no se toma m谩s de 30 minutos.

  1. Anaconda:聽Aprendimos que se puede configurar un ambiente relativamente completo para experimentaci贸n con Machine Learning y Python usando Anaconda.
  2. Dataset IRIS: Existe un 芦Hello World禄 para Machine Learning basado en un dataset llamado 芦IRIS禄 3.聽Este consiste en un conjunto de datos que describe tres tipos de flores Iris (setosa, virginica y versicolor) por las dimensiones de su s茅palo y p茅talo; se puede usar para entrenar un modelo de aprendizaje de m谩quina para que este infiera el tipo de flor (clasificaci贸n) con base en la combinaci贸n de par谩metros.
  3. Arreglos:聽Python provee mecanismos para expresar y manipular arreglos de forma sumamente robusta. Podemos resumirlos de la siguiente manera:
    • B谩sicamente [a:b,c:d] donde a:b representa un rango de filas y c:d representa otro rango de columnas.
    • array[:,0:4] retorna todas las filas de la matriz y las primeras 4 columnas a partir de la columna cero.
    • array[:,4] retorna todos los elementos (filas) de la quinta columna聽(铆ndice 4)
      
      
  4. Entrenamiento y Validaci贸n:聽El entrenamiento y validaci贸n de modelos de aprendizaje de m谩quinas usualmente suele dividir los datos conocidos en 80% para aprendizaje o creaci贸n del modelo y 20% para validaci贸n del modelo generado. En este tutorial se usa la funci贸n model_selection.train_test_split(X,Y, test_size, random_state) de la libreria sklearn.
  5. SKLEARN LIB:聽Existen diversos algoritmos de clasificaci贸n en la librer铆a sklearn:
    1. LogisticRegression
    2. LinearDiscriminationAnalysis
    3. KNeighborsClassifier
    4. DecisionTreeClassifier
    5. GaussianNB
    6. SVM/SVC
  6. Precisi贸n de Los Algoritmos:聽Diferentes algoritmos presentan diferentes niveles de precisi贸n dependiendo del problema a resolver. Estos se pueden evaluar usando funciones como model_selection.cross_val_score que da como resultado medidas estad铆sticas como la media y la desviaci贸n estandar. Esta validaci贸n se puede confirmar con gr谩ficos de tipo box charts, scattered matrix e histogramas. Estos gr谩ficos se generan en python usando librer铆as como聽matplotlib
  7. Aprender y Predecir: Una vez entrenado el modelo (con聽knn.fit()) se pueden generar predicciones (knn.predict())
  8. Matriz de Confusi贸n: Las predicciones pueden ser validadas mediante mecanismos como confusion_matrix que provee una an谩lisis simple de valores esperados y valores predichos de manera correcta y err贸nea.
    • La matriz de confusi贸n tiene un eje (x) que representa los valores conocidos, y un eje (y) que representa los valores predichos.
      setosa     ==> [[ 7 聽 0 聽 0]
      versicolor ==> 聽[ 0 聽11  聽1]
      virginica  ==> 聽[ 0  聽2 聽 9 ]]
                        se  ve  vi
    • Esto se interpreta as铆:
      • Se identificaron 7 setosas adecuadamente.
      • De las 12 versicolor se identificaron 11 correctamente y una como virginica
      • De las 11 virginicas se identificaron 9 correctamente y 2 como versicolor.

Referencias:

  1. Machine Learning Step by Step: https://machinelearningmastery.com/machine-learning-in-python-step-by-step/
  2. Confusion Matrix: http://scikit-learn.org/stable/auto_examples/model_selection/plot_confusion_matrix.html
  3. IRIS: https://es.wikipedia.org/wiki/Iris_flor_conjunto_de_datos
  4. Iris Setosa Image:聽 https://www.rhs.org.uk/Plants/9355/Iris-setosa/Details

 

 7,504 total views,  1 views today

2Shares
脷ltima modificaci贸n: noviembre 12, 2017
Anaconda Machine Learning Python

Autor

Comentarios

Escribe una respuesta o comentario Cancelar la respuesta

Tu direcci贸n de correo electr贸nico no ser谩 publicada.

Este sitio usa Akismet para reducir el spam. Aprende c贸mo se procesan los datos de tus comentarios.