我想对矢量化文本数据执行多类多输出分类任务。我首先在多输出 startegy 中使用随机森林分类器:
forest = RandomForestClassifier(random_state=1)
multi_target_forest = MultiOutputClassifier(forest, n_jobs=-1)
multi_target_forest.fit(X_train, y_train)
y_pred_test = multi_target_forest.predict(X_test)
在查看单个估计器(multi_target_forest.estimators_)的特征重要性时,我注意到我的数据集中的一些特征对某些任务非常相关和有用,但对另一个类却是干扰。例子:
任务 1:为日期分类文档(q1、q2、q3、q4) 任务 2:为版本分类文档(初步、最终、修订)
对于任务 1,与日期相关的功能(例如“四月”)非常有用。然而,对于第二个任务,特征“April”具有很高的重要性,但却是过度拟合到小数据集的结果。知道了这一点,我想积极删除这些功能。
有没有办法控制每项任务使用哪些功能?
我可以为每个任务显式训练单独的分类器,但这是否等同于多输出多类?还是正在进行一些联合概率计算,我会错过?
谢谢!