質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

3442閲覧

機械学習SVMアルゴリズム

jun_endo

総合スコア56

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/07/03 06:34

###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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

「SVM パラメータ」で検索すれば一発で出る記事を貼るのも気が引けますが、

SVM(RBFカーネル)のハイパーパラメータを変えると何が起こるの?

こちらを参考にしてください。

基本的には、どちらのパラメータも大きくすればするほど複雑な超分離平面(決定境界)が引かれます。

大きくすると複雑に入り組んだようなデータをうまく分類できるようになりますが、やりすぎると過学習の問題が出てくるので、実際には汎化性能を見ながらチューニングすることになります。

投稿2018/07/03 06:56

hayataka2049

総合スコア30933

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html

公式ドキュメントもはっておきますよ。

投稿2018/07/03 11:17

mkgrei

総合スコア8560

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問