精华内容
下载资源
问答
  • 机器学习 特征工程 Python sklearn 本博客代码:Github_GDUT-Rp 1 特征工程 数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。 特征处理是特征工程的核心部分,sklearn提供了较为完整的特征处理...
  • 机器学习(06)特征工程,内含pdf文档及视频教程,欢迎下载
  • 机器学习特征工程特征抽取

    千次阅读 2018-07-09 16:01:26
    数据集是特征抽取的源数据。常用数据集的结构组成:特征值+目标值。 可用数据集: kaggle网址:http://www.kaggle.com/datasets UCI数据集:http://archive.ics.uci.edu/ml scikit-learn网址:...

    1.数据集

    数据集是特征抽取的源数据。常用数据集的结构组成:特征值+目标值。
    这里写图片描述

    可用数据集:
    这里写图片描述
    kaggle网址:http://www.kaggle.com/datasets
    UCI数据集:http://archive.ics.uci.edu/ml
    scikit-learn网址:http://scikit-learn.org/stable/datasets/index.html#datasets

    数据中对于特征的处理

    pandas:一个数据读取非常方便以及基本的处理格式的工具。
    sklearn:对于特征的处理提供了强大的接口。

    2.数据的特征工程

    2.1 特征工程是什么?
    特征工程是将原始数据转换为更好的代表预测模型的潜在问题的特征的过程,从而提高了对未知数据的预测准确性。

    2.2 特征工程的意义是什么?
    特征工程直接影响预测结果。

    2.3 特征工程包含哪些步骤?
    特征工程包括数据的特征抽取、数据的特征与处理和数据的降维(数据降维就是筛选样本特征,去掉不重要的样本特征)

    2.4 scikit-learn库介绍

    • python语言的机器学习工具。
    • scikit-learn包括许多致命的机器学习算法的实现。
    • scikit-learn文档完善,容易上手,丰富的API。

      2.5 scikit-learn库的安装
      这里写图片描述

    3数据的特征抽取

    特征抽取的目的是对文本进行特征值化(为了让计算机更好地理解数据)。

    3.1字典特征抽取

    作用:对字典数据进行特征值化将其转换为One-hot编码。
    类:sklearn.feature_extraction.DicVectorizer

    DicVectorizer语法
    这里写图片描述

    流程:
    这里写图片描述

    One-hot编码分析

    关于one-hot编码的学习可以参考一下文章:
    详细详解One Hot编码-附代码
    one hot 编码及数据归一化

    3.2文本特征抽取

    作用:对文本数据进行特征值化。
    类:sklearn.feature_extraction.text.CountVectorizer

    CountVectorizer语法

    这里写图片描述

    流程

    这里写图片描述

    1. 统计所有文章中的所有的词,重复的词只看做一次。
    2. 对每篇文章,在词的列表里面进行统计每个词出现的次数。
      单个英文字母或汉字不统计。

    英文文章可以直接进行统计,中文的文章要先进行分词才能进行统计。

    jieba分词

    对中文进行分词处理,使用jieba分词。
    这里写图片描述

    特征抽取方式之词语占比

    这里写图片描述

    特征抽取方式之TF-IDF

    TF-IDF(TfidfVectorizer)是分类机器学习算法的重要依据。
    这里写图片描述

    展开全文
  • 机器学习特征工程--标准化和归一化

    千次阅读 2019-03-02 19:32:14
    (1)不需要对特征进行归一化:基于树模型的方法 举例: 随机森林/bagging/boosting/xgboost 需要标准化的(基于距离的模型):回归分析(逻辑回归)/神经网络 / svm 2.相关定义 什么叫归一化(标准化):归一化...

    关于归一化和标准化

    1.标准化使用条件

    (1)不需要对特征进行归一化:基于树模型的方法

    举例:  随机森林/bagging/boosting/xgboost

    1. 需要标准化的(基于距离的模型):回归分析(逻辑回归)/神经网络 / svm

    2.相关定义

    什么叫归一化(标准化):归一化化就是要把你需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内

    为什么要归一化(标准化):

    一是,为了后面数据处理的方便,把不同量纲的东西放在同一量纲下比较,即把不同来源的数据统一到一个参考系下,这样比较起来才有意义。

    简单的举个例子:一张表有两个变量,一个是体重kg,一个是身高cm。假设一般情况下体重这个变量均值为60(kg),身高均值为170(cm)。1,这两个变量对应的单位不一样,同样是100,对于身高来说很矮,但对于体重来说已经是超重了。另外,单位越小,数值越大,对结果的影响也越大,譬如170cm=1700mm。 简单讲,归一化的目的是可以用数值来直接进行比较,如果不归一化由于变量特性不同,同样加10,代表的意义不一样。

    二是,保正程序运行时收敛加快,大部分模型归一化后收敛速度会加快。例如,下面的例子,房间数和面积数不在一个量纲上,面积数值太小,房间数太大,成椭圆状,按照梯度收敛速度会慢,理想的是数据类似圆圈的形状,经过有限几个步骤则收敛了。

    3.区别

    归一化和标准化的区别:网上查阅了很多资料,总结出结论:大区别没有,小区别有。

    归一化:以后就认定为是最大最小值归一化或者叫0-1归一化,取值范围在[0,1]

    之间。

    标准化:剩下的几种标准化方式都统一叫标准化,下面只介绍一种经常使用的z-score标准化,,经过处理后的数据均值为0,标准差为1,符合标准的正态分布。

     

    4.关于什么时候用标准化什么时候用归一化的问题:

    一般有最大值/最小值偏离平均值较远时,使用归一化

    如果可以用平均值来表示大致的情况的时候, 采用标准化(zscore)

     

    以下为python代码实现:

    #-*- coding:utf-8 -*-
    import pandas as pd
    import numpy as np
    
    #方法一
    #零-均值规范化
    data = pd.read_csv('标准化测试数据.csv',index_col='userid')
    #z-score标准化法(标准差标准化),符合标准正态分布,即均值为0,标准差为1
    data2= 1.0*(data - data.mean())/data.std() #数据标准化自由度 ddof默认为1,即为n-1
    #data2= 1.0*(data - data.mean())/data.std(ddof=0) #数据标准化 ddof为0时,为n,和下面自己的z_score函数一样
    print(data2)
    
    '''
    #方法一sklearn  
    #标准化数据,方差为1,均值为0
    from sklearn.preprocessing import StandardScaler
    ss=StandardScaler()
    X_train=ss.fit_transform(X_train)
    X_test=ss.transform(X_test)
    '''
    
    #方法二
    #最小-最大规范化
    data3=(data - data.min())/(data.max() - data.min())
    
    
    #方法三
    #小数定标规范化
    data4=data/10**np.ceil(np.log10(data.abs().max()))
    
    
    '''
    注意:此函数与上面的dataframe计算方法有差异,上面默认自由度为n-1,下面调的numpy的
    包,直接为n,所以会有些差距,一般数据量大的时候没有太大影响
    http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.std.html#pandas.DataFrame.std
    '''
    def z_score(lst):
        '''z_score标准化函数,输入为一维列表,即[1,2,3,4,5,6,7]'''
        x = np.array(lst)
        _mean, _std = x.mean(), x.std()
        #_std = (sum([(item -_mean)**2  for item in lst])/(len(lst)-1)) **0.5 #改成这样就可以和dataframe的一样了
        if _std == 0:
            return lst
        data = [(item-_mean)/_std for item in lst]
        return data
    
    

     

     

    展开全文
  • 我们输入机器学习模型中的每个特征都独一无二,这才是最佳。 python实现代码 import seaborn as sns #图表模块 import matplotlib.pyplot as plt #绘图模块库 colormap = plt.cm.RdBu # 绘图库中的颜色查找表。...

    示例图:

    皮尔森相关系数为了确定 每个特征之间是否紧密相关,如果很相关就属于重复特征,可以去除。 我们输入机器学习模型中的每个特征都独一无二,这才是最佳。

    python实现代码

    import seaborn as sns #图表模块

    import matplotlib.pyplot as plt #绘图模块库

    colormap = plt.cm.RdBu # 绘图库中的颜色查找表。比如A1是红色,A2是浅蓝色。 这样一种映射关系

    plt.figure(figsize=(14,12))#创建一个新的图表,参数是尺寸,单位为英寸。

    plt.title('Pearson Correlation of Features', y=1.05, size=15) #给图表一个标题~~ 

    sns.heatmap(train.astype(float).corr(),linewidths=0.1,vmax=1.0,square=True, cmap=colormap, linecolor='white', annot=True) #将皮尔森系数值画成图表形式。

    代码解释:

        这里的train.astype(float).corr()    中的train 是python pandas模块中DateFrame结构,这里存储着的是机器学习模型的训练数据,   然后通过.corr()求皮尔森相关系数方法,计算出相关系数。

    corr()是correlation的缩写,中文意思为相关。

    算法底层原理:

    皮尔森系数公式为:

    cov(X,Y) 是求X数组和Y数组的协方差。

    协方差公式为:

    当协方差值>0时,表明两个数组正相关

    当协方差值=0时,表明两个数不相关

    当协方差值<0时,表明两个数组负相关。

    回到皮尔森相关系数,现在我们已经知道了 协方差计算出了 相关性,但是只知相关性,而无法度量它强和弱, 

    如何度量强和弱呢?

            这是用协方差/(X数组的标准差*Y数组的标准差),

    这个公式的作者是否从余弦距离得到的启发呢?如下图

     

    最终我们计算出了-1 到 1 的取值结果。

    公式求的值对应下面图表(省略了x轴和y轴,自行脑补。。),例如1和-1 他们就是线性相关,一个是正相关,一个负相关,而0就是没有任何关系的

    这样我们就求得了两个数组之间的关系程度,排除强相关特征,降低机器学习数据维度,从而得到更好的模型。 

     

    ——————————————————————————————————

     

    展开全文
  • Hashing for Machine Learning(用于机器学习特征工程的哈希),微软研究院 John Longford 的讲义。
  • 机器学习中的特征工程

    千次阅读 多人点赞 2018-12-06 20:26:04
    数据和特征决定了机器学习的上限,而模型和算法则是逼近这个上限。因此,特征工程就变得尤为重要了。特征工程的主要工作就是对特征的处理,包括数据的采集,数据预处理,特征选择,甚至降维技术等跟特征有关的工作。...

    目录

    一、特征工程——概述

    二、特征工程——数据预处理

    三、特征工程——特征选择

    四、特征工程——降维


    一、特征工程——概述

    特征工程是数据分析中最耗时间和精力的一部分工作。数据和特征决定了机器学习的上限,而模型和算法则是逼近这个上限。因此,特征工程就变得尤为重要了。特征工程的主要工作就是对特征的处理,包括数据的采集,数据预处理,特征选择,甚至降维技术等跟特征有关的工作。

    1、特征(Feature)

    特征是数据中抽取出来的对结果预测有用的信息。

    2、特征工程(Feature Engineering)

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

    3、特征工程的意义

    (1)特征工程是将原始数据转化为特征,能更好表示预测模型处理的实际问题,提升对于未知数据预测的准确性。

    (2)更好的特征意味着更强的灵活度、更好的特征意味着只需要用简单模型、更好的特征意味着更好的结果。

    二、特征工程——数据预处理

    1、缺失值处理

    (1) 连续值:可以选择该特征值的所有样本的均值中位数来填充缺失值

    (2) 离散值:选择该特征值的所有样本中最频繁出现的类别值来填充缺失值

    注:不可信的样本丢掉,缺省值极多的字段考虑不用(即删掉)

    from sklearn.preprocessing import Imputer

    2、离散特征的连续化处理

    (1)独热编码(one-hot encoding)(哑变量)

    处理方法比较简单,比如某特征的取值是高,中和低,那么我们就可以创建三个取值为0或者1的特征,将高编码为1,0,0,中编码为0,1,0,低编码为0,0,1。也就是说,之前的一个特征被我们转化为了三个特征。

    from sklearn.preprocessing import LabelEncoder
    from sklearn.preprocessing import OneHotEncoder

    (2)特征嵌入(embedding)

    这个一般用于深度学习中。比如对于用户的ID这个特征,如果要使用独热编码,则维度会爆炸,如果使用特征嵌入维度就低很多了。对于每个要嵌入的特征,我们会有一个特征嵌入矩阵,这个矩阵的行很大,对应我们该特征的数目。比如用户ID,如果有100万个,那么嵌入的特征矩阵的行就是100万。但是列一般比较小,比如可以取20。这样每个用户ID就转化为了一个20维的特征向量,进而参与深度学习模型。

    在tensorflow中,我们可以先随机初始化一个特征嵌入矩阵,对于每个用户,可以用tf.nn.embedding_lookup找到该用户的特征嵌入向量。特征嵌入矩阵会在反向传播的迭代中优化。

    3、连续特征的离散化处理

    连续特征的离散化就是在数据的取值范围内设定若干个离散的划分点,将取值范围划分为一些离散化的区间,最后用不同的符号或整数值代表落在每个子区间中的数据值。

    首先要确定分类数,然后将连续特征值映射到这些分类值(等宽法、等频法、一维聚类)。

    (1)根据阈值进行分组

    比如我们根据连续值特征的分位数,将该特征分为高,中和低三个特征。将分位数从0~0.3的设置为低,0.3~0.7的设置为中,0.7~1的设置为高。

    (2)基于聚类分析的方法

    一维聚类的方法包括两个步骤,首先将连续特征的值用聚类算法(如K-Means算法)进行聚类,然后再将聚类得到的簇进行处理,合并到一个簇的连续特征值并做同一标记。聚类分析的离散化方法也需要用户指定簇的个数,从而决定产生的区间数。

    (3)使用梯度提升树(GDBT)将连续值转化为离散值

    在sklearn中,我们可以用GradientBoostingClassifier的 apply方法很方便的得到样本离散化后的特征,然后使用独热编码即可

    4、特征的标准化和归一化(数值型数据)

    数据规范化处理是数据挖掘的一项基础工作。不同的评价指标往往具有不同的量纲,数值间的差别可能很大,不进行处理可能会影响到数据分析的结果。为了消除指标之间的量纲和取值范围差异的影响,需要进行标准化处理,将数据按照比例进行缩放,使之落入一个特定的区域,便于进行综合分析。

    (1)零 - 均值标准化(Z - score)

    具体的方法是求出样本特征x的均值mean和标准差std,然后用(x-mean)/std来代替原特征。这样特征就变成了均值为0,方差为1。该方法是当前用的最多的数据标准化方法。

    from sklearn.preprocessing import StandardScaler

    (2)最小 - 最大标准化(min - max)

    最小 - 最大标准化也成为离差标准化,是对原始数据的线性变换,将数值映射到[0,1]之间。

    具体的方法是求出样本特征x的最大值max和最小值min,然后用(x-min)/(max-min)来代替原特征。如果我们希望将数据映射到任意一个区间[a,b],而不是[0,1],那么也很简单。用(x-min)(b-a)/(max-min)+a来代替原特征即可。

    from sklearn.preprocessing import MinMaxScaler

    (3)L1/L2范数标准化

    from sklearn.preprocessing import Normalizer

    5、时间类型的数据处理

    (1)连续的时间差值法

    即计算出所有样本的时间到某一个未来时间之间的数值差距,这样这个差距是UTC的时间差,从而将时间特征转化为连续值。

    (2)将一个时间转化为离散特征

    根据时间所在的年,月,日,星期几,小时数,将一个时间特征转化为若干个离散特征,这种方法在分析具有明显时间趋势的问题比较好用。

    6、文本类型的数据预处理

    参看文本预处理

    (1)词袋

    直接把文本数据丢给模型,模型是无法解释的,因此需要把文本型的数据用数值表示。去掉停用词,标点符号,留下表达实际含义的词组成列表,在词库中映射稀疏向量。

    from sklearn.feature_extraction.text import CountVectorizer

    (2)把词袋中的词扩充到 n-gram

    它的思想是:在整个语言环境中,句子T的出现概率是由组成T的N个词组成的。

    (3)使用TF-IDF方法

    参看TF-IDF算法

    from sklearn.feature_extraction.text import TfidfVectorizer

    (4)word2vec将词转化为词向量(NLP)

    7、异常特征样本清洗

    异常数据的清洗,目标是将原始数据中异常的数据清除。

    (1)偏差检测(  聚类(KMeans)和最近邻(KNN))

    比如我们可以用KMeans聚类将训练样本分成若干个簇,如果某一个簇里的样本数很少,而且簇质心和其他所有的簇都很远,那么这个簇里面的样本极有可能是异常特征样本了。我们可以将其从训练集过滤掉。

    (2)异常点检测(iForest,one class SVM)

    主要是使用iForest或者one class SVM,使用异常点检测的机器学习算法来过滤所有的异常点。

    (3)基于统计的异常点检测

    例如极差,四分位数间距,均差,标准差等,这种方法适合于挖掘单变量的数值型数据。全距(Range),又称极差,是用来表示统计资料中的变异量数(measures of variation) ,其最大值与最小值之间的差距;四分位距通常是用来构建箱形图,以及对概率分布的简要图表概述。

    (4)基于距离的异常点检测

    主要通过距离方法来检测异常点,将数据集中与大多数点之间距离大于某个阈值的点视为异常点,主要使用的距离度量方法有绝对距离 ( 曼哈顿距离 ) 、欧氏距离和马氏距离等方法。

    (5)基于密度的异常点检测

    考察当前点的周围密度,可以发现局部异常点,例如LOF算法

    8、处理不平衡数据

          不平衡数据集介绍和处理方法

    三、特征工程——特征选择

    1、过滤法选择特征(Filter)

    它按照特征的发散性或者相关性指标对各个特征进行评分,设定评分阈值或者待选择阈值的个数,选择合适的特征。

    (1)方差筛选法

    使用方差选择法,先要计算各个特征的方差,然后根据阈值,选择方差大于阈值的特征。(方差越大的特征,那么我们可以认为它是比较有用的。如果方差较小,比如小于1,那么这个特征可能对我们的算法作用没有那么大。最极端的,如果某个特征方差为0,即所有的样本该特征的取值都是一样的,那么它对我们的模型训练没有任何作用,可以直接舍弃。在实际应用中,我们会指定一个方差的阈值,当方差小于这个阈值的特征会被我们筛掉。)

    from sklearn.feature_selection import VarianceThreshold

    (2)相关系数

    这个主要用于输出连续值的监督学习算法中。我们分别计算所有训练集中各个特征与输出值之间的相关系数,设定一个阈值,选择相关系数较大的部分特征。即使用相关系数法,先要计算各个特征对目标值的相关系数以及相关系数的P值。

    from sklearn.feature_selection import SelectKBest
    from scipy.stats import pearsonr

    (3)假设检验法(卡方检验、F检验、t检验)

    卡方检验可以检验某个特征分布和输出值分布之间的相关性。

    经典的卡方检验是检验定性自变量对定性因变量的相关性。假设自变量有N种取值,因变量有M种取值,考虑自变量等于i且因变量等于j的样本频数的观察值与期望的差距。

    我们还可以使用F检验和t检验,它们都是使用假设检验的方法,只是使用的统计分布不是卡方分布,而是F分布和t分布而已。

    from sklearn.feature_selection import SelectKBest
    from sklearn.feature_selection import chi2

    (4)互信息

    即从信息熵的角度分析各个特征和输出值之间的关系评分。在决策树算法中我们讲到过互信息(信息增益)。互信息值越大,说明该特征和输出值之间的相关性越大。

    经典的互信息也是评价定性自变量对定性因变量的相关性。

    熵与信息增益算法详解

    from sklearn.feature_selection import SelectKBest 
    from minepy import MINE

    注:过滤法特征选择的缺点:没有考虑到特征之间的关联作用,可能把有用的关联特征误踢掉。

    2、包装法选择特征(Wrapper)

    根据目标函数,通常是预测效果评分,每次选择部分特征,或者排除部分特征。

    (1)递归消除特征算法(recursive feature elimination algorithm)

    递归消除特征法使用一个机器学习模型来进行多轮训练,每轮训练后,消除若干权值系数的对应的特征,再基于新的特征集进行下一轮训练。

    from sklearn.feature_selection import RFE 
    from sklearn.linear_model import LogisticRegression

    3、嵌入法选择特征(Embedded)

    先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据权值系数从大到小来选择特征。(类似于Filter方法,但是是通过训练来确定特征的优劣。)

    (1)基于惩罚项的特征选择法

    使用带惩罚项的基模型,除了筛选出特征外,同时也进行了降维。

    最常用的是使用L1正则化和L2正则化来选择特征。正则化惩罚项越大,那么模型的系数就会越小。当正则化惩罚项大到一定的程度的时候,部分特征系数会变成0,当正则化惩罚项继续增大到一定程度时,所有的特征系数都会趋于0. 但是我们会发现一部分特征系数会更容易先变成0,这部分系数就是可以筛掉的。也就是说,我们选择特征系数较大的特征。常用的L1正则化和L2正则化来选择特征的基学习器是逻辑回归。(L1惩罚项降维的原理在于保留多个对目标值具有同等相关性的特征中的一个,所以没选到的特征不代表不重要。故,可结合L2惩罚项来优化。具体操作为:若一个特征在L1中的权值为1,选择在L2中权值差别不大且在L1中权值为0的特征构成同类集合,将这一集合中的特征平分L1中的权值,故需要构建一个新的逻辑回归模型)

    from sklearn.feature_selection import SelectFromModel 
    from sklearn.linear_model import LogisticRegression

    (2)基于树模型的特征选择法

    可以使用决策树或者GBDT。一般来说,可以得到特征系数coef或者可以得到特征重要度(feature importances)的算法才可以做为嵌入法的基学习器。

    树模型中GBDT也可用来作为基模型进行特征选择,使用feature_selection库的SelectFromModel类结合GBDT模型。

    from sklearn.feature_selection import SelectFromModel
    from sklearn.ensemble import GradientBoostingClassifier

    4、寻找高级特征(特征构造)

    在数据挖掘的过程中,为了提取更有用的信息,挖掘更深层次的模式,提高挖掘结果的精度,我们需要利用已有的特征集构造出新的特征,并加入到现有的特征集合中。(即我们从业务特征中自己去寻找高级数据特征)

    在Kaggle之类的算法竞赛中,高分团队主要使用的方法除了集成学习算法,剩下的主要就是在高级特征上面做文章。所以寻找高级特征是模型优化的必要步骤之一。当然,在第一次建立模型的时候,我们可以先不寻找高级特征,得到基准模型后,再寻找高级特征进行优化。(比如有车的路程特征和时间间隔特征,我们就可以得到车的平均速度这个二级特征。根据车的速度特征,我们就可以得到车的加速度这个三级特征等)

    寻找高级特征最常用的方法有:若干项特征加和,若干项特征之差,若干项特征乘积,若干项特征除商。

    寻找高级特征它是根据业务和模型需要而得,而不是随便的两两组合形成高级特征,这样容易导致特征爆炸,反而没有办法得到较好的模型。

    一般而言,聚类的时候高级特征尽量少一点,分类回归的时候高级特征适度的多一点。

    四、特征工程——降维

    当特征选择完成后,可以直接训练模型了,但是可能由于特征矩阵过大,导致计算量大,训练时间长的问题,因此降低特征矩阵维度也是必不可少的。常见的降维方法除了以上提到的基于L1惩罚项的模型以外,另外还有主成分分析法(PCA)和线性判别分析(LDA),线性判别分析本身也是一个分类模型。PCA和LDA有很多的相似点,其本质是要将原始的样本映射到维度更低的样本空间中,但是PCA和LDA的映射目标不一样:PCA是为了让映射后的样本具有最大的发散性;而LDA是为了让映射后的样本有最好的分类性能。所以说PCA是一种无监督的降维方法,而LDA是一种有监督的降维方法。

    (1)主成分分析法(PCA)

    from sklearn.decomposition import PCA

    (2)线性判别分析法(LDA)

    from sklearn.lda import LDA

    (3)奇异值分解(SVD)-文本降维

    在对文本数据进行向量化以后,由于是稀疏矩阵太稀疏,同样可以使用降维技术,这里使用的是奇异值分解。

    from sklearn.decomposition import TruncatedSVD

     

    注:降维技术不是特征选择,降维是把高维数据的特征映射到低维空间中,而特征选择是在高维空间中直接剔除部分特征,选出重要特征。

     

    参考资料:特征工程方法

    交流学习资料共享欢迎入QQ群:955817470​​​​​​​

    展开全文
  • 关于特征工程(FeatureEngineering),已经是很古老很常见的话题了,坊间常说:“数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已”。由此可见,特征工程机器学习中占有相当重要的地位。在实际...
  • 机器学习特征工程

    千次阅读 2018-07-10 15:42:33
    1. 为什么做特征工程 我们学习编程语言时被告知程序=数据结构+算法,那么对于机器学习,我认为也可以类比为机器学习=大数据+机器学习算法+运行平台。面对一个机器学习问题,一般有两种解题思路:传统机器学习...
  • 机器学习 特征工程 特征离散化

    千次阅读 2016-12-31 18:54:03
    如果想深入研究特征离散化,请直接阅读博文最后的英文文献,以免浪费您的时间! 一、什么是特征离散化 简单的说,就是把连续特征分段,每一段内的原始连续特征无差别的看成同一个新特征 二、为什么进行离散化 1...
  • 特征构建是指通过研究原始数据样本,结合机器学习实战经验和相关领域的专业知识,思考问题的潜在形式和数据结构,人工创造出新的特征,而这些特征对于模型训练又是有益的并且具有一定的工程意义。 特征构建的方式...
  • 本文档主要讲解机器学习概述、特征工程机器学习算法
  • 机器学习——特征工程之数据相关性前言图表相关性协方差和协方差矩阵代码实现相关系数1、皮尔逊相关系数( Pearson correlation coefficient)2、斯皮尔曼相关性系数、秩相关系数(spearman correlation coefficient...
  • 1- 机器学习的介绍 为什么要进行机器学习 为了发展 机器学习可以代替更多的人来进行工作,最重要的是进行24小时无疲劳工作 可以扩展行业的更高发展 2- 数据集的结构 常用的数据集 结构 : 特征性 + 目标性 注 : ...
  • 特征离散化后,模型会更稳定,比如如果对用户年龄离散化,20-30作为一个区间,不会因为一个用户年龄长了一岁就变成一个完全不同的人。当然处于区间相邻处的样本会刚好相反,所以怎么划分区间是门学问; 特征离散化...
  • 特征工程是使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程。 更好的特征工程意味着更强的灵活度,更好的特征意味着只需用简单模型,更好的特征意味着更好的结果。 数据清洗 ...
  • 机器学习 特征工程特征选择

    千次阅读 2017-03-25 11:20:16
    机器学习和统计学中,特征选择 也被称为变量选择、属性选择 或变量子集选择 。它是指:为了构建模型而选择相关特征(即属性、指标)子集的过程。 在机器学习中,每个特征对于目标类别的影响并不相同,所以需要从...
  • 机器学习特征工程(一)

    千次阅读 2017-02-11 18:27:57
    特征工程是使用专业背景和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程。 特征工程的意义:1.更好的特征意味着更强的灵活性 2更好的特征意味着只需要简单模型 3更好的特征意味着更好的结果 应用...
  • 5 分钟了解机器学习特征工程

    千次阅读 2021-07-24 09:29:26
    在本文中,我们将了解什么是特征工程以及如何将其应用于您的机器学习算法。 介绍 在我们进一步研究之前,我们需要定义机器学习中的特征。 如果您不熟悉机器学习,那么特征就是机器学习算法模型的输入。 什么是特征...
  • 【导读】如今机器学习正在从人工设计模型更多地转移到自动优化工作流中,如 H20、TPOT 和 auto-sklearn 等工具已被广泛使用。这些库以及随机搜索等方法都致力于寻找最适合数据集的模型,以此简化模型筛选与调优过程...
  • Day13-机器学习练习与特征工程、评价指标.xmind
  • 四、机器学习中的特征工程

    千次阅读 多人点赞 2018-07-27 12:39:18
    一、特征工程 二、数据与特征处理 2.1 数据采集 ...特征工程:使用专业的背景知识和技巧处理数据,使得特征能在机器学习算法上发生更好的作用的过程 特征工程的意义:更好的特征意味着更强的灵活性+只需简...
  • [译] 面向机器学习特征工程
  • 机器学习特征工程课件,详细介绍了数据处理中如何对特征进行分析,详细地讲解了几种常规方法。方便新手快速入门大数据处理
  • 机器学习中的数据与特征工程.pdf
  • 机器学习中的特征工程总结!

    千次阅读 2020-10-17 20:13:44
    结构总览 特征工程 传统编程的关注点是代码。在机器学习项目中,关注点变成了特征表示。也就是说,开发者通过添加和改善特征来调整模型。“Garbage in, garbage ... 特征工程将原始数据映射到机器学习特征 图 1 左..
  • 简介机器学习中的特征工程

    千次阅读 2020-08-08 09:16:52
    ​ 要解决一个机器学习问题,我们不能仅仅通过将算法应用到提供的数据上。比如.fit() 。我们首先需要构建一个数据集。 将原始数据转换为数据集的任务称为特征工程。 ​ 例如,预测客户是否坚持订阅特定产品。这...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 249,319
精华内容 99,727
关键字:

机器学习特征工程

友情链接: 4.-Update00.rar