Consejos para el preprocesamiento de datos con Python y Scikit Learn
1 más 2 pasos críticos de preprocesamiento de datos usando Python, Scikit Learn. Puede comenzar a trabajar en un proyecto de análisis de datos y aprendizaje automático.
Los datos son la sangre del aprendizaje automático, pero no es la cantidad de datos. Por lo tanto, el preprocesamiento de datos adecuado y óptimo es muy importante antes de comenzar a desarrollar modelos de aprendizaje automático. Entonces, en este artículo, recorrería 1 más 2 pasos críticos de preprocesamiento de datos usando Python y Scikit Learn. Al final de este artículo, podrá comenzar a trabajar en sus propios proyectos de análisis de datos y aprendizaje automático con consejos y trucos prácticos.
Tabla de contenido: Consejos para el preprocesamiento de datos utilizando Python y Scikit Learn
- Formule la pregunta
- Importancia de la fuente de datos: scraping interno y externo
- Datos de limpieza antes de comenzar
- API de Scraping gratuita y script Python completo de limpieza de datos
- Recomendación del curso Coursea sobre ciencia de datos y aprendizaje automático
Uno: formular la pregunta
Primero, sugeriría preguntar por qué es necesario aprovechar el aprendizaje automático. La mayoría de las personas que conocí antes podrían decir que les gusta realizar análisis de datos mediante el aprendizaje automático. El análisis de datos es un enfoque, pero no el propósito. En términos de propósito, desde mi perspectiva, básicamente existen tres tipos en el aspecto empresarial:
- Encuentre elementos nuevos y optimizables que puedan mejorar el rendimiento operativo y empresarial
- Automatiza tareas operativas con decisiones operativas tomadas por máquinas.
- Construya y desarrolle modelos de IA de nicho internos
Dos: Importancia de la fuente de datos: scraping interno y externo
Ahora podrías alinear claramente con tu equipo cuál es el propósito de este modelo. Entonces, el descubrimiento y la recopilación de datos es el próximo gran paso.
Para evaluar la fuente de datos, la calidad es siempre la métrica más importante para evaluar si el conjunto de datos se puede utilizar para construir un modelo de aprendizaje automático. Es porque engañaría el proceso de aprendizaje automático y lo dirigiría de manera incorrecta, lo que distorsionaría el resultado del aprendizaje.
La definición de calidad tiene dos opciones básicas para su referencia desde mi experiencia en proyectos. Son datos internos y descartables. Simplemente no intente comprar un conjunto de datos de terceros
Si su empresa no tiene suficientes datos internos, la extracción de datos es una de las mejores formas de recopilarlos. Es porque podemos reconocer de dónde provienen los datos y recopilar los datos que necesitamos específicamente. Podríamos aprovechar proveedores de scraping como BuyfromLo o desarrollar internamente una aplicación de scraping.
www.buyfromlo.com/app
Tres: limpieza de datos con Python
Una vez que se hayan resuelto los aspectos del conjunto de datos y la fuente de datos, es hora de discutir cómo limpiar y estructurar los datos. No importa si se extraen datos o datos internos, es posible que no estén formateados de manera que se ajusten a los modelos de aprendizaje automático, como Scikit Learn regresión lineal. Estos son los consejos para que pueda verificar y limpiar los datos.
Paso 1: convierta su conjunto de datos en un DataFrame
El tipo de DataFrame es una parte del alma del cuerpo en el aprendizaje automático. No importa si ingresa los datos usando csv o recupera la lista de datos usando API, aquí está la línea de código para su información
Read CSV
import pandas as pd
dataset = pd.read_csv ( 'planprice3.csv' )
Data List
List = [1, 2, 3, 4]
Dataset = pd.DataFrame(List)
Para el conjunto de datos CSV, a veces el encabezado puede no ser el que usted configuró y el que configuró depende del segundo rol. Por lo tanto, aquí está la manera de resolver esto.
dataset = pd.read_csv ( 'planprice3.csv' )
dataset.columns = dataset.iloc [ 0 ]
dataset = dataset [ 1 :]
Paso 2: sepa qué información cubre el conjunto de datos
pp_dataset.shape
(84359, 13)
Esto indica cuál es la forma de su conjunto de datos. La forma aquí significa cuántas características o llamadas variables (variables dependientes más independientes) y cuántas instancias tiene el conjunto de datos.
print ( dataset.info ())
Este es un método muy útil que le brinda más detalles sobre el conjunto de datos.
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 84359 entries, 1 to 84359
Data columns (total 13 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Purchase Date 84359 non-null object
1 Campaign 84359 non-null object
2 Source Desc 84359 non-null object
3 Source Type 84359 non-null object
4 Country 84359 non-null object
5 Company Name 84358 non-null object
6 Amount ($) 84359 non-null object
7 Base Price ($) 84359 non-null object
8 Gender 84359 non-null object
9 Plan Type 84359 non-null object
10 Activity 84359 non-null object
11 Created By Name 84359 non-null object
12 Created by ID 84359 non-null object
dtypes: object(13)
memory usage: 8.4+ MB
Si su conjunto de datos tiene un tipo de datos entero, también puede usar esta línea para ver el panorama general del número.
dataset.describe ()
Paso 3: resolver el problema de valor faltante
Como puede ver arriba, es posible que la cantidad de instancias no sea la misma y algunas funciones pueden tener menos instancias que otras. Esto no es bueno para hacer ejercicio, así que esta es la manera de hacer las cosas consistentes.
dataset.dropna ( inplace= True )
Paso 4: numerar todos los datos
El aprendizaje automático no puede leer cadenas y solo se pueden leer números enteros y números. De hecho, el mundo real incluye tantas cadenas en el conjunto de datos. Entonces necesitamos convertir cadenas en números. Aquí están las bibliotecas de scikit y el código para hacerlo.
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder ()
label = le.fit_transform ( dataset [ 'Country' ])
dataset [ 'Country1' ] = label
dataset.drop ( "Country" , axis= 1 , inplace= True )
Para los casos en los que necesita convertir más de una característica
dataset
[[ 'Campaign' , 'Source Desc' , 'Source Type' , 'Company Name' , 'Gender' , 'Plan Type' , 'Activity' ]] = dataset [[ 'Campaign' , 'Source Desc' , 'Source Type' , 'Company Name' , 'Gender' , 'Plan Type' , 'Activity' ]] .apply ( le.fit_transform )
Paso 5: convertir el número al tipo de datos entero
Algunos valores pueden parecer números, pero en realidad pueden ser del tipo de datos de cadena. En este caso, necesitamos convertirlos a un tipo de datos entero. Aquí está el ejemplo de código:
dataset [ 'Amount ($)' ] = dataset [ 'Amount ($)' ] .astype ( int )
API de Scraping gratuita y script Python completo de limpieza de datos
Si está interesado en consejos para el preprocesamiento de datos utilizando Python y Scikit Learn, suscríbase a nuestro boletín agregando el mensaje 'DS + scripts completos y token gratuito de API de raspado . Le enviaremos el script cuando el script de la aplicación actualizado esté activo.
Espero que disfrute leyendo Consejos para el preprocesamiento de datos con Python y Scikit Learn. Si lo hizo, apóyenos haciendo una de las cosas que se enumeran a continuación, porque siempre ayuda a nuestro canal.
- Apoye y done a nuestro canal a través de PayPal ( paypal.me/Easy2digital )
- Suscríbete a mi canal y activa la campana de notificaciones del canal de Youtube Easy2Digital .
- Sigue y dale me gusta a mi página Página de Facebook de Easy2Digital
- Comparte el artículo en tu red social con el hashtag #easy2digital
- Te registras en nuestro boletín semanal para recibir los últimos artículos, vídeos y códigos de descuento de Easy2Digital.
- Suscríbase a nuestra membresía mensual a través de Patreon para disfrutar de beneficios exclusivos ( www.patreon.com/louisludigital )