现实世界数据 ML 预测中的拟合歧义

Fitting Ambiguity in Real World Data ML Prediction

我在解决现实世界问题时在拟合数据方面从概念层面上遇到的问题。

问题陈述:文本内容分类
具有 2 列的数据集:文本内容和内容类别(如体育、新闻等)

已完成:使用随机森林分类器构建模型 - 遵循一些预处理技术 - 使用 TfidfVectorizer 转换。因此,关于训练和测试数据,一切都完全正常。

挑战:当真实世界的文本内容出现时,我需要使用 TfidfVectorizer 再次转换数据 --- 这将具有与我们使用的早期数据集完全不同的转换。这给出了与预期完全不同的结果。

问题:有没有什么办法可以保存训练时已经实现的拟合逻辑,以便我可以使用该信息仅将数据转换为实时数据?

让我们以薪资列中的 MinMaxScaler 为例,正如您在评论中提到的那样:

scaler = MinMaxScaler()

然后我们可以拟合和转换我们的训练集:

scaler.fit(train)
train = scaler.transform(train)

我们也可以用同样的方法改造test集,像这样:

test = scaler.transform(test)

how I would use the same scaled fitted data to new data ?

我们可以将 MinMaxScaler 存储在 pickle 文件中以备将来使用:

import pickle
pickle.dump(scaler, open('file/path/scaler.pkl','wb'))

每当有新数据出现时,我们都可以加载 pickle 文件并使用它来转换新数据:

scaler = pickle.load(open('file/path/scaler.pkl','rb'))
new_data = scaler.transform(new_data)