机器学习算法简介:
图灵:人工智能之父、图灵测试
Marvin Lee Minsky:人工智能实验室
概念发展:人工智能-机器学习-深度学习
两个阶段:硬件的计算能力达不到、数据(大小、代表性)、算法的发展
机器学习、深度学习的用途:无人驾驶、医疗方面、图片的艺术化、智能手机(人脸识别)、自然语言处理、预测(信贷需求、店铺销量)
概括:自然语言处理、图像识别、传统预测
课程定位:算法、案例、基本浅显的数学知识、算法的推导原理
目标:
1、机器学习各种算法的原理
2、熟练掌握算法的使用,能应用到各类场景中
3、掌握机器学习算法的库和框架的使用
企业现状分析:信贷预测、
机器学习课程:
1、特征工程
2、模型、策略、优化
3、分类、回归和聚类
4、Tensoflow
5、神经网络
6、图像识别
7、自然语言处理
机器学习的概述:
定义:从数据中自动分析获得规律或是模型,并利用规律对未知数据进行预测
案例:AlphaGo、广告搜索、给各个领域带来价值:减少成本
数据集的结构:
从历史数据中获得规律,历史数据的格式一般为文件,一般不存在数据库:MySQL(会遭到性能瓶颈:读取速度会限制、格式不符合机器学习要求)
机器学习强大的工具pandas:基于numpy读取速度非常快,动态语言、多线程同时工作、释放GIL
常用数据集的构成:特征值+目标值(可以针对每个特征值进行处理)
机器学习算法中的重复值不需要进行去重 本身需要重新学习 不影响
针对数据中的不同特征值的类型进行处理:需要一个特定的工具:sklearn(对于特征的处理提供了强大接口)
特征工程:
特征工程影响数据以及算法的重要因素
数据预处理-特征工程-机器学习-模型评估
定义:
将原始数据转换成更好的代表预测模型的潜在问题的特征的过程,从而提高了对未知数据的预测准确性
意义:
直接影响预测结果
scikit-learn库:机器学习语言的工具、许多琪琪学习算法的实现、文档完善,容易上手,丰富的API,使其在学术界颇为受欢迎
特征抽取:
针对非连续型数据、对文本进行特征值化
字典数据抽取:把字典中的一些类别的数据,分别转化成特征(数值类型的不再转化)
数组形式:有类别特征先转化成字典数据,然后再抽取特征
one-hot编码
文本特征抽取
作用:对文本数据进行特征值化 sklearn.feature_extraction.text.CountVectorizer
用途:文本分类、情感分析
对于单个英文字母或是单个汉字不统计
对于中文要先进行分词:jieba
特征词的方法:
tfidf、count
tf:词的频率 (出现的次数) idf:逆文档频率 log(总文档词数量/该词出西安的文档数量)
tf*idf来衡量词的重要性
特征的预处理:
对数据继续处理,通过特定的统计方法(数学方法)将数据转换成算法要求的数据
标准缩放:
1、归一化(sklearn.preprocessing.MinMaxScaler)
特点:通过对原始数据进行变换把数据映射到默认的[0-1]之间,保证每个特征同等重要
作用于每一列,max为一列的最大值,min为一列的最小值,那么x‘’为最终的结果
目的:使得某个特征值不会对最终结果造成更大影响
数据的异常点影响:对最大值与最小值影响太大,对于结果造成偏差
归一化的缺点受异常点的影响较大,鲁棒性较差,只适用于传统小数据场景
2、标准化(scikit-learn.preprocessing.StandardScaler)
特点:通过对原始数据进行变换把数据变换到均值为0,方差为一的范围内,作用于每一列
mean为平均值,标准差,方差(考量数据的稳定性)
异常点对于方差与标准差影响不是很大
异常点对归一化与标准化影响特点
适用:样本最够多的情况下比较稳定,适合现代嘈杂大数据场景
归一化来说出现异常点,影响了最大值和最小值,那么结果显然会发生变化
标准化来说,出现异常点,由于具有一定的数据量,少量的异常点对于平均值得影响并不大,从而方差改变较小
3、缺失值(from sklearn.preprocessing import Imputer)
主要采用pandas(dropna或是fillna)处理:数据中的缺失值:np.na replace("",np.na)
删除或是插补(平均值或是中位数)按照行或是列,建议按照列即为特征来填补
类别型数据:one-hot编码
时间类型:时间的切分