【问题标题】:Pandas for binary classification用于二进制分类的 Pandas
【发布时间】:2023-03-12 18:00:02
【问题描述】:

在训练二元分类器之前,我使用 Pandas 进行数据处理。我找不到的一件事是一个函数,它告诉我给定某个特征的值,比如说年龄(例如 60 岁的人),这些人的百分比被归类为 1 或 0(在二进制数据列)。这适用于“年龄”列中的所有不同年龄。

一个简单的例子来说明我的想法。我有以下数据框:

import pandas as pd

data = pd.DataFrame({'Age': [23, 24, 23 ,25 ,24 ,24 ,20], 'label': [0, 1, 1, 0, 1, 1, 0]})

我想要一个函数,它可以为我提供标记为 0 或 1 的所有年龄段的人的百分比。像这样:

   Age   Percentage
0   20     0.0
1   23     0.5
2   24     1.0
3   25     0.0

是否有任何功能已经实现?因为我找不到,而且我发现这是二元分类问题中数据分析的常见需求。

谢谢!

【问题讨论】:

  • 这是一个纯粹的熊猫问题,与machine-learningscikit-learn 无关 - 请不要向无关标签发送垃圾邮件(已删除)。

标签: pandas feature-engineering


【解决方案1】:

只做一个 groupby 意思:

>>> data.groupby('Age').mean()
     label
Age       
20     0.0
23     0.5
24     1.0
25     0.0

重置索引以准确获取您发布预期输出的方式

>>> data.groupby('Age').mean().reset_index()
   Age  label
0   20    0.0
1   23    0.5
2   24    1.0
3   25    0.0

【讨论】:

    猜你喜欢
    • 2020-02-18
    • 2016-05-18
    • 2020-12-15
    • 1970-01-01
    • 1970-01-01
    • 2016-06-01
    • 1970-01-01
    • 2018-07-28
    • 2015-12-27
    相关资源
    最近更新 更多