gpt4 book ai didi

python - StandardScalar Fit_Transform 出错

转载 作者:太空宇宙 更新时间:2023-11-03 13:30:48 25 4
gpt4 key购买 nike

 import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

dataset = pd.read_csv('Position_Salaries.csv')
X = dataset.iloc[:, 1:2].values
y = dataset.iloc[:, 2].values

from sklearn.preprocessing import StandardScaler
sc_X = StandardScaler()
sc_y = StandardScaler()
X = sc_X.fit_transform(X)
y = sc_y.fit_transform(y)

好的,问题来了。X 和 y 都是单一特征并且只有一列。如您所见,X 是一个矩阵。 y 是一个向量 X = dataset.iloc[:, 1:2].values y = dataset.iloc[:, 2].values

现在,当我运行 y = sc_y.fit_transform(y) 时,我得到了一个一维数组的错误。如果我更改 y = dataset.iloc[:, 2:3].values 使其成为二维数组。但我希望它保持为一维数组,因为它是因变量,并希望它保持这种状态。我还解决了之前的不同示例,在这些示例中我不得不重新缩放相似的数据,但它并没有给我这种错误。不知道为什么现在给我。此外,我在编码时正在观看视频,视频中的一切都是一样的,但他没有收到任何错误。

最佳答案

StandardScaler 旨在处理特征,而不是标签或目标数据。因此仅适用于二维数据。请在此处查看文档:

你可以做的是,使用 scale function . StandardScaler 只是这个函数的包装器。

from sklearn.preprocessing import scale
y = scale(y)

或者,如果您想使用 StandarScaler,则需要将您的 y reshape 为二维数组,如下所示:

import numpy as np
y = np.array(y).reshape(-1,1)
y = sc_y.fit_transform(y)

关于python - StandardScalar Fit_Transform 出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47675520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com