挑战4:分类预测挑战
说明
这里提供一个客户信用卡审批数据集,数据集共 18 列,前 5 行预览如下:
其中:
- 第 1 列为客户 ID。
- 第 2~7 列为该客户 7~8 月历史账单信息。
- 第 8~13 列为该客户 7~8 月历史消费信息。
- 第 14 列为该客户年龄。
- 第 15 列为该客户性别。
- 第 16 列为该客户教育程度。
- 第 17 列为该客户婚姻状况。
- 第 18 列为是否为该客户审批新的信用卡。(Yes / No)
题目提供了由 21000行组成训练集 credit_card_train.csv。
题目要求将第18列作为分类结果,并将第 2 列到第 17 列作为特征,构建分类预测模型。挑战需使用 credit_card_train.csv 对模型进行训练,最终要求训练后的模型对于测试数据集正确分类率高于 0.75。
数据下载:
$ cd ~/Code
# 训练数据
$ wget http://labfile.oss.aliyuncs.com/courses/764/credit_card_train.csv
在 ~/Code/credit_card.py 中完成函数 test_score 函数,该函数接收两个参数 test_feature 和 test_target 分别代表测试特征集和测试目标分类。示例代码:
# -*- coding:utf -8-
import pandas as pd
def test_score(test_feature, test_target):
data = pd.read_csv('credit_card_train.csv', header=0)
# 完善代码
score = model.score(test_feature, test_target)
return score
提示
- 仔细学习本课程的分类实验章节;
- 你可能会用到 scikit-learn 提供的分类模型;
- 数据集合中,包含一些字符串数据,需要将这些字符串数据转换为数字,可以使用独热编码,或者直接使用 pandas.get_dummies 函数;
要求
- 函数名必须是 test_score ;
- 代码必须写入 ~/Code/credit_card.py 文件中;
- 题目不限制分类模型的类型及参数,但你需要使用到除 ID 以外的所有特征;
- 最后准确率的返回值为小数;