机器学习之八大算法②and①——多变量线性回归(单变量线性回归)
分析
线性回归分为单变量线性回归、多变量线性回归
区别 多变量比单变量多个特征缩放
代码及注释
import numpy as np
import matplotlib.pyplot as plt# 中文、负号
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False# 读取数据
data = np.loadtxt(r'ex1data2.txt',delimiter=',')# 洗牌
np.random.seed(5)
np.random.permutation(data)# 提取数据
x,y = data[:,:-1],data[:,-1]# 数据预处理
def preProcess(x,y):#特征缩放x -= np.mean(x,0)x /= np.std(x,0,ddof=1)# 数据初始化x = np.c_[np.ones(len(x)),x]y = np.c_[y]return x,y
x,y = preProcess(x,y)# 切分
train_x,test_x = np.split(x,[int(0.7*len(x))])
train_y,test_y = np.split(y,[int(0.7*len(x))])# 模型
def model(x,theta):h = np.dot(x,theta)return h# 代价函数
def costFunc(h,y):e = h - yj = (1/(2*len(y)))*np.dot(e.T,e)return j# 梯度下降函数
def gradDesc(x,y,alpha=0.01,max_iter = 10000):m,n = x.shape# 初始化theta = np.zeros((n,1))j_history = np.zeros(max_iter)for i in range(max_iter):h = model(x,theta)j_history[i] = costFunc(h,y)deltatheta = (1/m)*np.dot(x.T,h-y)theta -= deltatheta*alphareturn j_history,theta
j_history,theta = gradDesc(train_x,train_y)
print(theta)plt.title('代价函数图像')
plt.plot(j_history)
plt.show()# 测试值
train_h = model(train_x,theta)
test_h = model(test_x,theta)# 精度
def score(h,y):u = np.sum(np.square(h-y))v = np.sum(np.square(y-np.mean(y)))return 1-u/vprint('训练集精度:',score(train_h,train_y))
print('测试集精度:',score(test_h,test_y))plt.title('真实值与测试值对比图')
plt.scatter(train_y,train_y,label='真实值')
plt.scatter(train_y,train_h,label='测试值')
plt.legend()
plt.show()
效果展示
机器学习之八大算法②and①——多变量线性回归(单变量线性回归)相关推荐
- 机器学习入门系列一(关键词:单变量线性回归,梯度下降法)
机器学习入门系列一(关键词:单变量线性回归,梯度下降法) 如上图所示,我们的目标是希望通过这些数据得到城市人口数和利润可能的对应关系,并可以通过城市人口数(利润)来预测它的利润(城市人口数),在这里我 ...
- 斯坦福大学吴恩达机器学习教程中文笔记——week1——引言,单变量线性回归,线性代数回顾
第1周 文章目录 第1周 @[toc] 引言(Introduction) 1.1 欢迎 1.2 机器学习是什么? 1.3 监督学习 1.4 无监督学习 二.单变量线性回归(Linear Regress ...
- 机器学习入门(吴恩达)——单变量线性回归
2.1模型表示 从线性回归算法开始学起,从一个预测住房价格的例子开始,需要一个数据集(包含住房价格),根据不同房子尺寸的大小所出售的价格,画出数据集如下图 要想知道多大的房子可以出售什么价格,就需要构 ...
- 吴恩达机器学习ex1-matlab版学习总结笔记-(1)单变量线性回归
作业任务项一:5*5矩阵A 代码如下: A=eye(5); eye()是单位矩阵,除了对角线为1,其余项都为0.5为矩阵维度,即生成5*5矩阵. 作业任务项二:单变量线性回归预测 代码如下: data ...
- 吴恩达机器学习系列理论加实践(二 、单变量线性回归及matlab实践)
二.单变量线性回归 2.1模型表示 同样以之前的房屋价格预测实例开始: 通过学习算法利用训练集训练模型h,对于新输入的数据size of house就可以输出其预测值price: 如何表达这个模型h: ...
- 【吴恩达机器学习】学习笔记——2.1单变量线性回归算法
1 回顾 1.1 监督学习 定义:给定正确答案的机器学习算法 分类: (1)回归算法:预测连续值的输出,如房价的预测 (2)分类算法:离散值的输出,如判断患病是否为某种癌症 1.2 非监督学习 定义: ...
- 吴恩达机器学习1——单变量线性回归、梯度下降
目录 吴恩达机器学习第一周 一.什么是机器学习? 二.机器学习的分类 1. 监督学习 2. 非监督学习 3. 监督学习和非监督学习的举例 三.单变量线性回归(**Linear Regression w ...
- 机器学习之单变量线性回归(Linear Regression with One Variable)
机器学习之单变量线性回归(Linear Regression with One Variable) 1. 模型表达(Model Representation) 我们的第一个学习算法是线性回归算法,让我 ...
- Coursera公开课笔记: 斯坦福大学机器学习第二课“单变量线性回归(Linear regression with one variable)”
Coursera公开课笔记: 斯坦福大学机器学习第二课"单变量线性回归(Linear regression with one variable)" 发表于 2012年05月6号 由 ...
最新文章
- python写出的程序如何给别人使用-利用这10个工具,你可以写出更好的Python代码...
- php 字节序,Linux_Linux中网络字节序和主机字节序,主机字节序就是我们平常说的 - phpStudy...
- php友价商城手游,2019年T5友价商城网站程序-伪静态规则
- doc 命令查看帮助
- c#图片处理之:在图片上打上文字
- oracle数据库管理和日常维护,oracle数据库管理与维护
- GB/T 28448-2019 《信息安全技术 网络安全等级保护测评要求》之安全通信网络测评解读
- 凯利公式计算器安卓_华为MatePad Pro 5G评测:一屏双任务,打破安卓平板生态限制...
- react + antd table +hooks 如何实现表格序号自增 翻页后序号不从1开始算起
- Word无法插入页码怎么办?Word页码选项变灰,无法使用解决方法
- 教师公开课卡通动态通用PPT模板
- 假如有人把支付宝存储服务器炸了,我们的钱还在吗?
- CSS-边框和边距详解
- 键盘按键与键码的对照表的对照表
- 【HTML】HTML特殊符号全集
- uniapp苹果无法上架_uni-app 打包ios上架app store流程
- 学习--unix信号
- mitm 和嗅探攻击_中间人攻击(MITM)第2部分-数据包嗅探器
- 现代c++中实现精确延时方法总结
- SC系列 (SC-32S) 低频率小型SMD石英晶振 SC-32S 32.768KHZ 12.5PF/20PPM