Con este artículo, prepárate para ensuciarte las manos con algoritmos, conceptos, matemáticas y codificación de ML.
Para trabajar con código ML, las bibliotecas juegan un papel muy importante en Python, que estudiaremos en detalle, pero veamos una breve descripción de las más importantes:
- NumPy (Numerical Python): es una de las mejores bibliotecas de computación científica y matemática para Python. Plataformas como Keras, Tensorflow han incorporado operaciones Numpy en Tensors. La función que nos preocupa es su potencia y facilidad de manejo y operación en Array.
- Pandas : este paquete es muy útil cuando se trata de manejar datos. Esto hace que sea mucho más fácil manipular, agregar y visualizar datos.
- MatplotLib : Esta librería facilita la tarea de visualizaciones potentes y muy sencillas.
Hay muchas más bibliotecas, pero no tienen ningún uso en este momento. Vamos a empezar.
Descargue el conjunto de datos:
vaya al enlace y descargue Data_for_Missing_Values.csv .
Anaconda:
Les sugiero que instalen Anaconda en sus sistemas. Inicie Spyder nuestro Jupyter en su sistema. La razón detrás de la sugerencia es que Anaconda tiene todas las bibliotecas básicas de Python preinstaladas.
A continuación se muestra el código de Python:
# Python code explaining How to # Handle Missing Value in Dataset """ PART 1 Importing Libraries """ import numpy as np import matplotlib.pyplot as plt import pandas as pd """ PART 2 Importing Data """ data_sets = pd.read_csv('C:\\Users\\Admin\\Desktop\\Data_for_Missing_Values.csv') print ("Data Head : \n", data_sets.head()) print ("\n\nData Describe : \n", data_sets.describe()) """ PART 3 Input and Output Data """ # All rows but all columns except last X = data_sets.iloc[:, :-1].values # TES # All rows but only last column Y = data_sets.iloc[:, 3].values print("\n\nInput : \n", X) print("\n\nOutput: \n", Y) """ PART 4 Handling the missing values """ # We will use sklearn library >> preprocessing package # Imputer class of that package from sklearn.preprocessing import Imputer # Using Imputer function to replace NaN # values with mean of that parameter value imputer = Imputer(missing_values = "NaN", strategy = "mean", axis = 0) # Fitting the data, function learns the stats imputer = imputer.fit(X[:, 1:3]) # fit_transform() will execute those # stats on the input ie. X[:, 1:3] X[:, 1:3] = imputer.fit_transform(X[:, 1:3]) # filling the missing value with mean print("\n\nNew Input with Mean Value for NaN : \n", X)
Producción :
Data Head : Country Age Salary Purchased 0 France 44.0 72000.0 No 1 Spain 27.0 48000.0 Yes 2 Germany 30.0 54000.0 No 3 Spain 38.0 61000.0 No 4 Germany 40.0 NaN Yes Data Describe : Age Salary count 9.000000 9.000000 mean 38.777778 63777.777778 std 7.693793 12265.579662 min 27.000000 48000.000000 25% 35.000000 54000.000000 50% 38.000000 61000.000000 75% 44.000000 72000.000000 max 50.000000 83000.000000 Input : [['France' 44.0 72000.0] ['Spain' 27.0 48000.0] ['Germany' 30.0 54000.0] ['Spain' 38.0 61000.0] ['Germany' 40.0 nan] ['France' 35.0 58000.0] ['Spain' nan 52000.0] ['France' 48.0 79000.0] ['Germany' 50.0 83000.0] ['France' 37.0 67000.0]] Output: ['No' 'Yes' 'No' 'No' 'Yes' 'Yes' 'No' 'Yes' 'No' 'Yes'] New Input with Mean Value for NaN : [['France' 44.0 72000.0] ['Spain' 27.0 48000.0] ['Germany' 30.0 54000.0] ['Spain' 38.0 61000.0] ['Germany' 40.0 63777.77777777778] ['France' 35.0 58000.0] ['Spain' 38.77777777777778 52000.0] ['France' 48.0 79000.0] ['Germany' 50.0 83000.0] ['France' 37.0 67000.0]]
EXPLICACIÓN DEL CÓDIGO:
- Parte 1: Importación de bibliotecas: en el código anterior, importó numpy, pandas y matplotlib, pero solo hemos usado pandas.
- PARTE 2 – Importación de datos:
- Importe
Data_for_Missing_Values.csv
dando la ruta a la función pandas read_csv. Ahora «data_sets» es un DataFrame (estructura de datos tabular bidimensional con filas y columnas etiquetadas). - Luego imprima las primeras 5 entradas de datos del marco de datos usando la función head() . El número de entradas se puede cambiar, por ejemplo, para los primeros 3 valores podemos usar dataframe.head(3). De manera similar, los últimos valores también se pueden obtener usando la función tail() .
- Luego usé la función describe() . Brinda un resumen estadístico de los datos que incluye mínimo, máximo, percentil (.25, .5, .75), media y desviación estándar para cada valor de parámetro.
- Importe
IMPUTER:Imputer(missing_values=’NaN’, strategy=’mean’, axis=0, verbose=0, copy=True)
es una función de la clase Imputer del paquete sklearn.preprocessing. Su función es transformar el valor del parámetro a partir de valores faltantes (NaN) para establecer un valor estratégico.
Syntax : sklearn.preprocessing.Imputer() Parameters : -> missing_values : integer or “NaN” -> strategy : What to impute - mean, median or most_frequent along axis -> axis(default=0) : 0 means along column and 1 means along row
Publicación traducida automáticamente
Artículo escrito por Mohit Gupta_OMG 🙂 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA