1.python机器学习入门

    1.人工智能概述

        1.机器学习是人工智能的一个实现途径

         2.深度学习是机器学习的一个方法发展而来

    2.什么是机器学习:从数据中自动分析获得模型,并利用模型对位置数据进行检测

        机器学习,深度学习的作用:传统预测,图像识别,自然语言处理

     3.数据集构成:特征值+目标值

     4.机器学习算法分类

             监督学习

             目标值:类别-分类问题

             目标值:连续性的数据-回归问题

             目标值:无-无监督学习

       5.机器学习开发流程

             1.获取数据

             2.数据处理

             3.特征工程

             4.机器学习算法训练-模型

             5.模型评估

             6.应用

       6.学习框架和资料介绍

           1.算法是核心,数据计算是基础

            2.找准定位

2.特征工程

      1.数据集

            1.可用数据集

             2.sklearn工具介绍

                 1.python语言的机器学习工具

                 2.包括许多知名的机器学习算法的实现

                 3.文档完善,容易上手,丰富的API

        2.sklearn数据集

             1.使用sklearn.datasets

                  datasets.load/fetch_*

                         1.其中load_*用于获取小规模数据集,数据包含在datasets里

                         2.fetch_*(data_home=None)

                               用于获取大规模数据集,需要从网络上下载,函数的第一个参数是                                                   data_home,表示数据集下载的目录,默认是~/scikit_learn_data/

             2.sklearn小数据集

                   sklearn.datasets.load_iris()

             3.sklearn大数据集

                  sklearn.datasets.fetch_dataset(data_home=None,subset="")

                    1.subset:'train'或者'test','all'可选,选择要加载的数据集

                     2.训练集的“训练”,测试集的“测试”,两者的“全部”

             4.数据集的返回值

                   datasets.base.Bunch(继承自字典)

                        dict("key")=values

                        bunch.key=values

              

调用鸢尾花数据集实操实例:

        3.数据集的划分

                1.训练数据:用于训练,构建模型

                 2.测试数据:在模型检验时使用,用于评估模型是否有效

                 3.划分比例:训练集:70%,80%,75%

                                      测试集:30%,20%,30%

                    数据集划分API

                    sklearn.model_selection.train_test_split(arrays,*options)

                       

数据集划分实操实例:

      3.特征工程介绍

            1.定义:使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作                              用的过程

            2.意义:会直接影响机器学习的效果

            3.特征工程的为宗旨与数据处理的比较

                  pandas:数据清洗,数据处理

                  sklearn:特征工程

             4.特征工程包含内容:特征抽取(文本类型->数值),特征预处理,特征降维

                               机器学习算法-统计方法-数学公式

                    1.特征提取:将任意数据(如文本或图像)转换为可用于机器学习的数字特征

                             1.分类:1.字典特征提取(特征离散化):类别->one-hot编码

                                                作用:对字典数据进行特征值化

                                        2.文本特征提取

                                        3.图像特征提取

                                 注:特征值化是为了计算机更好的取理解数据

                              2.特征提取API:sklearn.feature_extraction

                  vector:向量/矢量

                     矩阵 matrix 二维数组

                     向量 vector 一维数组

                    父类:转换器类

                       返回sparse矩阵(sparse=True)

                               sparse稀疏:将非零值,按位置表示出来(可节省内存,提高加载效率)

实操实例:

       4.文本特征提取:单词,句子,短语,字母,作为特征

                   特征:特征词

                   方法1:CountVectorizer

                          统计每个样本词出现的个数

                                 

文本特征提取时,转换为二维数组,在下图的data_new加to array即可

实操实例:

注:使用中文时不使用空格会视为一个词

        中文文本特征抽取

               stop_word停用词

               下载jieba(在命令提示符中)

实操实例:

                           方法2:文本特征抽取TfidfVetorizer

             1.关键词:在某一个类别的文章中,出现的次数很多,但是在其他类别的文章中出现最少

              2.TF-IDF作用:用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要                                           程度

                                   1.TF-词频(term frequency,tf):指的是某一个给定的词语在该文件中出现的                                        频率

                                   2.IDF-逆向文档频率:可以由总文件数目除以包含该词语之文件的数目,再                                        将得到的商取lg对数得到

                                   3.TF-IDF=TF*IDF

     5.数据预处理-归一化

            特征预处理定义:通过一些转换函数将特征数据转换成更加适合算法模型的特征数据过程需要进行无量纲化,使不同规格的数据转换到同一规格

              1.归一化定义:通过对原始数据进行变换把数据映射到(默认为[0,1])之间

              2.公式

               

             3.API

              4.缺点:鲁棒性较差,只适合传统精确小数据场景

       6.数据预处理-标准化

               1.定义:通过对原始数据进行变换把数据变换到均值为0,标准差为1的范围内

                2.公式

    

                  3.API

       7.特征降维

              ndarray

                  维数:嵌套的层数

                              0维:标量

                              1维:向量

                              2维:矩阵

                对2维数组进行降维:降低特征的个数

           定义:在某些限定条件下,降低随机变量(特征)个数,得到一组“不相关”主变量的过程

         8.特征选择

                      1.定义:数据中包含冗余或相关变量(或称特征,属性,指标等),旨在从原有特征中                                      找出主要特征

                    2.方法:

注:相关系数法指特征与特征之间的相关程度

            3.模块:sklearn.feature_selection import VarianceThreshold

             4.相关系数:反映变量之间相关关系密切程度的统计指标

                 公式:

              5.特点:1.r的值介于-1和1之间

               6.性质:1.r>0,表示两变量正相关,r<0,表示两变量负相关

                             2.r的绝对值为1,表示两变量为完全相关,r=0,表示两变量无相关关系

                             3.0<|r|<1表示两变量存在一定程度的相关,且|r|越接近1,两变量间线性关系越                                  密切,|r|越接近于0,表示两变量的线性相关越弱

                              4.一般可按3级划分:|r|0.4为低度相关,0.4<|r|<0.7为显著性相关,0.7<|r|<1为                                   高度线性相关

               7.API:模块:from scipy stats import pearsonr

                                  x:(N,)array_like

                                   y:(N,)array_like Returns:(Pearson`s correlation coeffcient p-value)

      9.主成分分析

               1.定义:高维数据转化维低维数据的过程,在此过程中可能会舍弃原有数据创造新的变量

               2.作用:时数据维数压缩,尽可能降低原数据的维数(复杂度),损失少量信息

                3.应用:回归分析或者聚类分析当中

                  4.API

       10.instacrat降维案例

               1.数据:

             2.步骤:1.需要将user_id和aisle放在同一个表中-合并

                            2.找到user_id和aisle-交叉表和选项表

                            3.特征冗余过多->PCA降维:

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