2019-10-18 06:20:22 +00:00
|
|
|
import matplotlib.pyplot as plt
|
|
|
|
import pandas as pd
|
2020-05-22 06:10:11 +00:00
|
|
|
from sklearn.linear_model import LinearRegression
|
|
|
|
|
|
|
|
# Splitting the dataset into the Training set and Test set
|
|
|
|
from sklearn.model_selection import train_test_split
|
|
|
|
|
|
|
|
# Fitting Polynomial Regression to the dataset
|
|
|
|
from sklearn.preprocessing import PolynomialFeatures
|
2019-10-18 06:20:22 +00:00
|
|
|
|
|
|
|
# Importing the dataset
|
2019-10-22 17:13:48 +00:00
|
|
|
dataset = pd.read_csv(
|
|
|
|
"https://s3.us-west-2.amazonaws.com/public.gamelab.fun/dataset/position_salaries.csv"
|
|
|
|
)
|
2019-10-18 06:20:22 +00:00
|
|
|
X = dataset.iloc[:, 1:2].values
|
|
|
|
y = dataset.iloc[:, 2].values
|
|
|
|
|
|
|
|
|
|
|
|
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
|
|
|
|
|
|
|
|
|
|
|
|
poly_reg = PolynomialFeatures(degree=4)
|
|
|
|
X_poly = poly_reg.fit_transform(X)
|
|
|
|
pol_reg = LinearRegression()
|
|
|
|
pol_reg.fit(X_poly, y)
|
|
|
|
|
|
|
|
|
|
|
|
# Visualizing the Polymonial Regression results
|
|
|
|
def viz_polymonial():
|
2019-10-22 17:13:48 +00:00
|
|
|
plt.scatter(X, y, color="red")
|
|
|
|
plt.plot(X, pol_reg.predict(poly_reg.fit_transform(X)), color="blue")
|
|
|
|
plt.title("Truth or Bluff (Linear Regression)")
|
|
|
|
plt.xlabel("Position level")
|
|
|
|
plt.ylabel("Salary")
|
2019-10-18 06:20:22 +00:00
|
|
|
plt.show()
|
|
|
|
return
|
2019-10-22 17:13:48 +00:00
|
|
|
|
|
|
|
|
2019-11-17 18:38:48 +00:00
|
|
|
if __name__ == "__main__":
|
|
|
|
viz_polymonial()
|
2019-10-18 06:20:22 +00:00
|
|
|
|
2019-11-17 18:38:48 +00:00
|
|
|
# Predicting a new result with Polymonial Regression
|
|
|
|
pol_reg.predict(poly_reg.fit_transform([[5.5]]))
|
|
|
|
# output should be 132148.43750003
|