其他分享
首页 > 其他分享> > 使用机器学习对曲线进行线性回归

使用机器学习对曲线进行线性回归

作者:互联网

简介

线性回归:根据数据,确定两种或两种以上变量间相互依赖的定量关系

评价曲线的拟合效果使用均方误差和R方值进行拟合质量评估

\[M S E=\frac{1}{m} \sum_{i=1}^{m}\left(y_{i}^{\prime}-y_{i}\right)^{2} \]

R方值 \(\left(R^{2}\right)\) :

\[R^{2}=1-\frac{\sum_{i=1}^{m}\left(y_{i}^{\prime}-y_{i}\right)^{2}}{\sum_{i=1}^{m}\left(y_{i}-\overline{y_{i}}\right)^{2}}=1-\frac{M S E}{\text { 方差 }} \]

MSE越接近0越好R方值越接近1越好。

对于离散数据点。

x y
1 7
2 9
3 11
4 13
5 15

进行机器学习线性回归操作

code

import pandas as pd
data = pd.read_csv('generated_data.csv')
data.head()
x = data.loc[:,'x']
y = data.loc[:,'y']
print(x,y)
from matplotlib import pyplot as plt
plt.figure(figsize=(10,10))
plt.scatter(x,y)
plt.show()
from sklearn.linear_model import LinearRegression
lr_model = LinearRegression()
import numpy as np
x = np.array(x)
x = x.reshape(-1,1)
y = np.array(y)
y = y.reshape(-1,1)
print(x,y)
lr_model.fit(x,y)
y_predict = lr_model.predict(x)
print(y_predict)
y_3 = lr_model.predict([[3.5]])
print(y_3)
from sklearn.metrics import mean_squared_error,r2_score
MSE = mean_squared_error(y,y_predict)
R2 = r2_score(y,y_predict)
print(MSE,R2)
plt.figure()
plt.scatter(y,y_predict)
plt.show()

image

标签:plt,机器,predict,曲线,print,线性,import,model,data
来源: https://www.cnblogs.com/eat-too-much/p/16167023.html