Python中的Logistic回归-重构数据
每当任何组织进行调查时,他们都试图从客户那里收集尽可能多的信息,其想法是这些信息在以后的某个时间点上对组织有某种作用。为了解决当前的问题,我们必须收集与我们问题直接相关的信息。
显示所有字段
现在,让我们看看如何选择对我们有用的数据字段。在代码编辑器中运行以下语句。
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”。你可以在作为数据一部分下载的bank-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里。因此,在这种情况下,工作的类型变得非常重要。同样地,仔细选择你认为与你的分析有关的栏目。
在下一章,我们将为建立模型准备数据。