(Autor: Chen Yujue Datenmaster )
Erinnern Sie sich an einen Fehler, auf den ich vor langer Zeit gestoßen bin.
Jedes Mal, wenn wir das Modell trainieren, speichern wir die Modelldatei. Nachdem wir beispielsweise ein xgboost-Modell trainiert haben, speichern wir die Modelldatei über joblib:
import joblib
joblib.dump('xgb_model.pkl')
Dann, wenn wir das Modell das nächste Mal laden und Vorhersagen treffen
model = joblib.load('xgb_model.pkl')
y_pred = model.predict_proba(X)[:,1]
Fehler:
feature_names not match
key ['a','b','c'....
Dieser Fehler tritt auf, weil die Modelldatei die Eingabe von Faktornamen, -nummern und -reihenfolgen erfordert, die sich von dem zu diesem Zeitpunkt gespeicherten Modell unterscheiden. Daher müssen wir beim Speichern des Modells alle Faktornamen des endgültigen Modells der Reihe nach im Modell speichern. Bei der Vorhersageoperation müssen wir das Modell ausfüllen, um solche Fehler zu vermeiden.