簡體   English   中英

如何使用 pandas dataframe 正確安裝 sci-kit 學習 model?

[英]How do I properly fit a sci-kit learn model using a pandas dataframe?

我正在嘗試在 sci-kit learn 中創建一個機器學習程序。 我正在使用 CSV 文件來存儲數據,並決定使用 Pandas 數據框來導入和格式化這些數據。 我無法弄清楚如何將這個數據框與 model 匹配。

我的 CSV 文件有一個特征,年齡和一個目標,重量。 我正在使用線性回歸算法來預測使用年齡的體重。 我確實意識到這不是處理這些數據的最佳算法。

當我運行此代碼時,我收到錯誤“ValueError:找到樣本數量不一致的輸入變量:[10, 40]”

這是我的代碼:

# Imports 
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression

# Load And Split Data
data = pd.read_csv("awd.csv")

feature_cols = ['Ages']
X = data.loc[:, feature_cols]
y = data.loc[:, "Weights"]

X_train, y_train, X_test, y_test = train_test_split(X, y, random_state=0, train_size=0.2)

# Train Model
lr = LinearRegression()
lr.fit(X_train, y_train)

# Scores
print(f"Test set score: {round(lr.score(X_test, y_test), 3)}")
print(f"Training set score: {round(lr.score(X_train, y_train), 3)}")

我的 CSV 文件的前 5 行:

Ages,Weights
1,19
1,21
2,26
2,32

您錯誤地分配了返回值。 見下文:

X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0, train_size=0.2)

您應該像這樣更正 X_train、X_test、y_train 和 y_test 的順序:

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

有關詳細信息,請參閱相關文檔

暫無
暫無

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

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