【发布时间】:2019-07-31 02:07:45
【问题描述】:
我尝试将 knn 用于分类任务,我的数据集包含 热编码的分类特征、价格等数字特征以及 BoW(CountVectorizer) 我的文本列的向量。
我知道 knn 会受到缩放的影响。所以我很困惑在这里使用什么?
from sklearn.preprocessing import StandardScaler
from sklearn.preprocessing import Normalizer
from sklearn.preprocessing import normalize
【问题讨论】:
-
StandardScaler对于数字特征应该足够了。 -
@SergeyBushmanov 价格列中的许多行都是零?我还能使用standardscaler进行标准化吗?
-
您观察到许多价格为零可能会导致您使用其他特征预处理管道,但一般来说,可以将
StandardScaler应用于具有不同比例的数值特征。这对 KNN 很重要 -
@SergeyBushmanov 我有一个小问题。你提到只标准化我的数字特征,但我已经在我的 BoW 特征上应用了 PCA,我正在考虑是否应该将它们与数字特征一起标准化并省略分类特征。
-
BoW 已经是表现良好的功能。我猜你不需要标准化它们。但是,如果您愿意,您可以随时交叉验证这是否有意义。
标签: python python-3.x machine-learning scikit-learn knn