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

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

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

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

機械学習

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

Python

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

Q&A

解決済

1回答

2580閲覧

sklearnのLinearRegressionでValueErrorが出ます

SUM_DD

総合スコア1

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

機械学習

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

Python

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

0グッド

0クリップ

投稿2020/05/08 09:16

編集2020/05/08 12:46

前提・実現したいこと

オライリーの教本「scikit-learnとTensorFlowによる実践機械学習」について
見本コードを実施したいが、
1章のLinearRegressionを実装中に以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

ValueError Traceback (most recent call last) <ipython-input-4-1ae6d5bba27c> in <module> 23 24 # Train the model ---> 25 model.fit(X, y) 26 27 # Make a prediction for Cyprus C:\Anaconda3\lib\site-packages\sklearn\linear_model\base.py in fit(self, X, y, sample_weight) 483 else: 484 self.coef_, self._residues, self.rank_, self.singular_ = \ --> 485 linalg.lstsq(X, y) 486 self.coef_ = self.coef_.T 487 C:\Anaconda3\lib\site-packages\scipy\linalg\basic.py in lstsq(a, b, cond, overwrite_a, overwrite_b, check_finite, lapack_driver) 1224 if info < 0: 1225 raise ValueError('illegal value in %d-th argument of internal %s' -> 1226 % (-info, lapack_driver)) 1227 resids = np.asarray([], dtype=x.dtype) 1228 if m > n: ValueError: illegal value in 4-th argument of internal None

該当のソースコード

python

1import matplotlib.pyplot as plt 2import numpy as np 3import pandas as pd 4import sklearn.linear_model 5 6oecd_bli = pd.read_csv(datapath + "oecd_bli_2015.csv", thousands=',') 7gdp_per_capita = pd.read_csv(datapath + "gdp_per_capita.csv",thousands=',',delimiter='\t', 8 encoding='latin1', na_values="n/a") 9 10country_stats = prepare_country_stats(oecd_bli, gdp_per_capita) 11X = np.c_[country_stats["GDP per capita"]] 12y = np.c_[country_stats["Life satisfaction"]] 13 14country_stats.plot(kind='scatter', x="GDP per capita", y='Life satisfaction') 15plt.show() 16 17model = sklearn.linear_model.LinearRegression() 18 19model.fit(X, y) 20 21X_new = [[22587]] # Cyprus' GDP per capita 22print(model.predict(X_new)) # outputs [[ 5.96242338]]

試したこと

エラー文からlstsqに問題があると考えていますが、
対策が思いつかず、何も試せていません。

補足情報(FW/ツールのバージョンなど)

プログラムは下記のリンクからダウンロードした見本を使用。
見本コードリンク
(ダウンロードしたファイル中の「01_the_machine_learning_landscape.ipynb」のソースコード)
使用環境
python    : 3.7.3
scikit-learn : 0.20.3
pandas   : 0.24.2
numpy   : 1.16.2
scipy    : 1.4.1

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

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

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

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

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

hayataka2049

2020/05/08 12:02

データの出典を追記してください。また、コードは<code>ボタンで挿入できるmarkdown記法で囲ってください。 ```python ここにコード ``` のように書けば綺麗に表示されます。
SUM_DD

2020/05/08 12:21

質問内容に不備があり申し訳ありませんでした。 ご指摘頂きありがとうございます。 データの出典とコードについては修正した内容でよろしいでしょうか?
hayataka2049

2020/05/08 12:30

了解です。 試しましたが、エラーが再現できなかったので、Python本体と関連ライブラリのバージョンを書いてみてください。 (少なくともscikit-learn, pandas, numpy, scipyの情報は見てみた方が良い気がします)
SUM_DD

2020/05/08 12:38

ご返答頂きありがとうございます。 それぞれのバージョンを確認しました。下記の通りになります。 python  : 3.7.3 scikit-learn: 0.20.3 pandas  : 0.24.2 numpy  : 1.16.2 scipy   : 1.4.1
hayataka2049

2020/05/08 12:44

回答しますが、他の方から見やすいように質問文に追記しておいてください。
guest

回答1

0

ベストアンサー

scipyが最新なのに、numpyとscikit-learnが古めなのでうまく動いていないのかもしれません(特にscikit-learn)。numpyは1.18系、scikit-learnは0.22系が最新なので、更新してみてはいかがでしょうか。またはscipyを古くしていく手もあります。

投稿2020/05/08 12:47

編集2020/05/08 12:47
hayataka2049

総合スコア30935

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

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

SUM_DD

2020/05/08 13:01

パッケージの更新で解決しました。 内容のご指摘から回答まで、ありがとうございました。 今後、質問する際には注意します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問