RのWeb制作

Webサービス制作のための技術情報を。データ分析(Python、機械学習コンペ他)や自作野球ゲームMeisyoのこと中心。

Web制作 Python

手書き数字診断士(機械学習)ver 0.1 K近傍法を使ってみた

投稿日:

手書き文字の判定精度が全然上がらないので、他の手法を試してみました。

sklearnの開発元によると、以下の方法が良いらしい・・・。

なるほど!SVCで上手くいかない → K近傍法だな!

早速実装
predict.py

from sklearn import datasets
from sklearn import metrics
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import train_test_split
import numpy as np
from sklearn.externals import joblib

# データセットロード
dataset = datasets.load_digits()
#全データの最大値、全データ数確認
#print(np.amax(dataset.data)) # 最大値16
print(dataset.data.shape[0]) # 全データ数

# 設定用
x = dataset.data / 16 # 最大値を1にする
y = dataset.target

# 訓練データ/テストデータの分割
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.1, random_state=1)

# モデル作成
model = KNeighborsClassifier(n_neighbors=10)

# 学習
model.fit(x_train, y_train)

# 推定
y_pred = model.predict(x_test)

# 評価
score = metrics.accuracy_score(y_test, y_pred)
print("KN Score : {0:.4f}" . format(score))

# 間違い探し
co_mat = metrics.confusion_matrix(y_test, y_pred)
print(co_mat)

# 学習済みモデルの作成
joblib.dump(model, "consultant.pkl", compress=True)

sklearn上では・・・精度100%?
すごくいい数字です。ちなみにSVCは0.98程度でした。

結果










結果まとめ

正答率:5/10

・・・(^o^;)
正答率は良くはなりましたが、まだまだ未完成みたいですね。

データ整形のサイズを56×56→8×8にする時に、
mean(平均値)で丸めちゃってるのがおかしいのかな・・・。

つづく、はず。

-Web制作, Python

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【教材紹介】Python ゼロからはじめるプログラミング

概要 「プログラミング、興味はあるけどどう始めたらいいのかわからない。」というあなた!まずは、丁寧な説明と図、問題集までついたこの1冊(無料PDFあり)で入門してみませんか? 内容を確認しましたが、こ …

[Meisyo]ビッグデータから学ぶ試合の基礎設計3

これは[Meisyo]ビッグデータから学ぶ試合の基礎設計2の投手編です! ここでは、「どのパラメータが打率等にどれくらい関係するのか」を理解することで強いチームを作る指針を記載しておきます。 というわ …

[Python]グリッドサーチを軽量化し、チューニングしたパラメータも反映する機構を作る

パラメータチューニング方法であるグリッドサーチ、 確かに自動で実行してくれて、すごく便利なのですが問題点があります。 めっちゃ時間がかかる もし、下記のパラメータ設定のモノを全てグリッドサーチしようと …

[Meisyo]練習試合のバグ修正

練習試合のバグ修正を修正しました。 練習試合で大阪桐蔭2018(NPC)と当たるってマジ? 久々のバグ報告(ありがたい!)で、なんでこうなるかなーと思ってみたら、 下記のようにしたつもりが・・・ $v …

[Meisyo]基本機能(守備位置変更)追加と練習の修正

下記変更を行いました。 ・基本機能(守備位置変更)の追加 ・練習No.3(高いor低い順に数字をクリック)にスタートボタンを追加 基本機能(守備位置変更)の追加 そういえば守備位置変更がなかった! ち …