我有一个数据集,需要通过分类管道运行。数据集有两种类型的行:
-
描述:
description
列受欢迎 -
非描述:
description
列空
我想应用一个只针对描述的数据的分类器,另一个针对未描述的数据。
我目前正在通过分离数据集,然后分别预处理和向数据集提供相应的分类器来完成这项工作。我想要完成的是将这个过程融入Sklearn管道中。应该是这样的:
classifierPipe = Pipeline([('preproc_described', DescPreprocessor),
('preproc_non_described', NonDescPreprocessor),
('clf_described', CLF1),
('clf_described', CLF2)
])
classifierPipe.fit(X_train,y_train)
我在复习StackingClassifier
,但根据文档,初始估计量应用于数据集中的所有行。
我如何创建这样一个管道,每个分类器针对整个数据集的特定子集?
为什么不创建两个不同的数据集,并在每个数据集上使用一个分类器呢。像下面这样的简单代码应该足够
import pandas as pd
df = pd.read_cvs('csv_name.csv')
#drop each column in the resp dataset
for_clf_1 = df.drop(['described'],axis = 1)
for_clf_2 = df.drop(['not described'], axis =1)