機械学習を独学で学んでいます。
練習としてscikit-learnの線形回帰を用いた株価の予測をしています。
列名 | 内容 |
---|---|
Data | 日付(Index) |
Open | 始値、当日の最初に付いた値段 |
High | 高値、当日のもっとも高かった値段 |
Low | 安値、当日のもっとも安かった値段 |
Close | 終値、当日の最後に付いた値段 |
Volume | 取引量 |
上記の説明変数を使って、翌日のHigh(高値)をNext_Highとして予測することをしています。
各特徴量に対する係数を表示したく
model.score(target_predict,target_test)
を実行したのですがエラーで表示されませんでした。
お力添えのほどよろしくお願いします。
Python
1%matplotlib inline 2 3import pandas as pd 4import numpy as np 5import matplotlib.pyplot as plt 6import seaborn as sns 7import pandas_datareader.data as dr 8 9# アップル社の株価を取得 10stock = dr.DataReader('AAPL', "stooq") 11stock.head() 12 13# 翌日のHigh(高値)を Next_Highとして追加 14stock['Next_High'] = stock['High'].shift(1) 15stock.head() 16 17# 欠損値の削除 18stock = stock.dropna() 19stock.shape 20 21# 検証データの用意 22data_columns = ['Open', 'High', 'Low', 'Close', 'Volume'] 23 24# 検証データ数 25test_rows = 300 26 27# stockデータを目的変数と説明変数に分ける 28target = stock['Next_High'] 29data = stock[data_columns] 30 31# 学習データと検証データに分割 32target_train = target[test_rows:] 33target_test = target[:test_rows] 34data_train = data[test_rows:] 35data_test = data[:test_rows] 36 37from sklearn.linear_model import LinearRegression 38 39# モデルの初期化 40model = LinearRegression() 41 42# 学習の実施 43model.fit(data_train, target_train) 44 45target_predict = model.predict(data_test) 46 47# 検証データの目的変数でDataFrameを作成 48result = pd.DataFrame(target_test) 49 50# 予測結果を列「predict」としてDataFrameに追加 51result['predict'] = target_predict 52 53# グラフを描画 54sns.lineplot(data=result) 55 56# 決定係数 57model.score(target_predict,target_test)
環境はjupyter notebookです。
回答2件
あなたの回答
tips
プレビュー