Python中的逻辑回归 - 数据重构
无论何时任何组织进行调查,他们都试图从客户那里收集尽可能多的信息,其想法是这些信息在以后的某个时间点会以某种方式对组织有用。为了解决当前问题,我们必须提取与我们的问题直接相关的信息。
显示所有字段
现在,让我们看看如何选择对我们有用的数据字段。在代码编辑器中运行以下语句。
In [6]: print(list(df.columns))
您将看到以下输出 -
['age', 'job', 'marital', 'education', 'default', 'housing', 'loan', 'contact', 'month', 'day_of_week', 'duration', 'campaign', 'pdays', 'previous', 'poutcome', 'emp_var_rate', 'cons_price_idx', 'cons_conf_idx', 'euribor3m', 'nr_employed', 'y']
输出显示数据库中所有列的名称。最后一列“y”是一个布尔值,指示该客户是否在银行拥有定期存款。此字段的值为“y”或“n”。您可以在作为数据一部分下载的banks-name.txt文件中阅读每列的描述和用途。
消除不需要的字段
检查列名,您会知道某些字段与手头的问题无关。例如,月份、星期几、活动等字段对我们没有用处。我们将从我们的数据库中删除这些字段。要删除一列,我们使用如下所示的drop命令 -
In [8]: #drop columns which are not needed. df.drop(df.columns[[0, 3, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19]], axis = 1, inplace = True)
该命令表示删除第0、3、7、8等列。为了确保正确选择索引,请使用以下语句 -
In [7]: df.columns[9] Out[7]: 'day_of_week'
这将打印给定索引的列名。
删除不需要的列后,使用head语句检查数据。屏幕输出如下所示 -
In [9]: df.head() Out[9]: job marital default housing loan poutcome y 0 blue-collar married unknown yes no nonexistent 0 1 technician married no no no nonexistent 0 2 management single no yes no success 1 3 services married no no no nonexistent 0 4 retired married no yes no success 1
现在,我们只有我们认为对我们的数据分析和预测很重要的字段。数据科学家的重要性在此步骤中体现出来。数据科学家必须为模型构建选择合适的列。
例如,工作类型虽然乍一看可能无法说服所有人将其包含在数据库中,但它将是一个非常有用的字段。并非所有类型的客户都会开通定期存款。低收入人群可能不会开通定期存款,而高收入人群通常会将其剩余的钱存入定期存款。因此,工作类型在这种情况下变得非常重要。同样,仔细选择您认为与您的分析相关的列。
在下一章中,我们将准备数据以构建模型。
广告