重命名已训练Sklearn分类器模式的目标变量类名

2024-10-01 15:49:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用sklearn中的LinearSVC 创建了一个模型,该模型根据花的特征预测花的名称,并使用pickle保存了该模型

例如,我的目标变量是lilyrose——因此,给定这些特性,模型能够返回lilyrose作为花名

在稍后的阶段,我想将lily重命名为lilly,因为我觉得这是一个更好的名称

我知道实现这一点的两种方法

一种是通过在我的训练数据中将目标变量lily重命名为lilly来重新训练模型,这意味着我的模型将来将返回lilly和` rose'

另一种方法是保持模型不变,然后在预测之后使用映射字典{'lily' : 'lilly','rose': 'rose'}来获得重命名的值

是否有其他方法来检查酸洗后保存的现有模型,以便从现在起模型返回lily作为lilly

谢谢你的帮助


Tags: 方法模型名称目标特征特性sklearn阶段
1条回答
网友
1楼 · 发布于 2024-10-01 15:49:12

加载pickle文件后,只需更新分类器的classes变量。 使用LinearSVC的快速示例。这适用于任何与Sklearn兼容的分类器


>>> from sklearn.svm import LinearSVC
>>> svc = LinearSVC(random_state=42).fit(df.data, df.target)
>>> svc.predict(df.data.iloc[0:2, :])
array(['setosa', 'setosa'], dtype=object)
>>> svc.classes_ = np.array(['class1', 'class2', 'class3'])
>>> svc.predict(df.data.iloc[0:2, :])
array(['class1', 'class1'], dtype='<U6')

相关问题 更多 >

    热门问题