Bonjour!

Je fais du clustering avec divers algos, je sélectionne celui qui me semble le plus intéressant pour mon problème, et je voudrais stocker le modèle obtenu dans une base de données, pour ne pas avoir à le recalculer à chaque fois que je veux faire de la reconnaissance.

Mon problème, c'est que je n'arrive pas à trouver comment récupérer les caractéristiques permettant de définir le modèle obtenu (la définition des classes, essentiellement)

Supposons que je choisisse l'algo des K-means (K=5), je fais ça:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
from sklearn.cluster import KMeans
km = KMeans(n_clusters=5, random_state=0)
km.fit(df)
A l'issue de km.fit(df), mon modèle est constitué. Et c'est là que je voudrais stocker toutes les informations qui me permettraient par la suite de simplement interroger la base de données pour pouvoir récupérer mon modèle complet déjà calculé et pouvoir faire des prédictions dessus, quand j'en aurai besoin (plus tard donc).

J'ai cherché, mais get_params([Profond]) ne correspond pas à ce que je veux, parce que la méthode me permet de récupérer les paramètres de l'estimateur, et non du modèle en lui-même.

J'ai essayé avec joblib:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
from sklearn import datasets
import joblib
joblib.dump(km3, 'model.joblib')
et aussi pickle:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
import pickle
with open('model.pkl', 'wb') as model_file:
  pickle.dump(km3, model_file)
Mais dans les deux cas, le fichier exporté n'est pas "UTF-8 encoded" et je n'arrive pas à le lire.


J'espère avoir été bien claire

Merci d'avance pour votre aide et vos éclaircissements!