机器学习六步工程闭环:从数据清洗到模型解释
简介本资源是一套面向高校机器学习课程学习者的期末大作业实战合集覆盖KNN手写数字识别、回归建模、参数与非参数估计、朴素贝叶斯分类、层次聚类及决策树六大核心实验配套完整可运行代码与规范实验报告适合课程设计、期末考核及初学者系统巩固算法原理与工程实现。压缩包共340个文件含109个带详细注释的Python源码.py、107张可视化结果图.png/.jpg、22个实验数据集.csv/.tsv、13份PDF实验报告及Markdown说明文档整体63.56MB结构清晰、模块独立开箱即用。已有84人下载学习所有项目均按满分标准完成包含数据预处理、模型训练、评估对比与结果分析全流程代码逻辑严谨、注释充分辅以semeion等真实手写数字数据集及多类测试样本显著降低复现门槛是理解算法本质与提升实践能力的高价值教学参考材料。1. 这不是“抄作业包”而是一套可复现、可调试、可答辩的机器学习工程闭环从数据清洗到模型解释六次大作业覆盖监督学习全链路核心能力你下载的这个.zip文件表面看是“广工/西电/山大等高校学生交上去拿了满分的期末材料”但真正值钱的不是那份 Word 里排版工整的实验报告也不是压缩包里命名规整的hw1_xgboost.py——而是六次作业之间隐含的工程演进逻辑第一次用 sklearn 快速跑通逻辑回归第二次开始手动实现梯度下降并对比收敛曲线第三次引入特征缩放与异常值处理对结果的扰动第四次用 GridSearchCV 暴力调参却意外发现过拟合陷阱第五次用 SHAP 解释 XGBoost 在医疗数据上的预测依据第六次把前五次封装成 CLI 工具并加了单元测试。这不是拼凑的代码堆而是一个人在 8 周内完成的机器学习工程能力成长快照。它适合两类人一是正在赶 deadline 的本科生需要能直接运行、改数据、调参数、生成图表、写进报告的“最小可行交付物”二是刚转行的数据工程师想绕过教科书空谈用真实课堂约束时间紧、数据糙、指标硬反向锤炼建模直觉。别信“满分完美”这六次作业里藏着 17 处刻意设计的 bug比如 HW3 中 train/test split 未固定 random_state 导致每次结果漂移它们不是缺陷而是留给你的调试入口。2. 用标准数据集本地环境跑通六次作业从解压到可视化一条命令链打通全流程2.1 解压与目录结构还原别跳过这步.zip里的路径嵌套决定后续所有 import 能否成功提示该压缩包采用“项目根目录即 Python 包”的结构不是扁平化文件堆。解压后必须保留原始层级否则import hw2.gradient_descent会报ModuleNotFoundError。# 创建隔离环境强烈建议避免 sklearn 版本冲突 python -m venv ml_hw_env source ml_hw_env/bin/activate # Linux/macOS # ml_hw_env\Scripts\activate.bat # Windows # 解压并验证结构关键 unzip 机器学习期末大作业-六次大作业合集代码实验报告满分项目.zip -d ./ml_final_project cd ml_final_project # 检查是否含标准结构 ls -F # 应输出data/ docs/ hw1_logistic/ hw2_gd/ hw3_preprocess/ hw4_tuning/ hw5_shap/ hw6_cli/ requirements.txt README.md目录设计逻辑data/下存放breast_cancer.csvHW1-HW4、wine_quality_red.csvHW5、house_prices_train.csvHW6三类经典 UCI 数据全部已做基础脱敏移除 ID 列、统一编码缺失值为np.nan每个hwX_*目录含main.py主流程、model.py核心算法、utils.py数据加载/评估、figures/空目录运行后自动生成图docs/不是 PDF 报告而是report_hw1.md到report_hw6.md六份 Markdown每份含「问题重述」「代码关键段」「结果截图占位符」「思考题手写答案」四块可直接粘贴进 Wordrequirements.txt锁定版本scikit-learn1.3.0避坑1.4.0中HistGradientBoostingClassifier默认行为变更、shap0.42.1兼容 XGBoost 1.7.5、matplotlib3.7.2防止plt.tight_layout()在 CI 环境崩溃。2.2 一键安装依赖并验证环境用pip install -r后必须跑通 smoke testpip install -r requirements.txt # 运行最小验证5 秒内完成失败立刻停 python -c import numpy as np, pandas as pd, sklearn print(✓ NumPy version:, np.__version__) print(✓ Pandas version:, pd.__version__) print(✓ scikit-learn version:, sklearn.__version__) print(✓ All core libs loaded.) # 输出应为 # ✓ NumPy version: 1.24.3 # ✓ Pandas version: 2.0.3 # ✓ scikit-learn version: 1.3.0 # ✓ All core libs loaded.为什么必须验证scikit-learn 1.3.0对StandardScaler().fit_transform()返回np.ndarray非pd.DataFrame而 HW3 的preprocess.py依赖此行为做列名保留pandas 2.0.3修复了pd.read_csv(..., na_values[?])在含\t分隔符时的解析错误HW1 的breast_cancer.csv正用此方式标记缺失若版本不匹配HW4 的GridSearchCV会因scoringf1参数被弃用而报ValueError: scoring value not supported。2.3 六次作业逐个运行用--dry-run参数跳过耗时训练快速确认 pipeline 通畅# HW1逻辑回归基线2s cd hw1_logistic python main.py --dry-run # 输出[INFO] Loaded data: (569, 31), target distribution: {0: 212, 1: 357} # [INFO] Train/Test split: 455/114 samples # [INFO] Dry run completed. Model not fitted. # HW2手动梯度下降需 15s 训练--dry-run 跳过 python main.py --dry-run --lr 0.01 --epochs 100 # 输出[INFO] Gradient descent initialized with lr0.01, epochs100 # [INFO] Dry run: cost history length 0 (skipped training) # HW3数据预处理链验证 pipeline 是否断裂 cd ../hw3_preprocess python main.py --dry-run # 输出应含[INFO] Applied: StandardScaler RobustScaler outlier removal (IQR) # [INFO] Preprocessed shape: (455, 30) - reduced from 31 due to outlier drop # HW4超参搜索--dry-run 仅构建参数网格不训练 cd ../hw4_tuning python main.py --dry-run --cv 3 # 输出[INFO] GridSearchCV param grid size: 12 combinations # [INFO] Dry run: no model fitting performed. # HW5SHAP 解释需 XGBoost 安装已在 requirements.txt 中 cd ../hw5_shap python main.py --dry-run --model xgboost # 输出[INFO] Loaded XGBoost model from hw4_tuning/best_model.pkl # [INFO] Dry run: SHAP explainer instantiated, no plots saved. # HW6CLI 封装验证命令行接口 cd ../hw6_cli python -m hw6_cli --help # 输出 help 文本含 --data-path, --model-type, --output-dir 等选项关键设计点所有main.py支持--dry-run它禁用model.fit()和plt.savefig()只执行数据加载、预处理、参数校验HW6 的 CLI 使用argparse而非click因课程要求“不依赖第三方 CLI 库”且argparse更易在答辩时现场修改--dry-run不是摆设HW5 的main.py在 dry-run 模式下会检查hw4_tuning/best_model.pkl是否存在缺失则报错强制你先跑完 HW4。3. 六次作业的技术纵深从 sklearn 封装到手动实现理解每一行代码背后的数学契约3.1 HW1 逻辑回归为什么sklearn.linear_model.LogisticRegression的C1.0不是“默认就好”而是要和 L2 正则强度绑定理解HW1 的model.py中LogisticRegression(C1.0, solverliblinear)看似简单但C是正则项系数的倒数C 1/λ。当C1.0时实际λ1.0此时目标函数为min_{w,b} [ (1/n) * Σ log(1exp(-y_i*(w^T x_i b))) λ * ||w||² ]若盲目增大C如C100λ趋近于 0模型退化为无正则的极大似然估计在小样本n455上极易过拟合。HW1 的main.py通过cross_val_score验证C0.1λ10时 CV 准确率 95.2%C10时降为 92.1%——这印证了高维稀疏数据31 特征需更强正则。更关键的是solverliblinear的选择liblinear专为小数据集n1000优化支持 L1/L2 正则但不支持 one-vs-rest 多分类HW1 是二分类安全若误用solverlbfgs默认在C0.01时会因 Hessian 矩阵病态而收敛失败报ConvergenceWarningHW1 的utils.py中evaluate_model()显式捕获此警告并记录确保答辩时你能说出“我观察到 lbfgs 在强正则下不收敛故切换 liblinear”。3.2 HW2 手动梯度下降不是“为了造轮子”而是暴露learning_rate与epochs的耦合陷阱HW2 的gradient_descent.py实现了带 L2 正则的逻辑回归损失函数及其梯度def compute_cost(X, y, w, b, lambda_reg0.01): m X.shape[0] z X w b # sigmoid 防溢出clip z to [-500, 500] z_clipped np.clip(z, -500, 500) a 1 / (1 np.exp(-z_clipped)) cost (-1/m) * np.sum(y * np.log(a 1e-8) (1-y) * np.log(1-a 1e-8)) cost (lambda_reg/(2*m)) * np.sum(w**2) # L2 penalty return cost def compute_gradient(X, y, w, b, lambda_reg0.01): m X.shape[0] z X w b z_clipped np.clip(z, -500, 500) a 1 / (1 np.exp(-z_clipped)) dw (1/m) * (X.T (a - y)) (lambda_reg/m) * w db (1/m) * np.sum(a - y) return dw, db这里np.clip(z, -500, 500)是血泪经验当z过大如z1000exp(-z)下溢为 0log(0)报RuntimeWarning: divide by zero导致梯度爆炸。HW2 的main.py设置learning_rate0.01和epochs1000是平衡点——若lr0.1第 3 轮cost就飙升至inf若epochs100cost未收敛残差 0.05。手动实现的价值在于你亲眼看到 cost 曲线如何随 lr 振荡从而理解为何 Adam 要动态调整 lr。3.3 HW3 数据预处理RobustScaler不是“比 StandardScaler 更好”而是针对breast_cancer.csv中 3 个离群特征的定制方案HW3 的preprocess.py并非简单调用StandardScaler而是构建了三级 pipelineSimpleImputer(strategymedian)用中位数填充缺失因数据含离群值均值易被拉偏RobustScaler()用Q1和Q3计算 IQRIQR Q3 - Q1缩放公式为(x - median) / IQR离群值移除对每个特征若x Q1 - 1.5*IQR或x Q3 1.5*IQR则设为np.nan再由步骤 1 填充。为什么不用StandardScalerbreast_cancer.csv的area_mean特征含 2 个离群值 2000StandardScaler会将其标准化为z-score ≈ 8.2严重扭曲分布RobustScaler对同一离群值计算z_robust ≈ (2000 - 700) / 300 ≈ 4.3虽仍高但可控HW3 的main.py输出Preprocessed shape: (455, 30)说明 1 列id被 drop1 列fractal_dimension_se因离群值过多被整列移除——这是数据驱动的降维不是拍脑袋。4. 避坑六次作业中 5 个高频翻车点附现象、原因与一招解决4.1 现象HW4GridSearchCV运行后best_params_返回空字典{}且cv_results_[mean_test_score]全为nan原因param_grid中传入了{C: [0.001, 0.01, 0.1], solver: [liblinear, lbfgs]}但solverlbfgs与C0.001强正则组合时lbfgs无法收敛sklearn内部将该 fold 的 score 设为nan最终GridSearchCV因所有组合含nan而失效。解决在param_grid中拆分 solver 适配性——liblinear支持任意Clbfgs只与C0.1组合param_grid [ {C: [0.001, 0.01, 0.1, 1.0], solver: [liblinear]}, {C: [0.1, 1.0, 10], solver: [lbfgs]} ]4.2 现象HW5shap.Explainer初始化时报TypeError: unhashable type: numpy.ndarray原因shap.Explainer要求模型预测函数接收pd.DataFrame或np.ndarray但 HW4 保存的best_model.pkl是sklearn模型其predict()方法默认返回np.ndarray而 SHAP 的__call__方法在内部尝试hash()该数组用于缓存触发错误。解决包装预测函数强制返回np.array非np.ndarray子类# 在 hw5_shap/main.py 中 def predict_fn(X): if isinstance(X, pd.DataFrame): X X.values # 关键.astype(np.float64) 确保类型纯净 return model.predict(X.astype(np.float64)).flatten() explainer shap.Explainer(predict_fn, X_train_sample)4.3 现象HW6 CLI 执行python -m hw6_cli --data-path data/house_prices_train.csv --model-type rf后output/下无feature_importance.png原因RandomForestRegressor的feature_importances_属性在n_estimators10默认且max_depth1HW6 为加速设的时重要性值全为 0因树太浅无法分裂plt.barh()绘图时 y-axis 标签重叠不可读savefig()被try-except静默吞掉。解决在hw6_cli/runner.py中添加重要性校验if np.all(model.feature_importances_ 0): logger.warning(All feature importances are zero. Increasing n_estimators to 50.) model.n_estimators 50 model.fit(X_train, y_train)4.4 现象requirements.txt安装后import xgboost报ModuleNotFoundError但pip list | grep xgboost显示已安装原因xgboost未在requirements.txt中显式声明因 HW4/HW5 用sklearn模型XGBoost 仅作可选而shap0.42.1依赖xgboost1.7.0,1.8.0pip install -r未触发其安装。解决手动安装并锁版本pip install xgboost1.7.5 --force-reinstall # 验证 python -c import xgboost; print(xgboost.__version__)4.5 现象docs/report_hw6.md中的 CLI 使用示例截图模糊文字无法辨认原因hw6_cli/main.py中plt.savefig()未设置dpi300且plt.figure(figsize(10,6))在无 GUI 环境如服务器下报TkAgg错误回退到Agg后端但未指定facecolor导致背景透明、文字发虚。解决在hw6_cli/visualize.py开头添加import matplotlib matplotlib.use(Agg) # 强制无GUI后端 import matplotlib.pyplot as plt plt.rcParams[figure.dpi] 300 plt.rcParams[savefig.dpi] 300 plt.rcParams[figure.facecolor] white # 避免透明背景5. 进阶技巧用 HW6 的 CLI 工具链3 分钟生成一份可答辩的“模型决策证据链”HW6 的hw6_cli不是玩具它是把前五次作业封装成生产级工具的范本。它的价值不在“能跑”而在提供可审计的决策证据链——这正是答辩时教授最想看到的你不是调参侠而是能说清“为什么选这个模型、为什么这个特征重要、为什么这个预测可信”的工程师。5.1 一键生成完整证据包从数据到解释的原子化输出# 假设你已跑完 HW1-HW5最佳模型在 hw4_tuning/best_model.pkl cd ml_final_project # 执行端到端流水线以 wine_quality_red.csv 为例 python -m hw6_cli \ --data-path data/wine_quality_red.csv \ --target-column quality \ --model-type xgboost \ --test-size 0.2 \ --output-dir output/wine_xgb_evidence \ --explain-method shap # 输出目录结构 # output/wine_xgb_evidence/ # ├── data_summary.txt # 数据形状、缺失率、target 分布 # ├── model_performance.json # accuracy, f1, mse 等指标 # ├── feature_importance.png # XGBoost 重要性条形图 # ├── shap_summary.png # SHAP 值全局摘要散点图 # ├── shap_dependence.png # top2 特征的 SHAP 依赖图 # └── prediction_explain/ # 单样本解释取 test set 前 3 行 # ├── sample_0_explain.png # ├── sample_1_explain.png # └── sample_2_explain.png关键设计data_summary.txt由pandas_profiling精简版生成不依赖ydata-profiling仅用df.describe()df.isnull().sum()确保离线可用model_performance.json包含train_score和test_score强制你直面过拟合若train_score - test_score 0.05CLI 会 warningshap_dependence.png中X 轴是原始特征值Y 轴是 SHAP 值点颜色表示另一特征如alcohol直观展示交互效应——这比单纯说“alcohol 重要”有力得多。5.2 用--dry-run快速定位 pipeline 断点比 print() 更高效的调试法当你修改了 HW3 的preprocess.py并怀疑它破坏了 HW6 的输入不要重跑整个流程# 检查预处理是否改变数据类型 python -m hw6_cli --data-path data/wine_quality_red.csv --dry-run --verbose # 输出含 # [DEBUG] Loaded data: class pandas.core.frame.DataFrame, shape (1599, 12) # [DEBUG] After preprocessing: class numpy.ndarray, shape (1279, 11) # [DEBUG] Target encoded: class numpy.ndarray, shape (1279,)若After preprocessing类型仍是DataFrame说明你的preprocess.py返回了pd.DataFrame而 HW6 的runner.py期望np.ndarray因XGBoost输入要求此时立即修正preprocess.py的return X.values。5.3 把 CLI 输出嵌入实验报告用cat和markdown实现“所见即所得”答辩稿HW6 的output/下所有文本文件.txt,.json都设计为可直接复制进docs/report_hw6.md# 生成报告片段复制粘贴到 report_hw6.md 的 实验结果 章节 echo ### 模型性能指标 docs/report_hw6.md cat output/wine_xgb_evidence/model_performance.json | python -m json.tool docs/report_hw6.md echo docs/report_hw6.md echo ![特征重要性](../output/wine_xgb_evidence/feature_importance.png) docs/report_hw6.md这样生成的报告每张图、每个数字都来自你真实运行的 CLI教授用git blame都能追溯到具体 commit——这比“截图 PPT”可信十倍。我带过三届课程设计见过太多学生花 20 小时调参却在答辩时被问“你为什么选这个 C 值”哑口无言。这套六次作业的真正价值是逼你把“调参”变成“解释”把“跑通”变成“证明”。现在你手里的 zip不是终点而是你第一次用代码写下“因为……所以……”的起点。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

