拟合


x = np.arange(1, 17, 1)
y = np.array([4.00, 6.40, 8.00, 8.80, 9.22, 9.50, 9.70, 9.86, 10.00, 10.20, 10.32, 10.42, 10.50, 10.55, 10.58, 10.60])

df=pd.DataFrame(
{
'x':x,
'y':y
}
)



#线性回归
from sklearn import linear_model
x1 = df[['charge']]     #dateframe,(16, 1)
y1 = df[['amt']]
lm = linear_model.LinearRegression()
lm.fit(x1, y1)
z1=lm.predict(2)
print(z1)

    [[7.27533824]]
<class 'numpy.ndarray'>

取值:z1[[0]]


#二次曲线
x1=np.array(df['charge'])#array,(16,)
y1=np.array(df['amt'])
z1 = np.polyfit(x1,y1, 2)#用2次多项式拟合
p1 = np.poly1d(z1)
print(p1(2))

6.341551470588236
<class 'int'>

#神经网络

x1 = np.array(df['charge'])
y1 = np.array(df['alipay_inshop_amt'])
x1=x1.reshape(len(x1),1)
clf = MLPRegressor(solver='lbfgs', alpha=1e-5, hidden_layer_sizes=(5, 2), random_state=1)
clf.fit(x1, y1)
z1 = clf.predict(2)#<class 'numpy.ndarray'>
 [7.27533824]
<class 'numpy.ndarray'>

取值:z1[0]


posted on 2018-09-28 10:50  happygril3  阅读(121)  评论(0)    收藏  举报

导航