怎么使用Python线性回归方法
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要讲解了"怎么使用Python线性回归方法",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么使用Python线性回归方法"吧!来说说约定的符
千家信息网最后更新 2026年11月01日怎么使用Python线性回归方法
这篇文章主要讲解了"怎么使用Python线性回归方法",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么使用Python线性回归方法"吧!
来说说约定的符号,线性回归参数主要由斜率和截距组成,这里用W表示斜率,b表示截距。大写的W表示这是一个向量。一般来说是n_feauter_num数量,就是有多少个特征,W的shape就是(n_feauter_num,1),截距b是一个常数,通过公式Y=W*X+b计算出目标Y值,一般来说,在机器学习中约定原始值为Y,预测值为Y_hat。下面来谈谈具体实现步骤
构造数据
构造loss function(coss function)
分别对W和b计算梯度(也是对cost function分别对W和b求导)
计算Y_hat
多次迭代计算梯度,直接收敛或者迭代结束
下面给出具体python代码实现,本代码是通用代码,可以任意扩展W,代码中计算loss和梯度的地方采用的向量实现,因此增加W的维度不用修改代码
import matplotlib.pyplot as pltimport numpy as npdef f(X): w = np.array([1, 3, 2]) b = 10 return np.dot(X, w.T) + bdef cost(X, Y, w, b): m = X.shape[0] Z = np.dot(X, w) + b Y_hat = Z.reshape(m, 1) cost = np.sum(np.square(Y_hat - Y)) / (2 * m) return costdef gradient_descent(X, Y, W, b, learning_rate): m = X.shape[0] W = W - learning_rate * (1 / m) * X.T.dot((np.dot(X, W) + b - Y)) b = b - learning_rate * (1 / m) * np.sum(np.dot(X, W) + b - Y) return W, bdef main(): # sample number m = 5 # feature number n = 3 total = m * n # construct data X = np.random.rand(total).reshape(m, n) Y = f(X).reshape(m, 1)# iris = datasets.load_iris()# X, Y = iris.data, iris.target.reshape(150, 1)# X = X[Y[:, 0] < 2]# Y = Y[Y[:, 0] < 2]# m = X.shape[0]# n = X.shape[1] # define parameter W = np.ones((n, 1), dtype=float).reshape(n, 1) b = 0.0 # def forward pass++ learning_rate = 0.1 iter_num = 10000 i = 0 J = [] while i < iter_num: i = i + 1 W, b = gradient_descent(X, Y, W, b, learning_rate) j = cost(X, Y, W, b) J.append(j) print(W, b) print(j) plt.plot(J) plt.show()if __name__ == '__main__': main()
可以看到,结果输出很接近预设参数[1,3,2]和10
是不是感觉so easy.
step: 4998 loss: 3.46349593719e-07[[ 1.00286704] [ 3.00463459] [ 2.00173473]] 9.99528287088step: 4999 loss: 3.45443124835e-07[[ 1.00286329] [ 3.00462853] [ 2.00173246]] 9.99528904819step: 5000 loss: 3.44539028368e-07
感谢各位的阅读,以上就是"怎么使用Python线性回归方法"的内容了,经过本文的学习后,相信大家对怎么使用Python线性回归方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
线性
代码
方法
学习
就是
梯度
一般来说
内容
参数
向量
斜率
约定
迭代
原始
不用
公式
地方
大写
常数
思路
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技互联网龙头
互联网科技财经
科技互联网公司装修
互联网科技排名
成都互联网科技公司
广州互联网络科技有限公司
广州凡科互联网科技
广州善班互联网科技
互联网养老 桔豆科技
海南购全球互联网科技
深圳国际航运科技和互联网
佳云科技和互联网广告
互联网金融科技名词解释
江苏苏星互联网科技有限公司
互联网科技年终奖
互联网科技职业技能培训学校
恒生科技指数 中概互联网
互联网对科技影响
重庆科技产业互联网有哪些
互联网企业和网络科技有限公司
互联网加科技
互联网科技公司华为
互联网最新的科技
杭州壁岐互联网科技有限公司
2021互联网科技公司排名
小米互联网科技园入驻
互联网领先科技宣传片
求路客互联网科技电话
互联网领先科技成果宣传视频
利用互联网等科技手段