Я собираюсь сделать линейную регрессию для определения предполагаемой даты истощения для определенного ресурса. У меня есть набор данных, содержащий столбец дат и несколько столбцов данных, которые всегда уменьшаются. Линейная регрессия с использованием функции LinearRegression () Scikit Learn дает плохое соответствие.
Я преобразовал столбец даты в порядковый номер, что привело к значениям ~ 700 000. Относительно оси Y значений между 0-200, это довольно большое. Я предполагаю, что функция регрессии запускается при низких значениях и работает наверх, в конце концов сдаваясь, прежде чем найдет достаточно хорошее соответствие. Если бы я мог назначить начальные значения параметрам, большой перехват и небольшой уклон, возможно, это решило бы проблему. Я не знаю, как это сделать, и мне очень любопытно, что касается других решений.
Вот ссылка на некоторые данные
https://pastebin.com/BKpeZGmN
А вот мой текущий код
model=LinearRegression().fit(dates,y)
model.score(dates,y)
y_pred=model.predict(dates)
plt.scatter(dates,y)
plt.plot(dates,y_pred,color='red')
plt.show()
print(model.intercept_)
print(model.coef_)
Этот код отображает линейную модель данных, что дает ошеломительную неточность. Я хотел бы поделиться этим сообщением, но я не уверен, как разместить изображение с моего рабочего стола.
Мои исходные данные - даты, и я преобразую их в порядковый номер в коде, которым я здесь не поделился. Если есть более простой способ сделать это, который был бы более точным, я был бы признателен за предложение.
Спасибо,
Будет