gpt4 book ai didi

python - sklearn CalibratedClassifierCV 和 SVM 出错

转载 作者:太空宇宙 更新时间:2023-11-03 15:08:35 27 4
gpt4 key购买 nike

我想结合使用 sklearn 的 CalibratedClassifierCV 和 sklearn 的 SVC 来预测多类(9 类)预测问题。但是,当我运行它时,出现以下错误。同样的代码在不同的模型(即 RandomForestCalssifier)上运行没有问题。

kf = StratifiedShuffleSplit(y, n_iter=1, test_size=0.2)
clf = svm.SVC(C=1,probability=True)
sig_clf = CalibratedClassifierCV(clf, method="isotonic", cv=kf)
sig_clf.fit(X, y)

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/g/anaconda/lib/python2.7/site-packages/sklearn/calibration.py", line 166, in fit
calibrated_classifier.fit(X[test], y[test])
File "/home/g/anaconda/lib/python2.7/site-packages/sklearn/calibration.py", line 309, in fit
calibrator.fit(this_df, Y[:, k], sample_weight)
IndexError: index 9 is out of bounds for axis 1 with size 9

最佳答案

这是 SVC 使用一对一策略的问题,因此决策函数的形状为 (n_samples, n_classes * (n_classes - 1)/2)。一种可能的解决方法是对 CallibratedClassifierCV(OneVsRestClassifier(SVC())) 进行处理。如果你想使用 sigmoidal 校准,你也可以做 SVC(probability=True) 而不是使用 CallibratedClassifierCV

我认为我们应该修复 SVC 决策函数。

关于python - sklearn CalibratedClassifierCV 和 SVM 出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29873981/

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