超簡単Pythonで株価データ特徴量自動抽出(tsfresh利用)
Pythonでtsfreshを利用して超簡単に株価データ特徴量を自動抽出
1. ツールインストール
$ pip install scikit-learn xgboost pandas-datareader tsfresh
2. ファイル作成
pred.py
import pandas_datareader as pdr
from sklearn.model_selection import train_test_split
import xgboost as xgb
from sklearn.metrics import accuracy_score
from tsfresh import extract_features
df = pdr.get_data_yahoo("AAPL", "2010-11-01", "2020-11-01")
df["Diff"] = df.Close.diff()
df["y"] = df["Diff"].apply(lambda x: 1 if x > 0 else 0).shift(-1)
df = df.drop(
["Diff", "Adj Close"],
axis=1,
).dropna()
# print(df)
df["id"] = df.index
X = extract_features(df.drop(["y"], axis=1), column_id="id").values
y = df["y"].values
X_train, X_test, y_train, y_test = train_test_split(
X,
y,
test_size=0.2,
shuffle=False,
)
clf = xgb.XGBClassifier()
clf.fit(
X_train,
y_train,
)
y_pred = clf.predict(X_test)
print(accuracy_score(y_test, y_pred))
3. 実行
$ python pred.py
0.47619047619047616
以上、超簡単!
4. 参考
5. 関連記事
この記事が気に入ったらサポートをしてみませんか?