1. 机器学习与深度学习的关联与差异
-
关联
- 机器学习与深度学习都属于人工智能领域
- 深度学习是一种特殊的机器学习
-
差异
-
特征工程
- 机器学习很依赖于特征工程处理,最终模型的准确度高低很大程度是由特征工程处理决定的
- 深度学习不需要人为对数据进行特征处理,通过特定规则直接从数据中获取
-
模型训练
- 机器学习训练的时间很短,深度学习需要耗费大量时间在训练上,但是测试时间两者却是相反的
-
数据对两者准确度的影响
-
-
可解释性
- 机器学习是有明确的规则,如机器学习算法背后数学理论是有据可循的。
2. 机器学习的应用领域
每一个应用领域都必须了解其理论知识及商业模式及规则
- 金融领域:检测信用卡欺诈、证券市场分析等。
- 互联网领域:自然语言处理、语音识别、语言翻译、搜索引擎、广告推广、邮件的反垃圾过滤系统等。
- 医学领域:医学诊断等。
- 自动化及机器人领域:无人驾驶、图像处理、信号处理等。
- 生物领域:人体基因序列分析、蛋白质结构预测、DNA序列测序等。
- 游戏领域:游戏战略规划等。
- 新闻领域:新闻推荐系统等。
- 刑侦领域:潜在犯罪预测等。
3. 数据类型
- 离散型(计数数据)
- 连续型
4. 机器学习算法分类
- 监督学习 Supervised learning(有特征值和目标值)
- 分类(目标值数据类型:离散型)
- k-邻近算法、贝叶斯分类、决策树与随机森林、逻辑回归、神经网络
- 回归(目标值数据类型:连续型)
- 线性回归
- 岭回归
- 标注
- 隐马尔科夫模型
- 无监督学习 Unsupervised learning(只有特征值)
- 聚类
- k-means
5. 机器学习开发流程
-
明确问题-根据数据类型建立模型的类别(分类? 回归? 聚类?)
-
pandas数据的基本处理
-
特征工程(进行特征处理,特征选择|数据抽取|数据预处理|数据降维)
-
找到合适的算法
-
模型的评估,判定效果,合格就可使用,否则就换算法、调参数、特征工程
-
使用
6. sklean模块
各种API参考
https://blog.youkuaiyun.com/lazyone10/article/details/100883038
https://blog.youkuaiyun.com/fuqiuai/article/details/79495865
7. sklearn数据集
- 数据集划分
- 训练集(70%|80%|75%):用于训练、构建模型
- 测试集(30%|20%|25%):用于评估模型是否有效
- 数据集划分API: sklearn.model_selection.train_test_split
- sklearn数据集API
- sklearn.datasets
- datasets.load_*(): 获取规模小的数据
- datasets.fetch_*(data_home=None): 获取大规模数据,需要从网络上下载
- 两者返回的数据类型都是字典格式,keys有
- data: 特征数据数组-特征值
- target:标签数组-目标值
- DESCR:数据描述
- feature_names(部分没有):特征名
- target_names:标签名
- sklearn.datasets
8. 转换器与预估器
-
转换器
- fit_transform(): 输入数据并直接转换
- fit(): 只输入数据
- transform(): 进行数据的转换
-
预估器estimator
- predict() : 对测试集进行预测
- score():预测准确率