如何在给定太多连续变量和分类变量的情况下预测结果?

how to predict an outcome given too many continuous and categorical variables?

我有一个示例数据集,其中我试图弄清楚是否存在学生通过考试的强烈预测因素(值为 0 或 1)。然而,数据集中混合了连续变量和分类变量(大约 100 列)(如母亲的职业、城市、is_male、is_female 等?有人可以指导我应该选择哪个模型和变量建立模型?

数据集如下所示:

删除具有 0 个观测值的列变量,因为它们对建模无用。也可以删除在所有行上都具有单个值的列。 它们都被称为零方差预测变量,因为预测变量不会发生变化。

使用nunique()函数汇总每列中唯一值的数量

DataFrame.nunique(axis=0, dropna=True)

使用 drop() 删除无用的列。

DataFrame.drop('label', axis=0, inplace=True)

数字属性中的缺失值可以用中位数填充。 将只有两种值的列更改为 boolean,如“Mentor_Orgs_Column”中的 nullYD

检查每个 categoricalnumeric 属性对目标属性的影响:

例如:

print(train[["mothersProfession","Pass"]].groupby(['mothersProfession'],as_idex=False).mean())
#Provides impact of 'mothers profession' on training data.

这将有助于找到有助于您进行预测的属性。 然后,您可以使用 scikit learn 在反复试验的基础上对这些数据应用不同的分类器,以获得不同的见解。