У меня проблемы с вводом данных даты в функцию линейной регрессии sklearn. Я понимаю, что мне нужно преобразовать данные даты в некоторую форму порядковых чисел, но я недостаточно знаком с python, как это сделать! Вот что у меня есть :
import matplotlib.pyplot as plt
import numpy as np
from sklearn import linear_model
data_time = np.asarray(['2017-05-24','2017-05-25','2017-05-26','2017-05-27','2017-05-28','2017-05-29','2017-05-30','2017-05-31','2017-06-01','2017-06-02','2017-06-03','2017-06-04','2017-06-05','2017-06-06','2017-06-07','2017-06-08','2017-06-09','2017-06-10','2017-06-11','2017-06-12','2017-06-13','2017-06-14','2017-06-15','2017-06-16','2017-06-17','2017-06-18','2017-06-19','2017-06-20','2017-06-21']).reshape(-1, 1)
data_count = np.asarray([300.000,301.000,302.000,303.000,304.000,305.000,306.000,307.000,308.000,309.000,310.000,311.000,312.000,230.367,269.032,258.867,221.645,222.323,212.357,198.516,230.133,243.903,244.320,207.451,192.710,212.033,216.677,222.333,208.710]).reshape(-1, 1)
regr = linear_model.LinearRegression()
regr.fit(data_time, data_count)
# Make predictions using the testing set
y_pred = regr.predict(data_time)
plt.title('My Title')
plt.xlabel('Date')
plt.ylabel('Metric')
plt.scatter(data_time, data_count, color='black')
plt.plot(data_time, y_pred, color='orange', linewidth=3)
plt.show()
Естественно, это получает ошибку
ValueError: could not convert string to float: '2017-05-24'
Любая помощь приветствуется! Замечание: Если возможно, я не хочу отказываться от использования этого массивного формата массива, поскольку я написал оболочку графического интерфейса пользователя C ++, которая генерирует код Python в фоновом режиме.