学习笔记:Python 数据分析与机器学习

一、Python 库导入与简介

 1. Numpy
- 提供多维数组对象和操作。

2. Pandas
- 高性能、易用的数据结构,用于数据分析。

 3. CatBoost
- 机器学习库,擅长分类和回归任务。

 4. Scikit-learn
- model_selen:模型选择方法,如交叉验证。
- metrics:模型性能评估指标。

5. RDKit
- 化学信息学和机器学习软件,处理化学结构。

6. Tqdm
- 长循环中添加进度条的库。

 7. 其他库
- `sys`, `os`, `gc`, `re`, `argparse`, `warnings`:提供系统交互、正则表达式处理等功能。

 二、数据预处理

 1. 数据读取
- 使用 Pandas 读取 Excel 文件。

2. 数据清洗
- 删除含有大量缺失值的列。
- 合并训练集和测试集,便于统一处理。

三、特征工程

 1. SMILES 转换
- 使用 RDKit 将 SMILES 字符串转换为分子对象,并重新转换为规范化的 SMILES 字符串列表。

 2. TF-IDF 特征提取
- 使用 TfidfVectorizer 从 SMILES 字符串创建特征矩阵。

 3. 自然数编码
- 对分类特征进行整数编码。

 4. 特征和标签准备
- 筛选特征列,分离训练集和测试集,提取标签列。

 四、模型训练与预测

1. 交叉验证
- 使用 KFold 实现 5 折交叉验证。

 2. CatBoost 分类器
- 设置参数,训练模型,评估性能。

 3. 预测与提交
- 使用测试集特征进行预测,生成提交文件。

 五、TF-IDF 学习

 1. 概念
- 评估词条在文档集中的重要性。

 2. 应用
- 文本挖掘、信息检索、特征提取。

 3. 使用步骤
- 文本预处理、分词、计算 TF 和 IDF、计算 TF-IDF。

 4. Python 实现
- 使用 scikit-learn 的 TfidfVectorizer。

 六、交叉验证学习

 1. 目的
- 评估模型泛化能力,减少过拟合。

 2. 类型
- K-折、留一法、分层、时间序列。

3. 步骤
- 分割数据、训练测试、性能评估。

七、CatBoost 学习

 1. 特点
- 自动处理类别特征,处理缺失值,梯度提升算法。

 2. 使用步骤
- 数据准备、创建模型、设置参数、训练评估、应用模型。

 3. 示例代码
- 展示 CatBoost 分类器的使用。

 八、注意事项

- 确保安装 CatBoost 库。
- 根据问题调整参数优化性能。
- 注意训练速度和内存消耗。

基线模型概述

  • 基线模型是数据分析和机器学习的起点,通常使用简单的算法或方法建立。
  • 基线模型为我们提供了一个性能基准,以评估更复杂模型的效果。

数据处理

  • 探索性数据分析:深入理解数据分布,识别异常值和潜在的数据问题。
  • 特征清洗:进一步优化缺失值处理和异常值剔除策略。
  • 数据标准化:考虑是否需要对数值特征进行标准化或归一化。

个人感悟与学习记录

  • 数据理解的重要性:深入理解数据是改进模型的第一步。
  • 持续学习:机器学习领域不断发展,持续学习新的算法和技术至关重要。
  • 实验记录:记录每次实验的设置和结果,方便追踪改进效果。

**总结**:笔记涵盖了 Python 数据分析与机器学习的关键库和流程,包括数据预处理、特征工程、模型训练与评估,以及 TF-IDF 和交叉验证的基本概念和应用。特别强调了 CatBoost 分类器的使用和优势,适合处理具有类别特征的数据集。
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值