PythonのSVMについて
SVMで確率を算出した場合は(svm.SVC(probability=True))を使うと思うのですが、
データAで学習、データBで予測を10回繰り返したところ、確率の出力結果(予測結果)が毎回異なります。
なぜでしょうか。よろしくお願いします。
以下、コードです。
import numpy as np
from sklearn import svm
for x in range(0, 10):
auc = []
X = np.array([[-3,-2],
[-1,0],
[-4,2],
[3,1],
[4,-1],
[-1,0],
[-2,-5],
[3,5],
[10,1],
[0,1]])
y = np.array([0,0,0,1,1,0,0,1,1,1]) skf = StratifiedKFold(n_splits=3, random_state = 42) for train, test in skf.split(X, y): clf = svm.SVC(probability=True) clf.fit(X[train], y[train]) predict = clf.predict_proba(X[test])[:,1] auc.append(roc_auc_score(y[test], predict)) print(np.array(auc).mean())
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/12 09:02
2018/04/12 09:17
2018/04/12 09:23
2018/04/12 09:27
2018/04/12 09:35 編集
2018/04/12 09:38
2018/04/12 09:41
2018/04/12 14:49
2018/04/12 15:47