Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
78
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

@yasunori

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

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

問題

試しに、これの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%当たってしまってチューニングしてる感が全くありませんでした。

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

今日はおしまい

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
78
Help us understand the problem. What are the problem?