人工智能包含机器学习,而机器学习又包含深度学习。
7,80年代出现机器学习,eg 垃圾邮件。而2010年又出现深度学习,eg图像识别,自然语言处理。
影响机器学习的因素,计算机计算的能力以及数据的大小。最为重要的算法的发展。
eg 无人驾驶,医疗,图片艺术化。
机器学习:机器学习是从数据中自动分析获得规律(模型),并利用规律对未知数据进行预测。
机器学习的目的:让机器学习程序替换手动的步骤,减少企业的成本也提高企业的效率。
在机器学习阶段,我们的数据大部分都以文件的形式存储在文件。csv。mysql有性能瓶颈。机器学习数据量过大,而mysql读取速度不行。同时它的格式也不太符合机器学习要求的格式。
pandas:读取工具。numpy:释放GIL
常用数据集数据的结构组成。
结构:特征值+目标值。
特征值:一个样本的能够很好的反映出该样本的一个属性。目标值即你想要通过预测得出的值。
有些数据集并没有目标值。
机器学习中重复值不需要进行处理。但需要进行去重。
sklearn:对特征的处理提供了强大的接口。我们对特征处理的过程称为特征工程。
特征工程:将原始数据转换为更好地代表预测模型的潜在问题的特征的过程,从而提高了对未知数据的预测准确性。
提高预测的效果。
特征工程意义:直接影响预测结果。
数据的特征抽取,数据的特征预处理,数据的降维。
scikit-learn库
包括许多python机器学习的库。
数据的特征抽取
特征抽取:你的样本中有文本,字符串等。你将其抽取为数字的形式。为了计算机更好的理解数据。
特征抽取针对非连续型数据并且特征抽取对文本等进行特征值化。
sklearn特征抽取API 为 sklearn.feature_extraction
具体的抽取大致分为以下两类:
字典特征抽取:
作用:对字典数据进行特征值化
类:sklearn.feature_extraction.DictVectorizer
DictVectorizer.fit_transform(X)
X:字典或者包含字典的迭代器
返回值:返回sparse矩阵
DictVectorizer.inverse_transform(X)
X:array数组或者sparse矩阵
返回值:转换之前数据格式
DictVectorizer.get_feature_names()
返回类别名称
具体描述就是把数据当中的具体编码变为one-hot编码形式,这样机器学习可以使用该数据。
那么什么是one-hot编码?
https://blog.csdn.net/google19890102/article/details/44039761
文本特征抽取:
作用:对文本数据进行特征值化。
类:sklearn.feature_extraction.text.CountVectorizer
具体分析如下:
在文本特征值化时,要考虑到中英文的差别。其实本质上是对空格进行分词。因此我们在对中文进行特征值化时,要使用jieba分词。
eg
TF-IDF:
主要思想:如果某个词或短语在一篇文章中出现的概率高, 并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分 能力,适合用来分类。
作用:用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。
类:sklearn.feature_extraction.text.TfidfVectorizer
实际上为 tf:词的频率 词出现的次数
idf:逆文档频率 log(总文档数量/该词出现的文档数量)
最后结果为;tf*idf。由于它实际上可以判断出一个文章中出现的次数较多的词语。我们因此可以根据它得出一个文章的主旨。我们需要使用TfidfVectorizer分类机器学习算法。
数据的特征处理
特征处理的实质是指通过特定的统计方法,将数据转换成算法要求的数据。
特征处理的方法
数值型数据:标准缩放:
1、归一化 :通过对原始数据进行变换把数据映射到(默认为[0,1]之间)
归一化公式:
计算过程:
编程步骤
归一化由于考虑最大值最小值的问题,而最大最小值较容易受到异常点的影响,所以此方法鲁棒性较差,只适合传统精确小数据。
2、标准化 :通过对原始数据进行变换把数据变换到均值为0,方差为1范围内
公式:
特点:
编程:
总的来说,标准化由于采用方差的方法使得对于异常点并没有归一化那样敏感,在已经有足够多样本的情况下比较稳定,较为适合现代嘈杂的大数据场景。
3、缺失值
首先,什么是缺失值那?
我们在处理数据时,收集到的数据有一些因为各种各样的原因丢失,所以该数据对应的位置就变成了一个不确定的数,如果我们直接删除,那么会丢失其他有价值的数据。但如果丢失过多,我们也只有丢失。
以下为处理方法。
类别型数据:one-hot编码
时间类型:时间的切分
sklearn特征处理API
sklearn. preprocessing
数据的特征选择
特征选择是什么
特征选择就是单纯地从提取到的所有特征中选择部分特征作为训练集特征,特征在选择前和选择后可以改变值,也可以不改变值,但选择后的特征维数肯定要比选择前的要小,毕竟我们只选择了其中一部分特征。
主要方法:
sklearn特征选择API
sklearn.feature_selection.VarianceThreshold
其它特征选择方法
比较著名的还有神经网络。
降维
相对于数组中的情况,我们可以认为降维是将特征的数量减少,如将二维数组变为一维。
我们常使用的方法是主成分分析,简称PCA。
PCA:使数据维数压缩,尽可能降低原数据的维数(复杂度),损失少量信息。
作用:可以削减回归分析或者聚类分析中特征的数量。
sklearn API
。
机器学习基础
机器学习开发流程
机器学习模型是什么
机器学习模型:通过一种映射关系将输入值到输出值。
机器学习算法分类
下面具体讲述其区别:
监督学习:由输入的数据中学到或者建立一个模型,并依次模式推测新的结果。输入数据是由输入特征值和目标值所组成。
函数的输出可以是一个连续的值(回归),或是输出有限个离散值(称作分类)。
无监督学习:可以由输入数据中学到或建立一个模型,并且依次模式推测出新的结果。输入数据是由输入特征值所构成的。
那么它们二者的区别就很明显了。当输入的数据包含目标值时称之为监督学习,不包含目标值时称之为无监督学习。
分类:分类是监督学习的一个核心问题,在监督学习中,当输出变量取有限个离散值时,预测问题变成了分类问题。最基础的便是二分类问题,即判断是非,从两个类别中选择一个作为预测结果。分类在于根据其特性1将数据“分门别类”,因此在许多领域都有广泛的应用。
回归:监督学习的另一个重要问题。回归用于预测输入变量和输出变量之间的关系,输出的是连续的值。