Add lecture materials for Model-Free, Control, and Value topics

- Added Lecture4 - ModelFree.pdf (3013 KB)
- Added Lecture5 - Control.pdf (2575 KB)
- Added Lecture6 - Value.pdf (3320 KB)
This commit is contained in:
2026-04-28 20:28:00 +08:00
commit ceddbdd559
52 changed files with 117740 additions and 0 deletions
@@ -0,0 +1,138 @@
[project]
name = "insurance-premium-risk"
version = "0.1.0"
description = "DTS304TC Coursework 1 - 健康保险保费风险预测"
requires-python = ">=3.10"
dependencies = [
# 基础科学计算
"numpy>=2.2.6",
"pandas>=2.3.3",
"scipy>=1.15.3",
# 机器学习核心
"scikit-learn>=1.7.2",
"xgboost>=3.2.0",
# 超参数优化
"optuna>=4.8.0",
# 可视化
"matplotlib>=3.10.8",
"seaborn>=0.13.2",
# 数据预处理
"imbalanced-learn>=0.14.1",
"shap>=0.49.1",
# 实用工具
"joblib>=1.5.3",
"tqdm>=4.67.1",
]
# 开发依赖
[project.optional-dependencies]
dev = ["pytest>=7.4.0", "black>=23.7.0", "ruff>=0.0.290", "mypy>=1.5.0"]
docs = ["sphinx>=7.1.0", "nbsphinx>=0.9.0", "sphinx-rtd-theme>=1.3.0"]
[tool.uv]
# Python 环境设置 - 使用 Anaconda 的 my_env 环境
python-version = "3.10"
# 显式指定 Python 路径(确保使用 anaconda my_env
python-path = "D:\\ProgramData\\anaconda3\\envs\\my_env\\python.exe"
# 包索引配置(使用清华镜像源加速下载)
index-url = "https://pypi.tuna.tsinghua.edu.cn/simple"
# 备用索引源(按优先级排列)
extra-index-url = [
"https://pypi.org/simple",
"https://mirrors.aliyun.com/pypi/simple/",
]
# 并行安装(加快安装速度)
parallel = true
# 不自动管理 Python 版本(使用已有的 anaconda 环境)
managed = false
# 不允许自动下载 Python
python-downloads = false
# 预发布版本(如果需要测试最新功能)
# prerelease = false
# 排除特定包(如果有兼容性问题)
# exclude-newer = "2025-01-01T00:00:00Z"
# 环境变量
[tool.uv.env]
# 设置网络超时(秒)
UV_HTTP_TIMEOUT = "300"
# 设置并发下载数
UV_CONCURRENT_DOWNLOADS = "8"
[tool.black]
line-length = 100
target-version = ['py310']
include = '\.pyi?$'
exclude = '''
/(
\.git
| \.venv
| build
| dist
| __pycache__
)/
'''
[tool.ruff]
line-length = 100
target-version = "py310"
[tool.ruff.lint]
select = [
"E", # pycodestyle errors
"W", # pycodestyle warnings
"F", # pyflakes
"I", # isort
"B", # flake8-bugbear
"C4", # flake8-comprehensions
"UP", # pyupgrade
]
ignore = [
"E501", # line too long (handled by black)
"B008", # do not perform function calls in argument defaults
"C901", # too complex
]
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
addopts = "-v --tb=short"
[tool.mypy]
python_version = "3.10"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = false
ignore_missing_imports = true
[tool.jupyter]
# Jupyter 相关配置
kernel_name = "my_env"
[tool.jupyter.lab]
# JupyterLab 相关配置
autoreload = true
[tool.lazy-logs]
# 日志配置
level = "INFO"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"