机器学习小白的菜鸟笔记(自用)
基本介绍
赛题背景:
用户新增预测是分析用户使用场景以及预测用户增长情况的关键步骤,有助于进行后序产品和应用的迭代升级
目标:
对具体场景应用相应的ai能力和解决方案,通过ai解决相关实际问题。
数据集:
uuid | 样本唯一标识 | |
eid | 访问行为id | |
udmap | 行为属性 | 其中key1-9为不同行为属性如项目名、项目id |
common_ts | 应用访问记录发生时间 | (毫秒时间戳) |
x1-x8 | 用户相关属性 | 匿名处理字段 |
target | 预测目标 | 是否为新增用户 |
f1_score | 评价标准 |
解题思路:
基于训练集的样本数据,构建模型来预测测试集中用户的新增情况。
为二分类任务,目标是根据用户的行为、属性以及访问时间等特征,预测该用户是否为新增用户。
具体操作:利用给定数据集进行特征工程、模型选择和训练,用训练好的模型对测试集中的用户进行预测和生成预测结果。
第一阶段基本任务:跑通用户新增预测baseline
基于百度ai studio,讲baseline部署在线上平台
运行配置:CPU2核8G或V100 16G
实践步骤
导入库:
首先,代码导入了需要用到的库,包括 pandas(用于数据处理和分析)和 DecisionTreeClassifier(决策树分类器)等。
读取数据:
代码通过使用 pd.read_csv 函数从文件中读取训练集和测试集数据,并将其存储在 train_data 和 test_data 两个数据框中。
特征工程:
- udmap_onethot 函数将原始的 udmap 特征进行了预处理,将其转换为一个长度为9的向量,表示每个key是否存在。
- 对 udmap 特征进行编码,生成 udmap_isunknown 特征,表示该特征是否为空。
- 将处理后的 udmap 特征与原始数据拼接起来,形成新的数据框。
- 提取 eid 特征的频次(出现次数)和均值,并添加为新的特征。
- 使用时间戳 common_ts 提取小时部分,生成 common_ts_hour 特征。
决策树模型训练和预测:
- 创建了一个 DecisionTreeClassifier 的实例,即决策树分类器。
- 使用 fit 函数对训练集中的特征和目标进行拟合,训练了决策树模型。
- 对测试集使用已训练的模型进行预测,得到预测结果。
- 将预测结果和相应的 uuid 组成一个DataFrame,并将其保存到 submit.csv 文件中。
一些解释
baseline可看作参照物,理解为基础模型
给定baseline选择使用机器学习方法
解决机器学习问题一般流程:
1.问题分析
2.数据探索
3.数据清洗
4.特征工程
5.模型训练
6.模型验证(优化特征工程)
7.结果输出
使用机器学习算法而非深度学习的原因:
机器学习问题中,特征工程很关键(特征工程能充分捕捉数据的关键特征则机器学习算法也能表现得很好。
深度学习可以在某种程度上自动学习特征,但对于特定问题,手动设计特征可能更有效。
(来自夏令营文档https://datawhaler.feishu.cn/docx/HBIHd7ugzoOsMqx0LEncR1lJnCf)