DataWhaleAI分子预测夏令营 学习笔记

AI分子预测夏令营学习笔记

一、直播概览

主持人介绍

  • 姓名:徐翼萌
  • 角色:DataWhale助教
  • 活动目的:分享机器学习赛事经验,提升参赛者在分子预测领域的能力

嘉宾介绍

  • 姓名:余老师
  • 背景:Data成员,腾讯广告算法大赛冠军,著有《机器学习算法竞赛实战》

二、技术分享要点

数据预处理

  • 数据清洗:包括处理缺失值、异常值和重复数据。缺失值可以通过均值、中位数填充,或使用预测模型预测缺失值。异常值可以通过箱型图等方法识别并处理。
  • 数据标准化:对数据进行标准化或归一化处理,以消除不同量纲的影响。
  • 探索性数据分析(EDA):使用统计图表来分析数据分布、中心趋势和分散程度。

特征工程

  • 特征提取:从原始数据中提取有助于模型理解的特征,例如从化学结构中提取分子描述符。
  • 特征选择:使用过滤法、包装法或嵌入法选择最有信息量的特征。
  • 特征转换
    • 连续特征:可能需要进行对数转换或Box-Cox转换来稳定方差。
    • 类别特征:使用独热编码转换为虚拟变量,注意处理"一位有效"问题。

模型选择与训练

  • 模型比较:评估不同模型的性能,包括但不限于决策树、随机森林、梯度提升机、支持向量机等。
  • 超参数调优:使用交叉验证和自动化调参技术(如Hyperopt或Optuna)来找到最优的超参数组合。
  • 模型正则化:使用L1或L2正则化防止模型过拟合。

预测与评估

  • 性能指标
    • 准确率、召回率和F1分数:评估模型在不同类别上的表现。
    • ROC曲线和AUC:评估模型在不同阈值下的性能。
  • 混淆矩阵:直观展示模型预测与实际标签之间的关系。
  • 误差分析:分析模型预测错误的案例,找出潜在原因。

模型融合

  • Bagging:通过自助采样和模型平均来减少方差。
  • Boosting:通过关注被之前模型错误分类的样本来减少偏差。
  • Stacking:结合多个模型的预测结果进行最终预测。

附加学习内容

  • TF-IDF深入:理解TF-IDF的计算原理,如何影响文本特征的处理。
  • 高级文本处理:学习词嵌入(Word Embedding)和主题建模(如LDA)等高级文本分析技术。
  • CatBoost特性:探索CatBoost如何处理缺失值和类别特征,以及其在处理大数据集时的优势。

交叉验证方法

  • K-Fold:将数据集平均分成K份,轮流使用其中一份作为验证集。
  • Stratified K-Fold:在K-Fold的基础上,保持每个折叠中各类别的比例相同。
  • Time Series Cross-Validation:特别适用于时间序列数据,保持数据的时间顺序。

处理类别不平衡

  • 重采样:通过过采样少数类或欠采样多数类来平衡类别。
  • 合成样本生成:使用SMOTE等技术生成新的合成样本。
  • 阈值调整:根据类别分布调整分类阈值。

实用技巧

  • 特征重要性评估:使用特征重要性图来识别关键特征。
  • 模型解释性:使用SHAP、LIME等工具来解释模型预测。
  • 代码优化:编写清晰、高效的代码,使用向量化操作代替循环。

实践建议

  • 代码版本控制:使用Git等工具管理代码版本。
  • 实验跟踪:使用MLflow或TensorBoard记录实验过程和结果。
  • 结果可视化:使用Matplotlib、Seaborn等库创建直观的图表来展示结果

三、QA环节要点

  • 讨论生成数据的局限性和对现有数据的有效利用。
  • 指导如何查询比赛成绩和排名,根据反馈优化模型。

四、结束语与感悟

  • 主持人徐翼萌对余老师的分享表示感谢,强调了学习活动的价值。
  • 个人感悟:通过学习,对机器学习在分子预测领域的应用有了更深入的理解。

五、后续行动计划

  • 独立完成代码实践,加深对理论知识的理解。
  • 参与DataWhale的后续活动,获得更多实践经验。
  • 持续跟踪最新的机器学习技术和研究进展。

六、备注

  • 记录直播中遇到的理解难点,计划通过查阅资料或参与讨论来解决。
  • 收集直播中提及的资源链接,如相关论文、工具库和学习材料。
相关推荐
MartinYeung51 小时前
[论文学习]PoisonBench:评估语言模型对投毒偏好数据的脆弱性
人工智能·学习·语言模型
是枚小菜鸡儿吖2 小时前
把视频教程变成可复习的笔记:Docker 部署 BiliNote,自动转写与总结
笔记·docker·容器
运维全栈笔记3 小时前
Vue + Spring Boot 前后端分离项目部署笔记(若依 RuoYi-Vue 3.9.2)
运维·服务器·vue.js·spring boot·笔记·开源·开源软件
Data_Journal7 小时前
用于网页抓取的 Node-unblocker
大数据·开发语言·数据库·python·scrapy
涤生大数据7 小时前
一次“没有运行日志”的DolphinScheduler任务失败排查
大数据·数据库·人工智能·状态模式
专注API从业者8 小时前
告别人工盯品!借助 Open Claw 搭建电商商品自动化监控与数据分析系统(完整可运行源码)
大数据·运维·数据库·数据分析·自动化
xian_wwq9 小时前
【学习笔记】-深度认知系列-第1讲-AI不是魔法——三句话讲清楚人工智能到底是什么
笔记·学习·深度认知
M78佐菲9 小时前
c语言学习笔记:排序与查找方法整理
linux·c语言·笔记·学习·算法
别动我齐刘海10 小时前
机器人运动控制学习4——状态估计 State Estimation
c++·人工智能·学习·目标检测·机器学习·机器人·自动驾驶
狂云歌10 小时前
2025年读书回顾,AI+游戏+历史
人工智能·学习·游戏