将两个不同的Sklearn分类器应用于相同数据的两个不同子集



我有一个数据集,需要通过分类管道运行。数据集有两种类型的行:

  • 描述: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)

最新更新