Pour décaper un classificateur entraîné en Python à l'aide du module 'pickle', nous pouvons suivre quelques étapes simples. Le décapage nous permet de sérialiser un objet et de l'enregistrer dans un fichier, qui peut ensuite être chargé et utilisé ultérieurement. Ceci est particulièrement utile lorsque nous souhaitons enregistrer un modèle d'apprentissage automatique entraîné, tel qu'un classificateur de régression, pour une utilisation future sans avoir besoin de le recycler à chaque fois.
Tout d'abord, nous devons importer le module 'pickle' dans notre script Python :
python import pickle
Ensuite, nous devons former notre classificateur et obtenir le modèle formé. Supposons que nous ayons déjà formé un classificateur de régression et que nous l'ayons stocké dans une variable appelée « regression_model ».
Pour décaper le modèle entraîné, nous pouvons utiliser la fonction 'pickle.dump()'. Cette fonction prend deux paramètres : l'objet que nous voulons décaper (dans ce cas, le classificateur entraîné) et l'objet fichier dans lequel nous voulons enregistrer l'objet décapé. On peut ouvrir un fichier en mode écriture binaire en utilisant la fonction 'open()'.
python with open('regression_model.pkl', 'wb') as file: pickle.dump(regression_model, file)
Dans le code ci-dessus, nous ouvrons un fichier nommé « regression_model.pkl » en mode binaire d'écriture (« wb ») et le passons comme deuxième paramètre à « pickle.dump() ». Le classificateur entraîné, stocké dans la variable « regression_model », est sélectionné et enregistré dans le fichier.
Maintenant, nous avons réussi à sélectionner notre classificateur formé. Nous pouvons le recharger en mémoire chaque fois que nous en avons besoin en utilisant la fonction 'pickle.load()'.
python with open('regression_model.pkl', 'rb') as file: loaded_model = pickle.load(file)
Dans le code ci-dessus, nous ouvrons le fichier pickled en mode lecture binaire (« rb ») et le passons comme paramètre à « pickle.load() ». L'objet mariné est chargé dans la variable « loaded_model », qui peut être utilisée pour la prédiction ou toute autre opération.
Voici un exemple complet illustrant le décapage et le chargement d'un classificateur de régression entraîné :
python import pickle from sklearn.linear_model import LinearRegression # Training the regression model X_train = [[1], [2], [3], [4], [5]] y_train = [2, 4, 6, 8, 10] regression_model = LinearRegression() regression_model.fit(X_train, y_train) # Pickling the trained model with open('regression_model.pkl', 'wb') as file: pickle.dump(regression_model, file) # Loading the pickled model with open('regression_model.pkl', 'rb') as file: loaded_model = pickle.load(file) # Using the loaded model for prediction X_test = [[6]] predicted_value = loaded_model.predict(X_test) print(predicted_value)
Dans l'exemple ci-dessus, nous formons d'abord un modèle de régression linéaire simple à l'aide de la classe « LinearRegression » du module « sklearn.linear_model ». Nous transférons ensuite le modèle entraîné dans un fichier nommé « regression_model.pkl ». Plus tard, nous chargeons le modèle décapé à partir du fichier et l'utilisons pour prédire la valeur d'une entrée de test 'X_test'.
En décapant et en chargeant le classificateur formé, nous pouvons réutiliser le modèle sans avoir besoin de le recycler, ce qui peut économiser beaucoup de temps et de ressources de calcul.
D'autres questions et réponses récentes concernant Machine Learning EITC/AI/MLP avec Python:
- Qu'est-ce que la machine à vecteurs de support (SVM) ?
- L'algorithme des K plus proches voisins est-il bien adapté à la construction de modèles d'apprentissage automatique entraînables ?
- L'algorithme de formation SVM est-il couramment utilisé comme classificateur linéaire binaire ?
- Les algorithmes de régression peuvent-ils fonctionner avec des données continues ?
- La régression linéaire est-elle particulièrement adaptée à la mise à l’échelle ?
- Comment la bande passante dynamique de déplacement moyen ajuste-t-elle de manière adaptative le paramètre de bande passante en fonction de la densité des points de données ?
- Quel est le but de l'attribution de pondérations aux ensembles de fonctionnalités dans la mise en œuvre de la bande passante dynamique de décalage moyen ?
- Comment la nouvelle valeur du rayon est-elle déterminée dans l’approche de bande passante dynamique de décalage moyen ?
- Comment l'approche de bande passante dynamique de décalage moyen gère-t-elle correctement la recherche des centroïdes sans coder en dur le rayon ?
- Quelle est la limitation de l’utilisation d’un rayon fixe dans l’algorithme de décalage moyen ?
Afficher plus de questions et de réponses dans l'apprentissage automatique EITC/AI/MLP avec Python