我有一个保存的经过训练的scikit-learn模型,格式为joblib转储(.sav文件)。训练数据框不可用。我只有测试数据框。
以下是解决此问题的代码:
# 读取数据集
import pandas as pd
data = pd.read_csv("dataset.csv")
# 特征选择
x_df = df[feature_list]
y_df = df[target_list]
# 拆分数据框为训练集和测试集
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(x_df, y_df, test_size=0.25, random_state=0)
# SVM分类器
from sklearn import svm
from sklearn.externals import joblib
model = svm.SVC(kernel='linear',random_state=0)
model.fit(x_train,y_train.values.ravel())
file_name = 'model.sav'
joblib.dump(model, file_name)
现在,我试图做的是获取训练数据框中所有类别的名称。
仅通过.sav文件能否获取此信息?如果可以,如何操作?谢谢!
回答:
首先,使用joblib加载模型
model = joblib.load("model.sav")
然后,您可以使用以下命令获取类别名称
model.classes_