阿里大数据竞赛入门指南:从日期转换到数据切分

5星 · 超过95%的资源 需积分: 9 66 下载量 196 浏览量 更新于2024-09-11 2 收藏 24KB DOCX 举报
"阿里大数据竞赛非官方指南,旨在帮助新手快速入门并参与竞赛。提供了解决数据格式问题、数据集划分以及时间序列分析的基本方法。" 阿里大数据竞赛是针对推荐算法的一项挑战,涉及到的关键知识点包括: 1. 推荐系统:推荐系统是利用用户的历史行为、兴趣偏好等信息,预测用户可能感兴趣的商品或服务。在这个竞赛中,参赛者可能需要构建这样的模型,通过用户的行为数据来预测其未来购买行为。 2. 大数据处理:由于数据量大,需要有效的方法进行数据预处理、清洗和转换。如案例中提到的日期转换,从原始的中文格式转为可处理的日期格式,这是大数据处理中的常见任务。 3. 数据集划分:为了训练和验证模型,通常会将数据集划分为训练集和验证集。在本例中,选择前三个月的数据作为训练集,最后一个月作为验证集,以便评估模型的性能。 4. 时间序列分析:在处理时间相关的数据时,时间序列分析是非常重要的。案例中提到根据时间的先后赋予不同权重,意味着模型需要考虑时间因素,越接近当前时间的事件可能对预测结果影响更大。 5. Python编程:案例中的代码片段展示了Python在数据处理中的应用,如使用`decode`进行编码转换,`int`用于类型转换,以及自定义函数`parse_date`和`split_file`来处理日期和分割文件。 6. 文件操作:使用`open`函数读写文件,`readline`跳过文件头,`readlines`读取所有行,以及`write`写入内容,这些都是Python文件操作的基础。 7. 模型优化与测试:竞赛中提到的一周一次的测试机会限制了模型的持续优化。在实际应用中,频繁测试可以帮助更快地调整模型参数,提高预测准确性。 8. 数据过滤:在构建验证集时,只保留购买记录,去除无用数据,这体现了数据筛选的重要性,以减少噪声和提高模型效率。 9. 协同过滤:虽然作者自谦,但协同过滤是一种常见的推荐算法,通过找出用户之间的相似性来进行预测。这可能是作者打算采用的策略之一。 通过这些知识要点,参赛者可以理解如何开始准备和参加这样的大数据竞赛,包括数据预处理、模型构建、评估和优化等步骤。对于初学者来说,这是一个很好的实践机会,可以提升数据分析和机器学习技能。
2016-01-05 上传
AliDMCompetition 阿里巴巴大数据竞赛(http://102.alibaba.com/competition/addDiscovery/index.htm ) 数据说明 提供的原始文件有大约4M左右,涉及1千多天猫用户,几千个天猫品牌,总共10万多条的行为记录。 用户4种行为类型(Type)对应代码分别为: 点击:0 购买:1 收藏:2 购物车:3 提交格式 参赛者将预测的用户存入文本文件中,格式如下: user_id \t brand_id , brand_id , brand_id \n 上传的结果文件名字不限(20字以内),文件必须为txt格式。 预测结果 真实购买记录一共有3526条 TODO 注意调整正负样本比例 在LR的基础上做RawLR。按照天猫内部的思路来。 在LR的基础上做MRLR,样本提取要更加合理。 在UserCF和ItemCF上加上时间因子的影响。 利用UserCF做好的用户聚类、ItemCF做好的品牌聚类来做细化的LR,或者在聚类 上做LFM 在ItemCF的思路上挖掘频繁项集/购买模式,如购买品牌A和商品后往往会购买 品牌B的商品 LFM 数据集特征 某一商品在购买前的一段时间内会出现大量点击次数,购买完成后的一段时间内也会出现大量点击次数 用户在本月有过行为的商品极少出现在下个月的购买列表里 根据观察推断:用户浏览商品的行为可分为两类: 无目的浏览,可能会在浏览过程中对某些中意的商品进行购买,数据表现为有大量点击次数<=2的行为记录,但很少有购买行为 有目的的查找商品,可能是事先有需求的情况,数据表现为一段时间内点击商品数很少, 但点击过的商品大多数都进行了购买 参考论文 See https://www.google.com.hk/search?q=data+mining+time+series&ie=utf-8&oe=utf-8&aq=t for more. Chapter 1 MINING TIME SERIES DATA - ResearchGate 模型列表 LR(model=LinearSVC(C=10, loss='l1'), alpha=0.7, degree=1) | TOTAL VISITED BOUGHT FAVO CART NEW | Pred # 1438 1436 626 71 12 | % 100% 99.861% 43.533% 4.937% 0.834% | Real # 1311 250 89 10 1 | % 100% 19.069% 6.789% 0.763% 0.076% Hit # 76 Precision 5.285118% Recall 5.797101% F1 Score 5.529283% LR(model=LogisticRegression(penalty='l1'), alpha=0.7, degree=1) | TOTAL VISITED BOUGHT FAVO CART NEW | Pred # 1472 1470 615 68 14 | % 100% 99.864% 41.780% 4.620% 0.951% | Real # 1311 250 89 10 1 | % 100% 19.069% 6.789% 0.763% 0.076% Hit # 74 Precision 5.027174% Recall 5.644546% F1 Score 5.318002% 这个模型在数据变成2次后,Precision ~ 16%,同时F1 ~ 3% LR(model=Perceptron(penalty='l1'), alpha=0.7, degree=1) | TOTAL VISITED BOUGHT FAVO CART NEW | Pred # 3145 3140 1023 130 26 | % 100% 99.841% 32.528% 4.134% 0.827% | Real # 1311 250 89 10 1 | % 100% 19.069% 6.789% 0.763% 0.076% Hit # 113 Precis