数据挖掘实践任务1

2019-08-06  本文已影响0人  乌和兔

任务1 - 数据分析(2天)

说明:这份数据集是金融数据(非原始数据,已经处理过了),我们要做的是预测贷款用户是否会逾期。表格中 "status" 是结果标签:0表示未逾期,1表示逾期。

要求:数据切分方式 - 三七分,其中测试集30%,训练集70%,随机种子设置2018

任务1:对数据进行探索和分析。时间:2天

我的结果

主要步骤
1.删除重复行;
2.无关特征删除: 删除无关信息列,删除值全一致的列;
3.数据类型转换:利用pandas实现one hot encode的方式,转换枚举类型的object为int;
4.缺失值处理:有特殊含义填0或1,没有特殊含义填众数;
5.切分数据:测试集30%,训练集70%,随机种子设置2018;

#!/usr/bin/python
# -*- coding:utf-8 -*-
from sklearn.model_selection import train_test_split
import pandas as pd
data = pd.read_csv('data.csv', encoding='gbk')


# 1.删除重复行;
data_clean = data.drop_duplicates()

# 2.无关特征删除: 删除无关信息列,删除值全一致的列;
drop_columns = ['Unnamed: 0', 'trade_no', 'id_name', 'bank_card_no',
             'query_org_count', 'query_finance_count', 'query_cash_count', 'latest_query_time', ]

for data_col in data.columns:
    if len(data[data_col].unique()) == 1 and data_col not in drop_columns:
        drop_columns.append(data_col)

data_clean = data_clean.drop(drop_columns, axis=1)

# 3.数据类型转换:利用pandas实现one hot encode的方式,转换枚举类型的object为int;
data_clean = pd.get_dummies(data_clean, columns=['reg_preference_for_trad'])

# 4.缺失值处理:有特殊含义填0或1,没有特殊含义填众数;
data_clean['student_feature'].fillna(0, inplace=True)

data_cols = data_clean.columns.values

for data_col in data_cols:
    fill_value = data_clean[data_col].value_counts().index[0]
    data_clean[data_col].fillna(fill_value, inplace=True)

# 5.切分数据:测试集30%,训练集70%,随机种子设置2018
train_data, test_data = train_test_split(data_clean, test_size=0.3, random_state=2018)
train_data.to_csv('training.csv', index=False, header=True)
test_data.to_csv('testing.csv', index=False, header=True)
上一篇 下一篇

猜你喜欢

热点阅读