Souhaitez-vous commencer avec machine learning?
J'ai créé un tutoriel simple et facile pour les débutants complets. Ensemble, nous passerons en revue les étapes de base de la formation d'un modèle d'apprentissage automatique.
Tout en expliquant les étapes de formation d'un modèle une par une, je donnerai également un exemple très basique d'un problème d'apprentissage automatique. Donc, si vous souhaitez suivre, vous pouvez télécharger cet exemple d'ensemble de données à partir de ce lien.
Il ne s'agit que d'un exemple d'ensemble de données pour vous aider à démarrer avec l'apprentissage automatique.
Nous avons 18 valeurs de personnes d'âges et de sexes différents qui ont défini leur musique préférée. En utilisant les caractéristiques « âge » et « sexe », nous essaierons de deviner quel genre de musique est leur préféré.
Remarque : 1 et 0 sont attribués aux sexes féminin et masculin dans cet ensemble de données.
Cependant, si vous ne voulez pas suivre l'exemple, c'est aussi parfaitement bien. Je vais vous expliquer toutes ces étapes en détail. Alors, plongeons !
Premières choses à savoir
Avant d'aborder les étapes de formation d'un modèle, clarifions quelques points. L'apprentissage automatique est un intelligence artificielle discipline qui se concentre sur le développement d'algorithmes capables d'apprendre à partir des données.
Pour ce faire, les modèles d'apprentissage automatique sont formés sur un ensemble de données qui enseigne au modèle comment faire des prédictions correctes ou classifications sur des données fraîches et jusqu'alors inconnues.
Alors, quels sont ces modèles ? UN modèle d'apprentissage automatique est similaire à une recette qu'un ordinateur utilise pour générer des prédictions ou des choix de données.
Un modèle, comme une recette, suit un ensemble d'instructions pour évaluer les données et générer des prédictions ou des jugements basés sur des modèles trouvés dans les données. Plus le modèle est formé sur des données, plus ses prédictions deviennent précises.
Quels types de modèles pouvons-nous entraîner ?
Voyons quels sont les modèles d'apprentissage automatique de base.
- Régression linéaire : un modèle qui prédit une variable cible continue à partir d'une ou plusieurs variables d'entrée.
- Les réseaux de neurones: un réseau de nœuds liés qui peuvent apprendre à détecter des modèles complexes dans les données.
- Arbres de décision : une approche de prise de décision basée sur une chaîne d'instructions if-else branchantes.
- Clustering : un ensemble de modèles qui regroupent des points de données comparables en fonction de la similarité.
- Régression logistique : un modèle pour les problèmes de classification binaire dans lequel la variable cible a deux valeurs potentielles.
- Arbres de décision : une approche de prise de décision basée sur une chaîne d'instructions if-else branchantes.
- Random Forest : un modèle d'ensemble composé de nombreux arbres de décision. Ils sont fréquemment utilisés pour les applications de classification et de régression.
- K-Nearest Neighbors : un modèle qui prédit la variable cible à l'aide des k points de données les plus proches dans l'ensemble d'apprentissage.
En fonction de notre problème et de notre ensemble de données, nous décidons quel modèle d'apprentissage automatique correspond le mieux à notre situation. Pourtant, nous y reviendrons plus tard. Maintenant, commençons à former notre modèle. J'espère que vous avez déjà téléchargé le jeu de données si vous souhaitez suivre notre exemple.
Aussi, je recommande d'avoir Jupyter Notebook installé sur votre ordinateur local et utilisé pour vos projets d'apprentissage automatique.
1 : Définir le problème
La première étape dans former un machine learning modèle définit le problème à résoudre. Cela implique de sélectionner les variables que vous souhaitez prévoir (appelées variables cibles) et les variables qui seront utilisées pour générer ces prédictions (appelées caractéristiques ou prédicteurs).
Vous devez également décider du type de problème d'apprentissage automatique que vous essayez de résoudre (classification, régression, regroupement, etc.) et du type de données que vous devrez collecter ou obtenir pour former votre modèle.
Le type de modèle que vous utiliserez sera déterminé par le type de problème d'apprentissage automatique que vous souhaitez résoudre. La classification, la régression et le regroupement sont les trois principales catégories de défis d'apprentissage automatique. Lorsque vous souhaitez prédire une variable catégorielle, par exemple si un e-mail est un spam ou non, vous utilisez la classification.
Lorsque vous souhaitez prévoir une variable continue, comme le prix d'une maison, vous utilisez la régression. Le regroupement est utilisé pour rassembler des éléments de données comparables en fonction de leurs points communs.
Si nous regardons notre exemple; notre défi est de déterminer le style musical préféré d'une personne à partir de son sexe et de son âge. Nous utiliserons un ensemble de données de 18 personnes pour cet exemple et des informations sur leur âge, leur sexe et leur style musical préféré.
2. Préparer les données
Une fois que vous avez spécifié le problème, vous devez préparer les données pour entraîner le modèle. Cela implique le nettoyage et le traitement des données. Afin que nous puissions nous assurer qu'il est dans un format que le algorithme d'apprentissage automatique peut utiliser.
Cela peut inclure des activités telles que la suppression des valeurs manquantes, la transformation de données catégorielles en données numériques et la mise à l'échelle ou la normalisation des données pour s'assurer que toutes les caractéristiques sont sur la même échelle.
Par exemple, voici comment vous supprimez les valeurs manquantes :
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())
Petite note : Dans la ligne o "import pandas as pd",
nous importons la bibliothèque Pandas et lui attribuons l'alias "pd" pour faciliter le référencement de ses fonctions et objets plus tard dans le code.
Pandas est un module Python bien connu pour la manipulation et l'analyse de données, en particulier lorsque vous travaillez avec des données structurées ou tabulaires.
Dans notre exemple de détermination des genres musicaux. Nous allons d'abord importer le jeu de données. Je l'ai nommé music.csv, cependant, vous pouvez le nommer comme vous le souhaitez.
Pour préparer les données pour la formation d'un modèle d'apprentissage automatique, nous les divisons en attributs (âge et sexe) et objectifs (genre musical).
Nous diviserons en outre les données en ensembles d'entraînement et de test 80:20 pour évaluer les performances de notre modèle et éviter le surajustement.
# 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. Choisissez un modèle d'apprentissage automatique.
Après avoir préparé les données, vous devez choisir un modèle d'apprentissage automatique adapté à votre tâche.
Il existe plusieurs algorithmes parmi lesquels choisir, tels que les arbres de décision, la régression logistique, les machines à vecteurs de support, les réseaux de neurones, etc. L'algorithme que vous choisissez sera déterminé par le type de problème auquel vous tentez de répondre, le type de données dont vous disposez et vos besoins en termes de performances.
Nous utiliserons un classificateur d'arbre de décision pour cet exemple car nous travaillons avec un problème de classification (prédiction de données catégorielles).
# Import necessary libraries
from sklearn.tree import DecisionTreeClassifier
Voici une visualisation du fonctionnement du classificateur d'arbre de décision :
4. Former le modèle
Vous pouvez commencer à former le modèle lorsque vous avez choisi un algorithme d'apprentissage automatique acceptable. Cela implique d'utiliser les données générées précédemment pour éduquer l'algorithme sur la façon de faire des prédictions sur des données fraîches et inédites.
L'algorithme modifiera ses paramètres internes pendant l'entraînement pour minimiser la différence entre ses valeurs prédites et les valeurs réelles dans les données d'entraînement. La quantité de données utilisées pour la formation, ainsi que les paramètres spécifiques de l'algorithme, peuvent tous avoir un effet sur la précision du modèle résultant.
Dans notre exemple spécifique, maintenant que nous avons décidé d'une méthode, nous pouvons entraîner notre modèle avec les données d'entraînement.
# Train the decision tree classifier
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
5. Évaluer le modèle
Une fois le modèle formé, il doit être évalué sur de nouvelles données pour s'assurer qu'il est précis et fiable. Cela implique de tester le modèle avec des données qui n'ont pas été utilisées pendant la formation et de comparer ses valeurs projetées aux valeurs réelles dans les données de test.
Cet examen peut aider à identifier les défauts du modèle, tels que le surajustement ou le sous-ajustement, et peut conduire à tout réglage fin qui peut être nécessaire.
À l'aide des données de test, nous évaluerons l'exactitude de notre modèle.
# 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)
Le score de précision n'est pas si mal pour l'instant. 🙂 Pour améliorer votre score de précision, vous pouvez toujours nettoyer davantage les données ou essayer différents modèles d'apprentissage automatique pour voir lequel donne le score le plus élevé.
6. Affiner le modèle
Si l'efficacité du modèle n'est pas suffisante, vous pouvez l'affiner en modifiant divers paramètres d'algorithme ou en expérimentant entièrement de nouveaux algorithmes.
Cette procédure peut inclure l'expérimentation de taux d'apprentissage alternatifs, la modification des paramètres de régularisation ou la modification du nombre ou de la taille des couches cachées dans un réseau de neurones.
7. Utilisez le modèle
Une fois que vous êtes satisfait des performances du modèle, vous pouvez commencer à l'utiliser pour générer des prédictions sur de nouvelles données.
Cela peut impliquer d'introduire de nouvelles données dans le modèle et d'utiliser les paramètres appris du modèle pour générer des prédictions sur ces données, ou d'intégrer le modèle dans une application ou un système plus large.
Nous pouvons utiliser notre modèle pour générer des prédictions sur de nouvelles données une fois que nous sommes satisfaits de leur précision. Vous pouvez essayer différentes valeurs de sexe et d'âge.
# Test the model with new data
new_data = [[25, 1], [30, 0]]
predictions = model.predict(new_data)
print("Predictions: ", predictions)
Emballer
Nous avons terminé la formation de notre premier modèle d'apprentissage automatique.
J'espère que vous l'avez trouvé utile. Vous pouvez maintenant essayer d'utiliser différents modèles d'apprentissage automatique comme la régression linéaire ou la forêt aléatoire.
Il existe de nombreux ensembles de données et défis dans Kaggle si vous souhaitez améliorer votre codage et votre compréhension de l'apprentissage automatique.
Soyez sympa! Laissez un commentaire