手把手教你实现线性回归模型
来源:互联网 发布:js删除对象元素 编辑:程序博客网 时间:2024/05/18 14:13
声明:版权所有,转载请联系作者并注明出处 http://blog.csdn.net/u013719780?viewmode=contents
In [1]:
import numpy as npimport matplotlib.pyplot as plt%matplotlib inlinedef generate_data(): X = np.linspace(-3, 3, 200).reshape(200, 1) y = 2 * X + 3 + (np.random.rand(200, 1) - 0.5) return X, yX, y = generate_data()fig = plt.figure(figsize=(12, 8))ax = fig.add_subplot(1,1,1)ax.scatter(X, y, c= 'r')ax.plot(X, 2 * X + 3, c='g', linewidth=2)plt.show()
In [2]:
def learn_para(X, y, batch_size = 5, epoch_num = 5): batch_num = X.shape[0] / batch_size X = X[:batch_size * batch_num] y = y[:batch_size * batch_num] cost = 0 w = 0 b = 0 learn_rate = 0.05 for i in range(epoch_num): X_y = np.concatenate((X, y), axis=1) np.random.shuffle(X_y) X, y = X_y[:, 0].reshape(200, 1), X_y[:, 1].reshape(200, 1) for index in range(0, len(X), batch_size): batch_X = X[index: index+batch_size].reshape(batch_size, 1) batch_y = y[index: index+batch_size].reshape(batch_size, 1) #yield batch_X, batch_y predict = w * batch_X + b cost = np.power((predict - batch_y), 2).sum()/(2*batch_size) w = w - learn_rate * (-(batch_y-predict)*batch_X).mean() b = b - learn_rate * (-(batch_y-predict)).mean() return w, b
In [3]:
w, b = learn_para(X, y)predict = w * X + bfig = plt.figure(figsize=(12, 8))ax = fig.add_subplot(1,1,1)ax.scatter(X, y, c= 'r')ax.plot(X, 2 * X + 3, c='g', linewidth=2)ax.plot(X, predict, c='y', linewidth=2)plt.show()
阅读全文
0 0
- 手把手教你实现线性回归模型
- 手把手教你用Python写线性回归
- Keras上实现简单线性回归模型
- TensorFlow 实现一元线性回归模型
- 回归模型-线性回归算法
- 从零开始实现线性回归、岭回归、lasso回归、多项式回归模型
- 3 线性回归模型
- 线性回归模型
- 线性回归模型
- 线性回归模型
- 线性回归模型
- 多元线性回归模型
- 线性回归模型实例
- 回归的线性模型
- 线性回归模型
- 多元线性回归模型
- 线性回归模型
- @线性回归模型
- java语言基础(82)——操作基本数据类型的流
- LinkedList的add(Object obj)和remove(Object obj)和remove(index)和get(index)的源码分析
- ORACLE找不到符合协议堆栈要求的可用处理程序解决办法
- Android多进程总结一:生成多进程(android:process属性)
- 程序员应该访问的最佳网站中文版
- 手把手教你实现线性回归模型
- 虚函数解释说明
- 红黑树下
- HDU 4786 Fibonacci Tree(最小生成树变式)
- vc2010创建lib和使用
- 100个GDB小技巧(一)
- vue依赖webpack的环境配置(一)
- 简单对比几个技术博客类网站
- SpringBoot入门(五)数据库操作入门