我已经将Pandas数据帧分为train_X
和train_y
两部分,其中train_X
有所有N列,train_y
只有第N列,描述了我想要预测的变量。目前我正在做:
train_X.drop("N-th column name", axis=1, inplace=True)
model = SomeSklearnModel()
model.fit(train_X, train_y)
我是否必须“手工”(即在train_X
上使用drop()
),或者我可以只做第三行,而Scikit learn将“知道”哪个列是train_y
,而不将其用于模型训练(仅用于检查结果)
在
sklearn
估计器上调用fit
时,必须显式声明X
和y
。通常,当您准备将数据拆分为训练集和测试集时,X
应该只包含模型特性,所以不应该包含目标y
。有很多方法可以做到这一点,但这里以iris数据集为例介绍了几种常见的方法:
如果目标} 切片:
y
是“n”的第n列,则可以使用^{另一种方法是使用^{} ,它同时删除并返回要赋值的列:
或者对^{} 使用您自己的方法:
相关问题 更多 >
编程相关推荐