sklearn中的MinMax Scaler不规范化0和1之间列的值

2024-04-26 14:15:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在python中研究KNN算法,并尝试用MinMaxScaler规范化我的数据帧,以转换0到1之间的数据。在

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

下面是我返回的最小/最大值的片段: enter image description here

使用的代码是:

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之间的范围。我说得对吗?在


Tags: csv数据代码算法pandasreaddatanames
1条回答
网友
1楼 · 发布于 2024-04-26 14:15:47

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

Apply函数不会实际转换您的特性,它只会返回一个包含已转换列的dataframe。 因此,您需要影响您的功能转换:

features = features.apply(lambda x: MinMaxScaler().fit_transform(x))

相关问题 更多 >