Bien sûr, plongeons dans l’univers amusant de la création d’un modèle de machine learning en Python pour prédire des résultats dans un domaine spécifique! Imaginez que nous voulons prédire la popularité d’un nouveau film en fonction de divers facteurs comme le genre, le réalisateur, le budget, etc. Let’s dive in!
### Étape 1 : Collecte des données
D’abord, il faut des données. On va imaginer qu’on a un fichier CSV avec des colonnes comme ‘genre’, ‘réalisateur’, ‘budget’, ‘durée’, et ‘popularité’. La popularité est ce qu’on veut prédire.
« `python
import pandas as pd
# Charger les données
data = pd.read_csv(‘movies.csv’)
« `
### Étape 2 : Préparation des données
On doit nettoyer et transformer ces données pour les rendre utilisables par notre modèle.
« `python
# Afficher les données
print(data.head())
# Encodage des catégories
data[‘genre’] = data[‘genre’].astype(‘category’).cat.codes
data[‘réalisateur’] = data[‘réalisateur’].astype(‘category’).cat.codes
« `
### Étape 3 : Séparation des données
On sépare les données en features (X) et labels (y).
« `python
from sklearn.model_selection import train_test_split
X = data[[‘genre’, ‘réalisateur’, ‘budget’, ‘durée’]]
y = data[‘popularité’]
# Séparer en ensembles d’entraînement et de test
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
« `
### Étape 4 : Sélection du modèle
Pourquoi pas utiliser une régression linéaire pour commencer? C’est simple et efficace.
« `python
from sklearn.linear_model import LinearRegression
# Créer le modèle
model = LinearRegression()
# Entraîner le modèle
model.fit(X_train, y_train)
« `
### Étape 5 : Évaluation du modèle
Voyons comment notre modèle se débrouille sur les données de test.
« `python
from sklearn.metrics import mean_squared_error
# Faire des prédictions
y_pred = model.predict(X_test)
# Évaluer le modèle
mse = mean_squared_error(y_test, y_pred)
print(f’Mean Squared Error: {mse}’)
« `
### Étape 6 : Améliorations
Si le modèle n’est pas assez performant, on peut essayer d’autres techniques comme la régression polynomiale, les arbres de décision, ou même des réseaux de neurones.
« `python
from sklearn.preprocessing import PolynomialFeatures
from sklearn.pipeline import make_pipeline
# Essayer une régression polynomiale
poly_model = make_pipeline(PolynomialFeatures(2), LinearRegression())
poly_model.fit(X_train, y_train)
# Faire des prédictions
y_pred_poly = poly_model.predict(X_test)
# Évaluer le modèle
mse_poly = mean_squared_error(y_test, y_pred_poly)
print(f’Mean Squared Error (Polynomial): {mse_poly}’)
« `
### Étape 7 : Déploiement
Une fois qu’on est satisfait de notre modèle, on peut le déployer pour qu’il soit utilisé en production.
« `python
import joblib
# Sauvegarder le modèle
joblib.dump(poly_model, ‘movie_popularity_predictor.pkl’)
# Charger le modèle
loaded_model = joblib.load(‘movie_popularity_predictor.pkl’)
# Faire une prédiction avec un nouveau film
new_movie = [[0, 1, 100000000, 120]] # Exemple de nouvelles données
prediction = loaded_model.predict([new_movie])
print(f’La popularité prévue du nouveau film est de {prediction[0]}’)
« `
### Conclusion
Et voilà! On a créé un modèle de machine learning en Python pour prédire la popularité des films. Bien sûr, il y a toujours place à l’amélioration, mais on a posé les bases. Alors, prêts à prédire la prochaine sensation cinématographique? Let’s get poppin’! 🍿🎬