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里。 因此,在这种情况下,工作类型变得非常重要。 同样,仔细选择您认为与分析相关的列。
在下一章中,将为构建模型准备数据。