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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Python

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

Q&A

解決済

1回答

1076閲覧

Pythonでscikit-learnのSVMを使ってアヤメのデータを分類しようとしたら、出力結果がSVC(kernel='linear')としかでない

tevez17

総合スコア1

Python

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

0グッド

0クリップ

投稿2021/05/07 16:26

scikit-learnのSVMを使ってアヤメのデータを分類

HPを参考にscikit-learnのSVMを使ってアヤメのデータを分類しようとしたのですが、線形分類モデルのコード(classifier.fit(X_train, y_train))を実行すると「SVC(kernel='linear')」としか出力されません。
サポートベクトルを利用した分類モデル(SVC)の結果がでるはずなのですが、どうすればよいでしょうか?

発生している問題・エラーメッセージ

SVC(kernel='linear')

該当のソースコード

from sklearn import datasets irisdata = datasets.load_iris() from sklearn.svm import SVC from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(irisdata.data, irisdata.target, test_size = 0.2, train_size = 0.8, shuffle = True) classifier = SVC(kernel = "linear", gamma = "scale")

試したこと

Anaconda Promptからscikit-learnをインストールし直したりしましたが、改善されません。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答1

0

ベストアンサー

テストデータを作って分類器を作っただけように見えます。
~~分類器をテストデータで訓練して、~~そのあと予測をするのではないですか。

SVC(kernel='linear')と表示されるのは、kernelとして'linear'を指定したSVCのインスタンスですので、
print(classifier)ですね。

あまり覚えていませんが、よく見る色分けされた画像は、格子状の座標点を与えて、それぞれの予測結果の数字に色を割りあててプロットすれば得られたはずです。

投稿2021/05/07 22:07

編集2021/05/08 09:31
ppaul

総合スコア24666

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

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

jbpb0

2021/05/08 00:10

ppaulさん 「該当のソースコード」のところには書いてませんが、質問文の最初の方に「(classifier.fit(X_train, y_train))を実行すると」と書かれてるので、そこまではやってるようです
ppaul

2021/05/08 09:21

なるほど、学習はやっているのですね。
tevez17

2021/05/08 15:35

ppaulさん jbpb0さん ご回答ありがとうございます。 自分が参考にしているサイトだと、classifier.fit(X_train, y_train)を実行すると以下の結果が出力される らしいのですが、SVC(kernel='linear')としか出力されません。ご紹介いただいたサイトも同じような結果が出力されると書いてあるのですが、ちょっと原因が分からないので、もしお分かりでしたらご教示いただけると大変ありがたいです。 以下、サイトでの出力結果 SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0, decision_function_shape='ovr', degree=3, gamma='scale', kernel='linear', max_iter=-1, probability=False, random_state=None, shrinking=True, tol=0.001, verbose=False)
jbpb0

2021/05/16 08:28 編集

質問者さん scikit-learnの仕様が、どれかのバージョンで変わっただけだと思いますよ 気にしなくてもいいのではないですかね 古いバージョン(0.17)のチュートリアル https://scikit-learn.org/0.17/tutorial/basic/tutorial.html#learning-and-predicting の「Learning and predicting」では、「clf.fit(...」の結果いろいろ表示されてる 新しいバージョン(0.24)のチュートリアル https://scikit-learn.org/0.24/tutorial/basic/tutorial.html#learning-and-predicting の同じ箇所では、「clf.fit(...」の結果は明示的に変更したパラメータのみ表示されてる
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問