我一直在研究這個線性回歸案例,在驗證我的作業時遇到了困難。為了驗證我必須使用:
sns.regplot(x=X_2["pk"], y=y_2)
scaler_2 = StandardScaler()
scaler_2.fit(df)
# type(scaler_2)
X_2 = df.drop(['prijs'], axis=1)
# print(X_2.shape)
# type(X_2)
y_2 = df['prijs']
# print(y_2.shape)
# type(y_2)
#======================
test_data = 0.30
X_train_2, X_test_2, y_train_2, y_test_2 = train_test_split(X_2,y_2, test_size=test_data, random_state=12)
# print(f"formaat X_train_2 {X_train_2.shape}")
# print(f"formaat y_train_2 {y_train_2.shape}")
# print(f"formaat X_test_2 {X_test_2.shape}")
# print(f"formaat y_test_2 {y_test_2.shape}")
# X_train_2 = None
# X_test_2 = None
# y_train_2 = None
# y_test_2 = None
model_2 = LinearRegression()
X_train_simpel = X_train_2[['pk']]
X_test_simpel = X_test_2[['pk']]
fit_2 = model_2.fit(X_train_simpel, y_train_2)
uitkomst_2 = fit_2.predict(X_train_simpel)
uitkomst_3 = fit_2.predict(X_test_simpel)
data_out = X_train_2
data_out = pd.DataFrame(scaler_2.inverse_transform(data_out),columns=data_out.columns)
data_out['groep'] = uitkomst_2
data_out.head(5)
但是在運行最后兩行代碼時出現此錯誤:
-------------------------------------------------- ------------------------- ValueError Traceback (最近一次呼叫最后一次) Input In [136], in 1 #haal de originele ongeschaalde waardes terug -- --> 2 data_out = pd.DataFrame(scaler_2.inverse_transform(data_out),columns=data_out.columns) 3 data_out['groep'] = uitkomst_2 4 data_out.head(5)
檔案 C:\Python310\lib\site-packages\sklearn\preprocessing_data.py:1035,在 StandardScaler.inverse_transform(self, X, copy) 1033 else: 1034 if self.with_std: -> 1035 X *= self.scale_ 1036如果 self.with_mean: 1037 X = self.mean_
ValueError:運算元無法與形狀一起廣播 (11484,7) (8,) (11484,7)
uj5u.com熱心網友回復:
'scaler_2' 適合所有列,但 'scaler_2.inverse_transform(data_out)' 希望轉換具有較少列的資料幀
我的意思是在 'scaler_2' 擬合之后洗掉 'prijs' 列,它稍后會在 'scaler_2.inverse_transform(data_out)' 處產生錯誤,因此您必須首先洗掉 'prijs' 列并將資料擬合到 scaler_2
以下代碼可以解決您的問題:
...
scaler_2 = StandardScaler()
X_2 = df.drop(['prijs'], axis=1)
scaler_2.fit(X_2 )
...
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/442575.html
上一篇:取字串中包含的數字(也是浮點數)
下一篇:線性回歸預測值是負數和大小數
