如何在给定太多连续变量和分类变量的情况下预测结果?
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”中的 null
和 YD
。
检查每个 categorical
和 numeric
属性对目标属性的影响:
例如:
print(train[["mothersProfession","Pass"]].groupby(['mothersProfession'],as_idex=False).mean())
#Provides impact of 'mothers profession' on training data.
这将有助于找到有助于您进行预测的属性。
然后,您可以使用 scikit learn
在反复试验的基础上对这些数据应用不同的分类器,以获得不同的见解。
我有一个示例数据集,其中我试图弄清楚是否存在学生通过考试的强烈预测因素(值为 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”中的 null
和 YD
。
检查每个 categorical
和 numeric
属性对目标属性的影响:
例如:
print(train[["mothersProfession","Pass"]].groupby(['mothersProfession'],as_idex=False).mean())
#Provides impact of 'mothers profession' on training data.
这将有助于找到有助于您进行预测的属性。
然后,您可以使用 scikit learn
在反复试验的基础上对这些数据应用不同的分类器,以获得不同的见解。