基于Numpy+Python2.7的线性回归
来源:互联网 发布:exo同款内裤淘宝 编辑:程序博客网 时间:2024/06/08 20:15
#The optimal values of m and b can be actually calculated with way less effort than doing a linear regression. #this is just to demonstrate gradient descentfrom numpy import *# y = mx + b# m is slope, b is y-interceptdef compute_error_for_line_given_points(b, m, points): totalError = 0 for i in range(0, len(points)): x = points[i, 0] y = points[i, 1] totalError += (y - (m * x + b)) ** 2 return totalError / float(len(points))def step_gradient(b_current, m_current, points, learningRate): b_gradient = 0 m_gradient = 0 N = float(len(points)) for i in range(0, len(points)): x = points[i, 0] y = points[i, 1] b_gradient += -(2/N) * (y - ((m_current * x) + b_current)) m_gradient += -(2/N) * x * (y - ((m_current * x) + b_current)) new_b = b_current - (learningRate * b_gradient) new_m = m_current - (learningRate * m_gradient) return [new_b, new_m]def gradient_descent_runner(points, starting_b, starting_m, learning_rate, num_iterations): b = starting_b m = starting_m for i in range(num_iterations): b, m = step_gradient(b, m, array(points), learning_rate) return [b, m]def run(): points = genfromtxt("G:\\Workspaces\\py\\linear_regression_live-master\\data.csv", delimiter=",") learning_rate = 0.0001 initial_b = 0 # initial y-intercept guess initial_m = 0 # initial slope guess num_iterations = 1000 print "Starting gradient descent at b = {0}, m = {1}, error = {2}".format(initial_b, initial_m, compute_error_for_line_given_points(initial_b, initial_m, points)) print "Running..." [b, m] = gradient_descent_runner(points, initial_b, initial_m, learning_rate, num_iterations) print "After {0} iterations b = {1}, m = {2}, error = {3}".format(num_iterations, b, m, compute_error_for_line_given_points(b, m, points))if __name__ == '__main__': run()此代码来自Udacity Siraj的直播课程,代码与数据集下载地址:https://github.com/llSourcell/linear_regression_live
查看原文:http://data.1kapp.com/?p=331
阅读全文
0 0
- 基于Numpy+Python2.7的线性回归
- 使用python、numpy线性回归
- 基于最小二乘法的线性回归分析
- 基于Python的线性回归实战
- 基于tensorflow的线性回归模型
- python2.7 numpy scipy
- 基于线性回归预测房价
- win64 python2.7 numpy 安装
- win64 python2.7 numpy 安装
- centos python2.7安装numpy
- 基于梯度下降法的线性回归模型
- 基于python与mysql的局部加权线性回归应用
- 【实践】基于TensorFlow的线性回归算法实现
- 基于matlab的梯度下降法实现线性回归
- 基于Tensorflow实现基本的线性回归(Linear regression)
- Windows7-64位python2.7、NumPy以及matplotlib的安装
- win7为并存的python2.7安装numpy、matplotlib
- ubuntu14 python2.7上安装scipy,numpy,matplotlib的方法
- 中国剩余定理算法详解(余数互质和不互质)
- log4c日志库在Linux中的使用
- 【牛客网】秋招前最后一次模拟
- 动态链接库(dll)文件解析
- 我的学习之路_第三十二章_HttpServletRequest
- 基于Numpy+Python2.7的线性回归
- yum是什么
- mybatis中的大于/小于转义
- CF832D:Misha, Grisha and Underground(LCA)
- js存在意义
- css几种常用的垂直居中定位
- 行内元素和块级元素的区别
- python面向对象的编程思想0725
- JQuery