Sklearn Pipeline:自动错过一项功能

2023-11-30

我创建了一个自定义分类器(虚拟分类器)。下面是定义。我还添加了一些打印语句和全局变量来捕获值

class FeaturePassThroughClassifier(ClassifierMixin):
    def __init__(self):
        pass
    def fit(self, X, y):
        global test_arr1
        self.classes_ = np.unique(y)
        test_arr1 = X
        print("1:", X.shape)
        return self
    def predict(self, X):
        global test_arr2
        test_arr2 = X
        print("2:", X.shape)
        return X   
    def predict_proba(self, X):
        global test_arr3
        test_arr3 = X
        print("3:", X.shape)
        return X

下面是堆叠分类器定义,其中上面定义的 CustomClassifier 是基分类器之一。还有 3 个基分类器(这些是拟合估计器)。目标是按原样获取输入训练集变量(将从 CustomClassifier 中得出)+来自 base_classifier2、base_classifier3、base_classifier4 的预测。这些特征将作为元分类器的输入。

model = StackingClassifier(estimators=[
    ('select_features', Pipeline(steps = [("model_feature_selector", ColumnTransformer([('feature_list', 'passthrough', X_train.columns)])),
                                             ('base(dummy)_classifier1', FeaturePassThroughClassifier())])),
                                    ('base_classifier2', base_classifier2),
                                    ('base_classifier3', base_classifier3),
                                    ('base_classifier4', base_classifier4)
],
                                     final_estimator = Pipeline(memory=None,
    steps=[
        ('save_base_estimator_output_data', FunctionTransformer(save_base_estimator_output_data, validate=False)),  ('final_model', RandomForestClassifier())
    ], verbose=True), passthrough = False, **stack_method = 'predict_proba'**)

Below is o/p on fitting the model. There are 230 variables: enter image description here

问题是这样的:有 230 个变量,但 CustomClassifier o/p 仅显示 229 个,这很奇怪。从上面的 print 语句中我们可以清楚地看到,有 230 个变量通过 CustomClassifier 传递。

enter image description here

我需要使用 stack_method =“predict_proba”。我不确定这里出了什么问题。当 stack_method = "predict" 时,代码可以正常工作。


由于这是一个二元分类器,分类器类希望您在输出矩阵中添加两个概率列 - 一个用于类标签“1”的概率,另一个用于“0”的概率。 在输出中,它删除了其中之一,因为两者都不是必需的,因此,230 列减少到 229。添加一个虚拟列来解决您的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sklearn Pipeline:自动错过一项功能 的相关文章

