python - 使用自定义管道进行交叉验证 scikit-learn

标签 python machine-learning scikit-learn

我想使用 GridSearchCV 来确定分类器的参数,并且使用管道似乎是一个不错的选择。

该应用程序将用于使用词袋特征进行图像分类,但问题是根据是否使用训练或测试示例,存在不同的逻辑管道。

对于每个训练集,KMeans 必须运行以生成将用于测试的词汇表,但对于测试数据,不运行 KMeans 进程。

我看不出如何为管道指定这种行为差异。

最佳答案

您可能需要从 KMeans 类派生并重写以下方法才能使用您的词汇逻辑:

  • fit_transform 只会在训练数据上调用

  • 将在测试数据上调用transform

也许类派生并不总是最好的选择。您还可以编写自己的转换器类,该类包装对嵌入式 KMeans 模型的调用,并提供所需的 fit/fit_transform/transform API第一阶段的 Pipeline 类。

关于python - 使用自定义管道进行交叉验证 scikit-learn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13057113/

相关文章:

python - 如何执行随机命令行并重现该过程?

python - 我的 jupyter 笔记本内核经常死于这个 pygame 代码

python - ConfigParser 获取所有具有重复项的键

machine-learning - 训练神经网络的好方法

machine-learning - 如何区分结构化数据和非结构化数据?

python-3.x - 值错误: Unknown label type

python - 打印随机森林分类器中特定样本的决策路径

python - 提高单个样本的 SVC 预测性能

machine-learning - 具有更高抽象级别的机器学习

python - 使用 scikit-learn 评估回归模型