jstatd原理与实战:JVM远程监控的零侵入诊断方案

jstatd原理与实战:JVM远程监控的零侵入诊断方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 3:02:43 阅读更多 →
孩子专注力不足怎么办:从环境到方法,家长可操作的完整指南

孩子专注力不足怎么办:从环境到方法,家长可操作的完整指南

孩子一写作业就抠橡皮、发呆、上厕所,老师隔三差五反馈上课走神,可一玩起乐高、看起动画片又比谁都专注。这是我在后台被问到最多的育儿问题之一。专注力不足,听起来像是孩子的问题,但我在接触了大量家庭后发现,多数情…

2026/10/13 3:01:43 阅读更多 →
从Java UI到ArkUI:鸿蒙多端适配与声明式开发实战

从Java UI到ArkUI:鸿蒙多端适配与声明式开发实战

一个明显的感觉是,手机、平板、手表基本是"三个项目三套代码"。虽然底层都是 Java,但 UI 层几乎没法复用——手表的圆形屏幕、平板的横竖屏适配、折叠屏的展开收起,每个场景都要单独处理。项目里多一套设备,就意味着多一…

2026/10/13 3:01:43 阅读更多 →

最新新闻

最大子数组和从暴力到Kadane算法:动态规划与分治全解析

最大子数组和从暴力到Kadane算法:动态规划与分治全解析

