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

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

新規登録して質問してみよう
ただいま回答率
85.48%
機械学習

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

Python

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

Q&A

解決済

1回答

1492閲覧

python 機械学習 エラー

jun80

総合スコア15

機械学習

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

Python

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

0グッド

0クリップ

投稿2020/07/26 02:54

編集2020/07/26 09:55

リンク内容pycharm(python3.8,)を使い需要予測をやりました。
起動した結果以下のエラーが出てしまいました。エラーの原因がわかりません。
Traceback (most recent call last):
File "C:/Users/atsus/Desktop/phyton/pycharm/juyo2", line 60, in <module>
model.fit(X_train, y_train)

コードはネットから拾ってきたもの(https://qiita.com/mix_dvd/items/2938b162610a3b23d630)で以下の通りです。

import pandas as pd from sklearn.svm import SVC url = "http://www.tepco.co.jp/forecast/html/images/juyo-2016.csv" kw_df = pd.read_csv(url, encoding="shift_jis", skiprows=2) kw_df.head() file = "data.csv" temp_df = pd.read_csv(file, encoding="shift_jis", skiprows=4) temp_df = temp_df[temp_df.columns[:2]] temp_df.columns = ["日時","気温(℃)"] # データの結合 df = kw_df df["気温"] = temp_df["気温(℃)"] # 曜日データの取得 import datetime pp = df["DATE"] tmp = [] for i in range(len(pp)): d = datetime.datetime.strptime(pp[i], "%Y/%m/%d") tmp.append(d.weekday()) df["weekday"] = tmp # 時間データの取得 pp = df["TIME"] tmp = [] for i in range(len(pp)): d = datetime.datetime.strptime(pp[i], "%H:%M") tmp.append(d.hour) df["hour"] = tmp # 入力 pp = df[["気温","weekday","hour"]] X = pp.values.astype('float') # 出力 pp = df["実績(万kW)"] y = pp.values.flatten() # クロスバリデーションのモジュールを読み込む from sklearn import model_selection # ラベル付きデータをトレーニングセット (X_train, y_train)とテストセット (X_test, y_test)に分割 X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y, test_size=.2, random_state=42) # モジュールの読み込み from sklearn import svm model= svm.SVC() # 学習 model.fit(X_train, y_train) #60行目 # model.score(X,y)を使って予測精度を出す print(model.score(X_test,y_test)) # 正規化のモジュールを読み込む from sklearn.preprocessing import StandardScaler scaler = StandardScaler() scaler.fit(X_train) X_train = scaler.transform(X_train) X_test = scaler.transform(X_test)ここに言語を入力

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

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

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

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

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

jun80

2020/07/26 04:34

失礼しました。 変更しました
meg_

2020/07/26 07:16

・リンクは「リンクの挿入」で記入してください。 ・エラーはどんな内容のエラーですか?
jun80

2020/07/26 09:54

エラー内容は以下の通りです Traceback (most recent call last): File "C:/Users/atsus/Desktop/phyton/pycharm/juyo2", line 60, in <module> model.fit(X_train, y_train) File "C:\Users\atsus\Desktop\phyton\pycharm\venv\lib\site-packages\sklearn\svm\_base.py", line 160, in fit X, y = self._validate_data(X, y, dtype=np.float64, File "C:\Users\atsus\Desktop\phyton\pycharm\venv\lib\site-packages\sklearn\base.py", line 432, in _validate_data X, y = check_X_y(X, y, **check_params) File "C:\Users\atsus\Desktop\phyton\pycharm\venv\lib\site-packages\sklearn\utils\validation.py", line 73, in inner_f return f(**kwargs) File "C:\Users\atsus\Desktop\phyton\pycharm\venv\lib\site-packages\sklearn\utils\validation.py", line 796, in check_X_y X = check_array(X, accept_sparse=accept_sparse, File "C:\Users\atsus\Desktop\phyton\pycharm\venv\lib\site-packages\sklearn\utils\validation.py", line 73, in inner_f return f(**kwargs) File "C:\Users\atsus\Desktop\phyton\pycharm\venv\lib\site-packages\sklearn\utils\validation.py", line 645, in check_array _assert_all_finite(array, File "C:\Users\atsus\Desktop\phyton\pycharm\venv\lib\site-packages\sklearn\utils\validation.py", line 97, in _assert_all_finite raise ValueError( ValueError: Input contains NaN, infinity or a value too large for dtype('float64').
Q71

2020/07/26 10:08

PyCharmでやってるなら、デバッガで1行ずつ実行しながら、変数の内容を確認しましょう。 データファイルのコードが違って読めていない。 データファイルに空行、または空白が混ざっている。 データファイルに文字が混ざっている。(コメント行のつもりが機能しない) あたりかと。
meg_

2020/07/26 10:43

質問のコードを参考サイトを見ながら試したところ、エラーなく実行できました。 ※特にデータを修正することなくダウンロードしたデータをそのまま使用しました
guest

回答1

0

ベストアンサー

ValueError: Input contains NaN, infinity or a value too large for dtype('float64').

が出ているので、気温のデータ等の加工を誤って、あるいは元データに
NaN 等の値があるのだと思われます。データをご確認なさってください。
元の記事でも気温のデータは自分で加工となっているので、そこが再現のときの突っかかり
最も要確認な点だと思います。

投稿2020/08/08 04:21

aokikenichi

総合スコア2218

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

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

jun80

2020/08/09 10:13

回答ありがとうございます。もう一度確認してみます
jun80

2020/09/07 05:03

すごく遅くなってしまいすいません。エラーが解消されました。原因はデータ加工にありました。pytonで開くと一部の文字が文字化けしてしまったのが原因でした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問