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 中阅读每一列的描述和用途。


消除不需要的字段

检查列名,您可能会知道某些字段对手头的问题没有意义。 例如,month、day_of_week、campaign 等字段对我们来说是没有用的。要从数据库中删除这些字段。 使用如下所示的 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

现在,只有对数据分析和预测很重要的字段。 数据科学家的重要性在这一步体现出来。 数据科学家必须为模型构建选择合适的列。

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

在下一章中,将为构建模型准备数据。