【发布时间】:2018-09-16 01:37:45
【问题描述】:
我一直在努力使用 KNN 的 sklearn 实现来预测样本。
到目前为止,我一直在用我的数据集样本训练我的分类器,然后用另一个不同的数据集样本对其进行测试,似乎看到了大约 98% 的准确度。
但是,当尝试预测单个样本时,即使使用模型已经训练过的样本,预测也会无处不在。我唯一的猜测是,使用 preprocessing.scale 预处理整个数据集与使用相同技术预处理单个样本时存在问题。
我已阅读Preprocessing in scikit learn - single sample - Depreciation warning 并想知道是否有正确的方法来预处理单个样本。
编辑:预处理代码如下所示 对于整个数据集:
self.trainData = preprocessing.scale(self.trainData)
对于单个样本,其中 log 与 traindata 中的样本形式相同。
log = preprocessing.scale(log)
【问题讨论】:
-
显示代码,你是如何处理单个样本的。您应该使用训练中使用的相同量表。如果您在单个样本上调用
scale(),则会给出错误的结果。 -
我已经添加了代码,如果在单个样本上使用 scale() 时得到不正确的结果,我将如何正确预处理单个样本?
标签: python scikit-learn preprocessor knn