首页 > 解决方案 > ValueError using dask QuantileTransformer : 未知形状 (1, nan)

问题描述

我正在尝试使用 das-ml 的 QuantileTransformer

为此,我有以下 DF:

在此处输入图像描述

当我尝试:

从 dask_ml.preprocessing 导入 StandardScaler,QuantileTransformer,MinMaxScaler

scaler = QuantileTransformer()
scaler.fit_transform(df[['LotFrontage','LotArea']])

我收到此错误:

ValueError: 试图连接形状未知的数组 (1, nan)。强制连接通过allow_unknown_chunksized=True。

而且我找不到在哪里设置参数:allow_unknown_chunksized=True,因为在变压器中引发和错误。

如果我事先计算 df,第一个错误就会消失:

scaler = QuantileTransformer()
scaler.fit_transform(df[['LotFrontage','LotArea']].compute())

但我不知道为什么这是必要的,或者即使这是正确的做法。此外,与 StandardScaler 相比,它返回​​一个数组而不是数据帧。

标签: pythondask

解决方案


这是以前 Dask-ML 实现的限制。它已在https://github.com/dask/dask-ml/pull/533中修复。


推荐阅读