数模转人工(:——模型算法从入门到入土(一)
定位:工具只讲到“能够独立运行模型”为止,主体迅速转入模型结构、算法功能分类和学习路线。后续文档将以本篇的分类体系为索引,分别展开具体算法。此为模型算法内容,另外会扩展到图表强化(数据如何表现)以及论文手的情怀DLC:)
工具和数据处理
工具组合(足够陪你完成各个数模论文了)
| 工具 | 用途 |
|---|---|
| Python | 编写数据处理、建模和求解程序 |
| Jupyter Notebook | 分段运行代码,同时记录公式、图表和分析文字 |
| NumPy | 数组、矩阵和数值计算 |
| Pandas | 表格数据读取、清洗与整理 |
| Matplotlib / Seaborn | 可视化数据、模型结果和误差 |
| SciPy | 插值、拟合、优化和科学计算 |
| scikit-learn | 回归、分类、聚类和机器学习 |
| PuLP / OR-Tools / SciPy.optimize | 规划、调度和组合优化 |
Notebook 与 Python File
- Notebook(
.ipynb):像实验记录本,适合分段试验、查看中间结果、插入 Markdown、公式和图表。建模学习与竞赛分析优先使用它。 - Python File(
.py):像正式程序,适合封装函数、批量运行和保存成熟算法。模型验证后可将稳定代码整理为脚本或模块。
第一阶段只需掌握的能力
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv("data.csv") # 读取数据
data = data.dropna() # 一个基本的缺失值处理示例
x = np.asarray(data["x"])
y = np.asarray(data["y"])
plt.scatter(x, y)
plt.show()
这里只是为了从学会对数据的处理切入模型算法的内容。没有太高的要求,需要达到的标准是:能读取数据、检查数据、完成基本清洗、画出关系图、调用一个现成模型并解释输出。(对的,会把数据整合在图中就行,有关图表的内容我会另开一章)
按功能建立算法总地图
算法首先按“要解决的功能”分为八条主线。每条主线都可继续拆成入门、进阶和高级专题。
数据处理与数值计算
解决数据能否被模型使用的问题:缺失值、异常值、标准化、插值、数值积分、数值微分、矩阵运算和方程求解。
统计分析与关系建模
回答“变量之间有什么关系”:描述统计、相关分析、最小二乘法、线性回归、非线性回归、参数估计、主成分分析和因子分析。
预测与机器学习
回答“未知或未来会是什么”:灰色预测、指数平滑、时间序列、ARIMA、回归预测、决策树、随机森林、支持向量机和神经网络。
综合评价与排序
回答“多个对象或方案谁更好”:层次分析法、熵权法、CRITIC、TOPSIS、模糊综合评价、主成分评价和 DEA。
分类与聚类
回答“对象属于哪类,或数据自然分成哪些群体”:逻辑回归、K 近邻、朴素贝叶斯、决策树、支持向量机、K-means、层次聚类和 DBSCAN。
优化、调度与路径
回答“怎样安排才能更优”:线性规划、整数规划、0-1 规划、非线性规划、动态规划、多目标优化、运输与指派、最短路、最大流、遗传算法、粒子群和模拟退火。
动态系统、随机过程与仿真
回答“系统如何随时间变化,以及随机性会造成什么影响”:微分方程、差分方程、状态空间、马尔可夫链、排队论、蒙特卡洛、系统动力学、元胞自动机和离散事件仿真。
高级决策与综合模型
处理开放、复杂和不确定的问题:敏感性分析、风险与可靠性、鲁棒优化、随机优化、因果分析、空间统计、博弈论、复杂网络,以及“机器学习 + 优化”“仿真 + 优化”等混合模型。
模型结构的另一套标签
同一个算法还应标注以下结构属性,避免只记名称:
- 确定性 / 随机性
- 静态 / 动态
- 线性 / 非线性
- 连续 / 离散
- 单目标 / 多目标
- 集中式 / 分布式
- 机理驱动 / 数据驱动 / 混合驱动
- 精确算法 / 启发式算法 / 元启发式算法
例如,“带随机需求的多目标动态优化模型”同时描述了模型的多个结构维度。
接下来本章内容分期学习路线
工具与数学基础
↓
数据处理与统计分析
↓
拟合、回归与基础预测
↓
评价、分类与聚类
↓
线性规划与经典运筹
↓
非线性、多目标与智能优化
↓
动态系统、随机模型与仿真
↓
高级不确定性与综合建模
后期每篇按照的文章结构模块顺序(!
- 解决什么问题、何时使用
- 所属功能类别与模型结构标签
- 直观思想和必要数学原理
- 输入、输出、假设和参数
- 手算示例
- Jupyter/Python 实现
- 结果可视化与误差评价
- 建模题中的完整流程
- 优点、局限和常见误用
- 可替代算法与进阶方向
尾录
模型结构与算法/
├── 01_工具基础到算法地图.md ← 本篇
├── 02_数据处理与数值计算.md
├── 03_统计分析与关系建模.md
├── 04_拟合回归与预测.md
├── 05_综合评价与排序.md
├── 06_分类与聚类.md
├── 07_线性规划与经典运筹.md
├── 08_非线性多目标与智能优化.md
├── 09_动态系统随机过程与仿真.md
└── 10_高级决策与综合建模.md
。
8. 本篇后的第一条学习任务
在 Jupyter Notebook 中完成一个最小闭环:
- 创建
Python 3 (ipykernel)Notebook。 - 用 Pandas 读取一个 CSV 或 Excel 数据表。
- 检查缺失值、数据类型和基本统计量。
- 用 Matplotlib 画出两个变量的散点图。
- 在 Markdown 单元格中写下三条观察结果。
完成这个闭环后,下一篇进入“数据处理与数值计算”,再通过插值、标准化和最小二乘法自然切入真正的算法学习。
M:之前由于一些原因写了对制图库的简单介绍,考虑完还是回头把以前学过的东西一点点记录到库里,除了便于新人看,也是记录我一个菜鸟新手的成长哈哈哈._.
&spm=1001.2101.3001.5002&articleId=164223642&d=1&t=3&u=8a8f2c1fc43e452ab7bb5056c3c2831a)
3161

被折叠的 条评论
为什么被折叠?



