Subir datos propios

Introducción #

Ejemplo extraído del video Machine Learning episodio 11. ¿Cómo subir tu set de datos propio?.

El ejemplo esta creado el Jupiter Notebool y se irá poniendo el código de las distintas celdas.

Explicación #

En el video se muestra un excel con los datos iris con multidud de valores. Para este página se ha creado un excel sencillo con la misma estructura pero con datos limitados e inventados. Y se ha conviertido a CSV para que pueda importado por la librerías de machine learning. El fichero tiene ocho columnas de características y una columna para la etiqueta.

Código #

Código fuente descargable

# Paquete para leer el fichero CSV
import pandas as pd
# Algoritmo de regresión línea
from sklearn import linear_model
# Separador de datos de test y entrenamiento
from sklearn.model_selection import train_test_split
# Algoritmo de regresión
reg = linear_model.LogisticRegression()
# Datos con el modelo
archivo = "set_datos_propio.csv"
# Lectura del modelo. 
# Hay que indicarle el separador para que funcione.
df = pd.read_csv(archivo,';')
# Visualización de los datos cargados
df

Este bloque no esta igual que el ejemplo orignal porque el método as_matrix ya no existe y se usa su equivalente.

# Arreglox contendrá todas las características. 
# El -1 es para que no se lea la última columna 
# que es la etiqueta
#print("Valores: ", df.columns[0:-1])
arreglox = df[df.columns[:-1]].to_numpy()
# Arregloy contendrá la ultima columna, que es la etiqueta
arregloy = df[df.columns[-1]].to_numpy()
print("Características: ",arreglox)
print("Etiquetas: ", arregloy)
# Separacion de datos de entrenamiento y test
X_ent, X_test, y_ent, y_test = train_test_split(arreglox, arregloy)
# Entrenamiento del algoritmo
reg.fit(X_ent, y_ent)

# Resultado del entrenamiento
reg.score(X_test, y_test)