机器学习-线性回归和逻辑回归
本系统用于线性回归(回归)与逻辑回归(分类)的建模与评价,支持特征工程、交叉验证、图表输出与 Excel 多表结果,便于直接用于论文撰写与实验复现。
机器学习-线性回归与逻辑回归分析系统
1. 系统用途与方法概述
本系统用于线性回归(回归)与逻辑回归(分类)的建模与评价,支持特征工程、交叉验证、图表输出与 Excel 多表结果,便于直接用于论文撰写与实验复现。
设共有 \(n\) 个样本、\(d\) 个特征,数据集为
$$ \mathcal{D}=\{(x_i,y_i)\}_{i=1}^{n},\quad x_i\in\mathbb{R}^d \tag{1} $$
其中 \(y_i\) 为连续值(回归)或类别标签(分类)。
2. 符号说明表(细化)
| 符号 | 含义 |
|---|---|
| \(n,d\) | 样本数与特征数 |
| \(x_i,y_i\) | 第 \(i\) 个样本特征与标签/真实值 |
| \(\hat{y}_i\) | 第 \(i\) 个样本预测值 |
| \(X,\mathbf{y}\) | 特征矩阵与目标向量 |
| \(\mathbf{w},b\) | 模型参数(权重与截距) |
| \(z_i\) | 线性组合 \(z_i=\mathbf{w}^\top x_i+b\) |
| \(\hat{p}_i\) | 预测为正类的概率 |
| \(\sigma(\cdot)\) | Sigmoid 函数 |
| \(\tau\) | 分类阈值 |
| \(\lambda\) | 正则化系数(可选) |
| \(\alpha\) | 学习率(可选) |
| \(k\) | 交叉验证折数 |
| \(TP,FP,TN,FN\) | 混淆矩阵四要素 |
| \(C\) | 类别数量(多分类) |
| \(n_c\) | 第 \(c\) 类样本数 |
| \(\mu_j,\sigma_j\) | 第 \(j\) 个特征的均值与标准差 |
| \(Q_1,Q_3\) | 第一/第三四分位数 |
| \(\varepsilon\) | 极小正数(防止除零) |
| \(w_i\) | 样本权重(可选) |
| \(W\) | 权重矩阵(可选) |
| \(\sigma^2\) | 误差方差(可选) |
| \(\text{SE}(\cdot)\) | 参数标准误(可选) |
| \(t_{\alpha/2,\nu}\) | t 分布临界值(可选) |
| \(\text{SSE},\text{SSR},\text{SST}\) | 回归平方和分解(可选) |
| \(\text{OR}_j\) | 优势比(可选) |
| \(\ell(\cdot)\) | 对数似然(可选) |
| \(k\) | 参数个数(可选) |
| \(\text{AIC},\text{BIC}\) | 信息准则(可选) |
3. 公共部分(预处理与特征工程)
系统支持缺失值处理、类别编码、数值缩放、多项式特征、特征选择与降维等步骤(均在训练集上拟合后作用于测试集或交叉验证折内,避免数据泄漏)。
3.1 标准化与归一化
Z-score 标准化: $$ z_{ij}=\frac{x_{ij}-\mu_j}{\sigma_j} \tag{2} $$
Min-Max 归一化: $$ z_{ij}=\frac{x_{ij}-\min x_j}{\max x_j-\min x_j+\varepsilon} \tag{3} $$
3.2 One-Hot 编码(类别型变量)
$$ x^{(k)}_{ij}= \begin{cases} 1,& x_{ij}=\text{cat}_k\\ 0,& \text{otherwise} \end{cases} \tag{4} $$
3.3 多项式特征(可选)
$$ \phi(x)=\{x_1^{a_1}x_2^{a_2}\cdots x_d^{a_d}\mid a_1+\cdots+a_d\le d_p\} \tag{5} $$
3.4 特征选择(方差阈值 / 互信息)
方差阈值: $$ \operatorname{Var}(x_j)=\frac{1}{n-1}\sum_{i=1}^{n}(x_{ij}-\mu_j)^2 \tag{6} $$
互信息: $$ I(X;Y)=\sum_{x\in X}\sum_{y\in Y}p(x,y)\log\frac{p(x,y)}{p(x)p(y)} \tag{7} $$
3.5 降维(PCA)
协方差矩阵: $$ \Sigma=\frac{1}{n-1}\sum_{i=1}^{n}(x_i-\bar{x})(x_i-\bar{x})^\top \tag{8} $$
主成分解释率: $$ \eta_k=\frac{\lambda_k}{\sum_{j=1}^{d}\lambda_j} \tag{9} $$
3.6 IQR 异常值截断(可选)
$$ \text{IQR}=Q_3-Q_1,\quad x\leftarrow \min(\max(x,Q_1-k\cdot\text{IQR}),\,Q_3+k\cdot\text{IQR}) \tag{10} $$
3.7 训练/测试划分(通用)
$$ \mathcal{D}=\mathcal{D}_{\text{train}}\cup\mathcal{D}_{\text{test}},\quad |\mathcal{D}_{\text{test}}|=\lfloor \text{test\_size}\cdot n\rfloor \tag{11} $$
3.8 交叉验证(k 折)
$$ \overline{M}=\frac{1}{k}\sum_{t=1}^{k} M_t \tag{12} $$
指标方差与标准差(可选): $$ \operatorname{Var}(M)=\frac{1}{k-1}\sum_{t=1}^{k}(M_t-\overline{M})^2 \tag{12a} $$
$$ \operatorname{Std}(M)=\sqrt{\operatorname{Var}(M)} \tag{12b} $$
提示:式(12a)–(12b) 为统计量补充,可按需选用或省略。
4. 回归版(线性回归)
4.1 模型形式
$$ \hat{y}_i=\mathbf{w}^\top x_i+b \tag{13} $$
4.2 最小二乘目标
$$ J(\mathbf{w},b)=\frac{1}{n}\sum_{i=1}^{n}(y_i-\hat{y}_i)^2 \tag{14} $$
矩阵形式(可选): $$ J(\mathbf{w})=\frac{1}{n}\|\mathbf{y}-X\mathbf{w}\|_2^2 \tag{14a} $$
正规方程解(可选): $$ \mathbf{w}=(X^\top X)^{-1}X^\top \mathbf{y} \tag{14b} $$
梯度与更新(可选): $$ \nabla_{\mathbf{w}}J=-\frac{2}{n}X^\top(\mathbf{y}-X\mathbf{w}),\quad \frac{\partial J}{\partial b}=-\frac{2}{n}\sum_{i=1}^{n}(y_i-\hat{y}_i) \tag{14c} $$
$$ \mathbf{w}\leftarrow \mathbf{w}-\alpha\nabla_{\mathbf{w}}J,\quad b\leftarrow b-\alpha\frac{\partial J}{\partial b} \tag{14d} $$
正则化(可选): $$ J_\lambda=J+\lambda\|\mathbf{w}\|_2^2\quad(\text{Ridge}) \tag{14e} $$
$$ J_\lambda=J+\lambda\|\mathbf{w}\|_1\quad(\text{Lasso}) \tag{14f} $$
提示:式(14a)–(14f) 为理论/扩展形式,可按需选用或省略。
4.3 回归评价指标
MAE $$ \text{MAE}=\frac{1}{n}\sum_{i=1}^{n}|y_i-\hat{y}_i| \tag{15} $$
MSE / RMSE $$ \text{MSE}=\frac{1}{n}\sum_{i=1}^{n}(y_i-\hat{y}_i)^2 \tag{16} $$
$$ \text{RMSE}=\sqrt{\text{MSE}} \tag{17} $$
决定系数 $$ R^2=1-\frac{\sum_{i=1}^{n}(y_i-\hat{y}_i)^2}{\sum_{i=1}^{n}(y_i-\bar{y})^2} \tag{18} $$
SSE/SSR/SST 分解(可选): $$ \text{SSE}=\sum_{i=1}^{n}(y_i-\hat{y}_i)^2,\quad \text{SSR}=\sum_{i=1}^{n}(\hat{y}_i-\bar{y})^2,\quad \text{SST}=\sum_{i=1}^{n}(y_i-\bar{y})^2 \tag{18a} $$
调整 \(R^2\)(可选): $$ R^2_{\text{adj}}=1-\frac{\text{SSE}/(n-d-1)}{\text{SST}/(n-1)} \tag{18b} $$
加权最小二乘(可选): $$ J_w=\frac{1}{n}\sum_{i=1}^{n}w_i(y_i-\hat{y}_i)^2 \tag{18c} $$
$$ \mathbf{w}=(X^\top W X)^{-1}X^\top W\mathbf{y},\quad W=\operatorname{diag}(w_1,\ldots,w_n) \tag{18d} $$
参数方差与标准误(可选): $$ \operatorname{Var}(\hat{\mathbf{w}})=\sigma^2 (X^\top X)^{-1},\quad \text{SE}(\hat{w}_j)=\sqrt{\operatorname{Var}(\hat{w}_j)} \tag{18e} $$
t 检验与置信区间(可选): $$ t_j=\frac{\hat{w}_j}{\text{SE}(\hat{w}_j)},\quad \hat{w}_j\pm t_{\alpha/2,\nu}\cdot \text{SE}(\hat{w}_j) \tag{18f} $$
提示:式(18a)–(18f) 为统计推断与加权回归的扩展公式,可按需选用或省略。
对数似然与信息准则(可选): $$ \ell(\mathbf{w},b)=\sum_{i=1}^{n}\log p(y_i\mid x_i) \tag{18g} $$
$$ \text{AIC}=2k-2\ell,\quad \text{BIC}=k\log n-2\ell \tag{18h} $$
提示:式(18g)–(18h) 为模型比较的参考指标,可按需选用或省略。
4.4 回归文字说明(可直接用于论文)
- 线性回归以最小二乘为目标(式(14)),拟合连续变量与特征之间的线性关系(式(13))。
- 使用 MAE、RMSE 与 \(R^2\) 评价预测精度(式(15)–(18))。
- 系统输出预测-真实对比图、残差分布、残差-拟合图与 Q-Q 图,用于检验拟合质量与误差分布。
5. 分类版(逻辑回归)
5.1 Sigmoid 与概率输出(二分类)
$$ z_i=\mathbf{w}^\top x_i+b \tag{19} $$
$$ P(y_i=1\mid x_i)=\sigma(z_i)=\frac{1}{1+e^{-z_i}} \tag{20} $$
判别规则(阈值 \(\tau\)): $$ \hat{y}_i= \begin{cases} 1,& P(y_i=1\mid x_i)\ge \tau\\ 0,& \text{otherwise} \end{cases} \tag{21} $$
对数几率(可选): $$ \log\frac{P(y_i=1\mid x_i)}{1-P(y_i=1\mid x_i)}=\mathbf{w}^\top x_i+b \tag{21a} $$
优势比(可选): $$ \text{OR}_j=\exp(w_j) \tag{21b} $$
5.2 交叉熵损失(对数似然)
$$ J(\mathbf{w},b)=-\frac{1}{n}\sum_{i=1}^{n}\left[y_i\log \hat{p}_i+(1-y_i)\log(1-\hat{p}_i)\right] \tag{22} $$
梯度(可选): $$ \nabla_{\mathbf{w}}J=\frac{1}{n}X^\top(\hat{\mathbf{p}}-\mathbf{y}) \tag{22a} $$
类别权重的加权交叉熵(可选): $$ J_w=-\frac{1}{n}\sum_{i=1}^{n}w_{y_i}\left[y_i\log \hat{p}_i+(1-y_i)\log(1-\hat{p}_i)\right] \tag{22b} $$
balanced 权重参考(可选): $$ w_c=\frac{n}{C\cdot n_c} \tag{22c} $$
提示:式(22b)–(22c) 为类别不均衡下的常见写法,可按需选用或省略。
5.3 正则化(可选)
L2 正则: $$ J_\lambda=J+\lambda\|\mathbf{w}\|_2^2 \tag{23} $$
L1 正则: $$ J_\lambda=J+\lambda\|\mathbf{w}\|_1 \tag{23a} $$
5.4 多分类 Softmax(可选)
$$ P(y_i=c\mid x_i)=\frac{\exp(\mathbf{w}_c^\top x_i+b_c)}{\sum_{j=1}^{C}\exp(\mathbf{w}_j^\top x_i+b_j)} \tag{24} $$
提示:多分类 Softmax 为扩展形式,可按需选用。
5.5 分类评价指标
准确率 $$ \text{Accuracy}=\frac{TP+TN}{TP+FP+TN+FN} \tag{25} $$
精确率 / 召回率 $$ \text{Precision}=\frac{TP}{TP+FP},\quad \text{Recall}=\frac{TP}{TP+FN} \tag{26} $$
F1 值 $$ \text{F1}=\frac{2\cdot\text{Precision}\cdot\text{Recall}}{\text{Precision}+\text{Recall}} \tag{27} $$
宏/微平均(可选,多分类): $$ \text{Precision}_{macro}=\frac{1}{C}\sum_{c=1}^{C}\text{Precision}_c,\quad \text{Recall}_{macro}=\frac{1}{C}\sum_{c=1}^{C}\text{Recall}_c \tag{27a} $$
$$ \text{Precision}_{micro}=\frac{\sum_c TP_c}{\sum_c (TP_c+FP_c)},\quad \text{Recall}_{micro}=\frac{\sum_c TP_c}{\sum_c (TP_c+FN_c)} \tag{27b} $$
ROC/PR 曲线面积(可选): $$ \text{AUC}_{ROC}=\int_{0}^{1}\text{TPR}(\text{FPR})\,d(\text{FPR}) \tag{28} $$
$$ \text{AUC}_{PR}=\int_{0}^{1}\text{Precision}(\text{Recall})\,d(\text{Recall}) \tag{29} $$
5.6 分类文字说明(可直接用于论文)
- 逻辑回归通过 Sigmoid 输出类别概率(式(20)),以交叉熵为目标函数(式(22)),实现可解释的线性分类。
- 采用 Accuracy、Precision、Recall 与 F1 评估分类性能(式(25)–(27)),并输出混淆矩阵与 ROC/PR 曲线。
- 支持类别不均衡时的自动权重(balanced)与阈值曲线分析。
6. 系数解释与可解释性(可选)
线性/逻辑回归的系数 \(\mathbf{w}\) 可视为特征重要性方向与强度:
系数绝对值越大,特征对预测贡献越显著;符号表示正/负相关方向。
7. 界面流程与论文方法描述(可直接粘贴)
- 选择任务类型(回归/分类),加载数据或示例数据,设置目标列。
- 在“特征工程”中选择缺失处理、编码、缩放、特征选择与降维(训练集拟合后作用于测试集)。
- 回归:设置 fit_intercept/positive;分类:设置 penalty/solver/C/max_iter/class_weight。
- 运行分析,系统输出 Excel 多表结果与图表(回归:残差/对比图;分类:混淆矩阵、ROC/PR 等)。
提示:论文正文可优先保留核心公式与关键图表,其余“可选”公式可放附录或按需省略。
8. 与代码实现的对应关系
本系统的实现并非把线性回归和逻辑回归拆成两个完全独立程序,而是在 具体的算法/机器学习-线性回归/core/critic_calculator.py 中共用一套“数据上传 -> 特征工程 -> 任务分支 -> Excel/图表导出”的结果框架。
代码层面有以下几个应写入文档的事实:
-
回归与分类共用统一导出骨架
基础工作表包括:原始数据、处理后数据、指标、预测、学习曲线、图表清单、参数。
分类任务会追加混淆矩阵与分类报告;回归任务会额外导出系数表,用于解释变量影响方向与大小。 -
逻辑回归不是只输出分类标签
程序会进一步导出 ROC、PR、阈值分析与校准曲线,因此论文中可以讨论“概率输出质量”和“阈值敏感性”,而不必只停留在 Accuracy。 -
线性回归结果强调系数可解释性
代码中会把处理后特征对应的系数单独导出到系数sheet,因此论文中的回归系数解释应以处理后特征空间为准,而不是只按原始列名简单描述。 -
学习曲线是统一评估模块的一部分
无论是线性回归还是逻辑回归,只要启用对应输出,程序都会导出学习曲线,用于判断样本规模是否足够以及模型是否存在明显欠拟合/过拟合。 -
结果目录按时间戳组织
Excel 与所有图表文件位于同一结果目录中,便于论文插图、附录和复现实验留档。
9. 论文写作模板
方法描述模板:
“本文构建了线性回归/逻辑回归分析框架。建模前首先对原始数据进行缺失值处理、编码、缩放及必要的特征工程,然后按训练集与测试集划分样本。对于连续目标变量,采用线性回归模型并输出回归系数与误差指标;对于分类目标变量,采用逻辑回归模型并输出类别概率、混淆矩阵及 ROC/PR 等评价结果。”
结果描述模板:
“程序结果文件包含处理后数据、逐样本预测、整体指标、系数表或分类报告、学习曲线、参数配置与图表清单。因而论文中既可以报告最终预测精度,也可以进一步解释系数方向、类别阈值变化以及模型在不同样本规模下的稳定性表现。”
10. 单篇终审补充
10.1 图题与表题对齐建议
原始数据表可写为:表X 线性回归原始数据表。处理后数据表可写为:表X 线性回归处理后数据表。指标表可写为:表X 线性回归性能指标表。预测表可写为:表X 线性回归逐样本预测结果表。系数表可写为:表X 线性回归系数表。交叉验证表可写为:表X 线性回归交叉验证结果表。图表清单表可写为:表X 线性回归图表索引表。参数表可写为:表X 线性回归参数设置表。pred_vs_true.png建议写为:图X 线性回归预测值与真实值散点图。true_vs_pred_line.png建议写为:图X 线性回归真实值与预测值对比图。residuals_hist.png建议写为:图X 线性回归残差直方图。residuals_qq.png建议写为:图X 线性回归残差 Q-Q 图。residuals_vs_pred.png建议写为:图X 线性回归残差与拟合值关系图。
10.2 终审说明
- 当前最适合作为终审证据的代表性目录可采用
具体的算法/机器学习-线性回归/results/机器学习-线性回归和逻辑回归分析结果_20260329_163731。该目录同时具有结果簿、实体图、输入快照和 repro 脚本。 - 该目录对应的是回归场景,真实工作表为
原始数据/处理后数据/指标/预测/系数/交叉验证/图表清单/参数。论文若要解释系数方向和大小,应以系数表为准,而不是只根据原始字段名称做口头解释。 - 当前真实图文件稳定为
pred_vs_true.png、true_vs_pred_line.png、residuals_hist.png、residuals_qq.png、residuals_vs_pred.png。它们构成了回归任务的完整诊断图集,足以支撑正文结果解释与附录残差分析。 - 当前复现脚本为
repro_lr_logit_20260329_163731.py,采用脚本同目录输入快照SRC_FILE = 'lr_window1_input.csv',不是repro_inputs/...。因此该篇应如实写成“脚本同目录 CSV 快照复现”。 - 这篇文档标题同时覆盖线性回归与逻辑回归,但本轮终审证据目录是回归场景。若后续要做更彻底的双任务终审,建议再补一套逻辑回归分类目录的真实 sheet 和图名证据。
10.3 全量强化补充
本篇终审补充绑定的真实算法目录为 具体的算法/机器学习-线性回归。这里需要如实说明:文档标题写的是“机器学习-线性回归和逻辑回归”,但磁盘上的真实算法目录名是 机器学习-线性回归,线性回归与逻辑回归共用这一套程序框架。
本次采用的代表性结果目录为 具体的算法/机器学习-线性回归/results/机器学习-线性回归和逻辑回归分析结果_20260329_163731。
该目录当前只保留一份主结果工作簿:
机器学习-线性回归和逻辑回归分析结果_20260329_163731.xlsx
实测工作表为:
原始数据处理后数据指标预测系数交叉验证图表清单参数
这一轮证据目录明确对应回归场景,因为它包含 系数、残差图和回归诊断图,而不包含逻辑回归分类目录常见的 混淆矩阵、分类报告、ROC/PR 工作表。因此这篇若在论文里同时介绍线性回归与逻辑回归,应把本轮证据限定为“回归分支的真实导出”。
当前目录中的真实图文件为:
具体的算法/机器学习-线性回归/results/机器学习-线性回归和逻辑回归分析结果_20260329_163731/pred_vs_true.png具体的算法/机器学习-线性回归/results/机器学习-线性回归和逻辑回归分析结果_20260329_163731/true_vs_pred_line.png具体的算法/机器学习-线性回归/results/机器学习-线性回归和逻辑回归分析结果_20260329_163731/residuals_hist.png具体的算法/机器学习-线性回归/results/机器学习-线性回归和逻辑回归分析结果_20260329_163731/residuals_qq.png具体的算法/机器学习-线性回归/results/机器学习-线性回归和逻辑回归分析结果_20260329_163731/residuals_vs_pred.png
因此这一轮真实图证据完整覆盖了回归预测对比与残差诊断,但不应被写成逻辑回归概率输出图组。
复现实物方面,该目录实际包含:
具体的算法/机器学习-线性回归/results/机器学习-线性回归和逻辑回归分析结果_20260329_163731/repro_lr_logit_20260329_163731.py具体的算法/机器学习-线性回归/results/机器学习-线性回归和逻辑回归分析结果_20260329_163731/lr_window1_input.csv
脚本中明确写成 SRC_FILE = 'lr_window1_input.csv',并把 file_path 回写为同目录 CSV 快照。因此这一篇当前的真实复现口径同样不是 repro_inputs/... 子目录,而是“结果目录同级输入快照 + repro 脚本”。
10.4 软件实现核查补充(2026-07)
- 当前目录对应的是“线性回归 + 逻辑回归”的双任务系统,不是单独的线性回归页面;文档标题和正文都应保持这一点。
- 结果目录的回归证据以
系数、预测对比图和残差诊断图为主;如果正文讨论逻辑回归,则应另外说明分类指标、混淆矩阵与概率曲线,不能把回归图直接当作分类结果。 - 复现脚本采用结果目录同级 CSV 快照与
repro_lr_logit_*.py的口径,说明时应把lr_window1_input.csv的输入依赖写清楚。 - 模型解释可以继续保留线性回归/逻辑回归的标准公式,但软件实际输出以当前导出的表格和图为准。