Как предсказать значение, используя кадр данных панд? - PullRequest
0 голосов
/ 17 сентября 2018

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

Year    Life Expectancy
1930    59.7
1940    62.9
1950    70.2
1965    67.7

Как бы вычислить значение для 1948 года?

Ответы [ 2 ]

0 голосов
/ 17 сентября 2018

Вы можете использовать:

import seaborn as sns    
sns.lmplot(data['Year'],data['Life Expectancy'],data)

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

Для документации см .: https://seaborn.pydata.org/generated/seaborn.lmplot.html

0 голосов
/ 17 сентября 2018

Как у меня было немного времени, для прикола полный пример, основанный на комментарии @ALollz, с использованием numpy.polyfit() и .polyval().

% matplotlib inline

import pandas as pd
import numpy as np

# Generate some test data with a trend.

data = pd.DataFrame(
    {
        'year': list(range(1900, 2000)),
        'life_exp': np.linspace(50, 80, 100) * ((np.random.randn(100, ) * 0.1) + 1)
    }
)

data[['life_exp']].plot()

Предоставление:

enter image description here

# Fit coefficents.

coef = np.polyfit(data['year'], data['life_exp'], 1)

# Generate predictions for entire series.

data['predicted'] = pd.Series(np.polyval(coef, data['year']))

data[['life_exp', 'predicted']].plot()

Что дает нам желаемый результат:

enter image description here

И мы можем предсказать один год:

# Passing in a single year.

x = 1981

print('Predicted life expectancy for {}: {:.2f} years'.format(x, np.polyval(coef, x)))

Дает: Predicted life expectancy for 1981: 72.40 years

Надеюсь, это правильное использование, и я узнал кое-что, отвечая на это

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