模型算法从入门到入土(一)

数模转人工(:——模型算法从入门到入土(一)

定位:工具只讲到“能够独立运行模型”为止,主体迅速转入模型结构、算法功能分类和学习路线。后续文档将以本篇的分类体系为索引,分别展开具体算法。此为模型算法内容,另外会扩展到图表强化(数据如何表现)以及论文手的情怀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 规划、非线性规划、动态规划、多目标优化、运输与指派、最短路、最大流、遗传算法、粒子群和模拟退火。

动态系统、随机过程与仿真

回答“系统如何随时间变化,以及随机性会造成什么影响”:微分方程、差分方程、状态空间、马尔可夫链、排队论、蒙特卡洛、系统动力学、元胞自动机和离散事件仿真。

高级决策与综合模型

处理开放、复杂和不确定的问题:敏感性分析、风险与可靠性、鲁棒优化、随机优化、因果分析、空间统计、博弈论、复杂网络,以及“机器学习 + 优化”“仿真 + 优化”等混合模型。

模型结构的另一套标签

同一个算法还应标注以下结构属性,避免只记名称:

  • 确定性 / 随机性
  • 静态 / 动态
  • 线性 / 非线性
  • 连续 / 离散
  • 单目标 / 多目标
  • 集中式 / 分布式
  • 机理驱动 / 数据驱动 / 混合驱动
  • 精确算法 / 启发式算法 / 元启发式算法

例如,“带随机需求的多目标动态优化模型”同时描述了模型的多个结构维度。

接下来本章内容分期学习路线

工具与数学基础
  ↓
数据处理与统计分析
  ↓
拟合、回归与基础预测
  ↓
评价、分类与聚类
  ↓
线性规划与经典运筹
  ↓
非线性、多目标与智能优化
  ↓
动态系统、随机模型与仿真
  ↓
高级不确定性与综合建模

后期每篇按照的文章结构模块顺序(!

  1. 解决什么问题、何时使用
  2. 所属功能类别与模型结构标签
  3. 直观思想和必要数学原理
  4. 输入、输出、假设和参数
  5. 手算示例
  6. Jupyter/Python 实现
  7. 结果可视化与误差评价
  8. 建模题中的完整流程
  9. 优点、局限和常见误用
  10. 可替代算法与进阶方向

尾录

模型结构与算法/
├── 01_工具基础到算法地图.md      ← 本篇
├── 02_数据处理与数值计算.md
├── 03_统计分析与关系建模.md
├── 04_拟合回归与预测.md
├── 05_综合评价与排序.md
├── 06_分类与聚类.md
├── 07_线性规划与经典运筹.md
├── 08_非线性多目标与智能优化.md
├── 09_动态系统随机过程与仿真.md
└── 10_高级决策与综合建模.md

8. 本篇后的第一条学习任务

在 Jupyter Notebook 中完成一个最小闭环:

  1. 创建 Python 3 (ipykernel) Notebook。
  2. 用 Pandas 读取一个 CSV 或 Excel 数据表。
  3. 检查缺失值、数据类型和基本统计量。
  4. 用 Matplotlib 画出两个变量的散点图。
  5. 在 Markdown 单元格中写下三条观察结果。

完成这个闭环后,下一篇进入“数据处理与数值计算”,再通过插值、标准化和最小二乘法自然切入真正的算法学习。

M:之前由于一些原因写了对制图库的简单介绍,考虑完还是回头把以前学过的东西一点点记录到库里,除了便于新人看,也是记录我一个菜鸟新手的成长哈哈哈._.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值