gpt4 book ai didi

python - 在 Neuraxle 管道中使用 predict_proba() 代替 predict() 与 OneVsRestClassifier

转载 作者:行者123 更新时间:2023-12-04 09:30:54 30 4
gpt4 key购买 nike

我正在尝试设置一个 神经轴管道 使用 sklearns OneVsRestClassifier (OVR)。
Neuraxle 管道中的每个有效步骤都必须实现 fit()transform()方法。
为了使用 sklearns 流水线步骤,Neuraxle 使用了 SKLearnWrapper 映射 OVR predict()方法到 transform() SKLearnWrapper 的方法。

  • 有没有办法修改这种行为,以便 predict_proba()方法映射到 OVR transform()方法代替?
  • 或者是否有另一种方法来检索计算出的概率?
  • 最佳答案

    很好的问题!
    我们已经有办法解决这个问题了。
    假设你编写一个这样的类:

    class MyWrapper(BaseStep): 

    def transform(self, data_inputs):
    return sigmoid(data_inputs)

    def predict_proba(self, data_inputs):
    return data_inputs
    你可以这样做:
    step = MyWrapper()
    然后,一旦您准备好替换该方法,请使用 Neuraxle's mutate功能:
    step = step.mutate(new_method='predict_proba', method_to_assign_to='transform')
    然后,每当 .transform()将被调用, predict_proba方法将被调用。即使您的 step 变异也会起作用在其他步骤中更深地包裹(嵌套)。
    请注意,我们可能应该修改 sklearn 包装器以允许这样做。我在这里添加了问题:
    https://github.com/Neuraxio/Neuraxle/issues/368
    所以在这个问题解决之前,你可以做 class MySKLearnWrapper(SKLearnWrapper): ... (继承自 SKLearnWrapper 对其进行修改)并定义 predict_proba像这里建议的那样自己动手: https://github.com/Neuraxio/Neuraxle/pull/363/files

    关于python - 在 Neuraxle 管道中使用 predict_proba() 代替 predict() 与 OneVsRestClassifier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62849743/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com