----目錄----
一、數(shù)據(jù)預(yù)處理
二润梯、變量選擇
三过牙、建模
四、解讀業(yè)務(wù)
數(shù)據(jù)字典
數(shù)據(jù)源包括25317條用戶數(shù)據(jù)纺铭,有年齡寇钉、職業(yè)、婚姻狀況及天貓使用情況等....
該項(xiàng)目任務(wù)為建模并測(cè)試模型對(duì)“用戶是否使用天貓優(yōu)惠券”的預(yù)測(cè)效果
一舶赔、數(shù)據(jù)探索及預(yù)處理
1.職業(yè)情況
樣本中藍(lán)領(lǐng)扫倡、經(jīng)理、技術(shù)人員最多竟纳,學(xué)生最少
data['job'].value_counts()
_______
#output:
blue-collar 5456
management 5296
technician 4241
admin. 2909
services 2342
retired 1273
self-employed 884
entrepreneur 856
unemployed 701
housemaid 663
student 533
unknown 163
Name: job, dtype: int64
下面是職業(yè)和使用優(yōu)惠券情況的關(guān)系
可見(jiàn)學(xué)生撵溃、退休人員、失業(yè)人員這些低收入使用優(yōu)惠券頻率最高锥累,藍(lán)領(lǐng)缘挑、企業(yè)家這些高收入人群使用頻率最低
可視化 | 數(shù)據(jù) |
---|---|
使用優(yōu)惠券比例
|
image.png
|
2.年齡
2.1樣本年齡分布
樣本年齡分布
年輕人及老年人使用優(yōu)惠券都比較多,中年使用優(yōu)惠券情況都不多
2.2不同年齡段優(yōu)惠券使用情況 然后對(duì)年齡分箱
#將不同年齡人數(shù)等分為10份
age_group = pd.qcut(data['age'],19)
#不同年齡段的優(yōu)惠券使用情況
data['coupon_ind'].groupby(age_group).mean()
#分三個(gè)年齡段桶略,18-29语淘,30-59诲宇,60-100
#對(duì)用 youth、middle-age惶翻、elder
def age_split(age):
if age>17 and age<=29:
return 'youth'
elif age>=30 and age<=59:
return 'middle-age'
else:
return 'elder'
data['age_split'] = data['age'].map(lambda x: age_split(x))
分類依據(jù) | 分類后計(jì)數(shù) |
---|---|
各年齡段使用優(yōu)惠券比例
|
image.png
|
3.婚姻狀況
超出預(yù)想姑蓝,通常以為婚后更會(huì)精打細(xì)算,想不到單身狗不僅單身還窮维贺。太慘了
猜測(cè)婚姻情況與年齡它掂、職業(yè)有關(guān)
不同婚姻狀況使用優(yōu)惠券比率
??下面做各職業(yè)的婚姻情況統(tǒng)計(jì),可見(jiàn)收入高群體已結(jié)婚率更高溯泣,所以使用優(yōu)惠券情況少
sns.set(font_scale=1.5) #初始化seaborn配置,并設(shè)置字體大小
sns.countplot(y='job',hue='marital',data=data,palette='Set1')
各職業(yè)婚姻情況
4.輸出預(yù)處理
前五條數(shù)據(jù)
4.1one-hot編碼
data.drop('ID',axis=1,replace=True)
data = pd.get_dum
4.2去掉‘ID’以及重復(fù)列
data1 = pd.get_dummies(data)