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

任务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;

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)

你可能感兴趣的:(任务1 - 数据分析(2天))