📜  Python的逻辑回归-重组数据

📅  最后修改于: 2020-12-13 14:01:48             🧑  作者: Mango


每当任何组织进行调查时,他们都会尝试从客户那里收集尽可能多的信息,以为该信息在以后的某个时间点将以一种或另一种方式对组织有用。为了解决当前的问题,我们必须选择与我们的问题直接相关的信息。

显示所有字段

现在,让我们看看如何选择对我们有用的数据字段。在代码编辑器中运行以下语句。

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文件中作为数据的一部分下载的每一列的描述和用途。

消除不必要的领域

检查列名,您将知道某些字段对当前问题没有任何意义。例如,诸如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

现在,只有我们认为对我们的数据分析和预测很重要的领域。在这一步骤中,数据科学家的重要性得到了体现。数据科学家必须选择适当的列以进行模型构建。

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

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