Линейная регрессия, возвращающая плохое соответствие с большими значениями x - PullRequest
1 голос
/ 21 мая 2019

Я собираюсь сделать линейную регрессию для определения предполагаемой даты истощения для определенного ресурса. У меня есть набор данных, содержащий столбец дат и несколько столбцов данных, которые всегда уменьшаются. Линейная регрессия с использованием функции 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_) 

Этот код отображает линейную модель данных, что дает ошеломительную неточность. Я хотел бы поделиться этим сообщением, но я не уверен, как разместить изображение с моего рабочего стола.

Мои исходные данные - даты, и я преобразую их в порядковый номер в коде, которым я здесь не поделился. Если есть более простой способ сделать это, который был бы более точным, я был бы признателен за предложение.

Спасибо, Будет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...