【发布时间】:2020-10-26 04:08:17
【问题描述】:
我正在尝试在 sci-kit learn 中创建一个机器学习程序。我正在使用 CSV 文件来存储数据,并决定使用 Pandas 数据框来导入和格式化这些数据。我无法弄清楚如何将这个数据框与模型相匹配。
我的 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 和 y 的形状?
-
你会让我们猜测吗?错误在哪里?哪些变量有 10 和 40 个样本?您需要花一些精力来调试问题。
-
抱歉,回复太晚了。我将确保在下一个问题中包含尽可能多的信息。我已经用问题的答案解决了这个问题。感谢您的帮助。
标签: python pandas machine-learning scikit-learn