Assignment 5
Assignment 5
import pandas as pd
data = pd.read_csv('Position_Salaries.csv')
y = np.nan_to_num(y, nan=np.nanmean(y))
# Linear Regression using scikit-learn
lin_reg = LinearRegression()
lin_reg.fit(X, y)
linear_predictions = lin_reg.predict(X)
poly_features_2 = PolynomialFeatures(degree=2)
X_poly_2 = poly_features_2.fit_transform(X)
poly_reg_2 = LinearRegression()
poly_reg_2.fit(X_poly_2, y)
poly_predictions_2 = poly_reg_2.predict(X_poly_2)
poly_features_4 = PolynomialFeatures(degree=4)
X_poly_4 = poly_features_4.fit_transform(X)
poly_reg_4 = LinearRegression()
poly_reg_4.fit(X_poly_4, y)
poly_predictions_4 = poly_reg_4.predict(X_poly_4)
plt.scatter(X, y, color='red')
plt.xlabel('Position level')
plt.ylabel('Salary')
plt.show()
X_grid_poly_2 = poly_features_2.transform(X_grid)
plt.scatter(X, y, color='red')
plt.xlabel('Position level')
plt.ylabel('Salary')
plt.show()
X_grid_poly_4 = poly_features_4.transform(X_grid)
plt.scatter(X, y, color='red')
plt.xlabel('Position level')
plt.ylabel('Salary')
plt.show()
Output:
Linear Regression - MSE: 26695878787.88, MAE: 128454.55