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

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

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

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

Q&A

受付中

予測モデルを使えない

退会済みユーザー

退会済みユーザー

総合スコア0

Python 3.x

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

1回答

0グッド

0クリップ

205閲覧

投稿2022/11/20 11:24

前提

ここに質問の内容を詳しく書いてください。
(例)
pythonでデータ予測を行っています。
モデルで予測model.fit(X_train,y_train)の時に、以下のエラーメッセージが発生しました。

実現したいこと

予測ができるようにする

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

--------------------------------------------------------------------------- ValueError Traceback (most recent call last) Input In [118], in <cell line: 30>() 28 # 回帰モデルの呼び出し 29 model = LinearRegression() ---> 30 model.fit(X_train,y_train) File ~\anaconda3\lib\site-packages\sklearn\linear_model\_base.py:662, in LinearRegression.fit(self, X, y, sample_weight) 658 n_jobs_ = self.n_jobs 660 accept_sparse = False if self.positive else ["csr", "csc", "coo"] --> 662 X, y = self._validate_data( 663 X, y, accept_sparse=accept_sparse, y_numeric=True, multi_output=True 664 ) 666 if sample_weight is not None: 667 sample_weight = _check_sample_weight(sample_weight, X, dtype=X.dtype) File ~\anaconda3\lib\site-packages\sklearn\base.py:581, in BaseEstimator._validate_data(self, X, y, reset, validate_separately, **check_params) 579 y = check_array(y, **check_y_params) 580 else: --> 581 X, y = check_X_y(X, y, **check_params) 582 out = X, y 584 if not no_val_X and check_params.get("ensure_2d", True): File ~\anaconda3\lib\site-packages\sklearn\utils\validation.py:964, in check_X_y(X, y, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, multi_output, ensure_min_samples, ensure_min_features, y_numeric, estimator) 961 if y is None: 962 raise ValueError("y cannot be None") --> 964 X = check_array( 965 X, 966 accept_sparse=accept_sparse, 967 accept_large_sparse=accept_large_sparse, 968 dtype=dtype, 969 order=order, 970 copy=copy, 971 force_all_finite=force_all_finite, 972 ensure_2d=ensure_2d, 973 allow_nd=allow_nd, 974 ensure_min_samples=ensure_min_samples, 975 ensure_min_features=ensure_min_features, 976 estimator=estimator, 977 ) 979 y = _check_y(y, multi_output=multi_output, y_numeric=y_numeric) 981 check_consistent_length(X, y) File ~\anaconda3\lib\site-packages\sklearn\utils\validation.py:800, in check_array(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, estimator) 794 raise ValueError( 795 "Found array with dim %d. %s expected <= 2." 796 % (array.ndim, estimator_name) 797 ) 799 if force_all_finite: --> 800 _assert_all_finite(array, allow_nan=force_all_finite == "allow-nan") 802 if ensure_min_samples > 0: 803 n_samples = _num_samples(array) File ~\anaconda3\lib\site-packages\sklearn\utils\validation.py:114, in _assert_all_finite(X, allow_nan, msg_dtype) 107 if ( 108 allow_nan 109 and np.isinf(X).any() 110 or not allow_nan 111 and not np.isfinite(X).all() 112 ): 113 type_err = "infinity" if allow_nan else "NaN, infinity" --> 114 raise ValueError( 115 msg_err.format( 116 type_err, msg_dtype if msg_dtype is not None else X.dtype 117 ) 118 ) 119 # for object dtype data, we only check for NaNs (GH-13254) 120 elif X.dtype == np.dtype("object") and not allow_nan: ValueError: Input contains NaN, infinity or a value too large for dtype('float64').

該当のソースコード

import os
os.chdir(r'C:\フォルダー名')

import pandas as pd
import numpy as npfrom sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
from sklearn.model_selection import train_test_split

CSVファイルの読み込み

df = pd.read_csv(r'C:\フォルダー名/ファイル名.csv')
#df = StandardScaler().fit_transform(df)

説明変数

X=df.iloc[1:,2:11]

目的変数

y=df.iloc[1:,11]

#訓練データ,テストデータに分ける
X_train, X_test, y_train, y_test =train_test_split(X,y,random_state=0)

回帰モデルの呼び出し

model = LinearRegression()
model.fit(X_train,y_train)

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

Python 3.9.13

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

2022/11/20 12:14

こちらの質問が他のユーザーから「やってほしいことだけを記載した丸投げの質問」という指摘を受けました。

退会済みユーザー

退会済みユーザー

2022/11/20 12:51 編集

ここのサイトの趣旨をわかっていないのですが、初心者の質問は受け付けないということでしょうか? 当方Python初心者であり、1週間くらいで書けたコードがここまでだったので質問しています。

回答1

1

もう退会されてるけど回答だけ。
エラー原因は欠損値入ったデータを使ってるからです。
fillna()などで欠損値処理してください。

あと「自分がどこまで行動したか」を書いたほうがいいとだけ。「help読まない、自分で調べない」はエンジニアとしては最悪なので

投稿2022/11/20 13:37

pig_vba

総合スコア670

spoofy_dragon👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

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

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

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

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

ただいまの回答率
86.02%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Python 3.x

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