精华内容
下载资源
问答
  • 15种分类变量编码方法

    千次阅读 2021-02-16 11:04:34
    机器学习问题建模中,15种分类变量编码方法。

    原文:HTML
    原题:All about Categorical Variable Encoding:Convert a categorical variable to number for Machine Learning Model Building
    作者:Baijayanta Roy
    翻译校对:datamonday



    在这里插入图片描述
    大多数机器学习算法都无法处理分类变量,需要将它们转换为数值。许多算法的性能会根据分类变量的编码方式而有所不同
    在这里插入图片描述
    以下是标量(Nominal variable)的一些示例:

    • Red, Yellow, Pink, Blue
    • Singapore, Japan, USA, India, Korea
    • Cow, Dog, Cat, Snake

    序数变量(Ordinal variables)的示例:

    • High, Medium, Low
    • “Strongly agree,” Agree, Neutral, Disagree, and “Strongly Disagree.”
    • Excellent, Okay, Bad

    可以通过多种方式将这些分类变量编码为数值,这篇文章将介绍从基本到高级的大多数内容,包含以下编码方法:

    1. One Hot Encoding
    2. Label Encoding
    3. Ordinal Encoding
    4. Helmert Encoding
    5. Binary Encoding
    6. Frequency Encoding
    7. Mean Encoding
    8. Weight of Evidence Encoding
    9. Probability Ratio Encoding
    10. Hashing Encoding
    11. Backward Difference Encoding
    12. Leave One Out Encoding
    13. James-Stein Encoding
    14. M-estimator Encoding
    15. Thermometer Encoder (To be updated)

    为了说明起见,我将使用此数据表格(DataFrame),其包含两个独立变量或特征(温度和颜色)和一个标签(目标)。 它还具有Rec-No,它是记录的序列号,共有10条记录。Python代码如下所示。

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    我们将使用Pandas和Scikit-learn和category_encoders(Scikit-learn贡献库)来显示Python中的不同编码方法。


    One Hot Encoding

    在这种方法中,将每个类别映射到一个包含1和0的矢量,表示该特征的存在与否。 向量的数量取决于特征类别的数量。如果该特征类别的数量非常多,则此方法会产生很多列,从而大大降低学习速度。 Pandas的 get_dummies 函数可以将分类变量编码为哑变量:

    在这里插入图片描述
    Scikit-learn中的 OneHotEncoder 类也可以实现,但它不会创建其他特征列。
    在这里插入图片描述
    独热编码(One Hot Encoding)非常流行。可以用N-1(N=类别数)来表示所有类别,因为这足以对没有包含的类别进行编码。通常,对于回归,使用N-1(放弃独热编码新特征的第一列或最后一列),但对于分类,建议使用所有N列,因为大多数基于树的算法都是基于所有可用变量建立一棵树。在线性回归中应该使用具有N-1个二元变量的一热编码,以确保正确的自由度数(N-1)。线性回归在训练的过程中,可以获得所有的特征,因此会完全检查整个虚变量集。这意味着N-1个二元变量给线性回归提供了原始分类变量的完整信息(完全代表)。这种方法可以用于任何在训练过程中同时考察所有特征的机器学习算法。例如,支持向量机和神经网络以及和聚类算法。

    在基于树的方法中,如果删除,将永远不会考虑该附加标签。 因此,如果在基于树的学习算法中使用分类变量,则比较好的做法是将其编码为N个二进制变量,并且不要丢弃。


    Label Encoding

    在这种编码中,为每个类别分配了一个从1到N的值(N为特征的类别数)。这种方法的一个主要问题是这些类别之间没有关系或顺序,但是算法可能会将它们视为但是算法可能会将它们视为某种顺序,或者存在某种关系。 在下面的示例中,它看起来像(Cold <Hot <Very Hot <Warm … 0 <1 <2 ❤️)。
    在这里插入图片描述
    Pandas的 factorize 也执行相同的功能。

    在这里插入图片描述


    Ordinal Encoding

    我们执行序数编码以确保变量的编码保留变量的序数性质。 正如我在本文开头提到的那样,这仅对序数变量合理。 这种编码看起来几乎与标签编码类似,但略有不同,因为标签编码不会考虑变量是否为序数,并且会分配整数序列

    • as per the order of data (Pandas assigned Hot (0), Cold (1), “Very Hot” (2) and Warm (3)) or
    • as per alphabetical sorted order (scikit-learn assigned Cold(0), Hot(1), “Very Hot” (2) and Warm (3)).

    如果我们以温度标尺为顺序,则顺序值应从“冷”到“非常热”。 顺序编码会将值指定为 ( Cold(1) <Warm(2)<Hot(3)<Very Hot(4))。 通常,我们从1开始进行序数编码。

    使用Pandas引用此代码,首先,需要通过字典分配变量的原始顺序。 然后按照字典映射变量的每一行。
    在这里插入图片描述
    尽管非常简单,但仍需要进行编码以告知序数值,以及按顺序从文本到整数的实际映射是什么。


    Helmert Encoding

    在此编码中,将某个级别的因变量的平均值与所有先前级别的因变量的平均值进行比较。

    category_encoders中的版本有时称为反向Helmert编码。 将某个级别的因变量平均值与之前所有级别的因变量平均值进行比较。因此,名称“reverse”用于区别于 forward Helmert编码。

    在这里插入图片描述


    Binary Encoding

    二进制编码将类别转换为二进制数字。 每个二进制数字创建一个特征列。 如果存在n个唯一类别,则二进制编码将导致仅有log(base 2)ⁿ 个特征。 在此示例中,有四个特征; 因此,二进制编码特征的总数将是三个特征。 与“独热编码”相比,这将需要较少的特征列(对于100个类别,“独热编码”将具有100个特征,而对于“二进制”编码,我们将仅需要七个特征)

    对于二进制编码,必须遵循以下步骤:

    • 首先,将类别转换为从1开始的数字顺序(顺序是在类别出现在数据集中时创建的,并不表示任何序数性质)
    • 然后,将这些整数转换为二进制代码,例如3变为011,4变为100。
    • 然后,二进制数的数字形成单独的列。

    请参考下图:
    在这里插入图片描述
    使用category_encoders包中的 BinaryEncoder 函数可以实现二进制编码。
    在这里插入图片描述


    Frequency Encoding

    这是一种利用类别的频率作为标签的方法在频率与目标变量有些相关的情况下,它可以帮助模型根据数据的性质以正比例和反比例理解和分配权重。 三个步骤:

    • 选择要转换的分类变量
    • 按类别变量分组并获得每个类别的计数
    • 将其与训练数据集重新结合

    在这里插入图片描述


    Mean Encoding

    平均编码或目标编码是Kagglers遵循的一种病毒(viral)编码方法。这有很多变化,我将介绍基本版本和平滑版本。平均编码与标签编码类似,只是这里的标签与目标直接相关。例如,在平均目标编码中,对于特征标签中的每一个类别,都是用目标变量在训练数据上的平均值来决定的。这种编码方法将相似类别之间的关系凸显出来,但联系被限定在类别和目标本身之内。平均目标编码的优点是不影响数据量,有助于加快学习速度。通常,Mean编码存在过拟合,因此,在大多数场合,使用交叉验证或其他方法进行正则化是必须的。平均数编码的方法如下:

      1. 选择要转换的分类变量。
      1. 按类别变量分组,并获得“目标”变量上的汇总和。 (“温度”中每个类别的总数为1)
      1. 按类别变量分组,并获得“目标”变量的总计数。
      1. 划分第2步/第3步的结果,然后将其与训练集合并。

    在这里插入图片描述
    代码实现:
    在这里插入图片描述
    均值编码可以在标签中体现目标,而标签编码与目标不相关。在具有大量特征的情况下,均值编码可能被证明是更简单的选择。均值编码倾向于对类别进行分组,而在标签编码的情况下,分组是随机的。

    实际上,此目标编码有多种变体,例如平滑。 平滑可以实现如下:

    在这里插入图片描述


    Weight of Evidence Encoding

    证据权重(WoE)是衡量分组技术区分好坏的“强度”的一种度量。 开发此方法主要是为了建立一种预测模型,以评估信贷和金融行业中的贷款违约风险。 证据权重(WOE)用于衡量证据支持或破坏假设的程度

    其计算方法如下:
    在这里插入图片描述
    如果P(Goods) / P(Bads) = 1,则WoE将为0。也就是说,该组的结果是随机的。 如果P(Bads) > P(Goods) ,则优势比将小于1,WoE将小于0; 另一方面,如果一组中的P(Goods) > P(Bads),则WoE> 0。

    WoE非常适合Logistic回归,因为Logit变换只是几率的对数,即 ln(P(Goods)/P(Bads))。 因此,通过在Logistic回归中使用WoE编码的预测变量,可以将所有预测变量准备和编码为相同的比例。线性逻辑回归方程中的参数可以直接比较。

    WoE转换具有(至少)三个优点:

    • 1)它可以转换自变量,以便与因变量建立单调关系。它所做的还不止于此:要确保单调关系,将其“重新编码”为任何有序的度量(例如1,2,3,4…)就足够了,但是WoE转换按“逻辑”规模对类别进行排序, Logistic回归很自然;
    • 2)对于具有太多(稀疏填充)离散值的变量,可以将它们分为几类(密集填充),并且WoE可以用于表示整个类别的信息;
    • 3)由于WoE是标准值,因此可以在类别和变量之间比较每个类别对因变量的(单变量)影响(例如,可以将已婚人员的WoE与体力劳​​动者的WoE进行比较)。

    它还(至少)具有三个缺点:

    • 1)由于归类为几个类别而导致的信息丢失;
    • 2)这是一个“单变量”量度,因此未考虑自变量之间的相关性
    • 3)根据类别的创建方式,很容易操纵(过拟合)变量的影响。

    下面代码片段说明了如何构建代码来计算WoE。
    在这里插入图片描述

    一旦为每个组计算WoE,我们就可以将其映射回Data-frame。
    在这里插入图片描述


    Probability Ratio Encoding

    概率比编码与证据权重(WoE)类似,唯一的区别是仅使用了好坏概率之比。 对于每个标签,我们计算target = 1的平均值,即平均值为 1 ( P(1) ),以及target = 0 ( P(0) )的概率。 然后,我们计算比率P(1)/P(0)并用该比率替换标签。我们需要为P(0)添加一个最小值,以避免任何除以零的情况,其中对于任何特定类别,没有target = 0。

    在这里插入图片描述
    在这里插入图片描述


    Hashing

    散列将分类变量转换为整数的高维空间,其中分类变量的两个向量之间的距离大致保持了变换后的数字维空间。 使用散列时,维度数量将远远少于像“独热编码”这样的编码方式的维度数量当分类的基数非常高时,此方法很有用


    Backward Difference Encoding

    在后向差分编码中,将一个级别的因变量的平均值与先前级别的因变量的平均值进行比较。 这种类型的编码对于标称或有序变量可能有用。

    该技术属于用于分类特征的对比度编码系统。 K个类别或级别的特征通常以K-1个虚拟变量序列的形式进入回归。


    Leave One Out Encoding

    这与目标编码非常相似,但是在计算某个级别的平均目标以减少离群值的影响时会排除当前行的目标。


    James-Stein Encoding

    对于特征值,James-Stein估计量返回的加权平均值为:

    1. 观察到的特征值的平均目标值。
    2. 平均目标值(与特征值无关)。
      James-Stein编码器将平均值缩小为总体平均值。 它是基于目标的编码器。 但是,James-Stein估计量有一个实际限制-仅针对正态分布进行了定义。

    M-estimator Encoding

    M-Estimate编码器是目标编码器的简化版本。 它只有一个超参数-m,代表正则化的功效。 m值越高,收缩越强。 m的推荐值在1到100的范围内。


    FAQ

    【常见问题解答01:我应该使用哪种方法?】

    答:没有适用于每个问题或数据集的单一方法。 你可能需要尝试一些才能看到效果更好的结果。 一般准则是参考文章末尾显示的备忘单。

    【常见问题解答02:如何针对情况(例如目标编码)创建分类编码,因为在测试数据中不会有任何目标值?】

    答:我们需要使用训练时创建的映射值。 此过程与缩放或规范化中的概念相同,在缩放或规范化中,我们使用训练数据来缩放或规范化测试数据。 W映射并在测试时间预处理中使用相同的映射。 我们甚至可以为每个类别和映射值创建一个词典,然后在测试时使用该词典。 在这里,我使用均值编码来解释这一点。

    Training Time
    在这里插入图片描述
    Testing Time
    在这里插入图片描述


    Conclusion

    对于所有机器学习模型,必须理解所有这些编码在所有情况下或对于每个数据集都无法正常工作。 数据科学家仍然需要进行实验,并找出最适合其特定情况的方法。 如果测试数据具有不同的类别,则其中某些方法将无法使用,因为功能将不相似。 研究社区的基准出版物很少,但不是结论性的,效果最好。 我的建议是尝试使用较小的数据集尝试每种方法,然后决定将重点放在调整编码过程上。 可以使用下面的备忘单作为指导工具。
    在这里插入图片描述

    展开全文
  • 两个分类变量间的关系,无法直接使用常见的皮尔逊相关系数来表述,多采用频数统计、交叉表卡方检验等过程进行处理,当分类变量的取值较多时,列联表频数的形式就变得更为复杂,很难从中归纳出变量间的关系。...

    两个分类变量间的关系,无法直接使用常见的皮尔逊相关系数来表述,多采用频数统计、交叉表卡方检验等过程进行处理,当分类变量的取值较多时,列联表频数的形式就变得更为复杂,很难从中归纳出变量间的关系。

    对应分析,则是解决分类变量间关系这个复杂问题的有力武器。也称为相应分析,是一种多元统计分析方法,目的是在同时描述各变量分类间关系时,在一个低维度空间中对对应表中的两个分类变量进行关系的描述。

    常见应用领域如市场研究分析、竞争分析等。

    一、先看一个案例

    对于男性而言,个人职位是否与吸烟有关,假设有人收集了这样的一组数据,如下:

    数字表示人数,仅从交叉表内数据大小按照热度区分的话,效果大概是这个样子,红色越深的格子表示人数越多:

    我们发现初级雇员普遍吸烟,中度最多,其他的表现并不明显,总体上很难发现什么规律。

    除了热图之外,还可以考虑常见的条形图,效果如下:

    可视化的效果要比前面热图好很多,给人的直观感觉是,职位较高的男性,重度吸烟的比例较低,多数从不吸烟。

    经过以上两种图示化方法的预处理,我们能从其中总结职位和吸烟关系的把握并不大。

    二、SPSS交叉表卡方检验

    熟悉SPSS统计分析的人可能还会想到,是否可以先采用交叉表卡方检验来观察职位和吸烟之间的关系呢?

    展开全文
  • 在基因数据的分析中,经常会用到lasso(套索)这种方法来进行变量的筛选,其实就是在目标优化函数后边加一个L1正则化项,其中参数lamda为超参数,需要我们去确定。接下来以线性回归为例介绍其在R语言中的实现,当然在...

    在基因数据的分析中,经常会用到lasso(套索)这种方法来进行变量的筛选,其实就是在目标优化函数后边加一个L1正则化项,其中参数lamda为超参数,需要我们去确定。接下来以线性回归为例介绍其在R语言中的实现,当然在logistic回归、cox回归也是可用lasso的。

    实例数据

    data("longley")

    e21df80c82ca0b650265d4b3d9e1844f.png

    R包(glmnet)

    library(glmnet)

    我们用交叉验证来确定lamda的值,在这里我们随便指定使用nfolds=4 4折交叉验证,实际中常用5折或者10折。以Employed为因变量,其余变量为自变量(不包括年份)建立模型

    set.seed(123)x <- as.matrix(longley[,-c(6,7)])cv_lasso = cv.glmnet(x, longley$Employed,nfolds = 4,family = "gaussian", alpha = 1)

    在这里对应于mse最小的lamda即为我们最终采用的lamda,lambda.min就是所求,大小约为0.097

    plot(cv_lasso) sprintf('Best lambda for LASSO: %f.', cv_lasso$lambda.min)

    49d0101260ac851356b48096ae15eae0.png

    30f2cd120790ffb9aff93cd6f3fcc4b1.png

    我们可以验证下看lambda.min对应的是不是最小的mse,运行下面程序,发现mse最小处对应的lamda与以上程序返回值一致

    cv_lasso$lambda[which(cv_lasso$cvm==min(cv_lasso$cvm))]

    返回参数的系数,可以看到只剩下两个变量

    coef(cv_lasso,s = "lambda.min")

    4145c926f65045c4bc33b029a3b6828f.png

    展开全文
  • 有序/无序分类变量的统计推断

    千次阅读 2020-08-04 19:22:47
    有序/无序分类变量的统计推断1 有序分类变量的统计推断——非参数检验1.1 非参数检验概述1.2 两个配对样本的非参数检验1.3 两个独立样本的非参数检验1.4 多个独立样本的非参数检验1.5 多个配对样本的非参数检验2 ...

    在这里插入图片描述

    1 有序分类变量的统计推断——非参数检验

    1.1 非参数检验概述

    如果想要检验两个正态总体是否具有相同的均数 ,做t检验即可,这是一个典型的参数统计方法。参数统计方法往往假设统计总体的分布形态已知,但是在更多的实际场合常常由于缺乏足够信息 ,无法合理地去假设一个总体具有某种分布形式,此时就不能去使用相应的参数方法了。推而广之,不能使用参数方法的情形可能是当不知道所研究样本来着总体的具体分布,或已知总体分布与检验所要求的条件不符;数据的测量尺度是名义和顺序尺度,甚至某些变量可能无法稍确测量 ,均值、方差的计算已经没有意义时,但是,此时有的人却忽略参数统计方法的前提,仍然牵强地使用参数方法,面对由此得到的不合理结果却不知问题何在。 实际上,正确的思路应当是放弃对总体分布参数的依赖,转而寻求更多的纯粹来自数据的信息,这就是所谓的非参数统计方法。

    非参数统计方法主要用于那些总体分布不能用有限个实参数来刻画,或者不考虑被研究的对象为何种分布以及分布是否已知的情形,它对总体分布几乎没有什么假定,只是有时对分布的形状做一些诸如连续、对称等简单假设。但实际上,并非说在推断中什么分布参数都不利于,而是指推断过程和结论均与原总体参数无关。例如,最常用的秩和检验就是基于秩次的分布特征推导出来的。

    和参数方法相比,非参数检验方法的优势如下:

    • 稳健性。因为对总体分布的约束条件大大放宽,不至于因为统计中的假设过程过分理想化而无法切合实际情况,不至于对个别偏离较大的数据太敏感
    • 对数据的测量尺度无约束时,对数据的要求也不严格,什么数据类型都可以做
    • 适用于小样本、无分布样本、数据污染样本、混杂样本等

    非参数检验预备知识
    在这里插入图片描述
    在这里插入图片描述

    1.2 两个配对样本的非参数检验

    事实上,配对样本的非参数检验方法的基本逻辑和参数检验并无区别,也是首先 求出配对数据的差值。然后考察差值总体的中心位置是否为0。只是由于不再涉及分布类型,因此不能使用均数这一与总体分布有关的参数加以检验。一般而言,相应的假设都被归结为考察总体中位数是否为0。

    • H0:差值的总体中位数Md=0;
    • H1:差值的总体中位数Md≠0;

    但是,仅有假设是不够的,还需要一个合适的统计量。构建统计量的方法如下:

    • Sign符号检验
      原理:如果两个配对样本实际上无区别,则将样本数据相减所得的差值应当大致有一半正,一半负。那么若H0成立,则S+,S-大体相等,都服从二项分布B(n,0.5)。显然,符号检验没有利用这些差值的大小所包含的信息,因此它虽然简单易行,但检验效能较低,精度较差。一般而言,这种方法更适用于对无法用数字计量的情况进行比较,如资料本身就是二分类,对于连续性的资料则最好不使用。
    • Wilcoxon符号秩检验
      既考虑样本差值的符号,又考虑到差值的顺序。若差值di为连续变量并且服从正态分布,则一般可以用t检验,若不是正态分布,就只能采用非参数分析方法。
    • McNemar
      配对卡方检验,只适用于二分类资料,它考察的重点是两组间分类的差异,对于相同的分类忽略不计,适用于自身对照设计,用于分析处理前后的变化情况。
    • Marginal Homogeneity
      是McNemar法向多分类情形的扩展,适用于资料为有序分类的情况。

    1.3 两个独立样本的非参数检验

    • Mann-Whitney U检验
      它是和参数t检验相对应的一种非参数检验方法,用来检验两个独立样本是否取自同一总体,就是两样本秩和检验,在检验时利用了大小次序,即检验A样本中的数值是否多数都大于B样本。
    • Kolmogorov-Smirnov Z检验
      和单样本检验中K-S检验是一类的,可以对连续性资料的分布情况加以考察。
    • Moses Extreme Reactions检验
      结果为单侧检验。如果施加的处理使得某些个体出现正向效应,而另一些个体出现负向效应,就应当采用该检验方法。
    • Wald-Wolfowitz Runs检验
      属于游程检验的一种,即检验的是总体分布情况是否相同。

    1.4 多个独立样本的非参数检验

    • Kruska-Wallis检验
    • Median中位数法

    1.5 多个配对样本的非参数检验

    • Friedman检验
    • Kendall协和系数
    • Cochran检验方法

    2 无序分类变量的统计推断——卡方检验

    2.1 卡方检验概述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    卡方检测的用途

    • 检验某个连续变量的分布是否与某种理论分布相一致。如是否符合正态分布 、是否服从均匀分布、是否服从Poisson分布等
    • 检验某个分类变应各类的出现概率是否等于指定慨事。如在36选7的彩票抽奖中,每个数字出现的概率是否各为1 /36;掷硬币时正反两面出现的慨率是否均为 0.5
    • 检验某两个分类变量是否相互独立。如吸烟(二分类变量:是、否)是否与呼吸道疾病(二分类变量:是、否)有关;产品原料种类(多分类变量)是否与产品合格(二分类变量)有关
    • 检验控制某种或某几种分类变量的作用以后,另两个分类变量是否相互独立。如在上例中,控制性别、年龄因素影响以后 ,吸烟是否和呼吸道疾病有关 ,控制产品加工工艺的影响后,产品原料类别是否与产品合格有关
    • 检验某两种方法的结果是否一致。如果用两种诊断方法对同一批人进行诊断,其结果是否一致:采用两种方法对客户进行价值类别预测,预测结果是否一致

    2.2 单样本案例:考察抽样数据的性别分布

    在这里插入图片描述

    2.3 两样本案例:不同收入级别家庭的轿车拥有率比较

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    2.4 一致性检验与配对卡方检验

    关联程度的测量:卡方检验从定性的角度指出是否存在相关性,而各种关联指标从定量的角度指出相关的程度如何。不同的指标适用于不同类型的变量。

    • RR值是一个概率的比值,是指实验组人群反应阳性概率与对照组人群反应阳性概率的比值,用于反映实验因素与反应阳性的关联程度
    • OR值是比值的比,是反应阳性人群中实验因素有无的比例与反应阴性人群中实验因素有无的比例之比。在下列两个条件均满足时可用于估计 RR 值:所关注的事件发生的概率比较小(<0. I),这个条件保证比数比能对相对危险度有一个好的近似;所涉及的研究是病例对照研究
    • 在SPSS中,在交叉表过程的"统计量" 子对话框中选巾"风险"复选框会自动给出 OR与RR值

    Kappa检验与配对卡方检验:Kappa 一致性检验用于对两种方法结果的一致程度进行评价;配对卡方检验则用于分析两种分类方法的分类结果是否有差异

    2.5 分层卡方检验

    分层卡方检验:分层卡方是把研究对象分解成不同层次,按各层对象来进行行变量与列变量的独立性研究。可在去除分层因素混杂的影响下更准确地对行列变量的独立性进行研究。在SPSS中,在交叉表过程的"统计量"子对话框中选中"Cochran’ s and Mantel- Haenszel统计量"复选框会自动给出分层卡方检验结果。

    展开全文
  • 代码示例 ... 目的:主要用于处理多分类变量,把不能量化的多分类变量量化,每个哑变量对模型的影响都细化,提高模型精准率 具体操作 假如“职业因素”列,共有5个分类变量:学生、农...
  • 前面我们已经提到,当自变量是连续变量时,线性回归可以写成一个线性方程式y = b0 + b1*x1 + b2*x2 + …那么,当自变量是分类变量时,回归分析时如何处理的呢?我们能不能把各个分类的类别像血压、血糖数值一样,...
  • 分类变量的水平一定要压缩 模型中分类变量一般需要处理成0-1形式的哑变量。 如果变量水平本身较多,那么哑变量的水平个数也会相应变多,这种情况下去构建模型肯定不行,需要将分类变量的水平进行压缩处理。 .....
  • 机器学习——特征工程之分类变量

    千次阅读 2019-08-30 16:05:43
    机器学习——特征工程之分类变量前言分类变量的编码1、one-hot 编码2、虚拟编码3、效果编码处理大型分类变量1、特征散列化2、分箱计数总结 前言 关于特征工程,已经对空值、数值型和文本数据的处理做了大致方法的...
  • 分类变量logistic回归分析--1

    千次阅读 2020-09-23 22:58:49
    变量(y变量)是多分类的,包括无序和有序的。 无序的多类别因变量:对应无序多分类logistic回归模型 有序的多类别因变量:有序多分类logistic回归模型 2.1 无序多分类logistic回归分析 2.2 有序多分类logistic...
  • 本篇描述分类变量如何进行回归(翻译自...例如,性别作为一个分类变量,它两个水平:男性或女性。 回归分析需要数值变量。因此,当研究者希望在回归模型中包含一
  • 剩下的性别、疾病以及疾病的程度都属于分类变量,在R中它们被称作因子。虽然我们是以字符输入的,但是默认的stringsAsFactors函数会帮我们进行转化。要想了解该数据框的变量都是什么类型的,我们需要一个函数str():...
  • 深度学习编码分类变量的3种方法

    千次阅读 2019-12-23 16:41:25
    像Keras中的机器学习和深度学习模型一样,要求所有输入和输出变量均为数字。 这意味着,如果你的数据包含分类数据,则必须先将其编码为数字,然后才能拟合和评估模型。 两种最流行的技术是整数编码和一种热编码,...
  • 相信很多人都看到过上面这种方块图,有点像...先构造一个练习数据集,假设15个病人,每个病人年龄、性别、症状、是否RNA-seq和WES测序等信息。 library(ggplot2) library(tidyverse) library(reshape2) lib.
  • pandas生成虚拟变量(哑变量) import pandas as pd import numpy as np data = pd.read_csv('train.csv') ...下面将其转化为虚拟变量或者one-hot编码: Department_dummy= pd.get_dummies(data['Depart
  • 问题描述:统计学题,多选1、下列变量属于离散变量( )A.机床台数 B.学生人数 C.耕地面积D.粮食产量 E.汽车产量2、在全国人口普查中( )A、全国人口总数是统计总体B、男性是品质标志表现C、人的年龄是变量D、每一...
  • 分类变量处理 分类变量是经常遇到的问题。一方面它们提供了信息;另一方面,它们可能是文本形式——纯文字或者与文字相关的整数——就像表格的索引一样。 因此,我们在建模的时候往往需要将这些变量量化,...
  • 在实际分析中,经常遇到连续值需要离散化,或者离散值需要哑元化的问题,下面将分别举例说明。 1、连续指标离散化 可以根据自己的需求划分不同的区间,然后使用pandas中cut()、qcut()函数来完成连续变量离散化...
  • 关于无序分类变量量化的处理思考

    千次阅读 2014-12-02 21:15:10
    想必各位用过数据挖掘算法的朋友都会遇到一个问题,就是如何对分类变量进行量化,这个在回归建模或求距离的时候经常遇见。 在此,我把这个问题分解成三个子问题,如下: (1)对有序分类变量的量化。 (2)对逻辑...
  • dummyVars函数: dummyVars creates a full set of dummy... less than full rank parameterization----建立一套完整的虚拟变量 survey<-data.frame(service=c("very unhappy","unhappy","neutral","happy","ve...
  • SPSS-两变量相关性分析

    千次阅读 2020-12-28 21:14:06
    两个变量之间存在确定性:关系和不确定关系(会存在一定的波动范围),就好比你的亲生母亲绝对只有一个,而你的亲叔叔可能好几个(可以在1叔—4叔之间波动)相关性一般分为 1:强正相关关系 (一个值会随着另一个值的...
  • 统计学当中关于变量分类

    万次阅读 2018-11-29 10:46:18
     统计学中的变量(variables)大致可以分为数值变量(numrical)和分类变量(categorical)。  数值型变量是值可以取一些列的数,这些值对于 加法、减法、求平均值等操作是意义的。而分类变量对于上述的操作是...
  • 文章目录频数表与列联表的生成一维频数表二维列联表...首先将数据集中的分类变量因子化,具体参考这里。 频数表与列联表的生成 一维频数表 仅展现1个分类变量频数统计 语法:table(数据框名$变量名) > table(bi
  • 超级详细的特征哑变量处理

    千次阅读 2020-12-05 17:16:24
    ['男','女','男','女'],'age':[2,3,4,3]})dfget_dummies处理pd.get_dummies(df,columns=['性别','age'])get_dummies可以对多列(字符型和数值型)直接进行哑变量编码缺点:如果在测试集中出现了训练集没有出现过的...
  • 名义变量和有序变量取离散值,可以用数值代表也可以 是字符型值,其具体数值没有加减乘除的意义,不能用来计算而只能用来分类或者计数。名 义变量比如性别、省份、职业,有序变量比如班级名次。函数factor()以一个...
  • 引言众所周知,数据挖掘中大约80%的时间被用来做数据预处理。其中高维类别数据是数据挖掘算法(比如神经网络、线性or逻辑回归、SVM)最具挑战性的数据类型。事实上,在一些像决策树或者一些规则归纳的学习算法中,...
  • makefile中变量有哪些?

    千次阅读 2020-03-29 18:44:19
    makefile 分析 – 内置变量及自动变量 ...-p 选项,可以打印出make过程中的数据库, 下面研究一下内置的变量和规则。 -n 选项, 只运行,不执行, -d 选项,相当于–debug=a,  b(basic),v(verbose),i(i...
  • 变量分类及其介绍

    千次阅读 2018-06-01 11:30:16
    本博客整理自网络,仅供学习参考,如侵权,联系删除。邮箱:rom100@163.com 首先了解一下静态储存方式和动态储存方式。 变量的静态储存方式是指,变量在定义时就被分配储存空间,直到整个程序结束。例如:全局...
  • 如何编码类别变量

    千次阅读 2019-10-13 19:29:03
    一个类别变量,是仅取几个值的变量,其中的每个值描述某一属性。例如, 考虑一项关于吃早餐频率的调查。提供四个选项:Never, Rarely, Most days, Every day. 调查私家车的品牌:Honda, Toyota, and Ford. 当...
  • 点击上方“蓝字”,我们一起分析数据Logistic回归是最常用的多因素回归模型,在医学研究中,常...然后,在Rstudio中,输入:mydata "clipboard")查看数据:2第二步 分类变量和等级变量转成因子型变量mydata$sex$sex...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 247,949
精华内容 99,179
关键字:

下面属于分类变量的有