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. mybatis自定义分页拦截器

    最近看了一下项目中代码,发现系统中使用的mybatis分页使用的是mybatis自带的分页,即使用RowBounds来进行分页,而这种分页是基于内存分页,即一次查出所有的数据,然后再返回分页需要的数据 ...

  2. IRCUT作用

    IRCUT组成原理 IRCUT由两层滤光片组成,一片红外截止或吸收滤光片和一片全透光谱滤光片 白天是红外截止滤光片工作,晚上是全透滤光片工作,白天摄像头可以接收到人眼无法识别的红外线,会导致图像与肉眼 ...

  3. 【做题记录】CF1428E Carrots for Rabbits—堆的妙用

    CF1428E Carrots for Rabbits 题意: 有 \(n\) 个萝卜,每个萝卜的初始大小为 \(a_i\) .现在要把这些萝卜切为为 \(k\) 个.吃每一个萝卜的时间为这个萝卜的大 ...

  4. P4430 小猴打架

    P4430 小猴打架 题目意思就是让你求,在网格图中(任意两点都有边)的生成树的个数(边的顺序不同也算不同的方案). 首先我们考虑一个生成树,由于一定有n-1条边,单单考虑添加边的顺序,根据乘法原理, ...

  5. hdu 2154 跳舞毯(简单DP)

    题意: 有一个圆圆的毯,被平均分成三个扇形.分为标记为A,B,C. 小余从A开始跳,每次可跳到相邻的扇形上.(A->B 或 A->C) 问小余跳n次,最后回到扇形A的方案数是多少. 思路: ...

  6. Kubernetes Deployment 源码分析(一)

    概述Deployment 基础创建 DeploymentReplicaSet滚动更新失败回滚历史版本回滚其他特性小结 概述 Deployment 是最常用的 Kubernetes 原生 Workloa ...

  7. (二)lamp环境搭建之编译安装mysql

    mysql 编译安装1,在网站上下载: wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz 2,安装cmake ...

  8. 负载均衡算法WRR介绍

    一.负载均衡 负载均衡是一个很大的概念,既有从硬件层面来解决问题的,又有从软件层面解决的,有关负载均衡的介绍,推荐阅读: http://os.51cto.com/art/201108/285359.h ...

  9. 升级JDK8的坎坷之路

    为更好的适应JAVA技术的发展,使用更先进及前沿的技术.所以推出将我们现在使用的JDK1.6(1.7)及tomcat6(7)升级至JDK1.8及tomcat8,使我们的系统获得更好的性能,更好适应未来 ...

  10. kafaka高效吞吐量-生产端,服务端,消费端

    零拷贝:sendfile 生产端 生产端:消息压缩,缓存批量发送,异步解耦 多线程并发:防止某一个业务阻塞等待 接收消息缓存 BufferPool设计:不释放 服务端 Reactor模型,顺序写,页缓 ...