我应该加入功能和目标数据帧以与scikit学习一起使用吗



我正在尝试创建一个回归模型,以使用设计参数(数据帧1(预测可交付成果(数据帧2(。两个数据帧都有一个id号,我用它作为索引。

是否可以使用两个数据帧为sklearn创建一个数据集?还是我需要加入他们?如果我需要加入他们,那么最好的方式是什么?

# import data 
df1= pd.read_excel('data.xlsx', sheet_name='Data1',index_col='Unnamed: 0')
df2= pd.read_excel('data.xlsx', sheet_name='Data2',index_col='Unnamed: 0')

我只在一个数据帧上使用过sklearn,该数据帧中包含了特征和目标向量的所有列。因此,我不知道如何处理我使用两个数据帧的情况,其中一个具有特征,另一个具有目标。

scikit-learn中的所有估计器都有一个类似estimator.fit(X, y)的签名,X是训练特征和y训练目标。

然后,通过调用某种estimator.predict(X_test)来实现预测,其中X_test是测试特征。

甚至CCD_ 6采用两个阵列CCD_ 7和CCD_。

这意味着,只要在行中保持正确的顺序,就不需要合并功能和目标。

完全同意Guillaume的回答。

正如他所说,只需注意行的顺序。这是你问题的关键。如果它们具有相同的顺序,则不需要合并数据帧,并且可以直接fit模型。

但是,如果它们的顺序不相同,则必须组合两个数据帧(类似于SQL中的左联接(,以便关联一个ID的功能和目标。您可以这样做(此处提供更多信息(:

df_final= pd.concat([df1, df2], axis=1)

当您使用ID作为索引时,它应该可以正常工作。请注意,如果某个ID出现在一个数据帧中而没有出现在另一个数据框中,则可能会出现NaN值。你将不得不应付他们。

最新更新