###SVMの変数がよくわからない
現在pythonでSVMアルゴリズムをやっているのですが
lang
1clf = svm.SVC(gamma=0.001, C=100.0)
上記のgamma,Cの変数の意味がいまいちわかりません。
どなたか教えてください。
###プログラム
lang
1 2# 準備作業 3from sklearn import datasets 4data = datasets.load_digits() 5 6#各種データの確認 7print(data.DESCR) 8print(data.data) 9print(data.target_names) 10print(data.target) 11 12# サポートベクターマシーンの準備 13from sklearn import svm 14clf = svm.SVC(gamma=0.001, C=100.0) 15 16#データを学習用/評価用に分割するための準備作業 17#学習用:898件、評価用:899件となるようにINDEXを分割する 18att = data.data #attに属性データを格納 19lab = data.target #labに正解ラベルを格納 20 21n_samples = att.shape[0] #データの個数(1797件) 22n_train = n_samples // 2 #半分のデータを学習(898件) 23n_test = n_samples - n_train #評価データ数(899件) 24 25train_index = range(0,n_train) #最初の半分(range(0, 898)) 26test_index = range(n_train,n_samples) #残りの半分range(898, 1797) 27 28# データを学習用/評価用に分割 29att_train = att[train_index] #学習用属性データ 30lab_train = lab[train_index] #学習用正解ラベル 31 32att_test = att[test_index] #評価用属性データ 33lab_test = lab[test_index] #評価用正解ラベル 34 35#機械学習 36clf.fit(att_train,lab_train); 37 38#評価 39print(clf.score(att_test,lab_test)) 40 41#評価の分析 42ng = 0 43for i,j in zip(clf.predict(att_test),lab_test): 44 if i == j: 45 print(i,j,"OK") 46 else: 47 print(i,j,"NG") 48 ng += 1 49 50print("{0} / {1} = {2}".format(ng,n_test,1-ng / n_test)) 51
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。