随机推荐

  • 当 ISP 阻止端口 80 和 443 时,如何为我的私人服务器使用 Let's Encrypt?

    我正在使用 docker compose 在 traefik 后面设置一个 WebDAV 服务器 另外 我想为其添加 HTTPS 支持 以便保持我的数据的私密性 我购买了域名并更喜欢使用 Let s Encrypt 因为它是免费的 但据我所
  • 使用 next/image 从 Firebase 存储中获取图像会导致 400 状态代码

    我正在使用 NextJS Image 组件 如下所示
  • 在 C# 中使用 .jar java 库 API?

    我是一名入门级程序员 因此请在您的回复中进行描述 我正在尝试在我的 C net 应用程序中使用作为 jar 文件给出的 Java API 我不太了解 Java 但是当我尝试运行这个 jar 文件时 它说 没有主类清单属性 所以这意味着它是一
  • 为什么“fopen”返回 NULL 指针?

    我正在用 C 编程语言开发一个简单的文件拆分 合并程序 问题是 由于某种原因fopen返回 NULL 正因为如此 我的程序崩溃了fwrite陈述 我该如何解决 这是 C 文件 int SplitFile char filename char
  • scikit-learn 是否在我的 GPU 上运行?

    这个问题与scikit learn 会使用 GPU 吗 但我认为没有提供相同的答案 我正在针对 Nvidia GPU 执行 scikit learn 算法 没有错误 因此假设 scikit 正在底层硬件上运行 由于 scikit learn
  • 嵌套li - 单击子级时,触发父级单击事件[重复]

    这个问题在这里已经有答案了 我有一个嵌套的李 li class innerMenuLi a href span MainLi span a ul class mainMenu li a href class active span main
  • 使用 WCF 生成 JSON 数组

    我正在开发一个 WCF Web 服务 它返回以下内容 allFormsResult FormId 1 FormName Formulario 1 FormId 2 FormName Formulario 2 FormId 3 FormNam
  • 检查 wifi 连接的质量?

    我遇到这样的情况 当我关闭 4G 并连接到某些 WiFi 接入点但无法发送或接收数据时 用于检查网络连接的标志被设置为 true 如下所示 NetworkInfo ni context getActiveNetworkInfo boolea
  • 如何在 SQL Server 2014 中启用/安装全文搜索

    这个问题可能有一个非常简单的答案 但我不知道如何在 SQL Server 2014 中启用全文搜索 过去几个小时我一直在网上搜索 一些关于 SQL Server 2012 的帖子说它在安装过程中的功能中 但我去了那里 但没有启用它的选项 自
  • 从文本区域读取时不保留换行符

    我的 java web 应用程序从文本区域获取内容 并通过电子邮件发送相同的内容 我面临的问题是 使用以下命令读取相同内容时 文本区域消息中的换行符不会保留 request getParameter message 有什么线索可以解决吗 T
  • 如何以非交互式方式为 gcloud CLI 传递数据库密码?

    我正在尝试以非交互式方式将密码传递给 gcloud sql connect 命令 我想要实现的不是要求输入密码 而是以某种方式将其传递到命令中 不确定是否可能 基于文档 但另一方面 它对于自动化任务非常有用 我坚信有一种方法可以做到这一点
  • 无法创建 externalDataReference 临时文件

    我在我的 iOS 项目中使用 Core Data 我通过以下方式使用多个上下文 我有一个persisent store context它在私有队列上运行并将更改存储到持久存储中 我有一个main queue context那是的孩子pers
  • Android:Eclipse MAT 似乎没有显示我的应用程序的所有对象

    我通过插入语句创建了一个 hprof 文件Debug dumpHprofData sdcard myapp hprof 在我的应用程序的代码中 然后 我通过 hprof conv 运行 hprof 文件 并在 Eclipse 中打开转换后的
  • 子类中的狭义属性类型

    今天我遇到了一个奇怪的行为 我没想到 Objective C 编译器会允许 在 UITableViewCell 中 有一个名为 imageView 的 UIImageView 类型的属性 我对 UITableViewCell 进行了子类化
  • iDangero.us Swiper 多个实例

    我正在尝试添加多个刷卡器 http www idangero us swiper 在我的网站上 我想添加滑动器动态 因此我为每个滑动器使用相同的类 每个滑动器看起来像这样 div class swiper container div cla
  • JavaFX 任务一旦取消或完成一次就不会重新运行

    我正在做一个基本的 Java FX 任务练习 线程上的计数范围为 1 到 150 当前值显示在标签上并更新进度条 有一个按钮可以启动任务 取消任务以及查看任务的取消状态 让我困惑的是为什么我在取消线程一次后无法重新运行任务 如果我让任务完成
  • 对调用另一个方法的方法进行单元测试

    对调用多个方法的方法进行单元测试的最佳方法是什么 例如 modify string value if value Length gt 5 replaceit value else changeit value 该伪代码有一个修改方法 当前
  • Solr 4 中可以更新 uniqueKey 吗?

    我的 uniqueKey 定义为
  • 使用 Gradle - 在 META-INF/spring.factories 中找不到自动配置类

    尝试在 Spring Boot 上使用 IntelliJ 中的 gradle 中的 jar 函数部署我构建的 jar 它使用 bootrun 从我的 IDE 本地运行良好 但没有将 jar 放在 Linux 服务器上 服务器上的完整错误是
  • Sklearn Pipeline:自动错过一项功能

    我创建了一个自定义分类器 虚拟分类器 下面是定义 我还添加了一些打印语句和全局变量来捕获值 class FeaturePassThroughClassifier ClassifierMixin def init self pass def