机器学习库和框架:
scikit learn
tensorflow caffe2 chainer pytorch
1 熟悉机器学习各类算法的原理
2 掌握算法的使用,结合场景解决实际问题
3 使用机器学习算法库和框架的技能
机器学习是从数据中自动分析获得规律(模型),并利用规律对未知数据进行预测
AlphaGo
数据集的构成
从历史数据中获得规律,
机器学习的数据:文件csv
pandas:读取工具 numpy:释放GIL 历史遗留问题
真正的多线程 4个线程
为什么不存mysql:1性能瓶颈,读取速度 2格式不太符合机器学习要求数据的格式
jpython cpython 历史遗留问题
数据集的结构
可用数据集
Kaggle特点:1 大数据竞赛平台 2 80万科学家 3 真实数据 4 数据量巨大
UCI特点:1收录了360个数据集 2覆盖科学 生活 经济等领域 3数据量几十万
scikit-learn特点:1数据量较小 2 方便学习
常用数据集数据的结构组成
结构:特征值+目标值
注:有些数据集可以没有目标值
pandas:一个数据读取非常方便以及基本的处理格式的工具
sklearn:对于特征的处理提供了强大的接口
缺失值,数据转换
机器学习:重复值?不需要进行去重
特征工程:
数据的特征抽取
数据的特征预处理
数据的降维
特征工程是将原始数据转换为更好地代表预测模型的潜在问题的特征的过程,从而提高对未知数据预测的准确性.
特征过程直接影响预测结果
gpu更适合矩阵运算,其实说到底是更适合图片类神经网络的学习,再明白点就是卷积的运算了,毕竟gpu是跑在硬件层面,cpu是跑在软件层面,在跑大数据时速度差很多
Scikit-learn库
Python语言机器学习工具
Scikit-learn包括许多知名的机器学习算法的实现
Scikit-learn文档完善,容易上手,丰富的API,使其在学术界颇受欢迎
目前稳定版本0.18
安装scikit-learn需要Numpy,pandas等库
将一个文本转换为具体的数值类型
特征抽取:文本,字符串
特征抽取对文本等数据进行特征值化
注:特征是化是为了计算机更好的去理解数据
sklearn特征抽取API
sklearn.feature_extraction
字典特征数据抽取
作用:对字典数据进行特征值化
类:sklearn.feature_extraction.DictVectorizer
DictVectorizer(sparse=True,…)
DictVectorizer.fit_transform(X)
X:字典或者包含字典的迭代器
返回值:返回sparse矩阵
DictVectorizer.inverse_transform(X)
X:array数组或者sparse矩阵
返回值:转换之前数据格式
DictVectorizer.get_feature_names()
返回类别名称
DictVectorizer.transform(X)
按照原先的标准转换
流程
1.实例化类DictVectorizer
2.调用fit_transform方法输入数据并转换 返回格式
numpy scipy sparse矩阵 节约内存,方便读取处理
sparse矩阵
(0, 1) 1.0
(0, 2) 26.0
(1, 0) 1.0
(1, 2) 32.0
ndarray 二维数组 one-hot 编码
[[ 0. 1. 26.]
[ 1. 0. 32.]]
字典数据抽取:把字典中一些类别数据分别进行转换成特征
数组形式,有类别的这些特征先要转换字典数据
[‘city=武汉’, ‘city=湖州’, ‘temperature’]