项目:企业网络订单的异常检测
一、项目背景与挖掘目标
企业或平台在销售商品的过程中,常常会遇到一些异常订单,例如黄牛订单、恶意订单、商家刷单等。
此项目的目的是找到非普通用户的订单记录,即识别订单的异常状态。
二、项目数据介绍
1.案例数据是某企业的部分订单,以下是数据概况:
(1)特征变量数:13
(2)数据记录数:134190
(3)是否有NA值:有
(4)是否有异常值:有
2. 以下是数据集的13个特征变量的详细说明:
(1)order_id:订单ID,有数字组合而成,例如4283851335
(2)order_date:订单日期,格式为YYYY-MM-DD,例如2013-10-17
(3)order_time:订单日期,格式为HH:MM:SS,例如12:54:44
(4)cat:商品一级类别,字符串类型,包含中英文
(5)attribution:商品所属的渠道来源,字符串型,包含中英文
(6)pro_id:商品ID,数字组合而成
(7)pro_brand:商品品牌,字符串型,包含中英文
(8)total_money:商品销售金额,浮点型
(9)total_quantity:商品销售数量,整数型
(10)ordera_source:订单来源,从哪个渠道形成的销售,字符串型,包含中英文
(11)pay_type:支付类型,字符串型,包含中英文
(12)use_id:用户ID,由数字和字母等组成的字符串
(13)city:用户下订单时的城市,字符串型,中文
(14)目标变量:abnormal_label,代表该订单记录是否是异常订单
三.代码展示
#一、导包
import numpy as np
import pandas as pd
from sklearn.preprocessing import LabelEncoder #将分类变量转为数值变量
from imblearn.over_sampling import SMOTE #过抽样处理,均衡样本
from sklearn.model_selection import train_test_split
from sklearn.ensemble import VotingClassifier, GradientBoostingClassifier, RandomForestClassifier # 集成分类库和投票方法库
from sklearn.naive_bayes import GaussianNB
from sklearn import neighbors #k近邻
from sklearn.model_selection import StratifiedKFold, cross_val_score # 导入交叉检验算法
from sklearn.model_selection import GridSearchCV #网格搜索(调参利器)
import matplotlib as plt
%matplotlib inline
from pylab import *
mpl.rcParams['font.sans-serif']= ['SimHei'] #画图时中文无法正常显示的解决
import warnings
warnings.filterwarnings('ignore') # 不发出警告
#二、读取文件
abnormal_orders=pd.read_table(r'E:\abnormal_orders.txt',sep=',')
print(abnormal_orders.head(5))
#order_id作为订单ID号,无重复数值,类似于常数列,故删除该列
abnormal_orders.drop('order_id',axis=1,inplace=True)
order_id | order_date | order_time | cat | attribution | pro_id | pro_brand | total_money | total_quantity | order_source | pay_type | user_id | city | abnormal_label |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
4277880103 | 2013-10-17 | 13:09:16 | NaN | GO | 8000001215 | NaN | 1000.0 | 1000 | 游戏站点 | 当当支付 | murongchun | 北京市 | 0 |
4283851335 | 2013-09-23 | 14:09:49 | 手机摄影数码 | POP | 8002042497 | 三星 | 766000.0 | 200 | 主站 | 合并支付 | dakehu_zy | 上海市 | 1 |
4277700101 | 2013-08-27 | 14:26:38 | NaN | GO | 7000000960 | 国之美艺术品 | 8000.0 | 160 | do.site_id | 在线支付 |