如何在不拆分数据帧的情况下传递不同的数据集进行训练和测试。 (python)?

How to pass different set of data to train and test without splitting a dataframe. (python)?

我已经回答了多个问题,这些问题有助于将您的数据框分为训练和测试,使用 scikit,不使用等。

但我的问题是我有 2 个不同的 csvs(2 个来自不同年份的不同数据帧)。我想用一个作为火车,另一个作为测试?

如何对 LinearRegression / 任何模型执行此操作?

  • 单独加载数据集。
  • 确保它们的行和列(特征)格式相同。
  • 使用 train 设置为 fit 模型。
  • 使用test设置为predict训练后的输出。
# Load the data
train = pd.read_csv('train.csv')
test = pd.read_csv('test.csv')

# Split features and value
# when trying to predict column "target" 
X_train, y_train = train.drop("target"), train["target"]
X_test, y_test = test.drop("target"), test["target"]

# Fit (train) model
reg = LinearRegression()
reg.fit(X_train, y_train)

# Predict
pred = reg.predict(X_test)

# Score
accuracy = reg.socre(X_test, y_test)

请 skillsmuggler 关于 X_train 和 X_Test 我该如何定义它,因为当我尝试这样做时它说 NameError: name 'X_train' is not defined

我无法编辑第一个答案,它几乎就在那里。虽然缺少一些代码...

# Load the data
train = pd.read_csv('train.csv')
test = pd.read_csv('test.csv')

y_train = train[:, :1]  #if y is only one column
X_train = train[:, 1:]

# Fit (train) model
reg = LinearRegression()
reg.fit(X_train, y_train)

# Predict
pred = reg.predict(X_test)

# Score
accuracy = reg.socre(X_test, y_test)