📜  Python的逻辑回归-准备数据

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


为了创建分类器,我们必须以分类器构建模块要求的格式准备数据。我们通过进行一次热编码来准备数据。

编码数据

我们将在短期内讨论编码数据的含义。首先,让我们运行代码。在代码窗口中运行以下命令。

In [10]: # creating one hot encoding of the categorical columns.
data = pd.get_dummies(df, columns =['job', 'marital', 'default', 'housing', 'loan', 'poutcome'])

如评论所述,以上语句将创建数据的一种热编码。让我们看看它创造了什么?通过在数据库中打印头记录来检查称为“数据”的创建数据。

In [11]: data.head()

您将看到以下输出-

创建的数据

为了理解上述数据,我们将通过运行data.columns命令列出列名称,如下所示:

In [12]: data.columns
Out[12]: Index(['y', 'job_admin.', 'job_blue-collar', 'job_entrepreneur',
'job_housemaid', 'job_management', 'job_retired', 'job_self-employed', 
'job_services', 'job_student', 'job_technician', 'job_unemployed',
'job_unknown', 'marital_divorced', 'marital_married', 'marital_single', 
'marital_unknown', 'default_no', 'default_unknown', 'default_yes', 
'housing_no', 'housing_unknown', 'housing_yes', 'loan_no',
'loan_unknown', 'loan_yes', 'poutcome_failure', 'poutcome_nonexistent', 
'poutcome_success'], dtype='object')

现在,我们将解释如何通过get_dummies命令完成一种热编码。新生成的数据库中的第一列是“ y”字段,它指示此客户端是否已预订TD。现在,让我们看一下已编码的列。第一编码列是“ job” 。在数据库中,您会发现“职位”列具有许多可能的值,例如“管理员”,“蓝领”,“企业家”等等。对于每个可能的值,我们都会在数据库中创建一个新列,并在列名后面添加前缀。

因此,我们有名为“ job_admin”,“ job_blue-collar”的列,依此类推。对于我们原始数据库中的每个编码字段,您将找到添加到已创建数据库中的列的列表,其中包含该列在原始数据库中采用的所有可能值。仔细检查列列表,以了解如何将数据映射到新数据库。

了解数据映射

为了理解生成的数据,让我们使用data命令打印出整个数据。运行命令后的部分输出如下所示。

In [13]: data

了解数据映射

上面的屏幕显示了前十二行。如果向下滚动,您会看到所有行的映射均已完成。

在数据库下方显示了部分屏幕输出,以供您快速参考。

快速参考

要了解映射的数据,让我们检查第一行。

映射数据

它表示此客户未按照“ y”字段中的值指示订阅TD。它还表明该客户是“蓝领”客户。水平向下滚动,它将告诉您他有一个“住房”,没有获得“贷款”。

经过这一热编码之后,我们需要更多的数据处理才能开始构建模型。

删除“未知”

如果我们检查映射数据库中的列,您会发现以“ unknown”结尾的几列。例如,使用屏幕快照中显示的以下命令检查索引12处的列-

In [14]: data.columns[12]
Out[14]: 'job_unknown'

这表明指定客户的工作未知。显然,在我们的分析和模型构建中包括这些列是没有意义的。因此,应删除所有具有“未知”值的列。这是通过以下命令完成的-

In [15]: data.drop(data.columns[[12, 16, 18, 21, 24]], axis=1, inplace=True)

确保指定正确的列号。如有疑问,您可以随时通过在列命令中指定列索引来检查列名称,如前所述。

删除不需要的列后,您可以检查列的最终列表,如下面的输出所示-

In [16]: data.columns
Out[16]: Index(['y', 'job_admin.', 'job_blue-collar', 'job_entrepreneur', 
'job_housemaid', 'job_management', 'job_retired', 'job_self-employed', 
'job_services', 'job_student', 'job_technician', 'job_unemployed',
'marital_divorced', 'marital_married', 'marital_single', 'default_no', 
'default_yes', 'housing_no', 'housing_yes', 'loan_no', 'loan_yes',
'poutcome_failure', 'poutcome_nonexistent', 'poutcome_success'], 
dtype='object')

至此,我们的数据已准备好用于模型构建。