【发布时间】:2017-06-04 20:39:22
【问题描述】:
我正在尝试将 sklearn 版本 0.18.1 中的 TimeSeriesSplit 交叉验证策略与 LogisticRegression 估计器一起使用。我收到一条错误消息:
cross_val_predict 仅适用于分区
下面的代码 sn -p 展示了如何重现:
from sklearn import linear_model, neighbors
from sklearn.model_selection import train_test_split, cross_val_predict, TimeSeriesSplit, KFold, cross_val_score
import pandas as pd
import numpy as np
from datetime import date, datetime
df = pd.DataFrame(data=np.random.randint(0,10,(100,5)), index=pd.date_range(start=date.today(), periods=100), columns='x1 x2 x3 x4 y'.split())
X, y = df['x1 x2 x3 x4'.split()], df['y']
score = cross_val_score(linear_model.LogisticRegression(fit_intercept=True), X, y, cv=TimeSeriesSplit(n_splits=2))
y_hat = cross_val_predict(linear_model.LogisticRegression(fit_intercept=True), X, y, cv=TimeSeriesSplit(n_splits=2), method='predict_proba')
我做错了什么?
【问题讨论】:
-
如何在堆叠上下文中使用 TimeSeriesSplit 和 cross_val_predict:datascience.stackexchange.com/a/105116/76808
标签: python scikit-learn logistic-regression cross-validation