単回帰モデルをフィットする
ここでは、より多くの企業を対象に見ていきます。複数の企業について過去の株価データがあることを思い出してください。いくつかの企業のデータを使って、あるテスト企業の株価を予測してみましょう。Apple の株価を、NVidia、Ebay、Yahoo の値から予測します。これらはそれぞれ all_prices DataFrame の列として保存されています。企業名と列名の対応は次のとおりです。
ebay: "EBAY"
nvidia: "NVDA"
yahoo: "YHOO"
apple: "AAPL"
これらの列を使って、モデルの入力配列と出力配列を定義します。
この演習はコースの一部です
Pythonで学ぶMachine Learningによる時系列データ解析
演習の手順
- 提示された列名を使って、
Xとyの配列を作成します。 - 入力値は "ebay"、"nvidia"、"yahoo" の各社の列を使用します。
- 出力値は "apple" の列を使用します。
- データを用いて、クロスバリデーションでモデルを学習し、スコアを計算します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
from sklearn.linear_model import Ridge
from sklearn.model_selection import cross_val_score
# Use stock symbols to extract training data
X = all_prices[[____]]
y = all_prices[[____]]
# Fit and score the model with cross-validation
scores = cross_val_score(Ridge(), ____, ____, cv=3)
print(scores)