ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Tarea Machine Learning Ejercicio 2


Enviado por   •  4 de Noviembre de 2023  •  Tareas  •  3.595 Palabras (15 Páginas)  •  32 Visitas

Página 1 de 15

Lista 2 de Ejercicios

Objetivo:

Este ejercicio pretende aumentar la destreza del estudiante para dibujar

gráficos descriptivos comunes, testear múltiples modelos de

clasificación de forma rápida y poner en práctica transformadores

habituales de la librería sklearn.

Tarea del estudiante:

Lee detenidamente las siguientes instrucciones y borra raise NotImplementedError en todas las celdas

En cada trozo de código debes responder a la pregunta formulada,

asegurándote de que el resultado queda guardado en la(s) variable(s)

indicadas, que por defecto vienen inicializadas a None. Puedes usar

variables intermedias siempre que el resultado final del cálculo quede

guardado exactamente en la variable que indica el enunciado (debes

reemplazar None el código necesario, pero nunca cambiar el nombre de las

variables ya creadas).

Después de cada ejercicio verás varias líneas de código ya hechas.

Ejecútalas todas (no modifiques su código) y te dirán si tu solución es

correcta o no, sin darte pistas de cómo se resuelve (el código de los

tests no guarda relación con el código de la solución). Si la solución

es correcta, no se mostrará nada, pero si es incorrecta, verás un error

indicando cuál es el test que tu solución no pasa. Además de esas

pruebas, se realizarán algunas más (ocultas) a la hora de puntuar el

ejercicio, pero si tu código pasa con éxito las líneas que ves, puedes

estar bastante seguro de que tu solución es correcta. Asegúrate de que

todas las celdas de auto-evaluación indican que tu solución es correcta

antes de subir el ejercicio a la plataforma. En caso contrario, no dudes

en preguntar las dudas a través del foro -siempre explicando la duda en

palabras, sin pegar código fuente-.

Una vez finalizada la actividad, guarda tu fichero, ciérralo con File ->

Close and Halt, y después vuélvelo a abrir y ejecútalo completo

pinchando en Cell -> Run All Cells, y asegúrate de que no se lanza

ningún error. De esta manera comprobarás que no has olvidado nada y que

es posible ejecutarlo completo desde 0 y sin errores. No se corregirá

ningún fichero que tenga errores de sintaxis y no se pueda, como mínimo,

ejecutar completamente. No pasa nada si alguna de las comprobaciones

lanza errores por ser incorrecta, pero el código de cada ejercicio no

puede tener errores de sintaxis y debe al menos poderse ejecutar.

RECUERDA SUBIR CADA UNO DE LOS FICHEROS .ipynb TAL CUAL (sueltos), SIN

COMPRIMIR Y SIN CAMBIARLES EL NOMBRE. Los ficheros subidos deben tener

exactamente el mismo nombre de fichero que tenían cuando los recibiste.

No subas ningún PDF ni ningún fichero ZIP ni nada similar. La plataforma

ya los separa automáticamente en carpetas que traen el nombre y

apellidos del alumno, por lo que NO es necesario que lo pongas en

ninguna parte.

Parte 0: Inicialización

En esta parte, simplemente cargamos las librerías que vamos a utilizar y

establecemos una semilla para controlar la reproducibilidad del

ejercicio.

""" Librerías """

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

import seaborn as sns

import warnings

sns.set_style('darkgrid')

np.set_printoptions(precision=2)

warnings.filterwarnings("ignore")

import sklearn

from sklearn.preprocessing import MinMaxScaler, StandardScaler, Normalizer, Binarizer, RobustScaler

from sklearn.compose import ColumnTransformer

from sklearn.preprocessing import OneHotEncoder, LabelEncoder, PowerTransformer

from sklearn.impute import SimpleImputer, KNNImputer

from sklearn.feature_selection import SelectKBest, chi2, RFE

from sklearn.model_selection import train_test_split

from sklearn.pipeline import make_pipeline, Pipeline

from sklearn.decomposition import PCA

from sklearn.linear_model import LogisticRegression

from sklearn.tree import DecisionTreeClassifier

from sklearn.neighbors import KNeighborsClassifier

from sklearn.discriminant_analysis import LinearDiscriminantAnalysis

from sklearn.naive_bayes import GaussianNB

from sklearn.ensemble import RandomForestClassifier, ExtraTreesClassifier

from sklearn.svm import SVC

from sklearn.metrics import accuracy_score, confusion_matrix, classification_report, f1_score

from sklearn.model_selection import KFold, ShuffleSplit, LeaveOneOut, StratifiedKFold

from sklearn.model_selection import cross_val_score, cross_val_predict

from sklearn.model_selection import GridSearchCV, RandomizedSearchCV

""" Semilla """

seed = 99

Parte 1: Lectura y transformación de datos

En esta parte, principalmente, cargaremos los datos de un repositorio

git y realizaremos una breve limpieza de los datos para conseguir un

dataframe listo.

df = pd.read_csv('https://raw.githubusercontent.com/eduardofc/data/main/kddcup99.csv')

print(f'Número de filas: {df.shape[0]}, Número de columnas:{df.shape[1]}')

df.head()

Número de filas: 561, Número de columnas:10

duration protocol_type service flag count srv_count serror_rate \

0 0 b'tcp' b'http' b'SF' 0 0 0.0

1 0 b'tcp' b'http' b'SF' 0 0 0.0

2 0 b'tcp' b'http' b'SF' 0 1 0.0

3 0 b'tcp' b'http' b'SF' 0 0 1.0

4 0 b'tcp' b'http' b'SF' 0 0 0.0

dst_host_srv_count dst_host_srv_serror_rate labels

0 0 0.0 b'normal.'

1 1 0.0 b'normal.'

2 1 0.0 b'normal.'

...

Descargar como (para miembros actualizados) txt (19 Kb) pdf (75 Kb) docx (22 Kb)
Leer 14 páginas más »
Disponible sólo en Clubensayos.com