¶
统计信息:字数 4870 阅读10分钟
机器学习入门¶
00-课程介绍¶
集成后文档比较大,加载图片可能服务器返回 503 错误,所以可以点击链接访问原始网页:
https://cloud.seatable.cn/dtable/external-links/621babd7e22b4ceb88ec/
课程介绍¶
黑马出品的三天入门课程,不介绍具体算法实现,简单介绍相关的库怎么使用。
视频链接¶
https://www.bilibili.com/video/BV1nt411r7tj
个人目标:了解机器学习基本原理,了解常用库和技术,可以根据案例做一个小 demo。
机器学习:属于人工智能的一个技术实现分支,深入研究需要扎实的数理基础(高数,统计,线代等),多元统计分析(判别,聚类,回归等),计算机基础(c++ java python)。
其他资料:Sklearn 库:https://scikit-learn.org/stable/modules/linear_model.html
其他两个知乎上的参考笔记,在附件列
第一天 机器学习概述+特征工程¶
实际机器学习是人工智能的一部分,原理部分需要很深的数学(多元统计分析)+计算机功底(CPP Python),短期学会难度较大。
01-人工智能概述¶
人工智能包括机器学习,机器学习包括深度学习。
机器学习包括:传统预测,图像视频识别,自然语言处理,数据挖掘。
02-什么是机器学习¶
从数据中自动分析获取模型,利用模型对未知数据进行预测(数据+模型+预测)。
特征值(多个属性)+目标值
03-机器学习算法分类¶
目标值是离散值(布尔值)——类别-分类——K 近邻算法,贝叶斯分类、决策树随机森林、逻辑回归
目标值是连续值(数值)——回归——线性回归,岭回归
没有目标值——无监督学习(输入的数据没有明确结果)—— kmeans 聚类
04-机器学习开发流程¶
获取数据(公开数据或者公司用户数据)
数据预处理(去掉脏数据,补充缺失数据)
特征工程(提取特征值和特征向量)
机器学习(获取模型)
模型评估(模型是否满足测试数据,如果不满足,重复第二步)
模型上线
05-学习框架和资料介绍¶
算法是核心,大量数据和计算能力(硬件水平)是基础
定位是什么?如果是算法工程师,需要专业技术过硬
实际上大部分工程师主要是分析数据,然后应用已有的模型等(调参数+优化模型)
快速学习过程(适合了解)
- 入门介绍
- 实战类书籍(某框架学习)
- 机器学习(西瓜书,周志华)
- 统计学习方法(李航)
- 深度学习(花书)
06-可用数据集¶
公司内部的用户数据集;或者其他搜索引擎的数据集,学习阶段可使用下面几个数据集
Scikit-learn
kaggle
UCI
我们这里使用 sklearn(分类、回归、聚类、降维、特征工程、模型选择等)
07-sklearn 数据集使用¶
加载数据
# sklearn.datasets 数据集
# 加载数据 波士顿房地产数据 鸢尾花数据
datasets.load_iris()
datasets.load_boston()
# 加载线上大数据集
datasets.fetch_iris(data_home = None, subset="train")
# 第一个参数表示数据集下载到本地的目录
# 第二个参数表示子集类型(train, test, all)
返回值分析
以鸢尾花 iris 结果分析返回值结果
from sklearn.datasets import load_iris
iris = load_iris()
返回值是 datasets.base.Bunch 字典格式,包括下面字段
data: 特征数据数组,二维数组
target: 标签数组
DESCR: 数据描述
feature_names: 特征名
target_names: 标签名
数据集划分
数据集:训练数据(训练构建模型)和测试数据(评估模型是否有效)
通常训练数据越多,模型越准确(70%-80%)
sklearn.model_selection.train_test_aplit(x, y, test_size, random_state, *options)
- x 数据集特征值
- y 数据集特征值
- test_size 测试集合的大小(float, 0.8)
- random_state 随机数种子
- return 返回值(训练集特征值,测试集特征值,训练集目标值,测试集目标值)
x_train, x_test, y_train, y_test = train_test_aplit()
demo 01
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
def datasets_demo():
"""
learn sklearn dataset
"""
# load data from local dataset
iris = load_iris()
# print("iris datasets test", iris["DESCR"])
# print(iris.feature_names, iris.target_names)
# print(iris.data, iris.data.shape)
# split data into two subset, train set and target set
x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size = 0.2, random_state = 20)
print(x_train, x_test, y_train, y_test)
return None
if __name__ == "__main__":
datasets_demo()