机器学习笔记

机器学习、深度学习能做什么:
    1、传统预约
    2、图像识别
    3、自然语言处理
什么是机器学习:
    1、数据
    2、模型
    3、预测
    从历史数据中获得规律?这写历史数据是什么样的格式??
        (1)数据集构成
                特征值和目标值(对于每一行数据我们可以称之为样本,有些数据可以没有目标值)
机器学习算法分类
    监督学习
        目标值: 类别-分类问题
                k-近邻算法、贝叶斯分类、决策树与随机森林、逻辑回归
        目标是:连续型的数据-回归问题
                线性回归、岭回归
    目标值:无-无监督学习
            聚类:k-means
    1、预测明天的天气是多少度?回归
    2、预测明天天气是阴天还是晴天?分类
    3、人脸的年龄预约?分类/回归
    4、人脸识别? 分类
机器学习开发流程:
    1)获取数据
    2)数据处理
    3)特征工程
    4)机器学习算法训练-模型
    5)模型评估
    6)应用
    
    
    
特征工程
    1.数据集
        1.1可用数据集
            数据集
            学习阶段可用数据集
                1)sklean
                2)kaggle 
                3)UCI 
            1 Scikit-learn 工具介绍
            pip install -i https://pypi.douban.com/simple sklearn
        1.2 sklearn数据集
            load_*: 获取小规模数据集
            fetch_* :获取大规模的数据集,需要网上下载
                2 sklearn 小数据集
                    sklearn.datasets.load_iris()
                3 sklearn 大数据集
                    sklearn.datasets.fecth_20newsgroups(data_home=None)
                4 数据集的返回值
                    datasets.base.Bunch(集成字典)
        1.3 数据集划分
            训练数据 :用于训练,构建模型
            测试数据:在模型体验时使用,用于评估模型是否有效 
                测试集 :20% - 30%
    2.特征工程介绍
        算法、特征工程
        2.1为什么需要特征工程
        2.2什么是特征公工程
            sklearn 特征工程
            pandas 数据清洗,数据处理
                特征抽取/特征提取
                    机器学习算法-统计方法-数学公式5
                    文本类型-》数值
                    类型-》数值 
                    3.1特征提取
                        sklearn.feature_extraction
                    3.2 字典特征提取-类别-one-hot 编码
                        sklearn.feature_extraction.DictVectorizer(sparse=True)
                        矩阵 matrix 二维数组
                        向量:vector 一维数组
                        父类 :转换器类
                            返回spares矩阵
                                spares 稀疏
                                    将非0值按位置表示出来
                                        节省内存,提高加载效率
                                应用场景:
                                    1)数据集中特征比较多
                                        1)数据集的特征转换为字典
                                        2)DicVectorizer()转换
                                    2)本身拿到的就是字典
                    3.3 文本特征的提取:
                            单词 作为特征
                            特征:特征词
                            方法1:CountVectorizer()
                                统计每个特征词出现的次数
                                stop_words停用的
                                停用词表
                            关键词:在某一个类别的文章中,出现次数多,但是在其它文章中出现次数比较少 
                            方法2:TfidfVectorizer()
                                TF-IDF 衡量一个字的重要程度
                                    两个词: 经济 非常
                                    1000篇文章 -语料库
                                    100篇文章-非常
                                    10篇文章-经济
                                        两篇文章
                                        文章A(100词) 10次”经济“ TF-IDF: 0.2
                                        tf=10/100=0.1
                                        idf=lg 1000/10=2
                                        文章B(100词)10次”非场“ TF-IDF:0.1
                                        tf=10/100=0.1
                                        idf=log 10 1000/100 =1
                                tf-词频(term-frequency)
                                idf-逆向文档频率 是一个词语普遍重要性的度量
                特征预处理
                    1.什么是特征预处理
                        为什么我们需要归一化/标准化?
                            特征值的单位或者大小相差较大,或者某特征的方差相比其他特征要大出几个数量级,容易影响目标结果,使得一些算法无法学习到其他特征
                         无量纲化
                         归一化:
                         总结 注意是最大值最小值是变化的,最大值和最小值最容易受异常点的影响,所以这重方法鲁棒性很差,只适合传统精确的小数据场景
                        标准化:(x-mean)/std
                        标准差:离散程度或者集中程度
                        标准化总结:在已有样本足够多的情况下比较稳定,使得现在嘈杂大数据场景
                特征降维
                    降维 降低维度
                     二维数组:
                     此处的维度:
                        降低特征的个数
                        效果:特征与特征之间不相关
                    降维:
                    特征选择:
                    Filer过滤式
                            方差选择法:低方差过滤
                            相关系数:特征与特征之间的相关程度
                                皮尔逊相关系数
                                    特征与特征之间相关性很高:
                                            1)选取其中一个
                                            2)加权求和
                                            3)主成分分析
                                
                    Embeded嵌入式
                            决策树
                            正则化
                            深度学习
                    主成分分析(PCA):
                            定义:高维数据转换为低维数据的过程,在此过程中可能会舍弃原有数据、创造新的变量
                            作用:是数据的维数压缩,尽可能的降低原数据的维数
                            应用:回归分析或者聚类分析当中,损失少量数据
                             sklearan.decomposition.PCA(n_components=None)
                             n_components
                                小数:表示保留百分之多少的信息
                                整数:减少到多少特征
                     
                            


