监督学习(supervised learning):从输入数据中预测合适的模型,并从中计算出目标变量的结果。
两种类型的目标变量:标称型(分类)和数值型(回归)。
k-近邻算法、决策树、朴素贝叶斯、Logistic回归、支持向量机、AdaBoost
非均衡分类问题:训练样本某个分类的数据多于其他分类的数据
第一章 机器学习基础
机器学习:利用计算机来彰显数据背后的真实含义
人脸识别、手写数字识别、垃圾邮件过滤、亚马逊产品推荐
1.1 何谓机器学习
机器学习:把无序的数据转换成有用的信息,对于任何需要解释并操作数据的领域都有所脾益
特征(属性)、具有相关特征的实例
机器学习的主要任务就是分类
算法训练(学习如何分类),为算法输入大量已分类数据作为算法的训练集。
训练数据和测试数据,算法的实际精准度
知识表示:规则集的形式、概率分布的形式
1.3 机器学习的主要任务
- 监督学习:分类、回归,算法必须知道预测什么
- 无监督学习:聚类、密度估计、减少数据特征的维度
1.4 如何选择合适的算法
- 使用机器学习算法的目的,想要算法完成何种任务
- 需要分析或收集的数据是什么
- 不同算法的执行效果,发现最好算法的关键环节是反复试错的迭代过程
1.5 开发机器学习应用程序的步骤
- 收集数据:网络爬虫、API、公开可用的数据源
- 准备输入数据:Python List
- 分析输入数据:人工分析,确保数据集中没有垃圾数据
- 训练算法:抽取知识或信息
- 测试算法:跟数据的收集和准备有关
- 使用算法:转换为应用程序
1.6 Python语言的优势
- Python的语法清晰
- 易于操作纯文本文件
- 使用广泛,存在大量的开发文档
1.6.1 可执行伪代码
高级数据类型:列表、元组、字典、集合、队列
面向对象编程、面向过程编程、函数式编程
1.6.2 Python比较流行
科学函数库:SciPy和NumPy
绘图工具:Matplotlib
交互式shell环境
Pylab模块
1.6.3 Python语言的特色
花费更多的时间处理数据的内在含义
1.6.4 Python语言的缺点
性能问题
先构造可运行的Python程序,然后再逐步使用C代码替换核心代码以改进程序的性能
1.7 NumPy函数库基础
线性代数:为了简化不同的数据点上执行的相同数学运算,将数据表示为矩阵形式,只需要执行简单的矩阵运算而不需要复杂的循环操作
数据类型:矩阵matrix和数组array
randMat = mat(random.rand(4,4))
randMat.I
eye(4)
1.8 本章小结
数据驱动产业