- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
假设我有一个分类问题,它是多类的并且具有层次特征,例如'edible', 'nutritious' and '~nutritious' - 所以它可以这样表示
├── edible
│ ├── nutritious
│ └── ~nutritious
└── ~edible
虽然使用支持多类分类的分类器或对不支持多类分类的分类器使用一对一/所有方案可以获得合理的性能,但在每个级别单独训练分类器并将它们连接起来也可能是有益的,这样实例归类为“可食用”的可以归类为营养
或非。
我想使用 scikit-lean
估算器作为构建 block ,我想知道我是否可以让 Pipeline
支持它,或者我是否需要自己编写实现基本估计器的估计器和可能的 BaseEnsemble
来执行此操作。
@ogrisel 之前在邮件列表中提到过 http://sourceforge.net/mailarchive/message.php?msg_id=31417048我想知道是否有人对如何进行此操作有任何见解或建议。
最佳答案
您可以通过提供作为构造函数参数的 base_estimator
和要级联的目标类的列表有序列表,将您自己的类编写为元估计器。在此元分类器的拟合方法中,您根据这些类对数据进行分割,并为每个级别拟合 base_estimators
的克隆,并将生成的子分类器存储在元分类器的属性中。
在 predict 方法中,您再次遍历级联结构,这次在底层子分类器上调用 predict 来分割您的预测并将它们递归地传递到下一个级别。您将需要大量的 numpy 花式索引;)
您可以在源代码中git grep base_estimator
来查找代码库中元估计器的现有示例(如 Bagging、AdaBoost、GridSearchCV...)。
关于python - scikit-learn 中多类问题的级联分类器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21151346/
我是一名优秀的程序员,十分优秀!