リンク内容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)ここに言語を入力
インデントがなくコードが読めません(実行できません)。以下を参考に修正ください。
https://teratail.storage.googleapis.com/uploads/contributed_images/56957fe805d9d7befa7dba6a98676d2b.gif
また、提示されているエラーは一部のようですが、全部提示ください。
また、コードはどこから拾ってきたものかを記載ください。
失礼しました。
変更しました
・リンクは「リンクの挿入」で記入してください。
・エラーはどんな内容のエラーですか?
エラー内容は以下の通りです
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').
PyCharmでやってるなら、デバッガで1行ずつ実行しながら、変数の内容を確認しましょう。
データファイルのコードが違って読めていない。
データファイルに空行、または空白が混ざっている。
データファイルに文字が混ざっている。(コメント行のつもりが機能しない)
あたりかと。
質問のコードを参考サイトを見ながら試したところ、エラーなく実行できました。
※特にデータを修正することなくダウンロードしたデータをそのまま使用しました
回答1件
あなたの回答
tips
プレビュー