machine learning : 最小二乘法之线性函数 --- python实现
最小二乘法 之 线性函数模型
原理可见https://zh.wikipedia.org/wiki/%E6%9C%80%E5%B0%8F%E4%BA%8C%E4%B9%98%E6%B3%95
链接需要科学上网(2015.10),
实现阶段有多种方法,本文采用维基百科最后介绍的广义逆矩阵的方法计算。
即输入矩阵的广义逆矩阵{点乘}输出矩阵 ,运算结果既为求解的 参数矩阵。
需要用到的函数为 pinv ,matlab中pinv(X) , python中numpy库中有此函数,即 : np.linalg.pinv
code:
#Global Vars
global params#train function
def train(train_x , train_y):global paramspinv = np.linalg.pinv(train_x) # cacul the pseudo-inverse matrixparams = np.dot( pinv , train_y ) # figure out the paramsprint('The params:')print(params)
np.linalg.pinv求得train_x的广义逆矩阵 pinv , pinv 点乘 train_y 即得参数矩阵 params
以上即为训练过程。
随后可以进行回归: 即将测试数据的x矩阵点乘参数矩阵 ,可得模型得到的输出。
code
#test function
def test(test_x , test_y , result_path):global paramsrs = open(result_path , 'w')regressValue = np.dot(test_x,params)print('The regress value of test data:')print(regressValue)print('-------------------------------------------------------')print('The errors:')err = regressValue - test_yprint(err)print('The RMSE(root mean squared error) is:')MRSE = math.sqrt(np.sum(np.square(err)) / regressValue.size)print(MRSE)print('-------------------------------------------------------')
回归完成以后,可以通过MRSE(root mean squared error)观察回归效果。
源代码传送门(python):http://download.csdn.net/detail/zzukun/9210049
machine learning : 最小二乘法之线性函数 --- python实现相关推荐
- 机器学习(MACHINE LEARNING)MATLAB和Python混合编程
文章目录 1 配置方法 2 使用方法 2.1 脚本 2.2 函数 1 配置方法 找到Matlab安装根目录,比如D:\matlab,然后进入D:\matlab\extern\engines\pytho ...
- Python手册(Machine Learning)--statsmodels(Regression)
本站已停止更新,查看最新内容请移至本人博客 Wilen's Blog Regression Linear Regression(线性回归) Generalized Linear(广义线性回归) Gen ...
- Python Tools for Machine Learning
2019独角兽企业重金招聘Python工程师标准>>> 原文:https://www.cbinsights.com/blog/python-tools-machine-learnin ...
- A Complete Machine Learning Walk-Through in Python
A Complete Machine Learning Project Walk-Through in Python: Part One A Complete Machine Learning Pro ...
- Python手册(Machine Learning)--statsmodels(列联表和多重插补)
列联表和多重插补 Contingency tables(列联表) Independence(独立性) Symmetry and homogeneity(对称性和同质性) A single 2x2 ta ...
- Auto Machine Learning笔记 - Bayesian Optimization
原文链接:Auto Machine Learning笔记 - Bayesian Optimization 优化器是机器学习中很重要的一个环节.当确定损失函数时,你需要一个优化器使损失函数的参数能够快速 ...
- 【Sketchnotes】Machine Learning for Beginners 初学者机器学习
本文的Sketchnotes来自微软的一位web和前端工程师小姐姐@girlie_mac,很喜欢这种风格的Sketchnotes,在这里进行汇总. 文章目录 History of machine le ...
- Machine Learning with Python Cookbook 学习笔记 第9章
Chapter 9. Dimensionality Reduction Using Feature Extraction 前言 本笔记是针对人工智能典型算法的课程中Machine Learning w ...
- [Python Machine Learning] 学习笔记之scikit-learn机器学习库
1. scikit-learn介绍 scikit-learn是Python的一个开源机器学习模块,它建立在NumPy,SciPy和matplotlib模块之上.值得一提的是,scikit-learn最 ...
最新文章
- 2020 Java 面试高薪攻略.pdf
- python余弦相似度
- 跳跃游戏Python解法
- jzoj100042-保留道路【最小生成树,图论】
- linux生成文件清单,Linux 获取文件名称生成列表 txt - create_filelist
- Linux下memcache的安装和启动(很好)
- 编程语言性能实测,Go 比 Python 更胜一筹?
- 青岛高新职业学校计算机专业,“把灯光调亮 让我最后再好好看看你们” 青岛高新职业学校举行2021届毕业典礼...
- echarts 南丁格尔玫瑰图属性设置
- php FPDF类库应用实现代码
- 订单需求BOM合并 自动计算
- unity小地图制作和方向导航
- MAC下 生成安卓签名证书.keystore文件【详细】
- 实验:使用SSMS创建并管理数据库及其基本表(代码版)
- 11-Vue前端项目开发基本准备
- python换零钱_Python之100个项目:零钱转换程序
- 无线互联网时代的中国移动(转)
- TIPTOP之分割split函数方法、getIndexOf、subString、replace、临时表创建;
- 计算机无法播放视频,电脑播放器无法播放视频怎么处理
- 注册中文域名好不好?有什么优势?
热门文章
- javascript框架库_2019年使用的最佳JavaScript框架,库和工具
- vue axios在开发中遇到的问题
- golang 实战企业网盘
- 微电子以后什么方向前途好?FPGA吗?
- AngularJs with Webpackv1 升級到 Webpack4
- Arduino - 28BYJ-48步进电机+ULN2003驱动模块
- 解决方案:java.lang.IllegalArgumentException: 为此cookie指定的域[localhost:xxxx]无效
- 谱半径一定大于0_[转载]关于谱半径(spectrum radius)
- 细胞系鉴定和表征测试-市场现状及未来发展趋势
- 微信服务号开发----创建个性化菜单