数据探索

# 导入相关应用包
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

# 忽略警告信息
import warnings
warnings.filterwarnings("ignore")

#%matplotlib inline

# 读取数据
path  = './dataset/'
train = pd.read_csv(path + 'train.csv') # 训练集
test  = pd.read_csv(path + 'test.csv')  # 测试集

训练集

1. 数据特征类型

 

  • 数据中有4个int64类型(filed_id,label,tid,index)和1个object类型(api);
  • 整个数据集的大小大于3.3.GB
  • 数据一共有89806693条记录

2. 数据分布

#使用箱线图查看单个变量的分布情况,取前10000条数据绘制“tid”变量的箱线图
sns.boxplot(x=train.iloc[:10000]["tid"]) 

3. 缺失值

train.isnull().sum() #查看训练集数据的缺失情况

4. 异常值

train['index'].describe() #分析训练集的“index”特征

index最小为0,最大为5000,看不出异常值

train['tid'].describe() #分析训练集的“tid”特征

tid最小为100,最大为20896,该字段表示线程,目前无法判断是否有异常值。

5. 标签分布

train['label'].value_counts() #统计标签取值的分布情况

train['label'].value_counts().sort_index().plot(kind = 'bar') #条形图
train['label'].value_counts().sort_index().plot(kind = 'pie') #饼图

测试集

1. 数据信息

test.head() #测试集的头几行数据

test.info() #查看测试集的大小、数据类型等信息

2. 缺失值

test.isnull().sum() #查看测试集数据的缺失情况

数据不存在缺失情况

3. 数据分布

test.nunique() #查看测试集中变量取值的分布

4. 异常值

test['index'].describe() #查看测试集的index特征

看不出异常情况

test['tid'].describe() #查看测试集的tid特征

无法判断是否有异常值

数据集联合分析

# 导入相关应用包
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

# 忽略警告信息
import warnings
warnings.filterwarnings("ignore")

#%matplotlib inline

# 读取数据
path  = './dataset/'
train = pd.read_csv(path + 'train.csv') # 训练集
test = pd.read_csv(path + 'test.csv')  # 测试集

train_fileids = train['file_id'].unique()
test_fileids = test['file_id'].unique()

train_apis = train['api'].unique()
test_apis = test['api'].unique()

1. 对比分析file_id在训练集和测试集中分布的重合情况

len(set(train_fileids)-set(test_fileids))
len(set(test_fileids)-set(train_fileids))

有932个训练文件是测试文件中没有的,测试文件中有的文件在训练文件中都有。

2. 对比分析API在训练集和测试集中分布的重合情况

set(test_apis)-set(train_apis)
set(train_apis)-set(test_apis)

测试集中有6种API未出现在训练集中,训练集中有3种API未出现在测试集中。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值