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

现在,我们只有我们认为对数据分析和预测重要的字段。数据科学家的重要性在这一步就显现出来了。数据科学家必须选择适当的列来构建模型。

例如,工作类型虽然乍一看可能无法说服每个人都将其包含在数据库中,但它将是一个非常有用的字段。并不是所有类型的客户都会开通TD。低收入人群可能不会开设 TD,而高收入人群通常会将多余的资金存入 TD。因此,工作类型在这种情况下变得非常重要。同样,仔细选择您认为与您的分析相关的列。

在下一章中,我们将准备用于构建模型的数据。