Python 如何将分类机器学习模型从一个数据集转移到另一个数据集?

Python 如何将分类机器学习模型从一个数据集转移到另一个数据集?,python,machine-learning,Python,Machine Learning,我最近通过sklearn建立了一个多类分类机器学习模型,我想将学习从一个数据集转移到另一个数据集 我有我们的第一方数据(我们称之为销售),其中包括数千本教科书的名称及其所属学科(即生物学101(标题)是生物学(学科)教科书)。我能够让机器根据书名相当准确地预测教科书的学科 我现在有了第二个数据集,其中包含竞争对手的教科书标题,但没有学科。我想让机器根据从销售数据集中学到的知识来猜测竞争对手教科书的规则 销售机器学习模型在销售端运行良好。下面是我想做的: 1) 将销售模型中的知识传授给竞争对手 2

我最近通过sklearn建立了一个多类分类机器学习模型,我想将学习从一个数据集转移到另一个数据集

我有我们的第一方数据(我们称之为销售),其中包括数千本教科书的名称及其所属学科(即生物学101(标题)是生物学(学科)教科书)。我能够让机器根据书名相当准确地预测教科书的学科

我现在有了第二个数据集,其中包含竞争对手的教科书标题,但没有学科。我想让机器根据从销售数据集中学到的知识来猜测竞争对手教科书的规则

销售机器学习模型在销售端运行良好。下面是我想做的:

1) 将销售模型中的知识传授给竞争对手

2) 将传输结果导出到CSV

3) 为了从Sales and Competitor中建立机器学习模型,我剥离了所有其他列的数据,理想情况下,我希望导出这两个数据集的预测规程


如果有人能为我指出转让模型文档的正确方向,我将不胜感激。

如果您已经熟悉
scikit learn
,那么这应该是一项简单的任务

下面是一些高级伪代码:

sales_data = preprocess_data(raw_data_sales) # normalization, vectorization, etc.
model.fit(sales_data,sales_labels) # potentially with cross-validation, hyperparameter-tuning etc.

competitor_data = preprocess_data(competitor_raw_data) # same preprocessing as for train data
sales_predictions = model.predict(sales_data)
competitor_predictions = model.predict(competitor_data)
export_to_CSV(sales_predictions) # export predictions to CSV
export_to_CSV(competitor_predictions)
实际上,这里不需要“转移学习”,因为您的竞争对手数据没有任何标签。你想要达到的目标听起来像是简单的推理

export_to_CSV()
可以是
numpy
np.savetxt()
)或
pandas
df.to_CSV()
)函数,无论您喜欢使用什么。要将非数字标签(规程)从文本映射到数字,可以使用scikit learn的
LabelEncoder


注意:由于您的数据来自两个不同的来源,并且您无法根据第二个来源的数据对模型进行培训,而只能根据您自己的销售数据进行培训(因为您没有来自竞争对手的标签),因此您的模型的性能可能比您的销售数据更差。如果你想从你的竞争对手那里得到更多的标签,那么这将是一项转移学习任务,因为你可以使用你的初始模型并继续培训。

我没有完全理解你想要实现的目标。但是,一定要阅读“迁移学习”。我相信这就是你想要的。嗨,蒂努-谢谢你的回复。我对Scikit learn不太熟悉。我遵循了这个指南:我仍然无法让它使用伪代码,因为我不知道如何使用竞争对手端的一列数据。我将在接下来的几天里尝试学习Scikit,通过Udemy学习,以明确我需要做什么来完成这件事。如果您能提供代码的错误消息,这将非常有用。您好,这里没有错误消息,我只是不知道如何继续我的脚本,它在datascienceplus文章的结尾处结束。我上传了我的竞争对手集,我只是不知道如何将我的机器学习模型应用到竞争对手产品标题的单列,然后导出结果。