1.基本概念

  • 机器学习:发明算法将数据转化为智能行为
  • 数据挖掘 VS 机器学习:前者侧重寻找有价值的信息,后者侧重执行已知的任务。后者是前者的先期准备
  • 过程:数据——>抽象化——>一般化。或者:收集数据——推理数据——归纳数据——发现规律

    抽象化:
  • 训练:用一个特定模型来拟合数据集的过程
  • 用方程来拟合观测的数据:观测现象——数据呈现——模型建立。通过不同的格式来把信息概念化

    一般化:
  • 一般化:将抽象化的知识转换成可用于行动的形式
  • 采用启发式算法(利用相近原理和其他一些经验法则)来划分概念集合,但不能保证找到对数据建模的最优概念集,有时会导致错误结论
  • 算法偏差:算法的结论是系统性的不准确。偏差是任何机器学习任务的抽象化和一般化这两个过程相联系的不可避免的谬误,一般化的最后一步就是在存在偏差的情况下判断模型的成功性。由于数据中的噪声或无法解释的波动导致模型不能完美的一般化
  • 过拟合问题的基础:试图用模型拟合噪声(噪声无法解释,解释就会出错)
  • 过拟合:一个模型训练时表现好,测试时很差。过度拟合了训练集,即不能很好地一般化

2.选择机器学习算法

  • 机器学习步骤:

    收集数据——探索和准备数据(80%时间)——训练模型——评价模型性能——改进模型性能
  • 没有免费午餐定理:没有一种机器学习方法对所有环境都是最好的
  • 输入数据:案例example,特征feature。一般行为案例,列为特征(与基因表达数据相反)
  • 算法分类:监督学习算法(用于预测模型),非监督学习(用于描述模型)
  • 有监督学习:监督不是人为干预,而是让目标值监督,告诉学习任务。分类变量可用于分类(类可能有多个水平),数值型数据可建立回归模型预测
  • 无监督学习:没有一个明确的学习目标(属性无轻重之分),在数据挖掘中更常用。如购物商品之间联系的购物篮分析(捆绑销售)。描述性模型把数据同类型分组称之聚类。
  • 常见有监督学习算法:

    分类:K近邻,朴素贝叶斯,决策树,分类器

    数值预测:线性回归,回归树,模型树

    分类和数值预测:神经网络,支持向量机
  • 常见无监督学习算法:

    模式识别:关联规则

    聚类:K均值聚类
  • 模型的选择是带有随机性的。当预测准确性是主要考虑因素时,需要测试多个模型,然后选择一个最好的。

3.使用R进行机器学习

install.packages("RWeka")
library(RWeka)

  • R管理数据
save(x,y,z,file='mydata.RData')
load('mydata.RData')
save.image() #立刻结束当前R绘画,写入.RData文件中
  • 探索和理解数据
str(data)
summary()
mean()
median()
IQR() #四分位距,Q1与Q3之差,体现数据分散程度
quantile() #返回5数
quantile(data$price, probs=c(0.01,0.99)) #第1和第99百分位数
quantile(data$price, seq(from=0, to=1, by=0.2)) #可视化
boxplot()
hist()
  • 均值比中位值对极端值(异常值)更敏感
  • 偏度(skew):比如,右偏是右边比左边更为分散(不要理解反了)
  • 均匀分布:所有值等可能发生。并非所有随机事件都服从均匀分布
  • 衡量数据分散程度:方差var或标准差sd(方差平方根),var越大表在均值附近越分散,sd平均来看每个值和均值相差多少
var()
sd()
  • 68-95-99.7规则(经验法则):正态分布中68%的值落在均值左右1个标准差的范围内,而95%和99.7%的值各自落在均值左右2个和3个标准差的范围内。数值落在均值的3个标准差以外是极端罕见事件。

  • 分类变量探索:
table()
prop.table()
  • 变量间关系探索
plot(x,y)
# 并非所有关联都成直线

二元指示变量(哑变量):如汽车有9种颜色分为2组,一组保守色,一组非保守色,指示变量可分别设为1和0

双向交叉表/列联表:

library(gmodels)
CrossTable(x,y) #chisq = TRUE获取卡方检验结果,概率值越小,说明两个变量相关越大

CrossTable的输出示例:


机器学习与R语言系列推文汇总:

【机器学习与R语言】1-机器学习简介

【机器学习与R语言】2-K近邻(kNN)

【机器学习与R语言】3-朴素贝叶斯(NB)

【机器学习与R语言】4-决策树

【机器学习与R语言】5-规则学习

【机器学习与R语言】6-线性回归

【机器学习与R语言】7-回归树和模型树

【机器学习与R语言】8-神经网络

【机器学习与R语言】9-支持向量机

【机器学习与R语言】10-关联规则

【机器学习与R语言】11-Kmeans聚类

【机器学习与R语言】12-如何评估模型的性能?

【机器学习与R语言】13-如何提高模型的性能?

