使用dask ml StandardScaler的属性错误
atribute error using dask ml StandardScaler
我正在尝试重现 dask-ml 文档中的示例:https://dask-ml.readthedocs.io/en/latest/modules/api.html 由于某种原因,它是用 sklearn 制作的:
from sklearn.preprocessing import StandardScaler
data = [[0, 0], [0, 0], [1, 1], [1, 1]]
scaler = StandardScaler()
print(scaler.fit(data))
StandardScaler(copy=True, with_mean=True, with_std=True)
print(scaler.mean_)
这是我用于 dask 的代码:
from dask_ml.preprocessing import StandardScaler
data = [[0, 0], [0, 0], [1, 1], [1, 1]]
scaler = StandardScaler()
print(scaler.fit(data))
StandardScaler(copy=True, with_mean=True, with_std=True)
这引发了以下错误:
AttributeError: 'list' 对象没有属性 'mean'
然后我尝试使用来自该媒体的示例 post:
https://towardsdatascience.com/speeding-up-your-algorithms-part-4-dask-7c6ed79994ef
df = dd.read_csv("test.csv",assume_missing=True)
sc = StandardScaler()
df["MSSubClass"] = sc.fit_transform(df["MSSubClass"])
引发此错误:
AttributeError: 'Scalar' 对象没有属性 'copy'
示例的问题在于数据类型不正确。转换为 numpy 数组并转换为浮点数消除了两个错误。有趣的是,尽管数据是整数列表,但转换步骤仍然有效。
import numpy as np
from dask_ml.preprocessing import StandardScaler
data = np.array([[0, 0], [0, 0], [1, 1], [1, 1]]).astype('float')
scaler = StandardScaler()
print(scaler.fit(data))
print(scaler.mean_)
print(scaler.transform(data))
print(scaler.transform([[2, 2]]))
我正在尝试重现 dask-ml 文档中的示例:https://dask-ml.readthedocs.io/en/latest/modules/api.html 由于某种原因,它是用 sklearn 制作的:
from sklearn.preprocessing import StandardScaler
data = [[0, 0], [0, 0], [1, 1], [1, 1]]
scaler = StandardScaler()
print(scaler.fit(data))
StandardScaler(copy=True, with_mean=True, with_std=True)
print(scaler.mean_)
这是我用于 dask 的代码:
from dask_ml.preprocessing import StandardScaler
data = [[0, 0], [0, 0], [1, 1], [1, 1]]
scaler = StandardScaler()
print(scaler.fit(data))
StandardScaler(copy=True, with_mean=True, with_std=True)
这引发了以下错误:
AttributeError: 'list' 对象没有属性 'mean'
然后我尝试使用来自该媒体的示例 post: https://towardsdatascience.com/speeding-up-your-algorithms-part-4-dask-7c6ed79994ef
df = dd.read_csv("test.csv",assume_missing=True)
sc = StandardScaler()
df["MSSubClass"] = sc.fit_transform(df["MSSubClass"])
引发此错误:
AttributeError: 'Scalar' 对象没有属性 'copy'
示例的问题在于数据类型不正确。转换为 numpy 数组并转换为浮点数消除了两个错误。有趣的是,尽管数据是整数列表,但转换步骤仍然有效。
import numpy as np
from dask_ml.preprocessing import StandardScaler
data = np.array([[0, 0], [0, 0], [1, 1], [1, 1]]).astype('float')
scaler = StandardScaler()
print(scaler.fit(data))
print(scaler.mean_)
print(scaler.transform(data))
print(scaler.transform([[2, 2]]))