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

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

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

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

467閲覧

Python3 Scikit learnのモジュールを利用できない FileNotFoundError:

gaijin

総合スコア30

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2018/11/25 21:57

編集2018/11/25 23:08

python 初心者です。

独学にて教本を使用して勉強しております。

以前にこちらでscikit learnパッケージを使用するために教本通り書いていたコードが古いとのことで、プログラムが実行できませんでした。
今回scikit learnの手書きサンプルを使用し表示させたいのですが、実行するとFileNotFoundError:が出ます。

調べましたがこちらはまだ使用されているコードのように思いました。

原因がわからず困っております。 
どうかご教授いただけると助かります。

下記が書き出したコードです。

import os, sys, math from sklearn import datasets, svm from sklearn.externals import joblib def train_digits(): digits = datasets.load_digits() data_train = digits.data label_train = digits.target clf = svm.SVC(gamma=0.001) clf.fit(data_train, label_train) joblib.dump(clf, DIGITS_PKL) print("予測モデルを保存しました=", DIGITS_PKL) return clf def predict_digits(data): if not os.path.exists(DIGITS_PKL): clf = train_digits() clf = joblib.load(DIGITS_PKL) n = clf.predict([data]) print("判定結果=", n) def image_to_data(imagefile): import numpy as np from PIL import Image image = Image.open(imagefile).convert('L') image = image.resize((8, 8), Image.ANTIALIAS) img = np.asarray(image, dtype=float) img = np.floor(16 - 6 * (img / 256)) #import matplotlib.pyplot as plt #plt.imshow(img) ##plt.show() img = img.flatten() print(img) return img def main(): if len(sys.argv) <= 1: print("USAGE:") print("python3 predict_digit.py imagefile") return imagefile = sys.argv[1] data = image_to_data(imagefile) predict_digits(data) if __name__ == '__main__': main()

ターミナル実効後

$ python3 predict_digit.py test5.png Traceback (most recent call last): File "predict_digit.py", line 47, in <module> main() File "predict_digit.py", line 43, in main data = image_to_data(imagefile) File "predict_digit.py", line 25, in image_to_data image = Image.open(imagefile).convert('L') File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PIL/Image.py", line 2609, in open fp = builtins.open(filename, "rb") FileNotFoundError: [Errno 2] No such file or directory: 'test5.png'

追記

predict_digit.py フルパス

/Users/hoge/Desktop/pythonkyoukasyo/predict_digit.py

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

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

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

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

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

can110

2018/11/25 22:14

predict_digit.pyとtest5.pngのフルパスを追記ください。パスに個人名が含まれる場合はhogeなどに置き換えてください
gaijin

2018/11/25 23:06

迅速な返信ありがとうございます! すぐにフルパスを追記いたします。 後なのですがtest5.pngは教本を見る限りでは画像ファイルを用意してあるとの記載があったためこのコードにより取り込むのかと思っていたのですが、こちらは自分で用意するものなのでしょうか? ど素人の質問お許しください。。
can110

2018/11/25 23:11

サンプルコードが書籍付属のROMあるいはネット上で公開されていませんか?それに含まれているのかもしれません。
gaijin

2018/11/25 23:27

サンプルコードが書籍に付属されておりました! こちらを同じ階層に移動させたところ表示されました。コードについてではなく自分の完全なミスでこのようにお手をかけてしまい本当に申し訳ございません。。 そして、いつも迅速かつ的確な解答をいただきありがとうございます!
guest

回答1

0

ベストアンサー

書籍に付属されているサンプルデータtest5.pngをマシン上にコピーで解決されるようです。

投稿2018/11/27 22:09

can110

総合スコア38233

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問