import numpy as np
import matplotlib. pyplot as plt
plt. rcParams[ "font.sans-serif" ] = [ "SimHei" ]
plt. rcParams[ "axes.unicode_minus" ] = False
import pandas as pd
dataset= pd. read_csv( 'Position_Salaries.csv' )
X= dataset. iloc[ : , 1 : 2 ] . values
y= dataset. iloc[ : , 2 ] . values
from sklearn. linear_model import LinearRegression
lin_reg= LinearRegression( )
lin_reg. fit( X, y)
from sklearn. preprocessing import PolynomialFeatures
poly_reg= PolynomialFeatures( degree= 5 )
X_poly= poly_reg. fit_transform( X)
poly_reg. fit( X_poly, y)
lin_reg_2= LinearRegression( )
lin_reg_2. fit( X_poly, y)
plt. scatter( X, y, color= 'red' )
plt. plot( X, lin_reg. predict( X) , color= 'blue' )
plt. title( '线性回归' )
plt. xlabel( '级别' )
plt. ylabel( '工资' )
plt. show( )
X_grid= np. arange( min ( X) , max ( X) , 0.1 )
X_grid= X_grid. reshape( ( len ( X_grid) , 1 ) )
plt. scatter( X, y, color= 'red' )
plt. plot( X_grid, lin_reg_2. predict( poly_reg. fit_transform( X_grid) ) , color= 'blue' )
plt. title( '多项式回归,参数4' )
plt. xlabel( '级别' )
plt. ylabel( '工资' )
plt. show( )
print ( lin_reg. predict( np. array( [ [ 6.5 ] ] ) ) )
print ( lin_reg_2. predict( np. array( [ [ 6.5 ] ] ) ) )