机器学习实战(简单的线性回归)

线性回归模型

线性回归模型的基础公式

\widehat{} y = \theta0+\theta1x1+\theta2x2+\cdot \cdot \cdot+\theta nxn

\widehat{}y\widehat{} y是预测值

n是特征数量

xi是第i个特征值

\theta j是第j个模型参数

这可以用更简洁的向量公式表示,博主有点懒不想打了

 

我们在训练线性回归模型的时候,需要找到最小化均方误差(MSE)的参数

找到使成本函数最小的模型参数值就可以啦

有一个标准公式可以求出最小模型参数值,博主不想打了建议百度哈哈哈

以下就是简单实现线性回归的代码

 

import matplotlib.pyplot as plt
import numpy as np
X = 2*np.random.rand(100,1)#生成100行一列的随机数样本值
y = 4+3*X+np.random.rand(100,1)#生成结果值
X_b = np.c_[np.ones((100,1)),X]
theta_best = np.linalg.inv(X_b.T.dot(X_b)).dot(X_b.T).dot(y)#利用标准方程的公式
X_new = np.array([[0],[2]])
X_new_b = np.c_[np.ones((2,1)),X_new]
y_predict = X_new_b.dot(theta_best)
plt.plot(X_new,y_predict,"r-")
plt.plot(X,y,"b.")
plt.axis([0,2,0,15])
plt.show()

#Sklearn-Learn 的等效代码
from sklearn.linear_model import LinearRegression
lin_reg = LinearRegression()
lin_reg.fit(X,y)
print(lin_reg.predict(X_new))

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值