Прогнозирование полиномиальной регрессии (конкретное значение) не является точным? - PullRequest
0 голосов
/ 09 апреля 2019

Я создал простую модель линейной и полиномиальной регрессии, чтобы получить конкретное значение из графика (или для прогнозирования, но, поскольку я не могу получить конкретное значение, то как я могу прогнозировать; -;)

В Python 3.x на spyder ver 3.3.Я попытался изменить мой массив, который работает для линейной регрессии и дает точный результат, но для моей полиномиальной регрессии я либо получаю ошибку, либо результат, который отличается от ожидаемого результата

#importing of libs import numpy as np import matplotlib.pyplot as plt import pandas as pd

# Retrieving dataset dataset = pd.read_csv('Position_salaries.csv')

# Seperating the indpendant variable colum from dependant column x = dataset.iloc[:, 1:-1].values y = dataset.iloc[:, 2].values

# Fitting in linear regression from sklearn.linear_model import LinearRegression lin_reg = LinearRegression() lin_reg.fit(x,y)

# Fitting of a poly model from sklearn.preprocessing import PolynomialFeatures poly = PolynomialFeatures(3) x_poly = poly.fit_transform(x) # fit poly regression lin_reg2 = LinearRegression() lin_reg2.fit(x_poly, y)

# Visualization of linear regression plt.scatter(x,y, color = 'red') plt.plot(x, lin_reg.predict(x)) plt.show()

# Visualisation of poly regression x_grid = np.arange(min(x), max(x), 0.1) x_grid = np.reshape(x_grid, (len(x_grid),1)) plt.scatter(x,y, color = 'red') plt.plot(x_grid, lin_reg2.predict(poly.fit_transform(x_grid))) plt.show()

# Predicting with linear regression model value_needed = np.array(6.5).reshape(-1,1) lin_reg.predict(np.array(6.5).reshape(-1,1))

#predicting with polynomial regression model lin_reg2.predict(poly.fit_transform(value_needed))

Для линейной модели этот результат является точным -

value_needed = np.array(6.5).reshape(-1,1) lin_reg.predict(np.array(6.5).reshape(-1,1)) Out[17]: array([330378.78787879]) , тогда как для полинома я получаю -

lin_reg2.predict(poly.fit_transform(value_needed)) Out[18]: array([133259.46969697]) , что далекофактический результат (158862.45265)

Мой код и набор данных

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