- 博客(1035)
- 资源 (51)
- 收藏
- 关注
原创 集成学习算法随机森林(Random Forest)基础入门
简单 + 鲁棒 + 高效 + 可解释(相对) = 工业界的“瑞士军刀”偏差-方差权衡(通过集成降低方差)准确性与可维护性自动化与可控性即使在深度学习时代,随机森林仍是快速验证、小数据建模、特征工程评估的首选工具。随机森林与 XGBoost/LightGBM 的对比如何可视化随机森林中的单棵树在不平衡数据上的改进策略(如 class_weight)随机森林的数学原理(泛化误差界)随机森林算法(Random Forest Algorithm):是一套构建模型的规则和流程(即“怎么做”)。
2025-11-09 14:15:50
926
原创 Optuna超参数调优图例解读之平行坐标图
本文分析了一张用于超参数调优的平行坐标图,揭示了各参数与模型性能的关系。核心发现包括:学习率应控制在0.02-0.04,树数量建议500-900,最大深度4-6,特征采样比例0.65-0.85。虽然图中显示部分参数(如正则化系数)影响较小,但实际最优解中这些参数仍取非零值,表明超参数之间存在复杂交互效应。最终得出了包含学习率0.0278、树数量631等参数的最佳配置,取得了0.9194的高性能指标。
2025-11-08 17:43:05
795
原创 Optuna超参数调优图例解读之Optimization History Plot(优化历史图)
这张优化历史图展示了超参数调优的过程,横轴为试验次数(0-99),纵轴为目标值(如准确率)。蓝点表示每次试验得分,红线记录全局最佳值。图中显示:1)前10次试验快速找到0.92的高分;2)中期(10-60次)保持稳定;3)后期无显著提升。结论:优化过程高效收敛,0.92可能是性能上限,建议停止调优并输出最佳参数组合。若需进一步改进,可尝试局部搜索或更换优化算法。
2025-11-08 17:28:18
877
原创 模型理解与可解释性图表案例解读之SHAP 瀑布图(Waterfall Plot)
SHAP Waterfall Plot 是一种“逐步累积”的可视化方法模型预测值如何从“全局平均值”开始,一步步被每个特征推动,最终到达这个样本的预测结果。→ 全体用户的平均风险得分→ 这个用户的风险得分每一步:一个特征“跳下去”,把水位(预测值)往上或往下推这个用户虽然曾有自杀念头(高危),但由于压力极低、生活方式健康,模型综合判断其为“低风险”。这说明:单一高危因素不能决定一切,整体生活状态才是关键。
2025-11-08 17:18:59
930
原创 模型理解与可解释性图表案例解读
观察点结论🔥 最关键特征是最核心预测因子📈 主要驱动因素心理压力(学业、经济)是主要风险来源🧍♂️ 人口属性年龄、性别、城市等基本无关紧要🧩 模型合理性符合医学逻辑,具备良好可解释性⚠️ 潜在问题过度依赖自杀意念,需警惕漏诊“本模型识别出‘是否有过自杀念头’为最具影响力的预测因子,占比超过65%,表明该变量在抑郁症筛查中具有决定性作用。其次,学业压力、经济压力和整体压力水平也显著影响预测结果,而性别、年龄等人格特征则贡献微弱。
2025-11-07 16:24:49
823
原创 模型训练过程监控指标案例解读
本文分析了机器学习模型的三联训练曲线图(损失图、AUC图和错误图),展示了模型在训练过程中表现。左图显示训练和验证损失持续下降并趋于稳定,表明模型收敛良好且未过拟合;中图AUC值达到0.915,证明模型具有很强的分类能力;右图错误率降至16%,显示模型具有较高准确度。综合分析表明该XGBoost模型训练充分、性能优越,适用于抑郁症筛查等实际应用。此外,文章还厘清了"学习曲线"、"训练曲线"和"验证曲线"的概念关系,指出每个图都是一个完整的学习曲线,
2025-11-07 15:56:18
587
原创 常见的模型性能评估图表案例解读
大学生心理健康预测模型评估分析 本研究采用两种核心指标评估分类模型性能:精确率-召回率曲线(PR曲线)和受试者工作特征曲线(ROC曲线)。PR曲线(AP=0.943)显示模型在识别抑郁学生方面表现优异,即使召回率达到80%时精确率仍保持在0.9以上。ROC曲线(AUC=0.926)同样表明模型具备极强的判别能力,在低误判率下即可识别多数真实病例。两种曲线结果相互印证,证实模型在心理健康筛查中具有高准确性和稳定性。特别值得注意的是,该模型对少数类(抑郁学生)的识别能力突出,适合高校心理健康早期筛查场景。建议根
2025-11-07 14:00:47
836
原创 机器学习模型中预测方法predict和predict_proba
机器学习模型预测方法的选择和应用场景: predict() 与 predict_proba() 的区别 predict() 直接输出类别标签(如0/1),适用于只需分类结果的场景。 predict_proba() 输出概率(如类别1的概率),适用于需置信度、AUC计算或阈值调整的任务。 方法选择依据 仅需分类结果时用 predict();若需概率分析、调整阈值或评估模型性能(如AUC),则用 predict_proba()。 AUC-ROC与预测概率的关系 AUC完全依赖概率输出,通过不同阈值下的TPR/F
2025-11-07 09:22:21
632
原创 机器学习中拟合、欠拟合、过拟合是什么
机器学习中的拟合问题与正则化方法 摘要:本文系统介绍了机器学习中的拟合问题。拟合指模型学习数据规律的过程,良好拟合需平衡训练表现与泛化能力。过拟合时模型过度记忆训练数据细节(如噪声),导致验证集表现差;欠拟合则因模型过于简单无法捕捉数据规律。防止过拟合的方法包括:正则化(L1/L2)、早停、数据增强等。L2正则化(Ridge)平滑权重,适用于多数场景;L1(Lasso)可实现特征选择;Elastic Net结合二者优点;Dropout专用于神经网络。选择方法需考虑模型类型、数据特点及需求,如线性模型优先L2
2025-11-06 19:26:30
651
原创 机器学习中交叉验证(CV)、CV fold(交叉验证折) 和 数据泄露
本文介绍了机器学习中的交叉验证(CV)及相关概念。CV是一种评估模型性能的技术,常见形式是k折交叉验证,将数据分为k个子集(fold),每次用k-1个fold训练,1个验证,重复k次。重点强调了"未来信息泄露"问题,即在预处理时错误使用了验证/测试集信息,导致评估失真。正确的做法是:在每次CV中,先划分数据,仅用训练集计算预处理参数,再转换训练和验证集。文中还给出了实现5折分层交叉验证的代码示例,包括数据划分、模型训练和性能评估流程,确保评估结果可靠。
2025-11-06 18:40:49
807
原创 超参数调优中Optuna 和贝叶斯优化区别与联系
Optuna与贝叶斯优化的关系: Optuna是一个基于Python的超参数优化框架,而贝叶斯优化是一种智能搜索策略。两者不是同一概念,但Optuna默认使用TPE算法(贝叶斯优化的一种实现)来高效调整超参数。 核心区别: 贝叶斯优化是数学方法(如TPE、高斯过程),通过历史数据建模指导参数选择; Optuna是工具库,支持多种优化算法(默认TPE),提供可视化、剪枝等易用功能。 总结:Optuna是执行贝叶斯优化等策略的实用工具,尤其适合自动化超参数调优。
2025-11-06 14:36:16
852
原创 贝叶斯优化中的 trial 和 best_iteration 的区别与联系
Optuna的超参数优化过程分为两层:外层是n_trials表示的独立超参数实验次数(如100次),每次实验由Optuna选择一组超参数训练模型;内层是XGBoost模型自身的训练过程,通过best_iteration确定最优树的数量。两者分别控制全局超参数选择和局部模型训练优化。代码中还通过惩罚机制防止过早停止的模型被选中,确保选择泛化能力强的参数组合。最终选出验证集AUC最高的超参数作为最优解。
2025-11-06 14:29:35
809
原创 贝叶斯优化的核心评估单元 objective(trial) 深度解析
设计原则实现方式分离关注点动态参数(**params) vs 固定配置(等)可复现性统一控制所有随机源效率优先n_jobs=-1充分利用硬件鲁棒性自动处理类别不平衡(工程安全不将数据存入模型,仅传必要配置.fit()fit。
2025-11-06 11:34:25
1191
原创 基于Optuna 贝叶斯优化超参数时优化方向和监控指标是否可以不一致?
本文分析了Optuna和XGBoost在超参数优化中的分工协作关系。Optuna层面通过direction='maximize'设定以AUC最大化为优化目标;XGBoost层面则通过eval_metric=['logloss','auc']在训练过程中监控多个指标,其中logloss用于早停机制确保训练稳定性,auc用于辅助监控。这种设计实现了训练过程指标与优化目标的分离,既保证了训练稳定性又满足了业务需求。文章还讨论了优化策略的改进空间,但肯定了当前设计的合理性,认为这是职责分离的优秀实践。
2025-11-06 11:11:40
433
原创 XGBoost超参数调优完全指南:基于贝叶斯优化的智能调参系统
本文提出了一种基于贝叶斯优化的XGBoost超参数调优方法,特别针对学生抑郁预测等不平衡分类任务。该方法设计了完整的调优器架构,包含参数状态管理和安全预处理机制。核心优化过程采用TPE算法智能搜索超参数空间,并引入早停机制和过拟合惩罚策略。文章详细解析了10个关键参数的搜索范围和调优优先级,其中n_estimators、max_depth和learning_rate被列为最高优先级参数。该方法通过自动计算类别权重、多指标监控和异常处理机制,实现了高效稳健的超参数优化,在实际应用中取得了良好效果。
2025-11-06 10:29:29
1036
原创 基于Optuna 贝叶斯优化超参数调优之使用TPE创建研究对象
本文介绍了使用Optuna框架创建超参数优化研究(Study)对象的核心语句optuna.create_study()。该对象用于管理整个优化过程,包含三个关键参数:1) direction='maximize'指定优化目标方向为最大化验证集AUC;2) sampler=TPESampler采用基于贝叶斯优化的Tree-structured Parzen Estimator算法,智能选择超参数组合;3) seed=self.random_state设置随机种子保证结果可复现。TPE算法通过区分"好
2025-11-05 19:42:02
770
原创 机器学习中的 fit()、transform() 与 fit_transform():原理、用法与最佳实践
机器学习中的fit()、transform()和fit_transform()方法详解:fit()用于从数据中学习转换规则或模型参数(如均值/方差等统计量),不改变原始数据;transform()应用已学规则进行数据转换;fit_transform()则合并两步操作,但仅限首次处理训练数据时使用。关键原则是防止数据泄露——测试集只能使用transform()复用训练集的规则。建议使用Pipeline自动化流程,确保预处理与模型训练的一致性。核心要义是"训练集学规则,测试集仅应用规则"。
2025-11-05 18:43:02
892
原创 集成学习算法XGBoost(eXtreme Gradient Boosting)基础入门
XGBoost是一种高效的集成学习算法,基于梯度提升树框架,通过二阶导数优化、正则化和并行计算等技术提升模型性能。相比传统GBDT,XGBoost具有更快的训练速度、更好的泛化能力和更强的工程优化。核心优势包括:处理结构化数据表现优异、支持自定义损失函数、自动处理缺失值以及提供多语言接口。Python中可通过原生API或scikit-learn兼容API快速实现分类、回归等任务,适合金融风控、医疗诊断等高精度需求场景。
2025-11-05 17:37:25
1132
原创 机器学习中模型的鲁棒性是什么
模型鲁棒性(Robustness)指模型在数据噪声、扰动或分布变化时仍能保持稳定预测的能力。提升方法包括: 数据层面:添加噪声训练、异常值处理、领域自适应 模型层面:使用集成方法、正则化、对抗训练 训练策略:采用鲁棒损失函数、权重衰减、交叉验证 后处理:预测校准、集成预测、阈值调整 对抗训练通过生成对抗样本并混合训练提升鲁棒性,常用FGSM/PGD等方法。实现步骤包括模型定义、对抗样本生成和联合训练。鲁棒性是模型实用化的关键,需结合实际场景针对性优化。
2025-11-05 12:42:48
1320
原创 超参数优化中的随机搜索和网格搜索
摘要:网格搜索和随机搜索是两种主要的超参数优化方法。网格搜索通过穷举所有参数组合确保找到最优解,适用于参数少且离散的场景,但计算成本随参数数量指数增长。随机搜索则通过随机采样高效探索高维参数空间,支持连续参数,计算成本可控,但不保证全局最优。网格搜索适合小规模精确搜索,随机搜索更适合大规模参数探索。实际应用中可先用随机搜索快速定位参数范围,再用网格搜索精细优化。
2025-11-05 11:13:03
938
原创 机器学习模型训练中的pipline基础入门
Pipeline(管道)是机器学习中将数据预处理、特征工程和模型训练等步骤串联封装的工具,核心优势包括简化代码、避免数据泄露、便于超参数优化和确保流程一致性。其关键组成包括转换步骤(Transformers)和评估器(Estimator)。Pipeline通过封装流程显著提升效率,但存在调试困难、灵活性受限等缺点,适合固定流程且需严格数据隔离的场景。
2025-11-05 11:05:30
784
原创 SpringBoot整合clickhouse配置多分片地址
本文介绍了ClickHouse(简称CK)集群的两种连接方式配置:通过负载均衡地址或直接配置分片地址。主要内容包括:1) 在pom.xml中添加必要的依赖(druid、clickhouse-jdbc和LZ4);2) yml配置文件中设置连接参数,包括连接池属性;3) Java配置类实现数据源初始化,使用Druid连接池管理CK连接,并配置MyBatis会话工厂。配置类包含连接池大小、超时时间等详细参数设置,以及MyBatis相关配置,如Mapper文件位置和实体类扫描包。该配置适用于需要直接连接CK集群分片
2025-10-30 16:26:07
281
原创 MongoDB中全文索引基础篇
MongoDB全文索引完全指南摘要 MongoDB全文索引(Text Index)支持高效文本搜索,通过分词和倒排索引实现快速检索。核心功能包括多字段联合搜索、相关性排序、布尔运算及短语匹配。创建时可指定权重、语言(如中文需显式设置)或通配符($**)。 主要特性: 语法:createIndex({字段:"text"}),支持多字段/通配符 查询:$text操作符支持关键词、短语、排除逻辑 语言处理:默认英语分词,中文需配置default_language:"chinese&q
2025-10-28 14:12:08
658
原创 MongoDB入门指南基础篇
MongoDB 入门指南 MongoDB 是一个开源的文档型 NoSQL 数据库,采用 BSON 格式存储数据,具有高性能、高可用性和灵活的数据模型。核心特性包括动态模式、丰富的查询语言、聚合框架和水平扩展能力。数据以文档形式存储在集合中,支持 CRUD 操作、索引优化和复杂查询。安装方式多样(官方包、Docker 等),基本操作涵盖插入、查询、更新和删除。适用场景包括 Web 应用、大数据处理等,但不适合强事务需求的系统。提供完善的工具链和安全机制,适合现代开发需求。 (摘要字数:150)
2025-10-28 13:58:46
986
原创 MongoDB索引创建语法分析
摘要:这段代码在MongoDB的activities集合上创建了一个名为isPublic_1_isFeatured_1_createdAt_-1的复合索引,包含isPublic(升序)、isFeatured(升序)和createdAt(降序)三个字段。该索引优化了筛选公开推荐活动并按时间排序的查询性能,通过background:true选项实现后台异步创建,避免阻塞生产环境。适用于需要高效查询公开推荐活动列表并支持分页的场景。建议使用简化的标准写法,并考虑部分索引进一步优化性能。
2025-10-28 13:54:57
838
原创 机器学习中一些场景的模型评估与理解图表
机器学习模型评估与解释图表指南 本文系统整理了14种核心的机器学习图表工具,分为四大类: 性能评估:包括ROC曲线、PR曲线和混淆矩阵,用于量化模型分类能力 模型解释:特征重要性图、SHAP摘要和依赖图,揭示模型决策依据 训练监控:学习曲线、验证曲线和损失曲线,优化模型训练过程 业务分析:累计增益图、提升图和校准曲线,将技术指标转化为业务洞察 每种图表均包含: 核心指标说明(如AUC、F1等) 标准图例展示 专业解读要点 典型应用场景 这些可视化工具形成了从技术验证到业务决策的完整分析链条,适用于分类模型的
2025-10-22 10:51:36
1256
原创 MySQL索引调优之索引顺序是否应该“匹配查询书写顺序”?
文章摘要: 建议保持原复合索引顺序(res_speciality_id, ph_status, del_flag, is_delete, manage_stage),而非将范围查询字段manage_stage提前。原因:1)等值查询字段应优先按选择性高低排列;2)范围条件(如IN)会使后续索引字段失效,降低查询效率。MySQL优化器会按索引定义顺序匹配最左前缀,与SQL书写顺序无关。原索引设计符合"等值字段在前+范围字段最后"的最佳实践,能最大化利用索引定位能力。
2025-10-09 17:26:33
335
原创 MySQL索引调优之索引顺序必须和字段顺序一致吗?
MySQL索引使用关键点总结 ✅ 索引字段顺序与SQL查询顺序无关:MySQL优化器会自动按索引定义顺序匹配WHERE条件,无需与SQL书写顺序一致。 ✅ 复合索引最左前缀原则:必须从索引最左列开始连续匹配,跳过中间列会导致后续索引失效。例如索引(a,b,c)中,查询条件b=2无法使用索引。 ✅ 范围查询的正确使用:等值条件应优先,范围查询(如IN、>)适合放在索引最后列。 ✅ 验证方法:通过EXPLAIN的key_len可判断索引实际使用情况。 ❌ 常见误区: 认为SQL字段顺序必须匹配索引顺序;
2025-10-09 17:23:18
432
原创 ClientAbortException: java.io.IOException: Broken pipe是什么?
Tomcat Broken pipe 异常解析:这是Java Web应用中常见的客户端中断异常,当服务器向已关闭的连接写入数据时触发。主要因客户端主动断开(刷新/超时)、代理超时、大文件下载中断或网络问题导致。虽记录为ERROR但通常无需修复,建议优化性能、设置合理超时、异步处理并捕获异常。可通过日志降级减少干扰,重点关注接口响应速度与稳定性提升。该异常反映的是客户端行为而非服务端缺陷,在流式传输等场景尤为常见。
2025-09-29 16:11:36
985
原创 Redis链接关闭异常io.lettuce.core.RedisException: java.io.IOException: Connection reset by peer
Redis连接被重置错误分析及解决方案 摘要: 本文分析了"java.io.IOException: Connection reset by peer"错误的原因,指出问题主要源于Redis服务端或中间网络设备主动关闭连接。常见原因包括Redis空闲超时、连接数限制、服务重启或网络中断。通过检查Redis日志和配置(timeout、maxclients等)可定位问题根源。针对给出的Spring配置,指出了关键缺陷:过长的空闲连接驱逐时间与Redis默认超时冲突,以及废弃的参数使用。提供了
2025-08-09 10:40:45
1702
原创 关于CMS垃圾回收器,未看到full gc实例就被k8s杀了的复盘
摘要:在Kubernetes中运行使用CMS GC的JVM时,可能因内存监控视角差异导致容器被直接杀死而非触发Full GC。关键原因包括:堆外内存泄漏、堆内存缓慢增长未达CMS阈值、元空间泄漏等。Kubernetes监控的是整个容器内存,而JVM只关注堆内存,当容器总内存超限时会被直接终止。解决方案包括:严格限制JVM各内存区域、预留内存缓冲、启用Native Memory Tracking、更换G1/ZGC等更安全的GC策略。建议容器内存Limit应比JVM最大内存多30%缓冲,并注意监控堆外内存使用情
2025-08-09 10:18:54
1085
原创 定时任务刚开启,就报错RedisCommandExecutionException: ERR server connection close
Redis连接关闭错误分析与解决方案 ERR server connection close错误通常由Redis服务器主动断开闲置连接引发,常见于Lettuce客户端。主要原因为:Redis默认5分钟空闲超时、服务器资源限制或网络问题。 解决方案: 配置连接保活:启用空闲检测(test-while-idle)和TCP Keepalive 优化超时设置:调整Redis的timeout和客户端连接池参数 添加重试机制:使用Spring Retry处理瞬断 诊断建议:检查Redis日志中的"Closin
2025-08-08 02:01:42
408
原创 用 Spring Boot 静态资源映射 vs 用 Nginx 提供静态文件服务总结
摘要: Nginx在静态文件下载场景(性能、并发、缓存、CDN支持)上全面优于Spring Boot,适合公共大文件;而Spring Boot更适合需权限控制的私有文件。推荐混合架构:Nginx处理公共文件(配置简单高效),Spring Boot负责带鉴权的私有文件。实际选择应结合业务场景,初期可用Spring Boot快速开发,流量增长后迁移静态资源至Nginx或对象存储。测试表明,Nginx在大文件、高并发下响应更快,而Spring Boot在开发灵活性上占优。
2025-05-31 12:34:12
814
原创 Windows下安装并使用kubectl查看K8S日志
本文介绍了在Windows系统上安装和配置kubectl工具的步骤。首先提供了kubectl的官方下载地址,详细说明了下载后的环境变量配置方法并验证安装。其次讲解了如何获取k8s集群配置文件config,需将其放置于用户目录下的.kube文件夹中。最后总结了使用kubectl查看Pod日志的常用命令,包括获取Pod列表、查看实时日志(--previous参数)以及访问不同命名空间的方法。通过以上步骤,用户即可在Windows环境下使用kubectl管理与监控Kubernetes集群。
2025-05-28 09:11:03
3275
原创 ClickHouse 中`MergeTree` 和 `ReplicatedMergeTree`表引擎区别
特性MergeTree数据复制不支持支持高可用性不提供高可用性提供高可用性故障恢复如果节点故障,数据可能丢失节点故障后可以从其他副本恢复使用场景单机环境或不需要数据复制的场景分布式环境,需要数据冗余和高可用性的场景依赖无需额外依赖需要 ZooKeeper 进行副本同步性能略优于,因为没有复制开销由于涉及数据复制,可能会有少量性能开销。
2025-04-26 00:22:03
1484
原创 Spring Boot 中配置线程池时优化 `ThreadPoolTaskExecutor` 的配置总结
Spring Boot线程池优化实践 本文详细介绍了Spring Boot中ThreadPoolTaskExecutor的6大优化方向:1)合理设置线程池参数,包括核心/最大线程数、队列容量等;2)自定义拒绝策略并记录日志;3)通过TaskDecorator传递线程上下文;4)集成Micrometer进行监控;5)动态调整配置参数;6)选择合适队列类型。文章提供了具体配置示例和适用场景分析,特别指出使用@Async时默认线程池的命名规则,建议为不同场景配置专属线程池。这些优化措施能有效提升系统性能、可靠性和
2025-04-24 13:48:08
1370
原创 Spring Boot 中触发异步任务的几种方式
方法适用场景优点缺点@Async简单异步任务集成简单,适合轻量级场景需处理线程池和异常,同类调用失效消息队列分布式系统、高可靠性场景解耦彻底,支持重试和削峰维护中间件,复杂度高复杂异步流程控制灵活,支持链式调用代码复杂,需手动管理应用内事件通知松耦合,易于扩展监听器不支持分布式,依赖@Async根据实际场景选择:轻量级任务用@Async,分布式需求用消息队列,复杂流程用,应用内解耦用事件监听。
2025-04-24 13:43:05
554
原创 编写脚本在Linux下启动、停止SpringBoot工程
这条命令将标准输出和标准错误都重定向到/dev/null,这意味着它们不会输出到控制台或任何文件。这样做是因为我们希望所有日志都由Logback处理并写入到配置文件中指定的日志文件里。
2025-03-20 11:15:47
989
SpringBoot整合Dubbo和Zookeeper升级版
2018-11-09
DubboOPS项目和管理后台jar包
2018-11-07
Struts2Spring4Hibernate4整合
2018-11-07
bert-base-chinese模型文件,深度学习,自然语言处理
2025-02-02
Netty权威指南 第2版 带书签目录 高清完整版.pdf
2018-11-20
输入一段英文,去掉符号后将英文单词排序输出
2021-12-23
PHP课程设计图书管理系统、学生成绩管理系统、学生宿舍管理系统
2020-11-27
SpringBoot+thymeleaf+UEditor+不修改上传路径.zip
2020-02-04
jdk6-8String类
2019-11-20
dhcp+c3p0.zip
2019-10-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