解决你的错误
在你的代码中有:
if __name__=="__main__":
scaling = FunctionFeaturizer(minmax)
df = pd.DataFrame({'feature': np.arange(10)})
df_scaled = scaling.fit_transform(df)
print(df_scaled)
换行
scaling = FunctionFeaturizer(minmax)
到
scaling = FunctionFeaturizer(minmax())
您需要调用函数以获取返回给您的MinMaxScaler的实例化。
建议
而不是实施
fit
和
fit_transform
,工具
适合
和
transform
除非你能优化这两个过程
fit_tranform
. 这样,你做的事情就更清楚了。
如果你只实施
适合
和
转型
,你仍然可以打电话
拟合变换
因为你延长了
TransformerMixin
上课。它将连续调用这两个函数。
得到你期望的结果
您的转换器正在查看数据集的每一列,并在
0
和
1
.
所以,要想得到你期望的结果,这将取决于
df
看起来像。但是,你没有和我们分享,所以很难说你是否会得到它。
但是,如果你有
df = [[0],[1],[2],[3],[4],[5],[6],[7],[8],[9]]
,您将看到预期的结果。
if __name__=="__main__":
scaling = FunctionFeaturizer(minmax())
df = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9]]
df_scaled = scaling.fit_transform(df)
print(df_scaled)
> [[0. ]
> [0.11111111]
> [0.22222222]
> [0.33333333]
> [0.44444444]
> [0.55555556]
> [0.66666667]
> [0.77777778]
> [0.88888889]
> [1. ]]