【机器学习与R语言】1-机器学习简介的更多相关文章

  1. 【机器学习与R语言】13- 如何提高模型的性能?

    目录 1.调整模型参数来提高性能 1.1 创建简单的调整模型 2.2 定制调整参数 2.使用元学习来提高性能 2.1 集成学习(元学习)概述 2.2 bagging 2.3 boosting 2.4 ...

  2. 【机器学习与R语言】12- 如何评估模型的性能?

    目录 1.评估分类方法的性能 1.1 混淆矩阵 1.2 其他评价指标 1)Kappa统计量 2)灵敏度与特异性 3)精确度与回溯精确度 4)F度量 1.3 性能权衡可视化(ROC曲线) 2.评估未来的 ...

  3. 【机器学习与R语言】11- Kmeans聚类

    目录 1.理解Kmeans聚类 1)基本概念 2)kmeans运作的基本原理 2.Kmeans聚类应用示例 1)收集数据 2)探索和准备数据 3)训练模型 4)评估性能 5)提高模型性能 1.理解Km ...

  4. 【机器学习与R语言】10- 关联规则

    目录 1.理解关联规则 1)基本认识 2)Apriori算法 2.关联规则应用示例 1)收集数据 2)探索和准备数据 3)训练模型 4)评估性能 5)提高模型性能 1.理解关联规则 1)基本认识 购物 ...

  5. 【机器学习与R语言】9- 支持向量机

    目录 1.理解支持向量机(SVM) 1)SVM特点 2)用超平面分类 3)对非线性空间使用核函数 2. 支持向量机应用示例 1)收集数据 2)探索和准备数据 3)训练数据 4)评估模型 5)提高性能 ...

  6. 【机器学习与R语言】8- 神经网络

    目录 1.理解神经网络 1)基本概念 2)激活函数 3)网络拓扑 4)训练算法 2.神经网络应用示例 1)收集数据 2)探索和准备数据 3)训练数据 4)评估模型 5)提高性能 1.理解神经网络 1) ...

  7. 【机器学习与R语言】7-回归树和模型树

    目录 1.理解回归树和模型树 2.回归树和模型树应用示例 1)收集数据 2)探索和准备数据 3)训练数据 4)评估模型 5)提高模型性能 1.理解回归树和模型树 决策树用于数值预测: 回归树:基于到达 ...

  8. 【机器学习与R语言】6-线性回归

    目录 1.理解回归 1)简单线性回归 2)普通最小二乘估计 3)相关系数 4)多元线性回归 2.线性回归应用示例 1)收集数据 2)探索和准备数据 3)训练数据 4)评估模型 5)提高模型性能 1.理 ...

  9. 【机器学习与R语言】5-规则学习算法

    目录 1.分类规则原理 1.1 1R单规则算法 1.2 RIPPER算法 2. 规则学习应用示例 1)收集数据 2)探索和准备数据 3)训练数据 4)评估性能 5)提高性能 6)选择决策树中的分类规则 ...

随机推荐

  1. [no_code][Alpha]测试报告

    项目 内容 2020春季计算机学院软件工程(罗杰 任健) 2020春季计算机学院软件工程(罗杰 任健) 作业要求 测试报告 我们在这个课程的目标是 设计出一个OCR表单处理软件 这个作业在哪个具体方面 ...

  2. UVM RAL模型和内置seq

    转载:UVM RAL模型:用法和应用_寄存器 (sohu.com) 在系统设计中通常会面临两大挑战:缩小技术节点的规模和上市时间(TTM,Time to Market).为了适应激烈的市场竞争,大多数 ...

  3. 转:Vivado IP报[Opt 31-67] 错误问题解决方法

    使用VIVADO编译代码时,其中一个IP报错,错误类似为 ImplementationOpt Design[Opt 31-67] Problem: A LUT2 cell in the design ...

  4. DeWeb发展历程! 从2015年开始

    有位朋友问: [高中]长兴(667499XX) 2021-01-15 15:52:11 deweb会长期做吗 我查了一下,发现deweb最早从2015开始,算起来已经做了5~6年了,目前已日臻成熟!

  5. 记录 mysql 使用时遇到的问题

    1,linux平台上mysqld和mysql的区别. 首先,mysql数据库是标准的c/s架构,yum安装时注意到了,有mysql和mysql-server包 mysql是客户端的工具,mysqld ...

  6. 『学了就忘』Linux基础命令 — 25、文件基本权限的管理

    目录 1.文件和目录的默认权限 2.umask默认权限 (1)查看系统的umask权限 (2)用八进制数值显示umask权限 (3)umask权限的计算方法 (4)注意:umask默认权限的计算绝不是 ...

  7. [源码解析] PyTorch 如何使用GPU

    [源码解析] PyTorch 如何使用GPU 目录 [源码解析] PyTorch 如何使用GPU 0x00 摘要 0x01 问题 0x02 移动模型到GPU 2.1 cuda 操作 2.2 Modul ...

  8. MapReduce Service更换集群外部时钟源,仅需10步

    摘要:MapReduce Service 集群使用NTP进行时钟同步.本文简要介绍了MapReduce Service集群NTP机制及NTP的配置方式. 本文分享自华为云社区<MapReduce ...

  9. 一.Promise入门准备阶段

    一.Promise入门准备阶段 1.区别实例对象呵函数对象 2.两种类型的回调函数(同步与异步) 2.1 同步回调 2.2 异步回调 3.JS的error处理 3.1 错误的类型 3.2 错误处理与错 ...

  10. OpenXml SDK学习笔记(1):Word的基本结构

    能写多少篇我就不确定了,可能就这一篇就太监了,也有可能会写不少. OpenXml SDK 相信很多人都不陌生,这个就是管Office一家的文档格式,Word, Excel, PowerPoint等都用 ...