文章目录

  • 三、模型构建
    • 3.1 贷款逾期数据分析
      • 3.1.1 数据加载与预览
      • 3.1.2 探索性数据分析
        • 3.1.2.1 描述性分析
          • 3.1.2.1.1 类别型变量
          • 3.1.2.1.2 数值型变量
        • 3.1.2.2 独立性分析
          • 3.1.2.2.1 单因素分析
          • 3.1.2.2.2 多因素分析
      • 3.1.3 特征筛选&特征工程
        • 3.1.3.1 类别型变量处理
        • 3.1.3.2 数值型变量处理
      • 3.1.4 模型构建
        • 3.1.4.1 训练集&测试集划分
        • 3.1.4.2 逻辑回归
        • 3.1.4.3 LightGBM
    • 3.2 征信数据分析
    • 3.3 百融数据分析

三、模型构建

模型挖掘用户标签:基于逻辑回归、LightGBM模型算法、结合业务人员经验进行数据建模,挖掘用户标签。即通过模型,进行变量筛选,挑选出对于目标变量(用户是否逾期)有意义的自变量。

3.1 贷款逾期数据分析

3.1.1 数据加载与预览

data = pd.read_excel('input/data_clean.xlsx')
data.head()
data.info()
data.describe()




共56个字段,其中数值型字段27个;数据经过预处理步骤,已不存在缺失值,但数据中籍贯、政治面貌等类别型字段的缺失值初始填充为0,需要进行修正。

修补错误的填充

#修补错误的填充,将其恢复为缺失值
category_cols = ['客户类型', '性别', '民族','国籍', '是否农户', '最高学位', '职务', '有无子女', '住房情况', '是否有通讯地址', '是否有邮箱', '是否有传真', '是否有家庭电话', '是否有手机号码','是否有配偶手机号', '是否有公司电话', '还款来源', '计息周期', '还款方式','担保方式', '贷款形式','产品名称']
for col in category_cols:data[col] = data[col].replace(0, np.nan)
missingno.matrix(data[category_cols])

# 先过滤掉缺失大于90%的列
data_clean = data.dropna(thresh = len(data)*0.1, axis =1)
# 按缺失率排序:从高到低
check_null = data_clean[category_cols].isnull().sum(axis = 0).sort_values(ascending = False)/float(len(data_clean[category_cols]))
check_null[check_null > 0][:20]
# 填充缺失值
data_clean['职务'].fillna('其他', inplace = True)
data_clean['最高学位'].fillna('其他', inplace = True)
data_clean['住房情况'].fillna('缺失', inplace = True)
data_clean['还款方式'].fillna('等额本息', inplace = True)
data_clean['是否农户'].fillna('否', inplace = True)
# 计算存在逾期的客户占比
data_clean[data_clean['逾期次数_median']!=0]['逾期次数_median'].count()/len(data_clean)



逾期客户占比约为12%。

3.1.2 探索性数据分析

3.1.2.1 描述性分析

3.1.2.1.1 类别型变量

个人信息类:
包括# ‘客户类型’, ‘性别’, ‘是否农户’, ‘最高学位’, ‘职务’, ‘有无子女’。

# 调整字段中的数据描述
data_clean['性别'].replace('未说明的性别', '未知的性别', inplace = True)
data_clean['职务'].replace('中级领导(行政局级以下领导或大公司中级管理人员)', '中级领导', inplace = True)
data_clean['职务'].replace('中级领导(行政级别局级以下领导或大公司中级管理人员)', '中级领导', inplace = True)
data_clean['职务'].replace('高级领导(行政局级及局级以上领导或大公司高级管理人员)', '高级领导', inplace = True)
data_clean['职务'].replace('高级领导(行政级别局级及局级以上领导或大公司高级管理人员)', '高级领导', inplace = True)
# 绘制饼图
plt_cols = ['客户类型', '性别', '是否农户', '最高学位', '职务', '有无子女']
plt.figure(figsize=[21,14], dpi=80)
i = 1
# 切割图层并绘制2*3的6张子图片
for col in plt_cols:ax = plt.subplot(230+i)data_clean.groupby(data_clean[col]).count().标识码.plot(kind = 'pie', autopct='%1.1f%%', title=col)ax.legend(fontsize=10)i+=1


联系方式类:
包括’是否有配偶手机号’, ‘是否有通讯地址’, ‘是否有家庭电话’, ‘是否有手机号码’, ‘是否有公司电话’。

plt_cols = ['是否有配偶手机号', '是否有通讯地址', '是否有家庭电话', '是否有手机号码', '是否有公司电话']
plt.figure(figsize=[21,14], dpi=80)
i = 1
# 切割图层并绘制2*3的6张子图片
for col in plt_cols:ax = plt.subplot(230+i)data_clean.groupby(data_clean[col]).count().标识码.plot(kind = 'pie', autopct='%1.1f%%', title=col)ax.legend(fontsize=10)i+=1


贷款情况类:
包括’住房情况’, ‘计息周期’, ‘还款方式’, ‘担保方式’, ‘贷款形式’, ‘产品名称’。

plt_cols = ['住房情况', '计息周期', '还款方式', '担保方式', '贷款形式', '产品名称']
plt.figure(figsize=[21,14], dpi=80)
i = 1
# 切割图层并绘制2*3的6张子图片
for col in plt_cols: ax = plt.subplot(230+i)data_clean.groupby(data_clean[col]).count().标识码.plot(kind = 'pie', autopct='%1.1f%%', title=col)ax.legend(fontsize=10)i+=1


数据显示,住房情况、产品名称字段类别较多,后期可根据对因变量的关系重新进行分箱。

有效变量总结:

category_cols = ['客户类型', '性别', '是否农户', '最高学位','职务', '有无子女','是否有通讯地址', '是否有家庭电话', '是否有手机号码','是否有配偶手机号', '是否有公司电话','住房情况', '计息周期', '还款方式', '担保方式', '贷款形式','产品名称']
missingno.matrix(data_clean[category_cols])

3.1.2.1.2 数值型变量

中位数类:
包括’贷款期限’, ‘抵质押率’, ‘逾期时长’, ‘逾期金额’, ‘逾期次数’。

data_clean['逾期金额_median'] = np.log(data['逾期金额_median']+0.1)
data_clean['抵质押率_median'].value_counts() # '抵质押率'字段由于值单一,对建模没有意义
data_clean['是否逾期'] = data_clean['逾期次数_median']>0
#绘制直方图,观察数据分布特征
plt.figure(figsize=[21,7], dpi=80)
ax = plt.subplot(131)
sns.distplot(data_clean['贷款期限_median'].dropna(), kde=False, color="blue", bins=20)
ax = plt.subplot(132)
sns.distplot(data_clean['逾期金额_median'][data_clean['逾期金额_median']>0].dropna(), kde=False, color="blue", bins=20)
ax = plt.subplot(133)
sns.distplot(data_clean[data_clean['逾期次数_median'] != 0]['逾期次数_median'].dropna(), kde=False, color="blue", bins=20)


逾期次数为帕累托分布。

plt.figure(figsize=[20,7], dpi=80)
ax = plt.subplot(121)
sns.distplot(data_clean['逾期时长_median'][data_clean['逾期时长_median']>0][data_clean['逾期时长_median']<10000].dropna(), kde=False, color="blue", bins=200)
ax = plt.subplot(122)
# 数量级跨度较大 因此绘制对数化图像
sns.distplot(np.log10(data_clean['逾期时长_median'][data_clean['逾期时长_median']>0]).dropna(), kde=False, color="blue", bins=200)


平均值类:
包括’职业收入(元)’, ‘抵押物溢出价值’, ‘抵押物溢出比例’, ‘合同额度(元)’,‘贷款剩余本金(元)’。

# 货币类数值对数化
data_clean['职业收入(元)_mean'] = np.log10(data['职业收入(元)_mean']+0.1)
data_clean['抵押物溢出价值_mean'] = np.log10(data['抵押物溢出价值_mean']+0.1)
data_clean['合同额度(元)_mean'] = np.log10(data['合同额度(元)_mean']+0.1)
data_clean['贷款剩余本金(元)_mean'] = np.log10(data['贷款剩余本金(元)_mean']+0.1)
# 绘制直方图
mean_cols = ['职业收入(元)', '抵押物溢出价值', '抵押物溢出比例', '合同额度(元)','贷款剩余本金(元)']
plt.figure(figsize=[21,14], dpi=80)
i = 1
for col in mean_cols:ax = plt.subplot(230+i)sns.distplot(data_clean[col+'_mean'].dropna(), kde=False, color="blue", bins=200)i+=1


求和类:
包括’贷款期限’, ‘逾期时长’, ‘逾期金额’。

data_clean['逾期金额_sum'] = np.log10(data['逾期金额_sum'] +0.1)
sum_cols = ['贷款期限', '逾期时长', '逾期金额']
plt.figure(figsize=[21,7])
i = 1
for col in sum_cols:ax = plt.subplot(130+i)sns.boxplot(data_clean[data_clean[col+'_sum'] > 0][col+'_sum'])i+=1


逾期金额、逾期时长呈现长尾分布特征,可做对数化处理。
标准差类:
包括’贷款期限’, ‘抵押物溢出价值’, ‘合同额度(元)’, ‘贷款剩余本金(元)’, ‘逾期时长’, ‘逾期金额’。

std_cols = ['贷款期限', '抵押物溢出价值', '合同额度(元)','贷款剩余本金(元)', '逾期时长', '逾期金额']
plt.figure(figsize=[21,7])
i = 1
for col in std_cols:ax = plt.subplot(230+i)sns.violinplot(data_clean[data_clean[col+'_std'] > 0][col+'_std'], color="blue")i+=1


其他:
包括’贷款五级分类’,‘年龄’,‘信息公开度’。

# 贷款五级分类
max_cols = ['贷款五级分类']
plt.figure(figsize=[7,7])
data_clean.groupby(data_clean[max_cols[0]]).count().标识码.plot(kind = 'pie', autopct='%1.1f%%', title='贷款五级分类')


97%的贷款用户都为正常状态(等级为1)。

# 年龄
# 一个异常值的修正
data_clean['出生日期'] = data_clean['出生日期'].replace('0989-04-17', '1989-04-17')
data_clean['年龄'] = 2020 - pd.to_datetime(data_clean['出生日期']).dt.year
sns.distplot(data_clean['年龄'].dropna(), kde=False, color="blue", bins=100)


贷款用户的年龄主要分布在30-60岁之间。

# 信息公开度
sns.distplot(data_clean['信息公开度'].dropna(), kde=False, color="blue", bins=100)


信息公开度只有三个值,与构建该特征的原始字段相关(0-1值)。

有效变量总结:共选择12个有效变量

numerical_cols = ['贷款期限_median', '职业收入(元)_mean', '抵押物溢出价值_mean','抵押物溢出比例_mean', '合同额度(元)_mean','贷款剩余本金(元)_mean','贷款期限_std', '抵押物溢出价值_std', '年龄', '信息公开度','合同额度(元)_std','贷款剩余本金(元)_std']
missingno.matrix(data_clean[numerical_cols])

3.1.2.2 独立性分析

3.1.2.2.1 单因素分析

主要通过可视化研究描述性分析筛选出的变量有哪些是与目标变量(是否逾期)有关联。

y_col = '是否逾期'

类别型单因素分析:

plt_cols = ['客户类型', '性别', '是否农户', '最高学位', '职务', '有无子女']
plt.figure(figsize=[15,10], dpi=80)
i = 1
for col in plt_cols:ax = plt.subplot(230+i)sns.barplot(col, y_col, data=data_clean)i+=1


逾期行为更可能发生在 非农户、一般员工、有子女这些群体。博士/名誉博士对应样本太少,不具备参考性。

plt_cols = ['是否有配偶手机号', '是否有通讯地址', '是否有家庭电话', '是否有手机号码', '是否有公司电话']
plt.figure(figsize=[15,10], dpi=80)
i = 1
for col in plt_cols:ax = plt.subplot(230+i)sns.barplot(col, y_col, data=data_clean)i+=1


逾期行为更可能发生群体:通讯地址和家庭电话不公开或手机号码和公司地址公开的情况。

plt_cols = ['住房情况', '还款方式', '担保方式', '产品名称']
plt.figure(figsize=[12,10], dpi=80)
i = 1
for col in plt_cols:ax = plt.subplot(220+i)sns.barplot(col, y_col, data=data_clean)ax.set_xticklabels(ax.get_xticklabels(), rotation=30)i+=1


逾期行为更不容易发生群体:按揭、保证、个人公积金委托贷款;利随本清、信用、质押、房抵贷 对应样本太少,不具备参考性。

数值型单因素分析:
分逾期与非逾期数据绘制直方图,看分布差异。

plt_cols = ['贷款期限_median', '职业收入(元)_mean', '抵押物溢出价值_mean', '抵押物溢出比例_mean', '合同额度(元)_mean','贷款剩余本金(元)_mean']
nooverdue_col,overdue_col = "green","red"
plt.figure(figsize=[15,6])
i = 1
for col in plt_cols:ax = plt.subplot(230+i)sns.distplot(data_clean[data_clean[col]>0][data_clean[y_col]==0][col].dropna().values, kde=True, bins=50, color=nooverdue_col)sns.distplot(data_clean[data_clean[col]>0][data_clean[y_col]==1][col].dropna().values, kde=True, bins=50, color=overdue_col,axlabel=col)ax.set_xticklabels(ax.get_xticklabels(), rotation=30)i+=1


图形显示,抵押物溢出价值、职业收入数值更低的以及合同额度更高的客户逾期行为更可能发生。

plt_cols = ['贷款期限_std', '抵押物溢出价值_std', '年龄', '信息公开度','合同额度(元)_std','贷款剩余本金(元)_std']
nooverdue_col,overdue_col = "green","red"
plt.figure(figsize=[15,6])
i = 1
for col in plt_cols:ax = plt.subplot(230+i)sns.distplot(data_clean[data_clean[col]>0][data_clean[y_col]==0][col].dropna().values, kde=True, bins=50, color=nooverdue_col)sns.distplot(data_clean[data_clean[col]>0][data_clean[y_col]==1][col].dropna().values, kde=True, bins=50, color=overdue_col,axlabel=col)ax.set_xticklabels(ax.get_xticklabels(), rotation=30)i+=1


无明显结论。

3.1.2.2.2 多因素分析

主要通过可视化与相关分析来研究描述性分析筛选出的多变量与目标变量(是否逾期)之间关系。
类别型~类别型变量

# 职务*是否农户
data_clean['是否农户'] = data['是否农户'].map({'是':1, '否':0}).fillna(0)
grid = sns.FacetGrid(data_clean, col='是否农户', size=5, aspect=1.6)
grid.map(sns.barplot, '职务', y_col, alpha=.5, ci=None)
grid.add_legend()


非农户高级领导更易逾期。

# 职务*有无子女
data_clean['有无子女'] = data['有无子女'].map({'是':1, '否':0})
grid = sns.FacetGrid(data_clean, col='有无子女', size=5, aspect=1.6)
grid.map(sns.barplot, '职务', y_col, alpha=.5, ci=None)
grid.add_legend()


无子女的一般员工更易逾期。

类别型~数值型变量

# 职务*年龄
grid = sns.FacetGrid(data_clean, col=y_col, size=5, aspect=1.6)
grid.map(sns.pointplot, '职务', '年龄', palette='deep')
grid.add_legend()


相对年轻的中级领导和相对年老的高级领导更易逾期。

# 是否有公司电话*抵押物溢出价值
grid = sns.FacetGrid(data_clean, col='是否有公司电话', row=y_col, size=5, aspect=1.6)
grid.map(sns.kdeplot, '抵押物溢出价值_mean', alpha=.5)
grid.add_legend()


留有公司电话、并且抵押物溢出价值大于6位数反而更易逾期。

数值型~数值型变量——绘制相关系数矩阵热力图

# 绘制变量相关系数矩阵热度图
plt.figure(figsize=(14,12))
foo = sns.heatmap(data_clean[numerical_cols].corr(), vmax=0.6, square=True, annot=True)

3.1.3 特征筛选&特征工程

3.1.3.1 类别型变量处理

# 采取独热编码
category_cols = ['客户类型', '最高学位', '职务','住房情况', '还款方式', '担保方式', '产品名称']
categorical_data = pd.get_dummies(data_clean[category_cols])
categorical_data.head()

# 数值转换
bit_cols = ['性别', '是否农户', '有无子女','是否有配偶手机号', '是否有通讯地址', '是否有家庭电话', '是否有手机号码', '是否有公司电话']
data_clean['性别'] = data['性别'].map({'女性':0,'男性':1,'未知的性别':1}).fillna(1)
data_clean['是否有配偶手机号'] = data['是否有配偶手机号'].map({'否':0,'是':1})
data_clean['是否有通讯地址'] = data['是否有通讯地址'].map({'否':0,'是':1})
data_clean['是否有家庭电话'] = data['是否有家庭电话'].map({'否':0,'是':1})
data_clean['是否有手机号码'] = data['是否有手机号码'].map({'否':0,'是':1})
data_clean['是否有公司电话'] = data['是否有公司电话'].map({'否':0,'是':1})
data_clean['是否农户'] = data['是否农户'].map({'否':0,'是':1}).fillna(1)
data_clean['有无子女'] = data['有无子女'].map({'否':0,'是':1})
data_clean[bit_cols].head()

3.1.3.2 数值型变量处理

numerical_cols = ['贷款期限_median', '抵押物溢出价值_mean','抵押物溢出比例_mean', '合同额度(元)_mean','贷款剩余本金(元)_mean','贷款期限_std', '抵押物溢出价值_std', '年龄', '信息公开度','合同额度(元)_std','贷款剩余本金(元)_std']
data_clean['抵押物溢出价值_mean'].fillna(data_clean['抵押物溢出价值_mean'].mean(), inplace=True)
data_clean['贷款剩余本金(元)_mean'].fillna(data_clean['贷款剩余本金(元)_mean'].mean(), inplace=True)

3.1.4 模型构建

3.1.4.1 训练集&测试集划分

train = pd.concat([data_clean[numerical_cols],categorical_data], axis=1)
train = pd.concat([train,data_clean[bit_cols]], axis=1)
X = train
y = data_clean[y_col]
# 按照2:8划分测试集与训练集
X_train,X_valid, y_train, y_valid = train_test_split(X, y, test_size=0.2,random_state=1)
X_train.shape,X_valid.shape

3.1.4.2 逻辑回归

根据逻辑回归的结果来分析各自变量对于目标变量的重要程度。

clf_log = LogisticRegression(class_weight = 'balanced')
model = clf_log.fit(X_train, y_train)
# 模型结果
clf_log.intercept_,list(zip(X_train.columns,clf_log.coef_))

# 基于逻辑回归的特征与因变量的系数画图
coefs = pd.Series(clf_log.coef_[0], index = X.columns)
imp_coefs = pd.concat([coefs.sort_values().head(10),coefs.sort_values().tail(10)])
imp_coefs.plot(kind = "barh")
plt.title("Coefficients in the ElasticNet Model")
plt.show()


图中是否有公司电话、产品名称_个人商房按揭贷款等20个特征对于因变量较为重要。

# 模型精度
model.score(X_valid,y_valid) # 结果为0.65
# 模型评价
y_valid_pre_pro = model.predict(X_valid)
y_valid_pre = y_valid_pre_pro > 0.5  # 预测的逾期概率超过0.5即为坏客户,这个值根据业务需求来定
# 准确率
precision_score(y_valid,y_valid_pre)  # 结果为0.224
# 召回率
recall_score(y_valid,y_valid_pre)  # 结果为0.839
# F1值
f1_score(y_valid,y_valid_pre)  # 结果为0.354

在实际业务场景中,采取的策略是“宁可错杀一百,也不放过一个”。因此模型评价结果显示,模型的准确率低,召回率高,反映真正逾期客户中约84%的都被识别出来,但是也有很多非逾期客户被预测为逾期客户。

# 精准率和召回率曲线
thresholds = np.arange(0,1,.01)
precisions = []
recalls = []
for threshold in thresholds:y_predict = y_valid_pre_pro>=thresholdprecisions.append(precision_score(y_valid,y_predict))recalls.append(recall_score(y_valid,y_predict))
plt.plot(thresholds,precisions)
plt.plot(thresholds,recalls)
plt.show()

# ROC曲线
predictions = model.predict_proba(X_valid)
false_positive_rate, recall, thresholds = roc_curve(y_valid, predictions[:, 1])
roc_auc = auc(false_positive_rate, recall)
plt.title('Receiver Operating Characteristic')
plt.plot(false_positive_rate, recall, 'b', label='AUC = %0.2f' % roc_auc)
plt.legend(loc='lower right')
plt.plot([0, 1], [0, 1], 'r--')
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.0])
plt.ylabel('Recall')
plt.xlabel('Fall-out')
plt.show()

3.1.4.3 LightGBM

import lightgbm as lgb
def lightgbm_model(X_train, X_valid, y_train, y_valid,target_name,need_save = False,need_plot = True, categorical=[]):
# 基于随机森林的特征重要性评估n_rounds = 10000lgbm_params = {'task': 'train','boosting_type': 'gbdt','objective': 'binary','metric': 'auc','max_depth': 15,'num_leaves': 300,'feature_fraction': 0.65,'bagging_fraction': 0.85,# 'bagging_freq': 5,'learning_rate': 0.005,'verbose': 0,'gpu_use_dp':True,'is_unbalance':True}lgtrain = lgb.Dataset(X_train, y_train,categorical_feature=categorical)lgvalid = lgb.Dataset(X_valid, y_valid,categorical_feature=categorical)lgb_clf = lgb.train(lgbm_params,lgtrain,num_boost_round=n_rounds,valid_sets=[lgtrain, lgvalid],valid_names=['train', 'valid'],early_stopping_rounds=50,verbose_eval=100,)if need_save:pass# Feature Importance Plotif need_plot:f, ax = plt.subplots(figsize=[10, 14])lgb.plot_importance(lgb_clf, max_num_features=50, ax=ax)plt.title("Light GBM Feature Importance With"+target_name)return lgb_clf
X_train = X_train.rename(columns={col:col.replace('(元)','') for col in X_train.columns})
X_train = X_train.rename(columns={col:col.replace('(消费类)','') for col in X_train.columns})
X_valid = X_valid.rename(columns={col:col.replace('(元)','') for col in X_valid.columns})
X_valid = X_valid.rename(columns={col:col.replace('(消费类)','') for col in X_valid.columns})
lgb_clf1 = lightgbm_model(X_train, X_valid, y_train, y_valid, y_col)

y_pre = lgb_clf1.predict(X_valid)
# 混淆矩阵
y_pred = [ 1 if i >0.5 else 0 for i in y_pre ]
confusion_matrix(y_valid,y_pred)
# ROC曲线
predictions = lgb_clf1.predict(X_valid)
false_positive_rate, recall, thresholds = roc_curve(y_valid, predictions)
roc_auc = auc(false_positive_rate, recall)
plt.title('Receiver Operating Characteristic')
plt.plot(false_positive_rate, recall, 'b', label='AUC = %0.2f' % roc_auc)
plt.legend(loc='lower right')
plt.plot([0, 1], [0, 1], 'r--')
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.0])
plt.ylabel('Recall')
plt.xlabel('Fall-out')
plt.show()


通过探索性数据分析、逻辑回归、LightGBM模型算法来筛选出对于目标变量(用户是否逾期)有意义的变量或特征,然后依照属性、特征、偏好等用户标签架构,将用户信息进行标签化处理。

3.2 征信数据分析

3.3 百融数据分析

征信数据与百融数据的分析流程与贷款逾期数据相同,由于篇幅较长,在此不做赘述。

某农商行用户画像项目——模型构建部分相关推荐

  1. 某农商行用户画像项目——用户画像分析部分

    文章目录 四.用户画像分析 4.1 用户维度 4.1.1 个人属性 4.1.2 社会属性 4.1.3 用户行为 4.1.4 用户属性 4.2 用户标签 4.2.1 筛选变量 4.2.2 判断变量正负性 ...

  2. 昆山农商行用户画像——DataExplore

    昆山农商行用户画像--DataExplore 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以 ...

  3. 企业级360°全方位用户画像:项目介绍[二]

    絮叨两句: 博主是一名软件工程系的在校生,利用博客记录自己所学的知识,也希望能帮助到正在学习的同学们 人的一生中会遇到各种各样的困难和折磨,逃避是解决不了问题的,唯有以乐观的精神去迎接生活的挑战 少年 ...

  4. 金融用户画像项目总结

    金融用户画像项目总结 目录 理财用户画像 导读 I.用户画像概念 II.用户画像目的 III.用户画像应用简介 IV.用户画像体系 i.标签概述 ii.标签处理过程 iii.标签体系 V.用户画像构建 ...

  5. 深度学习在用户画像标签模型中的应用

    原文地址:https://blog.csdn.net/chaishen10000/article/details/79324016 最近一段时间都在学习深度学习,想着在用户画像标签模型中看能不能用上, ...

  6. 大数据用户画像项目实战 ETL数据抽取

    一.课程介绍 一个基于规则的大数据用户画像项目为什么要选这样一个项目:1.典型的批量计算场景2.基于规则.涵盖大数据批量处理的各个典型场景3.可视化.所有控制流程全程可视化4.可扩展.通过集成更多的计 ...

  7. 什么是用户画像?如何构建用户画像?

    我们通过这篇文章,介绍我们理解的两种用户画像(User Persona 和 User Profile),以及如何构建用户画像(User Profile)的标签体系并驱动产品智能. User Perso ...

  8. 公司用户画像项目总结

    目录 用户画像是什么? 标签 画像和标签 参数化标签? 标签的权重? 标签分类 标签建模 画像数据产出 特征标签 建模标签 模型预测标签 对自己在画像项目的一些总结 用户画像是什么? 用户画像分为画像 ...

  9. 用户画像体系与构建方法概述

    既是概述,也是笔记,持续更新 ~ 参考文章: 1.用户画像的技术和方法论 2.用户画像是怎么生成出来的? 3.用户画像:User persona 和 User profile 4. 终于有人把用户画像 ...

最新文章

  1. redis 哨兵_Redis哨兵配置
  2. SAP CRM IBASE保存的逻辑分析
  3. 物联网为电信运营商带来众多商业机会
  4. 硬核干货! 你的业务是否适合上链、上链有那些坑?dfuse、慢雾、MYKEY大佬为你为你指点迷津……...
  5. 网络管理:超级详细Tcpdump 的用法
  6. sed 删除行首空格
  7. HTML5模拟衣服撕扯动画
  8. Atitit 锁的不同层级 app锁 vm锁 os锁 硬件锁 目录 1. 在硬件层面,CPU提供了原子操作、关中断、锁内存总线的机制 1 1.1. test and set指令 1 1.2. 锁内
  9. C语言经典例题(菜鸟教程100例)
  10. 为何台湾在移动互联网时代远远落后于大陆?
  11. openwrt 格式化_OpenWRT上进行EXT4格式化和内容写入
  12. 大数据架构师该做到的
  13. iOS Design Patterns Excerpt
  14. 为什么阿里,腾讯,百度和京东都是在开曼岛注册的?
  15. HDU 5234 Happy birthday 01背包
  16. 怎么去搭建聚合支付系统比较划算
  17. tekton入门 - tasks
  18. Eclipse插件安装最简单方式--以Eclipse中文语言包汉化为例(附汉化包)
  19. 2019上海埃森哲软件开发面试
  20. 自动驾驶系统中的坐标系

热门文章

  1. 今天,王坚正式把“杭州城市大脑”作为礼物献给世界...
  2. python lambda菜鸟_Python lambda介绍
  3. 商品详情页商品属性选择,包含多规格
  4. ionic项目打包apk遇到的问题
  5. 如何设置PPT,演示者能看到备注而观众看不到
  6. 聚合供应链,Saas系统
  7. python在abaqus中的应用pdf_Python语言在Abaqus中的应用
  8. QGIS制作精美地图
  9. MATLAB代码保存为word,MATLAB怎么保存为Word?
  10. 2020年Apple的UWB技术产品资料整理