DAY 31 文件的规范拆分和写法

今日的示例代码包含2个部分

  1. notebook文件夹内的ipynb文件,介绍下今天的思路
  2. 项目文件夹中其他部分:拆分后的信贷项目,学习下如何拆分的,未来你看到的很多大项目都是类似的拆分方法

知识点回顾

  1. 规范的文件命名
  2. 规范的文件夹管理
  3. 机器学习项目的拆分
  4. 编码格式和类型注解

**作业:**尝试针对之前的心脏病项目ipynb,将他按照今天的示例项目整理成规范的形式,思考下哪些部分可以未来复用。

大型项目拆分核心原则:模块化、低耦合、高内聚,信贷项目典型拆分方式:

复制代码
credit_project/
├── data/                 # 数据相关
│   ├── raw/              # 原始数据
│   ├── processed/        # 清洗后数据
│   └── data_loader.py    # 数据加载工具
├── model/                # 模型相关
│   ├── base_model.py     # 基础模型类
│   ├── classifier.py     # 分类模型实现
│   └── trainer.py        # 模型训练逻辑
├── utils/                # 通用工具
│   ├── metrics.py        # 评估指标
│   └── tools.py          # 辅助函数
├── config.py             # 配置参数
└── main.py               # 主程序入口
规范要点
  • 文件命名 :全小写 + 下划线(snake_case),如data_loader.py

  • 编码格式:UTF-8,避免中文乱码

  • 类型注解:明确函数参数和返回值类型,提升可读性

    from typing import List, Tuple, Optional

    def calculate_credit_score(features: List[float], weights: Optional[List[float]] = None) -> float:
    """计算信贷评分"""
    if not weights:
    weights = [0.5] * len(features)
    return sum(f * w for f, w in zip(features, weights))

    def split_data(data: List[Tuple[float, int]], test_size: float = 0.2) -> Tuple[List[Tuple[float, int]], List[Tuple[float, int]]]:
    """拆分训练集和测试集"""
    split_idx = int(len(data) * (1 - test_size))
    return data[:split_idx], data[split_idx:]

@浙大疏锦行

相关推荐
信誓旦旦的程序猿16 小时前
【Python量化实战宝典 #08】可转债与债券接口手册:转股价·溢价率·纯债价值(Python 可跑)
java·python·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
砚底藏山河16 小时前
python量化:行情数据回溯
java·开发语言·python·金融·maven
今年下半年17 小时前
AI智能体项目实战记录(02):初始化 Python 项目
开发语言·人工智能·python·fastapi
Williamtym17 小时前
PickGo Lab实践:用浏览器、Python和MCP串起机器人搬运仿真
开发语言·python·机器人
CS创新实验室17 小时前
Python 对象“死“了之后去了哪?——引用计数与分代垃圾回收
开发语言·jvm·python
CCblandy17 小时前
雪花 ID 四个边界实测:时钟回拨重号 500 个,前端 JSON.parse 直接丢精度
后端·python·算法·性能优化·架构
quantdash_cc17 小时前
Pandas 处理分钟级股票行情:从原始数据清洗到 K 线聚合
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
把我格子衫拿来18 小时前
VTK 9.5 与 Qt 6 联合开发:从嵌入三维窗口到可维护的桌面架构
c++·python·qt·vtk·三维可视化
cpolar技术支持18 小时前
把配置发出去怕带出密钥?先把含凭据配置转成脱敏只读快照,用 cpolar 给同事核对差异
运维·python·内网穿透·cpolar·配置脱敏
惊讶的猫18 小时前
langchian_agent的高级使用
python