Gustaríache comezar aprendizaxe de máquina?
Creei un tutorial sinxelo e sinxelo para principiantes completos. Xuntos, repasaremos os pasos básicos da formación dun modelo de aprendizaxe automática.
Mentres explico os pasos para adestrar un modelo un por un, tamén vou dar un exemplo moi básico dun problema de aprendizaxe automática. Polo tanto, se queres seguir, podes descargar este conxunto de datos de mostra desde este ligazón.
Este é só un conxunto de datos de mostra para axudarche a comezar coa aprendizaxe automática.
Temos 18 valores de persoas de diferentes idades e xéneros que teñen definida a súa música favorita. Ao usar as funcións de "idade" e "xénero" tentaremos adiviñar que xénero musical é o seu favorito.
Nota: 1 e 0 asígnanse aos xéneros como mulleres e homes neste conxunto de datos.
Non obstante, se non queres seguir o exemplo, tamén está perfectamente. Vou explicar todos estes pasos en detalle. Entón, mergullémonos!
Primeiras cousas que debes saber
Antes de entrar nos pasos da formación dun modelo, imos aclarar algúns puntos. A aprendizaxe automática é un intelixencia artificial disciplina que se centra no desenvolvemento de algoritmos que poidan aprender dos datos.
Para iso, os modelos de aprendizaxe automática adestran nun conxunto de datos que ensina ao modelo a facer predicións correctas ou clasificacións en datos frescos, previamente descoñecidos.
Entón, cales son estes modelos? A modelo de aprendizaxe automática é semellante a unha receita que utiliza un ordenador para xerar predicións de datos ou opcións.
Un modelo, como unha receita, segue un conxunto de instrucións para avaliar datos e xerar predicións ou xuízos baseados nos patróns atopados nos datos. Cantos máis datos se adestra o modelo, máis precisas serán as súas predicións.
Que tipo de modelos podemos adestrar?
Vexamos cales son os modelos básicos de aprendizaxe automática.
- Regresión lineal: un modelo que predice unha variable obxectivo continua a partir dunha ou máis variables de entrada.
- Redes neuronais: unha rede de nodos ligados que poden aprender a detectar patróns complicados nos datos.
- Árbores de decisión: un enfoque de toma de decisións construído sobre unha cadea de declaracións se-else ramificadas.
- Agrupación: conxunto de modelos que agrupan puntos de datos comparables en función da semellanza.
- Regresión loxística: un modelo para problemas de clasificación binaria no que a variable obxectivo ten dous valores potenciais.
- Árbores de decisión: un enfoque de toma de decisións construído sobre unha cadea de declaracións se-else ramificadas.
- Random Forest: un modelo de conxunto composto por numerosas árbores de decisión. Utilízanse con frecuencia para aplicacións de clasificación e regresión.
- K-Nearest Neighbors: un modelo que predice a variable obxectivo utilizando os k-puntos de datos máis próximos no conxunto de adestramento.
Dependendo do noso problema e conxunto de datos, decidimos que modelo de aprendizaxe automática se adapta máis á nosa situación. Con todo, volveremos sobre isto máis tarde. Agora, imos comezar a adestrar o noso modelo. Espero que xa tes descargado conxunto de datos se queres seguir o noso exemplo.
Ademais, recomendo ter Caderno Jupyter instalado na súa máquina local e usándoo para os seus proxectos de aprendizaxe automática.
1: Define o problema
A primeira etapa en adestrar unha aprendizaxe automática modelo está a definir o problema a resolver. Isto implica seleccionar as variables que desexa prognosticar (coñecidas como variable de destino) e as variables que se utilizarán para xerar esas predicións (coñecidas como características ou preditores).
Tamén debes decidir que tipo de problema de aprendizaxe automática estás a tratar (clasificación, regresión, agrupación, etc.) e que tipo de datos necesitarás reunir ou conseguir adestrar o teu modelo.
O tipo de modelo que empregues estará determinado polo tipo de problema de aprendizaxe automática que pretendes resolver. Clasificación, regresión e agrupación son as tres categorías primarias desafíos de aprendizaxe automática. Cando queres predicir unha variable categórica, como se un correo electrónico é un correo lixo ou non, utilizas a clasificación.
Cando desexa prognosticar unha variable continua, como o prezo dunha casa, utiliza a regresión. A agrupación úsase para xuntar elementos de datos comparables en función dos seus puntos comúns.
Se miramos o noso exemplo; o noso reto é determinar o estilo musical preferido dunha persoa a partir do seu xénero e idade. Utilizaremos un conxunto de datos de 18 persoas para este exemplo e información sobre a súa idade, sexo e estilo musical favorito.
2. Prepara os datos
Despois de especificar o problema, terás que preparar os datos para adestrar o modelo. Isto implica a limpeza e procesamento dos datos. Así, podemos asegurarnos de que está nun formato que o algoritmo de aprendizaxe automática pode usar.
Isto pode incluír actividades como eliminar valores que faltan, transformar datos categóricos en datos numéricos e escalar ou normalizar os datos para garantir que todas as características estean na mesma escala.
Por exemplo, así é como elimina os valores que faltan:
import pandas as pd
# Load the data into a pandas DataFrame
data = pd.read_csv('data.csv')
# Check for missing values
print(data.isnull().sum())
# Drop rows with missing values
data.dropna(inplace=True)
# Check that all missing values have been removed
print(data.isnull().sum())
Pequena nota: na liña o "import pandas as pd",
importamos a biblioteca Pandas e asignámoslle o alias “pd” para facilitar a referencia das súas funcións e obxectos máis adiante no código.
Pandas é un módulo moi coñecido para Python para a manipulación e análise de datos, especialmente cando se traballa con datos estruturados ou tabulares.
No noso exemplo de determinación de xéneros musicais. Primeiro importaremos o conxunto de datos. Chameino music.csv, pero podes poñerlle o nome como queiras.
Para preparar os datos para adestrar un modelo de aprendizaxe automática, dividímolo en atributos (idade e sexo) e obxectivos (xénero musical).
Ademais, dividiremos os datos en conxuntos de adestramento e probas 80:20 para avaliar o rendemento do noso modelo e evitar un sobreajuste.
# Import necessary libraries
import pandas as pd
from sklearn.model_selection import train_test_split
# Load data from CSV file/code>
music_data = pd.read_csv('music.csv')
# Split data into features and target
X = music_data.drop(columns=['genre'])
y = music_data['genre']
# Split data into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
3. Escolla un modelo de aprendizaxe automática.
Despois de preparar os datos, debes escoller un modelo de aprendizaxe automática que se adapte á túa tarefa.
Hai varios algoritmos para escoller, como árbores de decisión, regresión loxística, máquinas vectoriais de soporte, redes neuronais e outros. O algoritmo que elixas estará determinado polo tipo de problema ao que intentas responder, o tipo de datos que tes e as túas necesidades de rendemento.
Usaremos un clasificador de árbore de decisións para este exemplo porque estamos a traballar cun problema de clasificación (predicir datos categóricos).
# Import necessary libraries
from sklearn.tree import DecisionTreeClassifier
Aquí tes unha visualización de como funciona o Clasificador da árbore de decisións:
4. Adestrar o modelo
Podes comezar a adestrar o modelo cando elixis un algoritmo de aprendizaxe automático aceptable. Isto implica utilizar os datos xerados anteriormente para educar o algoritmo sobre como facer predicións sobre datos novos e non vistos anteriormente.
O algoritmo modificará os seus parámetros internos durante o adestramento para minimizar a diferenza entre os seus valores previstos e os valores reais nos datos de adestramento. A cantidade de datos utilizados para o adestramento, así como os parámetros específicos do algoritmo, poden ter un efecto sobre a precisión do modelo resultante.
No noso exemplo específico, agora que decidimos un método, podemos adestrar o noso modelo cos datos de adestramento.
# Train the decision tree classifier
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
5. Avaliar o modelo
Despois de que o modelo foi adestrado, debe ser avaliado en novos datos para garantir que é preciso e fiable. Isto implica probar o modelo con datos que non se utilizaron durante o adestramento e comparar os seus valores proxectados cos valores reais dos datos da proba.
Esta revisión pode axudar a identificar calquera fallo do modelo, como a sobreadaptación ou a subadaptación, e pode levar a calquera axuste preciso que se precise.
Usando os datos das probas, avaliaremos a corrección do noso modelo.
# Import necessary libraries
from sklearn.metrics import accuracy_score
# Predict the music genre for the test data
predictions = model.predict(X_test)
# Evaluate the model's accuracy
accuracy = accuracy_score(y_test, predictions)
print("Accuracy: ", accuracy)
A puntuación de precisión non é tan mala polo momento. 🙂 Para mellorar a túa puntuación de precisión, sempre podes limpar máis os datos ou probar diferentes modelos de aprendizaxe automática para ver cal dá a puntuación máis alta.
6. Afina o modelo
Se a eficiencia do modelo non é suficiente, podes afinala modificando varios parámetros do algoritmo ou experimentando completamente con novos algoritmos.
Este procedemento pode incluír experimentar con taxas de aprendizaxe alternativas, modificar a configuración de regularización ou alterar o número ou o tamaño das capas ocultas nunha rede neuronal.
7. Utiliza o modelo
Unha vez que estea satisfeito co rendemento do modelo, pode comezar a usalo para xerar predicións sobre novos datos.
Isto pode implicar introducir datos novos no modelo e utilizar os parámetros aprendidos do modelo para xerar predicións sobre eses datos, ou integrar o modelo nunha aplicación ou sistema máis amplo.
Podemos usar o noso modelo para xerar predicións sobre novos datos despois de que esteamos satisfeitos coa súa precisión. Podes probar diferentes valores de xénero e idade.
# Test the model with new data
new_data = [[25, 1], [30, 0]]
predictions = model.predict(new_data)
print("Predictions: ", predictions)
Envolver
Rematamos de adestrar o noso primeiro modelo de aprendizaxe automática.
Espero que che resultou útil. Agora podes probar a usar diferentes modelos de aprendizaxe automática como a regresión lineal ou o bosque aleatorio.
Hai moitos conxuntos de datos e desafíos Kaggle se desexa mellorar a súa codificación e comprensión da aprendizaxe automática.
Deixe unha resposta