前提
現在Python一年生の教則本をやっており
chapter5の機械学習の箇所にて行き詰っております。
実現したいこと
idol上で該当FILEをRUNで動かすことにより
参照画像の数字を答えとして返すようにしたいです。
発生している問題・エラーメッセージ
該当ロジックを動かしても
取り込んだ画像ファイルの値が返ってきません。
該当のソースコード
Python
1import sklearn.datasets 2import sklearn.svm 3import PIL.Image 4import numpy 5 6#画像ファイルを数値リストに変換する 7def imageToData(filename): 8 # 画像を8x8のグレースケールに変換 9 grayImage = PIL.Image.open(filename).convert("L") 10 grayImage = grayImage.resize((8,8),PIL.Image.Resampling.LANCZOS) 11 # 数値リストに変換 12 numImage = numpy.asarray(grayImage, dtype = float) 13 numImage = 16 - numpy.floor(17 * numImage / 256) 14 numImage = numImage.flatten() 15 16 return numImage 17 18# 数字の予測する 19def predictFigits(data): 20 #学習用データを読み取る 21 digits = sklearn.datasets.load_digits() 22 #機械学習する 23 clf = sklearn.svm.SVC(gamma = 0.001) 24 clf.fit(digits.data, digits.target) 25 #予測結果を表示する 26 n = clf.predict([data]) 27 print("予測=",n) 28 29 # 画像ファイルを数値リストに変換する 30 data = imageToData("2.png") 31 # 数字を予測する 32 predictDigits(data) 33
試したこと
・インデントの修正
・>ata = imageToData("2.png")
→該当ファイル名の確認
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
> idol上で該当FILEをRUNで動かすことにより
何かのアプリケーションでしょうか? 「教則本」にそう書かれているのでしょうか?
https://www.shoeisha.co.jp/book/download/9784798153193
からコードをダウンロードできるので、質問者さんが書いたコードに間違いが無いか、比べてみてください