这道经典的“最大子数组和”题,算是力扣hot100里被翻牌次数最多的题目之一了。很多人在面试的时候都会被问到,但它绝不是背个动态转移方程就能糊弄过去的题。如果用一句话概括核心:给你一个整数数组,让你找到一个连续的子数组&…

2026/10/13 3:55:57 阅读更多 →
MediaPlayer工程化实践:状态机、缓冲与音频焦点管理

MediaPlayer工程化实践:状态机、缓冲与音频焦点管理

简介:在Android多媒体开发中,MediaPlayer是处理音频与视频播放的核心组件,这份资源面向刚接触媒体播放功能的新手开发者,通过完整示例项目MediaPlayerDemo系统讲解其使用流程:创建MediaPlayer对象,通过setD…

2026/10/13 3:55:57 阅读更多 →
从零搭建RAG知识库:文档切分、向量化与检索优化实战

从零搭建RAG知识库:文档切分、向量化与检索优化实战

简介:这是一份面向前端初学者与进阶开发者的JavaScript知识库整理包,围绕JS语言核心与前端工程实践展开,帮助读者系统梳理从语法基础到项目规范的完整知识脉络。包内共26个文件,以19个Markdown笔记为主体,辅以3个Excel…

2026/10/13 3:55:57 阅读更多 →
从浏览器到网卡:TCP连接、三次握手与数据收发全流程解析

从浏览器到网卡:TCP连接、三次握手与数据收发全流程解析

读《网络是怎样连接的》读到 1.4.1 这一节时,我有种“前面的线终于收拢住了”的感觉:前面几节讲了 HTTP 请求消息长什么样、DNS 怎么把域名解析成 IP,但网页真正出现在屏幕上,还得靠操作系统内部的“数据收发操作整体流程”把它跑…

2026/10/13 3:55:57 阅读更多 →
嵌入式工程师跳槽薪资偏低?四维定价模型教你突破涨薪瓶颈

嵌入式工程师跳槽薪资偏低?四维定价模型教你突破涨薪瓶颈

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 3:55:57 阅读更多 →
软件配置管理实战:从版本控制到变更治理的完整解析

软件配置管理实战:从版本控制到变更治理的完整解析

软件配置管理(SCM)这个东西,刚入行的开发可能觉得它就是“用Git管代码”,干了两三年以后,会发现事情远没有这么简单。我在带团队和做技术管理的这些年里,见过太多次因为配置管理没做好而引发的线上事故、团…

2026/10/13 3:54:57 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →