如何正确使用 clf.predict_proba?

佩利德

我的目标是拥有三个最准确的预测标签。

通过使用此解决方案

clf = svm.SVC(  
                kernel='rbf',
                C=51,
                gamma=1,
                probability=True
              ).fit(X,y)

predictions=[]
with open('model.pkl', 'rb') as f:     
        clf = pickle.load(f)
for line in X:
        output=clf.predict(X)
          
        
#predictions.append(output)
df['prediction'] = output
# you add the list to the dataframe, then save the datframe to new csv

print(df)        

我能够检索预测的标签。但是,当我添加clf.predict_proba(X)如下

clf = svm.SVC(  
                kernel='rbf',
                C=51,
                gamma=1,
                probability=True
              ).fit(X,y)

predictions=[]
with open('model.pkl', 'rb') as f:     
        clf = pickle.load(f)
for line in X:
        output=clf.predict(X)
        output_prob=clf.predict_proba(X)  
        
#predictions.append(output)
df['prediction'] = output
# you add the list to the dataframe, then save the datframe to new csv

print(df)        

我有以下错误:

AttributeError: predict_proba is not available when  probability=False

根据 Scikit文档,应该像我一样明确定义为 True 的概率

clf = svm.SVC(  
                kernel='rbf',
                C=51,
                gamma=1,
                probability=True
              ).fit(X,y)

如何解决这个问题?

谢谢

迪亚尔·穆罕默德

下面的代码使用从 pickle 文件加载的模型覆盖您的 clf 变量,其概率属性可能为 False。

with open('model.pkl', 'rb') as f:     
        clf = pickle.load(f)

因此,您没有使用在代码的第一部分创建的 SVC 实例。

根据概率必须在调用 fit 之前启用,因此您无法在从 pickle 文件加载的模型中更改它。

您必须使用自己的训练模型(您创建并调用适合的模型)或使用另一个预训练模型(从 pickle 文件加载)并启用 proabiblity 属性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何列出所有支持predict_proba()的scikit学习分类器

以安全正确的方式使用RandomForestClassifier的predict_proba()函数

用于交叉验证模型的predict_proba

sklearn.svm.svc的函数predict_proba()在内部如何工作?

Scikit学习predict_proba给出错误答案

如何在clf.predict_proba()中找到相应的类

LightGBM中的predict_proba()函数如何在内部工作?

LightGBM中的predict_proba()函数如何在内部工作?

无法理解sklearn的SVM的predict_proba函数

Keras,模型predict_proba的输出

如何在tensorflow中为DNNClassifier使用predict_proba?

如何在clf.predict_proba(X_test)中获得更多小数?

从predict_proba()中检索非零类概率

如何将CalibratedClassifierCV用于没有predict_proba或decision_function的模型

AttributeError:“ LinearRegression”对象没有属性“ predict_proba”

Predict_proba用于IsolationForest

scikit-learn中predict与predict_proba之间的区别

如何在“随机森林分类器”中获取“ predict”预测的类的“ predict_proba”?

在NaN中将predict_proba与X_test结果合并

如何使用predict_proba获得每个样本的所有类别的独立概率?

sklearn:LogisticRegression -predict_proba(X)-计算

RandomForestClassifier(sklearn)的predict_proba(X)似乎是静态的?

Keras - predict_proba 加起来不等于 1?

回归与分类器 predict_proba

有人可以解释这一行:Z = clf.predict_proba(np.c_[xx.ravel(), yy.ravel()])

sklearn 的 predict_proba 返回无限概率

熊猫:如何使用 predict_proba 获得每个客户的概率

sklearn 的 MLP predict_proba 函数在内部是如何工作的?

LightGMB predict_proba 导致 gunicorn 超时