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

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

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

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

Q&A

1回答

5050閲覧

sklearnのエラーの意味がわからない。

ShunsukeHattori

総合スコア10

Python 3.x

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

0グッド

1クリップ

投稿2017/07/10 06:26

###前提・実現したいこと
手書き数字の5をサイキットラーンで画像認識させたいのですが、エラーが出てできないです。エラーのいみんもよくわからないので、教えていただきたいです。

###発生している問題・エラーメッセージ
[ 0. 0. 0. 0. 0. 0. 0. 0. 1. 9. 7. 7. 7. 7. 2. 0. 1. 8.
0. 1. 0. 0. 0. 0. 1. 6. 0. 0. 0. 0. 0. 0. 1. 9. 5. 6.
5. 1. 0. 0. 0. 4. 3. 3. 4. 8. 1. 0. 0. 0. 0. 0. 2. 9.
2. 0. 0. 3. 8. 8. 8. 2. 0. 0.]
予測モデルを保存しました= digit-clf.pkl
Traceback (most recent call last):
File "predict_digit.py", line 59, in <module>
main()
File "predict_digit.py", line 56, in main
predict_digits(data)
File "predict_digit.py", line 28, in predict_digits
n = clf.predict([data])
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/svm/base.py", line 573, in predict
y = super(BaseSVC, self).predict(X)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/svm/base.py", line 310, in predict
X = self._validate_for_predict(X)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/svm/base.py", line 457, in validate_for_predict
check_is_fitted(self, 'support
')
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/utils/validation.py", line 690, in check_is_fitted
raise _NotFittedError(msg % {'name': type(estimator).name})
sklearn.exceptions.NotFittedError: This SVC instance is not fitted yet. Call 'fit' with appropriate arguments before using this method.

エラーメッセージ

###該当のソースコード

ここにご自身が実行したソースコードを書いてください import os, sys, math from sklearn import datasets, svm from sklearn.externals import joblib # モデルデータファイル名 DIGITS_PKL = "digit-clf.pkl" # 予測モデルを作成する def train_digits(): # 手書き数字データを読み込む digits = datasets.load_digits() # 訓練する data_train = digits.data label_train = digits.target clf = svm.SVC(gamma=0.001) # 予測モデルを保存 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) # 手書き数字画像を8×8グレイスケールのデータ配列に変換 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 -16 * (img / 256)) # 変換後の画像を表示 # import matplotilb.pyplot as plt # plt.imshow(img) # plt.gray() # 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() img = np.asarray(image, dtype=float) img = np.floor(16 -16 * (img / 256)) # 変換後の画像を表示 # import matplotilb.pyplot as plt # plt.imshow(img) # plt.gray() # 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() ###試したこと 課題に対してアプローチしたことを記載してください ###補足情報(言語/FW/ツール等のバージョンなど) より詳細な情報

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

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

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

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

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

LouiS0616

2017/07/10 06:28

コードはバッククオート三つ```で括ってください。よくわからないようなら、マークダウン記法について調べてください。
LouiS0616

2017/07/10 06:29

というか、エラーに解決策書いてあるじゃないですか。
_Victorique__

2017/07/10 07:00

エラーをよく見ましょう。エラーの意味が分からなければ調べましょう。それでも解決できない場合はこちらに質問してください。
guest

回答1

0

This SVC instance is not fitted yet. Call 'fit' with appropriate arguments before using this method.とエラーメッセージにかかれているので、SVCのfit関数を実行してください。

投稿2021/01/20 03:21

dark-eater-kei

総合スコア1248

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問