首页 > 解决方案 > StandardScaler.fit() 显示值错误

问题描述

我正在使用 StandardScaler 来缩放我的数据,如教程中所示。但它不起作用。

我尝试复制与教程中使用的代码相同的代码,但仍然显示错误。

from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
scaler.fit(df.drop('TARGET CLASS',axis=1))
scaled_features = scaler.transform(df.drop('TARGET CLASS',axis=1))

错误如下:

 TypeError: fit() missing 1 required positional argument: 'X'

标签: pythonscikit-learn

解决方案


通过尝试重新创建您的问题,似乎代码中的所有内容都是正确的并且被完美地执行。这是我创建的一个独立示例,用于测试您的代码:

import pandas as pd
from sklearn.datasets import load_iris
from sklearn.preprocessing import StandardScaler

data = load_iris()
df = pd.DataFrame(data.data, columns=['TARGET CLASS', 'a', 'b', 'c'])

scaler = StandardScaler()
scaler.fit(df.drop('TARGET CLASS', axis=1))
scaled_features = scaler.transform(df.drop('TARGET CLASS',axis=1))

df我建议您通过打印来检查您的变量。例如,您可以尝试在传递它之前将其转换为 NumPy 数组并打印其内容:

import numpy as np

X = df.drop('TARGET CLASS',axis=1).values
print(X)

推荐阅读