【问题标题】:Dummy Variables - Can the value of these binary variables be more than 1?虚拟变量 - 这些二进制变量的值可以大于 1 吗?
【发布时间】:2021-02-11 23:45:32
【问题描述】:

我有以下数据集:


**organization**     **university**
  Facebook             Harvard
  Facebook             Harvard
  Facebook             Harvard
  Wetpaint             UC Berkeley
  Wetpaint             LSE

这些是这些组织的创始人和联合创始人就读的大学。对于我的机器学习项目(使用随机森林和决策树),我希望每个组织都有 1 行。我相信我可以通过创建虚拟变量来轻松做到这一点,在这些变量中,如果存在组织,则为 1,否则为 0。

创建虚拟变量后,可以将虚拟变量相加并合并行。以下是我期望的结果:


**organization**  **Harvard**  **UC Berkeley**  **LSE**
Facebook               3              0            0
Wetpaint               0              1            1

我想知道这在技术上对机器学习算法是否有意义。我还认为,因为我们有 3 行用于 Facebook,而只有 2 行用于 Wetpaint,这也会导致行不平衡。想知道这是否还会导致其他问题。

或者,是否可以为每个组织重复行并只运行算法?这会导致任何问题吗?

请告诉我。请留下对相关书籍或科学期刊的参考。

【问题讨论】:

    标签: machine-learning dummy-variable


    【解决方案1】:

    要获得所需的输出,只需使用 pandas cross tab

    >>> data = {'organization':['Facebook','Facebook','Facebook','Wetpaint','Wetpaint'], 'university':['Harvard','Harvard','Harvard','UCBerveley','LSE']}
    >>> df = pd.datframe(data=data)
    
    >>> df
      organization  university
    0     Facebook     Harvard
    1     Facebook     Harvard
    2     Facebook     Harvard
    3     Wetpaint  UCBerveley
    4     Wetpaint         LSE
    
    #use crosstab
    
    >>> df_new = pd.crosstab(df.organization, df.university).reset_index()
    >>> df_new
    university organization  Harvard  LSE  UCBerveley
    0              Facebook        3    0           0
    1              Wetpaint        0    1           1
    
    

    对于其他机器学习问题:对于预处理数据集的最佳方法,没有经验法则,这完全取决于您的用例以及您使用的数据量有多大和多样性。例如:在上述问题中,如果您遇到其他大学的0's 问题,您可以在基于organisationuniversity 的情况下以这种方式使用它,而不是在所有单独的列中计算每所大学的数量它会给你在场的人数,所以没有0's

    >>> df.groupby(['organization','university'])['university'].count()
    organization  university
    Facebook      Harvard       3
    Wetpaint      LSE           1
                  UCBerveley    1
    
    

    但是,正如前面所说,这完全取决于您的要求、用例和数据集。互联网上有大量关于如何为给定场景预处理数据的材料,您可以检查它们并确定最适合您需求的材料

    【讨论】:

      猜你喜欢
      • 2017-09-18
      • 2017-03-07
      • 2018-06-06
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 2015-07-28
      • 2022-10-04
      相关资源
      最近更新 更多