簡體   English   中英

類型錯誤:fit_transform() 缺少 1 個必需的位置參數:'X'

[英]TypeError: fit_transform() missing 1 required positional argument: 'X'

我正在嘗試在數據集中進行特征縮放,但出現錯誤並且不知道如何繼續:

    > Traceback (most recent call last):
    > 
    >   File "<ipython-input-10-71bea414b4d0>", line 22, in <module>
    >     x_train = sc_X.fit_transform(x_train)
    > 
    > TypeError: fit_transform() missing 1 required positional argument: 'X'

這是我的代碼:

import pandas as pd

# Importing the dataset
dataset = pd.read_csv('Data.csv')
X = dataset.iloc[:, :-1].values
y = dataset.iloc[:, 3].values
# Taking care of missing data
from sklearn.preprocessing import Imputer
imputer = Imputer(missing_values="NaN", strategy="mean", axis=0)
imputer = Imputer.fit(imputer,X[:,1:3])
X[:, 1:3] = Imputer.transform(imputer,X[:, 1:3])

#Spliting the dataset into Training set and Test Set
from sklearn.cross_validation import train_test_split

x_train, x_test, y_train, y_test = train_test_split(X, y, test_size= 0.2, random_state= 0)

#Feature Scalling

from sklearn.preprocessing import StandardScaler
sc_X = StandardScaler
x_train = sc_X.fit_transform(x_train)
x_test = sc_X.transform(x_test)

您正在為sc_X分配對StandardScaler類的引用。 fit_transform()不是類方法,而是實例方法。 這意味着您必須創建該類的一個實例。

所以,

sc_X = StandardScaler

應該:

sc_X = StandardScaler()

imputer是一個方法, Imputer是一個類

因此,更改如下代碼,以及此代碼中的其他此類事件:

imputer = imputer.fit(imputer,X[:,1:3])

您需要創建類實例:

sc_X = StandardScaler() 

因為fit_transform()是實例方法而不是類方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM