推荐系统入门一:赛题理解+Baseline

本文介绍了推荐系统比赛的理解,包括目标转换为点击率预测问题,提出将多分类问题转化为软分类,利用用户历史点击数据预测最后一次点击的新闻。并展示了如何构建Baseline,包括数据处理、特征工程和模型预测,最终实现了一个基于商品的召回策略。
摘要由CSDN通过智能技术生成

赛题理解
根据赛题简介,我们首先要明确我们此次比赛的目标: 根据用户历史浏览点击新闻的数据信息预测用户最后一次点击的新闻文章。从这个目标上看, 会发现此次比赛和我们之前遇到的普通的结构化比赛不太一样, 主要有两点:

首先是目标上, 要预测最后一次点击的新闻文章,也就是我们给用户推荐的是新闻文章, 并不是像之前那种预测一个数或者预测数据哪一类那样的问题
数据上, 通过给出的数据我们会发现, 这种数据也不是我们之前遇到的那种特征+标签的数据,而是基于了真实的业务场景, 拿到的用户的点击日志
所以拿到这个题目,我们的思考方向就是结合我们的目标,把该预测问题转成一个监督学习的问题(特征+标签),然后我们才能进行ML,DL等建模预测。那么我们自然而然的就应该在心里会有这么几个问题:如何转成一个监督学习问题呢? 转成一个什么样的监督学习问题呢? 我们能利用的特征又有哪些呢? 又有哪些模型可以尝试呢? 此次面对数万级别的文章推荐,我们又有哪些策略呢?

当然这些问题不会在我们刚看到赛题之后就一下出来答案, 但是只要有了问题之后, 我们就能想办法解决问题了, 比如上面的第二个问题,转成一个什么样的监督学习问题? 由于我们是预测用户最后一次点击的新闻文章,从36万篇文章中预测某一篇的话我们首先可能会想到这可能是一个多分类的问题(36万类里面选1), 但是如此庞大的分类问题, 我们做起来可能比较困难, 那么能不能转化一下? 既然是要预测最后一次点击的文章, 那么如果我们能预测出某个用户最后一次对于某一篇文章会进行点击的概率, 是不是就间接性的解决了这个问题呢?概率最大的那篇文章不就是用户最后一次可能点击的新闻文章吗? 这样就把原问题变成了一个点击率预测的问题(用户, 文章) --> 点击的概率(软分类), 而这个问题, 就是我们所熟悉的监督学习领域分类问题了, 这样我们后面建模的时候, 对于模型的选择就基本上有大致方向了,比如最简单的逻辑回归模型。

这样, 我们对于该赛题的解决方案应该有了一个大致的解决思路,要先转成一个分类问题来做, 而分类的标签就是用户是否会点击某篇文章,分类问题的特征中会有用户和文章,我们要训练一个分类模型, 对某用户最后一次点击某篇文章的概率进行预测。 那么又会有几个问题:如何转成监督学习问题? 训练集和测试集怎么制作? 我们又能利用哪些特征? 我们又可以尝试哪些模型? 面对36万篇文章, 20多万用户的推荐, 我们又有哪些策略来缩减问题的规模?如何进行最后的预测?

Baseline

导包

import packages

import time, math, os
from tqdm import tqdm
import gc
import pickle
import random
from datetime import datetime
from operator import itemgetter
import numpy as np
import pandas as pd
import warnings
import collections
from collections import defaultdict
warnings.filterwarnings(‘ignore’)
data_path = ‘./data_raw/’
save_path = ‘./tmp_results/’
df节省内存函数

节约内存的一个标配函数

def reduce_mem(df):
starttime = time.time()
numerics = [‘int16’, ‘int32’, ‘int64’, ‘float16’, ‘float32’, ‘float64’]
start_mem = df.memory_usage().sum() / 10242
for col in df.columns:
col_type = df[col].dtypes

### 回答1: 保险反欺诈预测是金融数据分析的重要应用之一。该赛题是基于保险数据集,旨在通过分析和挖掘数据特征,建立一个反欺诈预测模型的基准线。 首先,我们需要对保险数据集进行预处理和清洗,包括处理缺失值、异常值和重复值等。然后,我们可以进行特征工程,提取出与反欺诈相关的特征。常见的特征可以包括被保险人的年龄、职业、保险金额、历史理赔记录等信息。 接下来,我们可以选择合适的机器学习算法来构建预测模型。常用的算法包括逻辑回归、决策树、随机森林等。在构建模型之前,我们需要将数据集划分为训练集和测试集,用训练集进行模型训练,然后用测试集评估模型的性能。 评估模型的性能可以使用常见的指标,如准确率、精确率、召回率和F1值等。这些指标可以帮助我们评估模型的预测能力和误判率。 最后,我们需要对模型进行优化和改进。可以通过调整模型的参数、增加更多的特征或者尝试其他的机器学习算法来提高模型的预测性能。同时,对于不平衡样本问题,可以采用欠采样、过采样或者集成学习等方法来解决。 总结起来,保险反欺诈预测的baseline建立包括数据预处理、特征工程、模型构建和优化等步骤。通过不断地优化和改进,我们可以建立一个有效的反欺诈预测模型,提高保险公司的风险控制能力。 ### 回答2: 金融数据分析赛题2: 保险反欺诈预测baseline是指在保险领域中,利用金融数据分析的方法来预测保险反欺诈的基础模型。 保险反欺诈预测是指利用大数据和机器学习算法等技术手段,对保险投保人的风险进行分析和预测,从而提高保险公司的风险管理能力,减少保险欺诈行为。 基于金融数据分析的保险反欺诈预测baseline主要包括以下几个步骤: 1. 数据收集:收集与保险欺诈相关的数据,包括投保人的基本信息、历史保险记录、理赔记录等,以及其他与保险欺诈相关的非保险数据。 2. 数据清洗和预处理:对收集到的数据进行清洗和预处理,包括去除异常值、缺失值处理、数据标准化等。确保数据的质量和可用性。 3. 特征工程:根据业务需求和领域知识,对数据进行特征提取和构建。包括基本特征、组合特征和衍生特征等。 4. 模型选择和训练:选择适用于保险反欺诈预测的机器学习模型,例如逻辑回归、决策树、支持向量机等。通过训练数据拟合模型,并进行调参和验证,得到最佳模型。 5. 模型评估和优化:利用评价指标如准确率、召回率、F1值等对模型进行评估,并进行模型优化和调整,提高模型的预测性能。 6. 模型应用和部署:将优化后的模型应用于实际场景,进行实时预测和反欺诈行为识别。并对模型进行监测和更新,保持模型的准确性和稳定性。 基于以上步骤,金融数据分析赛题2的保险反欺诈预测baseline可以建立一个初步的保险反欺诈预测模型,并得到一组基本的预测结果。然后可以根据比赛的具体要求和模型效果进行进一步的改进和优化,提高保险反欺诈预测的准确性和稳定性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值