我有一个名为
我创建了一些额外的列来衡量“成功”,我定义为仅与邀请有关的出席率。
假设以下内容是正确的:成功数据应该服从均值为0.80,标准差为0.10的正态分布。当我查看
因此,我的问题是:有一些事件使成功数据偏离正常,我认为这些事件不是“好”的。我想对我的事件进行“特征选择”,以选择其中的子集,使
我看了一下scikit-learn的“特征选择”方法这里,“单变量特征选择”似乎是有道理的。但是,我对pandas和scikit-learn都非常陌生,真的需要帮助来实际编写代码。
约束条件:我需要保留至少一半的原始事件。
任何帮助将不胜感激。请尽可能分享细节,我对这些库非常陌生,很想看看如何在我的DataFrame中实现此操作。
谢谢!
编辑:在进一步查看scikit-learn的特征选择方法后,“递归特征选择”似乎也可能有意义,但我不确定如何建立它,同时我的“准确性”指标为“接近正态分布,均值为...”
pandas
的DataFrame,其索引是唯一的用户标识符,列对应于唯一事件,并且值为1(已出席),0(未出席)或NaN(未被邀请/不相关)。相对于NaN,该矩阵非常稀疏:有几百个事件,大多数用户最多只被邀请参加几十个事件。我创建了一些额外的列来衡量“成功”,我定义为仅与邀请有关的出席率。
my_data['invited'] = my_data.count(axis=1)
my_data['attended'] = my_data.sum(axis=1)-my_data['invited']
my_data['success'] = my_data['attended']/my_data['invited']
假设以下内容是正确的:成功数据应该服从均值为0.80,标准差为0.10的正态分布。当我查看
my_data['success']
的直方图时,它不是正态分布且向左倾斜。这在现实中是否属实并不重要,我只想解决下面的技术问题。因此,我的问题是:有一些事件使成功数据偏离正常,我认为这些事件不是“好”的。我想对我的事件进行“特征选择”,以选择其中的子集,使
my_data['success']
的分布尽可能接近正态分布,即"收敛于分布"。我看了一下scikit-learn的“特征选择”方法这里,“单变量特征选择”似乎是有道理的。但是,我对pandas和scikit-learn都非常陌生,真的需要帮助来实际编写代码。
约束条件:我需要保留至少一半的原始事件。
任何帮助将不胜感激。请尽可能分享细节,我对这些库非常陌生,很想看看如何在我的DataFrame中实现此操作。
谢谢!
编辑:在进一步查看scikit-learn的特征选择方法后,“递归特征选择”似乎也可能有意义,但我不确定如何建立它,同时我的“准确性”指标为“接近正态分布,均值为...”