Saltar al contenido

Aprendizaje de la máquina de ciencias

A continuación se indican los pasos que se suelen seguir al aplicar la clasificación con Scikit-learn.

Paso 1 – Cargando las bibliotecas y módulos necesarios.

Aprendizaje de la máquina de ciencias
Aprendizaje de la máquina de ciencias

Paso 2 – Cargar los datos y realizar comprobaciones de datos básicos.

Paso 3 – Crear arreglos para las características y la variable de respuesta.

Paso 4 – Creación de los conjuntos de datos de entrenamiento y prueba.

Paso 5 – Crear y ajustar el clasificador.

Paso 6 – Predecir sobre los datos de la prueba y calcular las métricas de evaluación.

Las siguientes secciones cubrirán estos pasos.

Paso 1 – Carga de las bibliotecas y módulos requeridos

1234567891011# Importar las bibliotecas necesariasimportar pandas como pdimport numpy como npimport matplotlib.pyplot como pltimport seaborn como sns%matplotlib inline# Importar los módulos necesariosdesde sklearn.linear_model import LogisticRegression desde sklearn.model_selection importar train_test_split desde sklearn.metrics importar confusion_matrix, classification_report

pitón

Paso 2 – Cargar los datos y realizar las comprobaciones de los datos básicos

La primera línea de código se lee en los datos como cuadro de datos de pandas, mientras que la segunda línea de código imprime la forma – 768 observaciones de 9 variables. La tercera línea da estadísticas resumidas de las variables numéricas. Podemos ver que todas las variables tienen 768 como «recuento» que es igual al número de registros en el conjunto de datos que significa que no tenemos valores perdidos.

1234# Load datadf = pd.read_csv("diabetes.csv")print(df.shape)df.describe()

pitón

Salida:

1 (768, 9)

embarazosglucosediastolíticosinsulinaaabetescount768768768768768768768768768med3.8120.969.120.579.832.00.533.20.3std3.432. 019.416.0115.27.90.311.80.5min0000000.121025%199620027.30.224050%3117722330.5320.429075%6140.38032127.336.60.6411max171991229984667.12.4811

Paso 3 – Crear arreglos para las características y la variable de respuesta.

La primera línea de código crea una matriz de la variable objetivo, mientras que la segunda línea de código nos da la matriz de todas las características después de excluir la variable objetivo «diabetes».

123# Crear matrices para las características y la variable de respuestay = df[$0027diabetes$0027].valuesX = df.drop($0027diabetes$0027, axis=1).values

pitón

Paso 4 – Creación de los conjuntos de datos de entrenamiento y prueba

La primera línea de código divide los datos en conjunto de datos de entrenamiento y de prueba, mientras que la segunda línea de código nos da la forma del conjunto de entrenamiento (460 observaciones de 8 variables) y del conjunto de prueba (308 observaciones de 8 variables).

123# Crear juegos de entrenamiento y pruebasX_train, X_test, y_train, y_test = train_test_split(X, y, test_size =0.4, random_state=42) X_train.shape, X_test.shape

pitón

1((460, 8), (308, 8))

Paso 5 – Crear y ajustar el clasificador

La primera línea de código instanciar un clasificador LogisticRegression llamado logreg; mientras que la segunda línea de código encaja con el clasificador en el set de entrenamiento.

12345# Crear el clasificador: logreglogreg = LogisticRegression()# Ajustar el clasificador al datalogreg.fit(X_train, y_train)

pitón

Salida:

1234 LogisticRegression(C=1.0, class_weight=None, dual=Falso, fit_intercept=True, intercept_scaling=1, max_iter=100, multi_class=$0027ovr$0027, n_jobs=1, penalty=$0027l2$0027, random_state=None, solver=$0027liblinear$0027, tol=0.0001, verbose=0, warm_start=False)

Paso 6 – Predecir en los datos de la prueba y calcular las métricas de evaluación;

La primera línea de código predice la etiqueta de los datos de la prueba, la segunda línea imprime la matriz de confusión, mientras que la tercera línea imprime el informe de clasificación.

123456# Predecir las etiquetas del conjunto de pruebas: y_predy_pred = logreg.predict(X_test)# Calcular e imprimir la matriz de confusión y el informe de clasificaciónprint(confusion_matrix(y_test, y_pred))print(classification_report(y_test, y_pred))

pitón

Salida:

12345678 [[174 32] [ 36 66]]] precisión en la recuperación f1-score support 0 0.83 0.84 0.84 206 1 0.67 0.65 0.66 102 avg / total 0.78 0.78 0.78 308