分类算法
目标值:类别
1.sklearn转换器和估计器
2.knn算法
3.模型选择与调优
4.朴素贝叶斯算法
5.决策树
6.随机森林
3.1 sklearn转换器和估计器
    转换器
    估计器(estimator)
    3.1.1 转换器
        1.实例化(实例化一个转换器类(Transformer))
        2.调用fit_transform(对于文档建立分类词频,不能同时调用)
            标准化:
                (x-mean)/std
                    fit_tranform()
                        fit()       //计算每一列的平均值,标准差
                        tansform()        //(x-mean)/std进行最终的转换
                        
                        
    3.1.2 估计器(sklearn 机器学习算法的实现)
            估计器(estimator)
                1.实例化一个estimator
                2.estimator.fit(x_train,y_train) 计算
                    --调用完毕,目标生成
                3.模型评估
                    1)直接对比真实值和预测值
                        y_predict=estimator.predict(x_test)
                        y_test==y_predict
                    2)计算准确值
                    estimator.score(x_test,y_test)
3.2 k-近邻算法
        KNN核心思想:
            根据你的邻居来推断的类别
            k-近邻算法 原理
                k=1
                容易受到异常值的影响
            如何确定谁是邻居:
            计算机距离:
              距离公式
                曼哈顿距离 绝对值距离
                明可夫斯基距离
        k值取得过小,容易受到异常点的影响
        k值过大,容易受到样本不均衡的影响
            无量纲化
                标准化
    总结:
        优点:简单,易于理解,易于实现,无需训练
        缺点:必须指定 k值,k值选择不当则分类精度不能保证
              懒惰算法,对测试样本进行分类时,计算量大,内存开销大
        使用场景:小数据场景,几千-几万样本,具体场景,具体业务去测试
3.3 模型选择与调优
    3.3.1 什么是交叉验证(cross vaiidation)
    分为 训练集,测试集
        目的:为了让被评估的模型更加准确可信。 
    3.3.2超参数搜索-网格搜索(Grid Search)
             为了寻找k值
    3.3.3 案例:预测facebook签到位置
        流程分析:
            1)获取数据
            2)数据处理
                目的:
                    特征值
                    目标值
                        a 缩小数据范围
                        b time->
                        c 过滤签到次数少的地方
                    数据集划分
            3)特征工程:标准化
            4)KNN算法预估流程
            5)模型选择与调优
            6)模型评估
                        
  3.4朴素贝叶斯算法
  3.4.1 什么是朴素贝叶斯分类算法
  3.4.2概率基础
  3.4.3 联合概率,条件概率和相互独立
   联合概率:包含多个条件,且所有条件同时成立的概率
    p(A,B)
    条件概率:就是事件A在另一个事件B已经发生的条件下发生的概率
     P(A|B)
     相互独立:如果P(A,B)=P (A)P(B),则称为事件A与事件B相互独立
     
     朴素?
        特征与特征事件是相互独立的
        朴素贝叶斯算法
         朴素+贝叶斯 
            贝叶斯:P(C|W)=P(W|C)P(C)/P(W)
    应用场景:
        文本分类
            单词作为特征
    3.4.4 拉普拉斯平滑系数
        目的:为了防止算出的分类概率为0
        p(F|C)=Ni+α/N+αm
        
    3.4.5朴素贝叶斯算法总结
        优点:朴素贝叶斯算法发源于古典数学理论,有稳定的分类效率
            对缺失数据不太敏感,常用于文本分类
            分类准确高,速度快
        缺点:由于使用了样本独立性的假设,如果特征属性有关联的形况下效果不好
3.5决策树     
    3.5.1 认识决策树
     如何高效的进行决策?
        特征的先后顺序
    3.5.2 决策树分类原理详解
        1)信息
            香农:消除随机不定性的东西
            信息的衡量-信息量-信息熵
             H(X)=Σp(xi)logb(p(xi))
                    
    3.5.3决策树的划分依据之一=======信息增益
        特征A对训练数据集D的信息增益g(D,A ),定义为集合D的信息熵H(D)与特征A的信息条件熵H(D|A)之差:公式为g(D,A)=H(D)-H(D|A )
        条件熵的计算H(D/A)=ΣDi/DH(Di)
    优点:可视化:可解释能力强
    缺点:容易产生过拟合
    
3.6集成学习方法之随机森林
    3.6.1 什么是集成学习放法:建立几个模型组合来解决单一预测问题,它的工作原理是生成多个模拟器/模型,各自独立地学习和做出预测,这些预测最后组合成组合预测,因此优于任何一个单分类的做出预测。
    3.6.2什么是随机森林
     随机:
     森林:包含多个决策树的分类器 
    3.6.3 随机森林原理过程
        训练集:特征值、目标集
         N个样本
         特征值 目标值
         M个特征
        随机
          两个随机
            训练集随机:--N个样本中随机有放回的抽取N个
             bootstrap 随机有放回的抽样 
            特征随机:--从M个特征中随机抽取m个特征
                M>>m
                降维
    3.6.4 总结:
        在当前所有算法中,具有极好准确率
        能够有效地运行在大数据集上,处理具有高维数特征的输入样本,而且不需要降维
        能够评估各个特征在跟类问题上的重要性                      

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值