LoginSignup
78
75

More than 5 years have passed since last update.

scikit-learnで機械学習を試す SVM

Posted at

こんにちは。初心者です。
あるサービス(念写できる人と何か念写してほしい人のマッチングサービスです)で機械学習ためそうと思っていて、調べている最中です。

問題

試しに、これの1問目を解くよー。

教師あり学習の問題です。上記ページの回答例のように、SVMを使ってみます。
ライブラリは、scikit-learnを使ってみた。

SVM使いたいだけならほかにもライブラリあるみたいだけど、scikit-learnいいよ~的なことを言う人が多いので使ってみました。

とりあえずやってみる

svmtest.py
# -*- coding: utf-8 -*-
from sklearn.svm import LinearSVC
import numpy as np

# 学習データ
data_training_tmp = np.loadtxt('CodeIQ_auth.txt', delimiter=' ')
data_training = [[x[0], x[1]] for x in data_training_tmp]
label_training = [int(x[2]) for x in data_training_tmp]

# 試験データ
data_test = np.loadtxt('CodeIQ_mycoins.txt', delimiter=' ')

# 学習
estimator = LinearSVC(C=1.0)
estimator.fit(data_training, label_training)

# 予測するよー
label_prediction = estimator.predict(data_test)

print(label_prediction)
[1 0 0 1 1 0 1 1 1 0 0 1 1 0 0 1 0 0 0 1]

例題のページにはRでの解答が載っているけど、scikit-learnでもほぼ同じ感じでいけました。

ほかの分類器も同じ感じで使えるっぽい。とてもいいね!

超絶参考になったサイト
http://sucrose.hatenablog.com/entry/2013/05/25/133021

ところであってんの?

ほんとは、未知データでの予測出す前に、分類器の精度を確認しないとあってるかどうか分からない。確認する必要がある。
っていうかパラメタもチューニングしないといけない。

ちょっとやってみたけど、これ学習用のデータが検証するには少なすぎるのかそれとも簡単すぎるのか、パラメタ変えても大体100%当たってしまってチューニングしてる感が全くありませんでした。

また別のデータでやります。

今日はおしまい

78
75
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
78
75