如何在算法上使用我的日期功能?

时间:2017-09-13 17:50:52

标签: python datetime dataframe machine-learning scikit-learn

X = df1.iloc[:, 1:].values
y = df1.iloc[:, 0].values

from sklearn.cross_validation import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25,     random_state=0) 

from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=3, metric='minkowski', p=2)
knn.fit(X_train, y_train)

ValueError: could not convert string to float: '2/1/2011'

我打算使用这些功能制作投注模型。 FTR =全时结果:(H)ome,(D)raw,(A)方式 odds_H =主队赔率

1 个答案:

答案 0 :(得分:0)

在ML中,如果您将日期作为功能,则可以执行相当多的操作。一些过去有用的转换示例:

  • 日期编号,月份编号,年份编号,季度编号
  • 周日
  • 季节(例如春天= 0,夏天= 1 ......)
  • year_day number(1-jan = 0,31-dec = 364)
  • 某些事件之后/之前的天数(在您的示例中,这可能是自上次匹配以来的天数)
  • 还有更多......

其中一些有一些警告,但一般来说,应该很容易从datetime对象转到每个表示(作为整数)。根据您的特定数据集,其中一些可能非常有用。