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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Google Colaboratory

Google Colaboratoryとは、無償のJupyterノートブック環境。教育や研究機関の機械学習の普及のためのGoogleの研究プロジェクトです。PythonやNumpyといった機械学習で要する大方の環境がすでに構築されており、コードの記述・実行、解析の保存・共有などが可能です。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

14620閲覧

pythonの機械学習で発生したエラー

00_x9925

総合スコア12

Google Colaboratory

Google Colaboratoryとは、無償のJupyterノートブック環境。教育や研究機関の機械学習の普及のためのGoogleの研究プロジェクトです。PythonやNumpyといった機械学習で要する大方の環境がすでに構築されており、コードの記述・実行、解析の保存・共有などが可能です。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/06/14 14:36

現在Google Colaboratoryを用いてpythonで機械学習を行っています.
しかし謎のエラーに阻まれてしまいました.
原因は不明です. 本来なら95.3333333333といった数値が出るはずなのに,エラーのせいか異なる値が表示されてしまいます.
どなたか解決法をお教えください...

python

1from sklearn.model_selection import LeaveOneOut 2loo=LeaveOneOut() 3 4score = cross_val_score(logreg, iris.data, iris.target, cv = loo) #分類器としてLeaveOneOut()を指定 5score.mean() #=> 0.95333333333333337

下のようなエラーが無数に表示されます...

error

1/usr/local/lib/python3.6/dist-packages/sklearn/linear_model/_logistic.py:940: ConvergenceWarning: lbfgs failed to converge (status=1): 2STOP: TOTAL NO. of ITERATIONS REACHED LIMIT. 3 4Increase the number of iterations (max_iter) or scale the data as shown in: 5 https://scikit-learn.org/stable/modules/preprocessing.html 6Please also refer to the documentation for alternative solver options: 7 https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression 8 extra_warning_msg=_LOGISTIC_SOLVER_CONVERGENCE_MSG) 9/usr/local/lib/python3.6/dist-packages/sklearn/linear_model/_logistic.py:940: ConvergenceWarning: lbfgs failed to converge (status=1): 10STOP: TOTAL NO. of ITERATIONS REACHED LIMIT. 11 12Increase the number of iterations (max_iter) or scale the data as shown in: 13 https://scikit-learn.org/stable/modules/preprocessing.html 14Please also refer to the documentation for alternative solver options: 15 https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression 16 extra_warning_msg=_LOGISTIC_SOLVER_CONVERGENCE_MSG) 17/usr/local/lib/python3.6/dist-packages/sklearn/linear_model/_logistic.py:940: ConvergenceWarning: lbfgs failed to converge (status=1): 18STOP: TOTAL NO. of ITERATIONS REACHED LIMIT. 19

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

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

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

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

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

meg_

2020/06/14 15:06

上記はエラーではなくWarningに見えます。他にエラーが出ているのでしょうか?
00_x9925

2020/06/14 15:08

申し訳ありません エラーではありませんでした.
guest

回答1

0

ベストアンサー

ConvergenceWarning: lbfgs failed to converge (status=1): STOP: TOTAL NO. of ITERATIONS REACHED LIMIT

収束に関する警告: L-BFGS アルゴリズムは、収束しませんでした。最大反復回数に到達しました。

1つ前の質問を拝見しましたが、LogisticRegression() の最大反復回数に到達するまでに収束しなかったという警告です。警告なので、最大反復回数に到達して終了した時点でなんらかの結果は出ているので、エラーではありません。

最大反復回数は max_iter で設定でき、デフォルトは100回です。この値を警告が出なくなるまで、増やしてみてはどうでしょうか。

diff

1- LogisticRegression() 2+ LogisticRegression(max_iter=200)

python

1import pandas as pd 2from sklearn.linear_model import LogisticRegression 3from sklearn.model_selection import LeaveOneOut, cross_val_score, train_test_split 4 5df = pd.read_csv("iris.txt", delim_whitespace=True, header=None) 6X = df.iloc[:, 0:4] 7y = df.iloc[:, 4] 8 9# 訓練セットとテストセットに分割 10X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0) 11# モデルのインスタンスを生成し、訓練データで学習 12logreg = LogisticRegression(max_iter=200) 13# テストセットでモデルを評価 14 15loo = LeaveOneOut() 16score = cross_val_score(logreg, X, y, cv=loo) 17score.mean()

本来なら95.3333333333といった数値が出るはずなのに

書籍かなにかの結果を参照しているのであれば、そのコードが書かれた当時と現在では、ライブラリ内部の実装や API が変更されていれば、厳密に同じ値が出るとは限りません。なので、おおよそ近い値が出ればOKとしましょう。

投稿2020/06/14 14:44

編集2020/06/14 14:58
tiitoi

総合スコア21956

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問