[置顶] 【算法 机器学习】MATLAB、R、python三种编程语言实现简单线性回归算法比较
2017-06-13 09:41
1176 查看
data:2015-10-04
author:laidefa
今天看到机器学习中的回归,一个简单的线性回归原理想想无非就是利用最小二乘法进行拟合。想着自己去实现下算法,体验以下不同的编程语言实现算法有什么难易程度,亲自编完实现之后,心中方有感觉,得知结果python最佳。下面还是贴上代码把,仅供欣赏。
1、matlab实现最小二乘法算法
2、python实现最小二乘算法
3、R语言实现最小二乘算法
author:laidefa
今天看到机器学习中的回归,一个简单的线性回归原理想想无非就是利用最小二乘法进行拟合。想着自己去实现下算法,体验以下不同的编程语言实现算法有什么难易程度,亲自编完实现之后,心中方有感觉,得知结果python最佳。下面还是贴上代码把,仅供欣赏。
1、matlab实现最小二乘法算法
%data:2015-10-04 %author:laidefa %function:简单线性回归算法MATLAB实现 function [b1,b0]=LinRe(x,y) a=length(x); sum1=0;sum2=0; k1=mean(x); k2=mean(y); for i=1:a sum1=sum1+(x(i)-k1)*(y(i)-k2); sum2=sum2+(x(i)-k1).^2; end b1=sum1/sum2; b0=k2-b1*k1; end function y=predict_LinRe(x,b1,b0); y=b1*x+b0; end
clc,clear %数据 x=[1,3,2,1,3]; y=[14,24,18,17,27]; [b1,b0]=LinRe(x,y) %当x=6时做预测 y1=predict_LinRe(6,b1,b0)
结果: b1 = 5 b0 = 10 y1 = 40 >>
2、python实现最小二乘算法
import numpy as np def LinRe(x,y): a=len(x) sum1=0; sum2=0; k1=np.mean(x) k2=np.mean(y) for i in range(0,a): sum1+=(x[i]-k1)*(y[i]-k2) sum2+=(x[i]-k1)**2 b1=sum1/sum2 b0=k2-b1*k1 return b1,b0 def predict(x,b1,b0): return b1*x+b0 x=[1,3,2,1,3] y=[14,24,18,17,27] b1,b0=LinRe(x,y) print "b1:",b1,"b0:",b0 x_test=6 y_test=predict(x_test,b1,b0) print"y_test:",y_test
结果: >>> b1: 5.0 b0: 10.0 y_test: 40.0 >>>
3、R语言实现最小二乘算法
LinRe <- function(x,y){ a=length(x) sum1=0 sum2=0 k1=mean(x) k2=mean(y) for (i in 1:a) { sum1=sum1+(x[i]-k1)*(y[i]-k2) sum2=sum2+(x[i]-k1)^2 } b1=sum1/sum2 b0=k2-b1*k1 return (c(b1,b0)) } pre <- function(x,b1,b0){ return(b1*x+b0) } x <- c(1,3,2,1,3) y <- c(14,24,18,17,27) m <- LinRe(x,y) b1 <- m[1] b0 <- m[2] x_test <- 6 y_test <- pre(x_test,b1,b0) m;y_test
[1] 5 10 [1] 40
相关文章推荐
- 机器学习-线性回归python简单实现
- [置顶] 【matlab 圆周率计算】matlab 求圆周率的两种算法实现比较
- 简单线性回归的Python实现
- python实现简单线性回归
- 机器学习经典算法详解及Python实现--CART分类决策树、回归树和模型树
- 斯坦福机器学习3:线性回归、梯度下降和正规方程组的matlab实现
- 用python实现简单线性回归
- 机器学习之线性回归 Linear Regression(二)Python实现
- 斯坦福《机器学习》课程算法matlab实现之梯度下降算法——直线回归(一)
- 机器学习经典算法详解及Python实现--CART分类决策树、回归树和模型树
- 机器学习理论篇之线性回归(python实现)
- 【Stanford|斯坦福-机器学习:线性回归-单特征梯度下降+动态图】python3实现
- 机器学习之线性回归python实现
- 机器学习:线性回归与Python代码实现
- 机器学习入门学习笔记:(2.2)线性回归python程序实现
- python实现机器学习之多元线性回归
- 小白学习机器学习---第三章:简单线性模型Python实现
- 机器学习-简单的K最近邻算法及python实现
- Python实现机器学习--实现多元线性回归
- [置顶] 《统计学习方法》 决策树 CART生成算法 回归树 Python实现