Python 重命名目标变量';已训练Sklearn分类器模式的s类名称
我使用Python 重命名目标变量';已训练Sklearn分类器模式的s类名称,python,machine-learning,scikit-learn,pickle,Python,Machine Learning,Scikit Learn,Pickle,我使用sklearn中的LinearSVC创建了一个模型,根据花的特征预测花的名称,并使用pickle保存了该模型 例如,我的目标变量是lily和rose——因此,给定这些特性,模型能够返回lily或rose作为花名 在稍后的阶段,我想将lily重命名为lilly,因为我觉得这是一个更好的名字 我知道实现这一点的两种方法 一种是通过在我的训练数据中将lily的目标变量重命名为lilly来重新训练模型,这意味着我未来的模型将返回lilly和'rose' 另一种方法是保持模型不变,然后在预测后使用映
sklearn
中的LinearSVC
创建了一个模型,根据花的特征预测花的名称,并使用pickle
保存了该模型
例如,我的目标变量是lily
和rose
——因此,给定这些特性,模型能够返回lily
或rose
作为花名
在稍后的阶段,我想将lily
重命名为lilly
,因为我觉得这是一个更好的名字
我知道实现这一点的两种方法
一种是通过在我的训练数据中将lily
的目标变量重命名为lilly
来重新训练模型,这意味着我未来的模型将返回lilly
和'rose'
另一种方法是保持模型不变,然后在预测后使用映射字典{'lily':'lilly','rose':'rose'}
获取重命名的值
是否有其他方法可以查看酸洗后保存的现有模型,以便模型从现在起返回lily
作为lilly
感谢您的帮助加载pickle文件后,只需更新分类器的
类
变量即可。
使用LinearSVC的快速示例。这适用于任何与Sklearn兼容的分类器
>>>从sklearn.svm导入LinearSVC
>>>svc=LinearSVC(随机状态=42).fit(df.data,df.target)
>>>svc.predict(df.data.iloc[0:2,:])
数组(['setosa','setosa'],dtype=object)
>>>svc.classes=np.array(['class1','class2','class3'])
>>>svc.predict(df.data.iloc[0:2,:])
数组(['class1','class1'],dtype']