Что такое Python, эквивалентный функции прогнозирования R для линейных моделей?

Что такое Python, эквивалентный функции прогнозирования R для линейных моделей?

Я уверен, что в scipy есть что-то, что может здесь помочь, но есть ли эквивалентная функция?

https://stat.ethz.ch/R-manual/R-patched/library/stats/html/predict.lm.html


person Matt Alcock    schedule 13.03.2015    source источник
comment
Вы можете проверить statsmodels и scikit-learn для реализации линейных моделей.   -  person cel    schedule 13.03.2015
comment
как уже упоминалось, вы также можете попробовать scipy.stats.linregress docs.scipy.org/doc/scipy-0.14.0/reference/generated/   -  person Jake    schedule 16.05.2020


Ответы (1)


В Scipy есть множество инструментов регрессии с методами прогнозирования; хотя IMO, Pandas — это библиотека Python, которая ближе всего подходит к воспроизведению функциональности R, в комплекте с методами прогнозирования. Следующие фрагменты в R и Python демонстрируют сходство.

R линейная регрессия:

data(trees)
linmodel <- lm(Volume~., data = trees[1:20,])
linpred <- predict(linmodel, trees[21:31,])
plot(linpred, trees$Volume[21:31])

Тот же набор данных в python с использованием pandas ols:

import pandas as pd
from pandas.stats.api import ols
import matplotlib.pyplot as plt

trees = pd.read_csv('trees.csv')
linmodel = ols(y = trees['Volume'][0:20], x = trees[['Girth', 'Height']][0:20])
linpred = linmodel.predict(x = trees[['Girth', 'Height']][20:31])
plt.scatter(linpred,trees['Volume'][20:31])
person chepyle    schedule 14.03.2015