ML10:多项式回归

from __future__ import unicode_literals
import pickle
import numpy as np 
import sklearn.linear_model as lm 
import sklearn.metrics as sm 
import matplotlib.pyplot as mp 
import sklearn.pipeline as pl 
import sklearn.preprocessing as sp 
#读取训练集
train_x,train_y = [],[]
with open('/Users/youkechaung/Desktop/算法/数据分析/AI/day02/day02/data/single.txt','r') as f:
    for line in f.readlines():
        data = [float(substr)
        for substr in line.split(',')]
        train_x.append(data[:-1])
        train_y.append(data[-1])
train_x = np.array(train_x)
train_y = np.array(train_y)

model = pl.make_pipeline(sp.PolynomialFeatures(9),lm.LinearRegression())
model.fit(train_x,train_y)
pred_train_y = model.predict(train_x)
print(sm.r2_score(train_y,pred_train_y))
test_x = np.linspace(train_x.min(),train_x.max(),1000)[:,np.newaxis]
pred_test_y = model.predict(test_x)
mp.figure(num='LinearRegression',facecolor = 'lightgray')
mp.title('LinearRegression',fontsize=20)
mp.xlabel('x',fontsize=14)
mp.ylabel('y',fontsize=14)
mp.tick_params(labelsize=10)
mp.scatter(train_x,train_y,c='dodgerblue',s=60,label='Traing')
mp.plot(test_x,pred_test_y,c='orangered',label='Testing')
mp.legend()
mp.show()

猜你喜欢

转载自blog.csdn.net/weixin_38246633/article/details/80589799