机器学习小入门 (一)

一、机器学习概述

1.1 机器学习  人工智能 深度学习 三者之间的关系

        机器学习是人工智能的实现途径;深度学习是机器学习的一个方法发展而来

1.2什么是机器学习

        机器学习是从数据中分析训练并获得模型后,再去预测未知数据的可能趋势的一种方法

        三个关键词:数据   模型  预测

        数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限。其中算法是机器学习的核心,数据与计算是基础。

         如何快速入门: 从实际的例子进行入门,先了解框架再进行实战再研究算法是如何实现。

1.3数据集的构成

        特征值   目标值   样本

        注:有些数据集中无样本

1.4机器学习算法的分类

        通过目标值来进行分类

                监督学习(分类问题;回归问题)

                无监督学习(聚类问题)

1.5机器学习的开发流程

        1》获取数据集  2》数据处理  3》特征工程 

        4》机器学习算法训练>模型  5》模型评估  6》应用

二、特征工程

2.1数据集

2.1.1获取数据集的两种方法:

        sklearn datasets

        (1)获取小数据集:load_*    *为所要获取数据集的名字

        sklearn datasets.load_iris()

        (2)获取大数据集:fetch_*   *为所要获取数据集的名字

        sklearn dataset.fetch_20newgroups()

        (3)数据集的返回值

          datasets.base.bunch (继承自字典格式)

            dict['key'] = value

            bunch.key = value

2.1.2数据集的划分

        数据集可分为:训练集 ;验证集 ;测试集  其中验证集是从训练集中又划分出来的一部分。

        划分原则:训练集要大于测试集,这样更有利于训练出一个好的数据模型来进行数据的预测。训练集:测试集  80:20  或者  70:30 

        API : sklearn.model_selection.train_test_split

                x_train, x_test, y_train, y_test = train_test_split(a.data, a.target, test_size=0.2, random_state=22)

2.2特征工程

2.2.1为什么要做特征工程?

        防止某些特征值大吃小的现象,使得更好的能够考虑到该有的特征值对该数据集的影响。

2.2.2特征提取

        将原有数据(文本或者图像等数据)转换成可用于机器学习的数字特征。特征化是为了计算机更好的去理解数据。

        包括:

                1) 字典特征提取(特征离散化) ;

                2) 文本特征提取 ;

                3) 图像特征提取(深度学习)

                 API :sklearn.feature_extraction

     (1)字典特征提取(特征离散化):sklearn.feature_extraction.DictVectorizer(sparse=True,…)

            返回spare矩阵  既稀疏矩阵

            vector 数学:向量 物理:矢量

            矩阵 matrix 二维数组            向量 vector 一维数组   (矩阵与向量在计算机中如何进行表示)

            其父类是:转换器类(transfer)

            返回sparse矩阵 sparse稀疏 将非零值 按位置表示出来 节省内存 - 提高加载效率

       (2)独热编码 one-hot编码   :保证每个特征都仅有一种形式表现出现。类别 

        transfer = DictVectorizer()    transfer是一个转换器类,将数据准换成二维矩阵,能够让计算机更好的处理数据。

        new_data = transfer.fit_transform(data)

        矩阵中每一列数据所表示的特征意义:transfer.get_feature_names:()

2.2.3特征预处理

(1)数值型数据的无量纲化   ——减少异常点的影响

         归一化:把原始数据映射到(默认大小为[0,1])之间;其作用就是减小大吃小的现象。

          {X}'=\frac{X-Min}{Max-Min}

          {X}''={X}'\cdot \left ( Mx-Mi \right )+Mi       作用于每一列;Mx 与Mi 为指点区间[0,1]

        sklearn.preprocessing.MinMaxScaler(feature_range=(0,1))

        标准化:把原来数据进行变换,变换到均值为0,标准差为1的范围之间,使得其更加集中分布。其标准化公式作用于每一列数据。

        {X}'=\frac{X-mean}{\sigma }

        sklearn.preprocessing.StandardScaler()

  (2)特征降维

        降低特征的个数,使得数据处理更加高效。其效果是特征与特征之间不相关。

        降维的两种方式:1) 特征选择法  ;

                                     2)主成分分析法 PCA ;

1) 特征选择法:

sklearn.feature_selection

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

        Filter过滤式:主要探究特征本身特点,特征与特征和目标之间关联

                方差选择法: 低方差法:低方差特征过滤

                                sklearn.feature_selection.VarianceThreshold(threshold=0.0)

                                注:Variance方差  ; Threshold临界值 且低于threshold的特征值将被删除

                 相关系数:皮尔逊相关系数  ;反应变量之间相关系数密切程度的统计指标。

                                指标范围 : 0.4 低度相关  ; 0.7 显著相关   ; 1 高度相关

                                求数据集中“A" 和”B“的皮尔逊相关系数的实现:

                                from scipy.stats import pearsonr

                                 r1 = pearsonr(["A"] , ["B"])

                                print("相关系数:\n", r1)

当特征与特征之间的相关系数很高时 :(1)选择其中的一个特征(2)加权求和(3)主成分分析

2) 主成分分析法 PCA:

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

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

        应用:回归分析或者聚类分析

        sklearn.decomposition.PCA(n_components=None)

                实例化: from sklearn.decomposition import PCA

                                transfer = PCA(n_component= 一个数)

                                new_data = transfer.fit_transform(data)

Embeded嵌入式:算法自动选择特征(特征与目标值之间的关联)

        决策树:信息熵;信息增益 。

        正则化:L1 ; L2

        深度学习:卷积

后续内容待更新。。。。。。。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值