0

我正在研究 python 中的 KNN 算法,并尝试使用 MinMaxScaler 标准化我的数据帧,以将数据转换为 0 到 1 之间的范围内的数据。

但是,当我返回输出时,我观察到某些列的最小/最大输出超过了 1。我用错了吗?

下面是我返回的最小/最大值的片段: 在此处输入图像描述

使用的代码是:

kdd_data_10percent = pandas.read_csv("data/kdd_10pc", header=None, names = col_names)
features = kdd_data_10percent[num_features].astype(float)#num_features contain the specific column labels i wish to extract    
features.apply(lambda x: MinMaxScaler().fit_transform(x))

特征包含包含列的数据框(例如,错误片段,紧急......)。

如果我理解正确,在执行 MinMaxScaler 之后,返回的结果将确保每列值将被规范化为仅从 0 -1 的范围。我对吗?

4

1 回答 1

0

没错,MinMaxScaler 会将您的数据从 0 缩放到 1。0 将是列的最小值,1 是最大值。

Apply 函数实际上不会转换您的功能,它只会返回一个包含转换后的列的数据框。因此,您需要影响对功能的转换:

features = features.apply(lambda x: MinMaxScaler().fit_transform(x))
于 2016-11-26T10:15:48.967 回答