[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-catboost--catboost":3,"tool-catboost--catboost":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":67,"owner_name":75,"owner_avatar_url":76,"owner_bio":77,"owner_company":78,"owner_location":78,"owner_email":78,"owner_twitter":78,"owner_website":79,"owner_url":80,"languages":81,"stars":120,"forks":121,"last_commit_at":122,"license":123,"difficulty_score":124,"env_os":125,"env_gpu":126,"env_ram":127,"env_deps":128,"category_tags":136,"github_topics":137,"view_count":23,"oss_zip_url":78,"oss_zip_packed_at":78,"status":16,"created_at":155,"updated_at":156,"faqs":157,"releases":188},3254,"catboost\u002Fcatboost","catboost","A fast, scalable, high performance Gradient Boosting on Decision Trees library, used for ranking, classification, regression and other machine learning tasks for Python, R, Java, C++. Supports computation on CPU and GPU.","CatBoost 是一款高性能的梯度提升决策树机器学习库，专为解决分类、回归及排序等复杂任务而设计。它有效应对了传统模型在处理类别型特征时繁琐的预处理难题，能够原生支持数值与类别特征的直接输入，大幅简化了数据清洗流程。同时，CatBoost 在预测速度和模型精度上表现卓越，尤其在各类数据集基准测试中往往优于其他同类工具。\n\n这款工具非常适合数据科学家、机器学习工程师及研究人员使用。无论是需要快速构建原型的开发者，还是追求极致性能的生产环境部署，CatBoost 都能提供强有力的支持。其独特的技术亮点包括对 CPU 和 GPU（含多卡并行）的高效利用、内置丰富的可视化分析工具，以及支持通过 Apache Spark 进行大规模分布式训练。此外，它还提供了 Python、R、Java、C++ 等多种语言接口，并具备完善的模型部署 API，确保从实验到生产的全链路顺畅无阻。凭借出色的易用性与强大的计算能力，CatBoost 已成为众多机器学习项目中值得信赖的核心组件。","\u003Cimg src=http:\u002F\u002Fstorage.mds.yandex.net\u002Fget-devtools-opensource\u002F250854\u002Fcatboost-logo.png width=300\u002F>\n\n[Website](https:\u002F\u002Fcatboost.ai) |\n[Documentation](https:\u002F\u002Fcatboost.ai\u002Fdocs\u002F) |\n[Tutorials](https:\u002F\u002Fcatboost.ai\u002Fdocs\u002Fconcepts\u002Ftutorials.html) |\n[Installation](https:\u002F\u002Fcatboost.ai\u002Fdocs\u002Fconcepts\u002Finstallation.html) |\n[Release Notes](https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fcatboost\u002Freleases)\n\n[![GitHub license](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fcatboost\u002Fcatboost.svg)](https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fcatboost\u002Fblob\u002Fmaster\u002FLICENSE)\n[![PyPI version](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fcatboost.svg)](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fcatboost)\n[![Conda Version](https:\u002F\u002Fimg.shields.io\u002Fconda\u002Fvn\u002Fconda-forge\u002Fcatboost.svg)](https:\u002F\u002Fanaconda.org\u002Fconda-forge\u002Fcatboost)\n[![GitHub issues](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Fcatboost\u002Fcatboost.svg)](https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fcatboost\u002Fissues)\n[![Telegram](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fchat-on%20Telegram-2ba2d9.svg)](https:\u002F\u002Ft.me\u002Fcatboost_en)\n[![Twitter](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F@CatBoostML--_.svg?style=social&logo=twitter)](https:\u002F\u002Ftwitter.com\u002FCatBoostML)\n\nCatBoost is a machine learning method based on [gradient boosting](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGradient_boosting) over decision trees.\n\nMain advantages of CatBoost:\n--------------\n  - Superior quality [compared](https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fbenchmarks\u002Fblob\u002Fmaster\u002FREADME.md) with other GBDT libraries on many datasets.\n  - Best-in-class [prediction](https:\u002F\u002Fcatboost.ai\u002Fdocs\u002Fconcepts\u002Fc-plus-plus-api.html) speed.\n  - Support for both [numerical and categorical](https:\u002F\u002Fcatboost.ai\u002Fdocs\u002Fconcepts\u002Falgorithm-main-stages.html) features.\n  - Fast GPU and multi-GPU support for out-of-the box training.\n  - Built-in [visualization tools](https:\u002F\u002Fcatboost.ai\u002Fdocs\u002Ffeatures\u002Fvisualization.html).\n  - Fast and reproducible distributed training with [Apache Spark](https:\u002F\u002Fcatboost.ai\u002Fen\u002Fdocs\u002Fconcepts\u002Fspark-overview) and [CLI](https:\u002F\u002Fcatboost.ai\u002Fen\u002Fdocs\u002Fconcepts\u002Fcli-distributed-learning).\n\nGet Started and Documentation\n--------------\nAll CatBoost documentation is available [here](https:\u002F\u002Fcatboost.ai\u002Fdocs\u002F).\n\nInstall CatBoost by following the guide for the\n * [Python package](https:\u002F\u002Fcatboost.ai\u002Fen\u002Fdocs\u002Fconcepts\u002Fpython-installation)\n * [R-package](https:\u002F\u002Fcatboost.ai\u002Fen\u002Fdocs\u002Fconcepts\u002Fr-installation)\n * [Сommand line](https:\u002F\u002Fcatboost.ai\u002Fen\u002Fdocs\u002Fconcepts\u002Fcli-installation)\n * [Package for Apache Spark](https:\u002F\u002Fcatboost.ai\u002Fen\u002Fdocs\u002Fconcepts\u002Fspark-installation)\n\nNext you may want to explore:\n* [Tutorials](https:\u002F\u002Fgithub.com\u002Fcatboost\u002Ftutorials\u002F#readme)\n* [Training modes and metrics](https:\u002F\u002Fcatboost.ai\u002Fdocs\u002Fconcepts\u002Floss-functions.html)\n* [Cross-validation](https:\u002F\u002Fcatboost.ai\u002Fdocs\u002Ffeatures\u002Fcross-validation.html#cross-validation)\n* [Parameters tuning](https:\u002F\u002Fcatboost.ai\u002Fdocs\u002Fconcepts\u002Fparameter-tuning.html)\n* [Feature importance calculation](https:\u002F\u002Fcatboost.ai\u002Fdocs\u002Ffeatures\u002Ffeature-importances-calculation.html)\n* [Regular](https:\u002F\u002Fcatboost.ai\u002Fdocs\u002Ffeatures\u002Fprediction.html#prediction) and [staged](https:\u002F\u002Fcatboost.ai\u002Fdocs\u002Ffeatures\u002Fstaged-prediction.html#staged-prediction) predictions\n* CatBoost for Apache Spark videos: [Introduction](https:\u002F\u002Fyoutu.be\u002F47-mAVms-b8) and [Architecture](https:\u002F\u002Fyoutu.be\u002FnrGt5VKZpzc)\n\nIf you cannot open documentation in your browser try adding yastatic.net and yastat.net to the list of allowed domains in your Privacy Badger.\n\nCatBoost models in production\n--------------\nIf you want to evaluate CatBoost model in your application read [model api documentation](https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fcatboost\u002Ftree\u002Fmaster\u002Fcatboost\u002FCatboostModelAPI.md).\n\nQuestions and bug reports\n--------------\n* For reporting bugs please use the [catboost\u002Fbugreport](https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fcatboost\u002Fissues) page.\n* Ask a question on [CatBoost GitHub Discussions Q&A forum](https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fcatboost\u002Fdiscussions\u002Fcategories\u002Fq-a).\n* Ask a question on [Stack Overflow](https:\u002F\u002Fstackoverflow.com\u002Fquestions\u002Ftagged\u002Fcatboost) with the catboost tag, we monitor this for new questions.\n* Seek prompt advice at [Telegram group](https:\u002F\u002Ft.me\u002Fcatboost_en) or Russian-speaking [Telegram chat](https:\u002F\u002Ft.me\u002Fcatboost_ru)\n\nHelp to Make CatBoost Better\n----------------------------\n* Check out [open problems](https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fcatboost\u002Fblob\u002Fmaster\u002Fopen_problems\u002Fopen_problems.md) and [help wanted issues](https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fcatboost\u002Flabels\u002Fhelp%20wanted) to see what can be improved, or open an issue if you want something.\n* Add your stories and experience to [Awesome CatBoost](AWESOME.md).\n* [Instructions for contributors](https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fcatboost\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md).\n\nNews\n--------------\nLatest news are published on [twitter](https:\u002F\u002Ftwitter.com\u002Fcatboostml).\n\nReference Paper\n-------\nAnna Veronika Dorogush, Andrey Gulin, Gleb Gusev, Nikita Kazeev, Liudmila Ostroumova Prokhorenkova, Aleksandr Vorobev [\"Fighting biases with dynamic boosting\"](https:\u002F\u002Farxiv.org\u002Fabs\u002F1706.09516). arXiv:1706.09516, 2017.\n\nAnna Veronika Dorogush, Vasily Ershov, Andrey Gulin [\"CatBoost: gradient boosting with categorical features support\"](http:\u002F\u002Flearningsys.org\u002Fnips17\u002Fassets\u002Fpapers\u002Fpaper_11.pdf). Workshop on ML Systems\nat NIPS 2017.\n\nLicense\n-------\n© YANDEX LLC, 2017-2026. Licensed under the Apache License, Version 2.0. See LICENSE file for more details.\n","\u003Cimg src=http:\u002F\u002Fstorage.mds.yandex.net\u002Fget-devtools-opensource\u002F250854\u002Fcatboost-logo.png width=300\u002F>\n\n[官网](https:\u002F\u002Fcatboost.ai) |\n[文档](https:\u002F\u002Fcatboost.ai\u002Fdocs\u002F) |\n[教程](https:\u002F\u002Fcatboost.ai\u002Fdocs\u002Fconcepts\u002Ftutorials.html) |\n[安装](https:\u002F\u002Fcatboost.ai\u002Fdocs\u002Fconcepts\u002Finstallation.html) |\n[发布说明](https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fcatboost\u002Freleases)\n\n[![GitHub 许可证](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fcatboost\u002Fcatboost.svg)](https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fcatboost\u002Fblob\u002Fmaster\u002FLICENSE)\n[![PyPI 版本](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fcatboost.svg)](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fcatboost)\n[![Conda 版本](https:\u002F\u002Fimg.shields.io\u002Fconda\u002Fvn\u002Fconda-forge\u002Fcatboost.svg)](https:\u002F\u002Fanaconda.org\u002Fconda-forge\u002Fcatboost)\n[![GitHub 问题](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Fcatboost\u002Fcatboost.svg)](https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fcatboost\u002Fissues)\n[![Telegram](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fchat-on%20Telegram-2ba2d9.svg)](https:\u002F\u002Ft.me\u002Fcatboost_en)\n[![Twitter](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F@CatBoostML--_.svg?style=social&logo=twitter)](https:\u002F\u002Ftwitter.com\u002FCatBoostML)\n\nCatBoost 是一种基于决策树的 [梯度提升](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGradient_boosting) 机器学习方法。\n\nCatBoost 的主要优势：\n--------------\n  - 在许多数据集上，与其他 GBDT 库相比，具有更优的模型质量。\n  - 预测速度处于行业领先水平。\n  - 同时支持 [数值型和类别型](https:\u002F\u002Fcatboost.ai\u002Fdocs\u002Fconcepts\u002Falgorithm-main-stages.html) 特征。\n  - 提供快速的 GPU 和多 GPU 支持，开箱即用。\n  - 内置 [可视化工具](https:\u002F\u002Fcatboost.ai\u002Fdocs\u002Ffeatures\u002Fvisualization.html)。\n  - 通过 [Apache Spark](https:\u002F\u002Fcatboost.ai\u002Fen\u002Fdocs\u002Fconcepts\u002Fspark-overview) 和 [命令行接口](https:\u002F\u002Fcatboost.ai\u002Fen\u002Fdocs\u002Fconcepts\u002Fcli-distributed-learning) 实现快速且可复现的分布式训练。\n\n开始使用与文档\n--------------\n所有 CatBoost 文档均可在此处获取：[文档](https:\u002F\u002Fcatboost.ai\u002Fdocs\u002F)。\n\n请按照以下指南安装 CatBoost：\n * [Python 包](https:\u002F\u002Fcatboost.ai\u002Fen\u002Fdocs\u002Fconcepts\u002Fpython-installation)\n * [R 包](https:\u002F\u002Fcatboost.ai\u002Fen\u002Fdocs\u002Fconcepts\u002Fr-installation)\n * [命令行工具](https:\u002F\u002Fcatboost.ai\u002Fen\u002Fdocs\u002Fconcepts\u002Fcli-installation)\n * [Apache Spark 版本](https:\u002F\u002Fcatboost.ai\u002Fen\u002Fdocs\u002Fconcepts\u002Fspark-installation)\n\n接下来，您可能希望探索：\n* [教程](https:\u002F\u002Fgithub.com\u002Fcatboost\u002Ftutorials\u002F#readme)\n* [训练模式与评估指标](https:\u002F\u002Fcatboost.ai\u002Fdocs\u002Fconcepts\u002Floss-functions.html)\n* [交叉验证](https:\u002F\u002Fcatboost.ai\u002Fdocs\u002Ffeatures\u002Fcross-validation.html#cross-validation)\n* [超参数调优](https:\u002F\u002Fcatboost.ai\u002Fdocs\u002Fconcepts\u002Fparameter-tuning.html)\n* [特征重要性计算](https:\u002F\u002Fcatboost.ai\u002Fdocs\u002Ffeatures\u002Ffeature-importances-calculation.html)\n* [常规预测](https:\u002F\u002Fcatboost.ai\u002Fdocs\u002Ffeatures\u002Fprediction.html#prediction) 和 [阶段性预测](https:\u002F\u002Fcatboost.ai\u002Fdocs\u002Ffeatures\u002Fstaged-prediction.html#staged-prediction)\n* 关于 CatBoost 与 Apache Spark 的视频：[简介](https:\u002F\u002Fyoutu.be\u002F47-mAVms-b8) 和 [架构](https:\u002F\u002Fyoutu.be\u002FnrGt5VKZpzc)\n\n如果您无法在浏览器中打开文档，请尝试将 yastatic.net 和 yastat.net 添加到 Privacy Badger 的允许域名列表中。\n\n生产环境中的 CatBoost 模型\n--------------\n如果您希望在应用程序中部署 CatBoost 模型，请阅读 [模型 API 文档](https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fcatboost\u002Ftree\u002Fmaster\u002Fcatboost\u002FCatboostModelAPI.md)。\n\n问题与错误报告\n--------------\n* 如需报告错误，请使用 [catboost\u002Fbugreport](https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fcatboost\u002Fissues) 页面。\n* 您可以在 [CatBoost GitHub Discussions Q&A 论坛](https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fcatboost\u002Fdiscussions\u002Fcategories\u002Fq-a) 上提问。\n* 您也可以在 [Stack Overflow](https:\u002F\u002Fstackoverflow.com\u002Fquestions\u002Ftagged\u002Fcatboost) 上使用 catboost 标签提问，我们会关注新问题。\n* 您还可以加入 [Telegram 群组](https:\u002F\u002Ft.me\u002Fcatboost_en) 或俄语 Telegram 聊天室 ([Telegram chat](https:\u002F\u002Ft.me\u002Fcatboost_ru)) 寻求帮助。\n\n帮助改进 CatBoost\n----------------------------\n* 查看 [开放问题](https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fcatboost\u002Fblob\u002Fmaster\u002Fopen_problems\u002Fopen_problems.md) 和 [寻求帮助的问题](https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fcatboost\u002Flabels\u002Fhelp%20wanted)，了解有哪些可以改进的地方；或者如果您有想法，可以直接提交一个问题。\n* 将您的故事和经验添加到 [Awesome CatBoost](AWESOME.md) 中。\n* 参阅 [贡献者指南](https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fcatboost\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md)。\n\n新闻\n--------------\n最新消息会发布在 [Twitter](https:\u002F\u002Ftwitter.com\u002Fcatboostml) 上。\n\n参考论文\n-------\nAnna Veronika Dorogush、Andrey Gulin、Gleb Gusev、Nikita Kazeev、Liudmila Ostroumova Prokhorenkova、Aleksandr Vorobev [\"用动态提升对抗偏差\"](https:\u002F\u002Farxiv.org\u002Fabs\u002F1706.09516)。arXiv:1706.09516, 2017 年。\n\nAnna Veronika Dorogush、Vasily Ershov、Andrey Gulin [\"CatBoost：支持类别特征的梯度提升\"](http:\u002F\u002Flearningsys.org\u002Fnips17\u002Fassets\u002Fpapers\u002Fpaper_11.pdf)。2017 年 NIPS 机器学习系统研讨会。\n\n许可证\n-------\n© YANDEX LLC, 2017–2026。根据 Apache License, Version 2.0 授权。更多详情请参阅 LICENSE 文件。","# CatBoost 快速上手指南\n\nCatBoost 是由 Yandex 开源的高性能梯度提升决策树（GBDT）算法库。它以对类别特征的原生支持、卓越的预测精度和速度著称，适用于分类、回归及排序任务。\n\n## 1. 环境准备\n\n*   **操作系统**：支持 Windows, Linux, macOS。\n*   **语言环境**：\n    *   **Python**: 推荐 Python 3.8 及以上版本。\n    *   **R**: 推荐 R 3.6 及以上版本。\n    *   **其他**: 支持 C++, Java, Apache Spark, CLI 命令行调用。\n*   **硬件加速（可选）**：若需使用 GPU 训练，请确保已安装兼容的 NVIDIA CUDA 驱动。\n*   **依赖库**：安装 Python 包时会自动处理 `numpy`, `scipy`, `pandas`, `matplotlib` 等依赖。\n\n## 2. 安装步骤\n\n推荐使用国内镜像源以加快下载速度。\n\n### Python 安装\n\n**使用 pip (推荐阿里云\u002F清华源):**\n```bash\npip install catboost -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n或者使用阿里云源：\n```bash\npip install catboost -i https:\u002F\u002Fmirrors.aliyun.com\u002Fpypi\u002Fsimple\u002F\n```\n\n**使用 Conda:**\n```bash\nconda install -c conda-forge catboost\n```\n\n### R 语言安装\n```R\ninstall.packages(\"catboost\", repos = \"https:\u002F\u002Fcloud.r-project.org\")\n# 或者从 GitHub 安装最新版\n# install.packages(\"remotes\")\n# remotes::install_github(\"catboost\u002Fcatboost\", subdir = \"catboost\u002FR-package\")\n```\n\n### 其他环境\n*   **Apache Spark**: 请参考官方 Spark 集成文档添加对应 jar 包。\n*   **命令行工具 (CLI)**: 可从 GitHub Releases 页面下载对应平台的二进制文件。\n\n## 3. 基本使用\n\n以下是最简单的 Python 使用示例，展示如何处理包含类别特征的数据并进行训练与预测。\n\n### 核心代码示例\n\n```python\nfrom catboost import CatBoostClassifier, Pool\nimport pandas as pd\n\n# 1. 准备数据\n# 假设 df 是一个包含数值和类别特征的 DataFrame\ndata = {\n    'age': [25, 30, 35, 40],\n    'city': ['Beijing', 'Shanghai', 'Beijing', 'Guangzhou'], # 类别特征\n    'income': [5000, 8000, 12000, 9000],\n    'label': [0, 1, 1, 0]\n}\ndf = pd.DataFrame(data)\n\n# 分离特征和标签\nX = df.drop('label', axis=1)\ny = df['label']\n\n# 指定类别特征的列索引或名称\ncat_features = ['city'] \n\n# 2. 创建模型\nmodel = CatBoostClassifier(\n    iterations=100,\n    depth=6,\n    learning_rate=0.1,\n    loss_function='Logloss',\n    verbose=False # 关闭训练日志输出\n)\n\n# 3. 训练模型\n# CatBoost 原生支持直接传入类别特征列表，无需手动 One-Hot 编码\nmodel.fit(X, y, cat_features=cat_features)\n\n# 4. 进行预测\npredictions = model.predict(X)\nprobabilities = model.predict_proba(X)\n\nprint(\"预测结果:\", predictions)\nprint(\"概率分布:\", probabilities)\n```\n\n### 关键特性说明\n*   **类别特征处理**：直接在 `fit` 函数中通过 `cat_features` 参数指定类别列，CatBoost 会自动进行最优编码处理，无需预处理。\n*   **缺失值处理**：原生支持缺失值，无需填充。\n*   **可视化**：训练完成后可使用 `model.plot_tree()` 或结合 `shap` 库进行特征重要性分析。","某电商数据团队正在构建用户流失预警模型，需处理包含大量类别型特征（如用户地域、设备类型、会员等级）的海量行为日志。\n\n### 没有 catboost 时\n- 面对高基数类别特征，团队必须手动进行独热编码或目标编码，导致特征维度爆炸且极易引发数据泄露。\n- 传统梯度提升树对缺失值和异常值敏感，需花费大量时间编写额外的数据清洗和预处理脚本。\n- 模型训练速度缓慢，即便使用多核 CPU 也难以在有限的时间窗口内完成全量数据的迭代调优。\n- 不同预处理步骤引入的人为误差，使得实验结果难以复现，模型上线后的表现往往低于预期。\n\n### 使用 catboost 后\n- 直接原生支持类别型特征输入，自动处理高基数变量，彻底省去了繁琐且易错的编码环节。\n- 内置稳健的缺失值处理机制，无需额外清洗即可直接从原始日志中训练，大幅简化了数据流水线。\n- 利用 GPU 加速和多核并行计算能力，将原本数小时的训练过程缩短至分钟级，显著提升了迭代效率。\n- 凭借有序的 boosting 策略有效防止预测偏移，确保了模型在验证集和生产环境中表现高度一致。\n\nCatBoost 通过原生处理复杂特征与极致的计算性能，让数据科学家能从繁琐的工程预处理中解放出来，专注于核心算法优化。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcatboost_catboost_8c2807ad.png","CatBoost","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fcatboost_484d31a5.png","CatBoost is a fast, scalable, high performance gradient boosting on decision trees library. Used for ranking, classification, regression and other ML tasks.",null,"catboost.ai","https:\u002F\u002Fgithub.com\u002Fcatboost",[82,86,90,94,98,102,106,110,114,117],{"name":83,"color":84,"percentage":85},"C++","#f34b7d",77.2,{"name":87,"color":88,"percentage":89},"Python","#3572A5",10.4,{"name":91,"color":92,"percentage":93},"Cuda","#3A4E3A",3.6,{"name":95,"color":96,"percentage":97},"CMake","#DA3434",2.9,{"name":99,"color":100,"percentage":101},"Scala","#c22d40",1.8,{"name":103,"color":104,"percentage":105},"Cython","#fedf5b",1.6,{"name":107,"color":108,"percentage":109},"R","#198CE7",0.6,{"name":111,"color":112,"percentage":113},"Java","#b07219",0.5,{"name":115,"color":78,"percentage":116},"SWIG",0.3,{"name":118,"color":119,"percentage":116},"Rust","#dea584",8872,1279,"2026-04-04T07:11:18","Apache-2.0",1,"Linux, macOS, Windows","非必需。支持 NVIDIA GPU 用于加速训练（单卡或多卡），具体型号、显存大小及 CUDA 版本未在文档中明确说明，需参考官方安装指南。","未说明",{"notes":129,"python":130,"dependencies":131},"CatBoost 是一个基于梯度提升决策树（GBDT）的机器学习库，原生支持数值型和类别型特征。除了 Python，还提供 R 语言包、命令行工具（CLI）以及 Apache Spark 接口。若需在浏览器查看文档被拦截，需将 yastatic.net 和 yastat.net 加入白名单。生产环境部署可参考专门的模型 API 文档。","未说明（支持 Python 包安装，具体版本需参考官方安装文档）",[132,133,134,135],"numpy","scipy","pandas","matplotlib (用于可视化)",[26,13,15,53,14,51,55,54,52],[138,139,140,141,142,143,144,145,146,67,147,148,149,150,151,152,153,154],"machine-learning","decision-trees","gradient-boosting","gbm","gbdt","python","r","kaggle","gpu-computing","tutorial","categorical-features","gpu","coreml","data-science","big-data","cuda","data-mining","2026-03-27T02:49:30.150509","2026-04-06T06:44:18.073333",[158,163,168,173,178,183],{"id":159,"question_zh":160,"answer_zh":161,"source_url":162},14960,"导入 CatBoost 时遇到 'numpy.dtype size changed' 错误，如何解决与 NumPy 2.0 的兼容性问题？","该错误是由于 CatBoost 旧版本与 NumPy 2.0 不兼容导致的二进制 incompatibility。请升级 CatBoost 至 1.2.8 或更高版本（PyPI 已发布，Conda 随后更新），该版本已完全支持 NumPy 2.x 及 Python 3.13。","https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fcatboost\u002Fissues\u002F2671",{"id":164,"question_zh":165,"answer_zh":166,"source_url":167},14959,"CatBoost 是否支持 Apple Silicon (M1\u002FM2) CPU？是否有 GPU 版本计划？","CatBoost 支持在 Apple Silicon CPU 上运行。关于 GPU 支持，目前暂无为 Apple GPU (M1\u002FM2) 实现支持的直接计划。相关讨论可参考独立 Issue #2075。","https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fcatboost\u002Fissues\u002F1526",{"id":169,"question_zh":170,"answer_zh":171,"source_url":172},14961,"如何在 CPU 上进行分布式训练？有什么限制吗？","CatBoost 支持通过 Spark 进行分布式训练。但在 CPU 分布式训练模式下，不支持复杂的张量结构（MaxTensorComplexity > 1）。如果在 CLI 中遇到相关异常，需注意 CatBoost Spark 版本会显式将 max_tensor_complexity 设置为 1 以规避此问题。","https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fcatboost\u002Fissues\u002F153",{"id":174,"question_zh":175,"answer_zh":176,"source_url":177},14962,"CatBoost 是否支持 Python 3.11？","是的，CatBoost 现已支持 Python 3.11。Conda 上的软件包也已包含对 Python 3.11 的支持。","https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fcatboost\u002Fissues\u002F2213",{"id":179,"question_zh":180,"answer_zh":181,"source_url":182},14963,"在 Windows 上使用 setup.py 安装时遇到 'UnicodeDecodeError: ascii codec can't decode byte' 错误怎么办？","此错误通常发生在从源码编译且路径中包含非 ASCII 字符（如中文用户名）时，或者与 numpy\u002Fopen BLAS 的版本冲突有关。建议检查构建日志确认是否是 _catboost.pyd 损坏。如果可能，尽量使用预编译的 wheel 包（pip install catboost）而非从源码编译，以避免编码和编译环境问题。","https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fcatboost\u002Fissues\u002F1633",{"id":184,"question_zh":185,"answer_zh":186,"source_url":187},14964,"如何在 ppc64le 架构上编译 CatBoost？","在 ppc64le 架构编译时，可能会遇到动态链接库加载问题。调试时可尝试运行 `readelf --dynamic \u003Cpath_to_so> | grep STATIC_TLS` 确保无输出。如果遇到 `PyCapsule_Import` 相关错误，请确认 numpy 是否能正常导入。此外，尝试修改分配器配置（如将 ALLOCATOR(J) 改为 ALLOCATOR(MIM)）可能有助于解决特定的内存分配错误。","https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fcatboost\u002Fissues\u002F582",[189,194,199,204,209,214,219,224,229,234,239,244,249,254,259,264,269,274,279,284],{"id":190,"version":191,"summary_zh":192,"released_at":193},81770,"node-package-v1.27.0","（使用 CatBoost 主发行版 v1.2.10 中的 `catboostmodel` 原生库）\n* 修复在不支持 SSE4 指令集的 CPU 上进行 `Probability` 类型预测时的问题（这包括所有 ARM 架构的 CPU）。\n  曾出现概率为 0 的值被错误地计算为 `nan` 的情况。\n* 修复多线程程序中异常错误信息中的竞态条件问题。\n* \\[性能\\]\\[Windows\\] 在使用 MSVC 编译器的 Windows 构建中未启用 `__SSE__` 编译器标志。这影响了依赖该标志的代码，包括模型推理过程中的量化操作。需要注意的是，编译器本身已配置为支持 SSE，并仍可应用自动 SSE 优化。\n* \\[构建\\] 切换到 Conan 2.x。#2582\n* \\[构建\\] 使用 `spawn` 而不是 `exec`，以避免 `maxBuffer` 溢出问题。\n* \\[构建\\]\\[CUDA\\] 默认情况下不再输出详细的 ptxas 统计信息。\n* \\[构建\\]\\[CUDA\\] 将多个 `CMakeLists.txt` 文件中硬编码的 `gencode` 规范切换为 [标准的 `CMAKE_CUDA_ARCHITECTURES` 变量](https:\u002F\u002Fcmake.org\u002Fcmake\u002Fhelp\u002Fv3.24\u002Fvariable\u002FCMAKE_CUDA_ARCHITECTURES.html)，尽管其默认值并不符合标准，而是 [在 `cuda.cmake` 中指定](https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fcatboost\u002Fblob\u002F5fb7b9def07f4ea2df6dcc31b5cd1e81a8b00217\u002Fcmake\u002Fcuda.cmake#L7)。#2540\n* \\[构建\\]\\[CUDA\\] 移除可能导致构建过程中内存耗尽的过度 CUDA 并行编译。#3034\n* \\[构建\\]\\[macOS\\] 支持 Apple Clang 17。#2860\n* \\[构建\\]\\[Windows\\] 支持使用 MSVC 工具链 14.4* 进行构建。#2302","2026-02-21T21:05:42",{"id":195,"version":196,"summary_zh":197,"released_at":198},81771,"v1.2.10","## 新特性\n* \\[JVM 应用程序\\] 添加 `predictTransposed` 方法 #2927。感谢 @levs2001。\n* \\[Spark\\]：支持 Spark 4.0.x 和 4.1.x #2946。感谢 @jdries。","2026-02-19T12:38:26",{"id":200,"version":201,"summary_zh":202,"released_at":203},81772,"v1.2.9","> :warning: **由于发布过程中出现问题，本次版本没有 JVM 构建产物。** 它们将在下一个版本 1.2.10 中提供。\n\n## 主要变更\n* \\[Python 包\\] 添加对 [`polars`](https:\u002F\u002Fdocs.pola.rs\u002Fapi\u002Fpython\u002Fstable\u002Freference\u002Findex.html) 输入数据的支持。#2524。\n\n  `Polars` 数据结构现已被支持用于特征、标签以及权重、时间戳等辅助数据。\n\n## 新特性\n* \\[R 包\\] 将 `predict` 实现为 S3 方法 #1657。感谢 @david-cortes。\n* 添加 `RMSPE` 指标和损失函数（目前两者均仅限 CPU）。#1767。感谢 @ivan339339。\n* \\[C\u002FC++ 应用程序\\] 新增函数 `LoadFullModelZeroCopy`，用于 mmap 操作 #2893。感谢 @gakoshin。\n\n## 改进\n* 移除加载数据时的 128 线程限制。#3027\n\n## 性能提升\n* 优化 CPU 上的 `Lossguide` 增长策略 #2883。性能提升约 1.4 倍。感谢 @Levachev。\n* \\[Python 包\\] 在多线程原生特征数据初始化中支持非 float32 的 `numpy` 数值类型。#1558、#2847\n* \\[Python 包\\] 避免可能重复将估算器参数解析为规范形式的情况。\n\n## Python 包\n* 支持 Python 3.14 #2943\n* `pyproject.toml` 现在符合 PEP-517 标准。\n* 估算器：添加 `__sklearn_tags__` 方法，以兼容 `scikit-learn` >= 1.8.x。#2955\n* 估算器：添加 `__repr__` 方法，提供 `scikit-learn` 所期望的有意义描述 #2307。感谢 @besteady。\n* 适配 setuptools 81.0 中移除 `dry_run` 参数的变化。[pypa\u002Fsetuptools#4872](https:\u002F\u002Fgithub.com\u002Fpypa\u002Fsetuptools\u002Fpull\u002F4872)\n* 为重要依赖项设置版本上限，以避免破坏性变更。\n\n## Rust 包\n* 为 Rust Model 结构体实现 `Sync` 特性 #2689。感谢 @alexeysofin。\n* 支持 Windows 平台 #2842\n* 修复 Linux aarch64 平台上的构建问题 #2890。感谢 @joelchen。\n\n## 构建与测试\n* \\[Windows\\] 支持使用 MSVC 工具链 14.4* 进行构建。#2302\n* \\[GPU\\] 将多个 `CMakeLists.txt` 文件中的硬编码 gencode 规范切换为 [标准的 `CMake` 变量 `CMAKE_CUDA_ARCHITECTURES`](https:\u002F\u002Fcmake.org\u002Fcmake\u002Fhelp\u002Fv3.24\u002Fvariable\u002FCMAKE_CUDA_ARCHITECTURES.html)，尽管默认值是非标准的，并且在 `cuda.cmake` 中指定（[链接](https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fcatboost\u002Fblob\u002F5fb7b9def07f4ea2df6dcc31b5cd1e81a8b00217\u002Fcmake\u002Fcuda.cmake#L7)）。#2540\n* \\[macOS\\] 支持 Apple Clang 17。#2860\n* \\[Python 包\\]\\[Windows\\] 修复从源码分发安装 Python 包的问题。#3024\n* \\[Python 包\\] 不再需要 `wheel` 构建依赖。\n\n## Bug 修复\n* \\[性能\\]\\[Windows\\] 在使用 MSVC 编译器的 Windows 构建中未启用 `__SSE__` 编译器标志。这影响了依赖该标志的代码，包括训练期间的一些操作以及模型推理过程中的量化步骤。需要注意的是，编译器本身已配置为支持 SSE，并仍可应用自动 SSE 优化。\n* \\[Python 包\\] carry.py：修复 `_uplift_by_name`。#2861\n* \\[Python 包\\] `CatBoost","2026-02-18T12:10:34",{"id":205,"version":206,"summary_zh":207,"released_at":208},81773,"v1.2.8","## Python 包\n* 支持 Python 3.13 #2748。感谢 @jeremy010203。\n* 支持 NumPy 2.x。#2671\n* 停止对已废弃的 Python 3.7 的支持。\n* 在 GPU 上存储自定义指标计算结果时，使用实现类的正确名称作为字符串 ID。#1792\n* 将 GPU 上自定义指标代码抛出的异常进行传播。#1792\n\n## CatBoost for Apache Spark\n* 修复训练后工作节点挂起的问题。#2151。感谢 @Shamann。\n* 移除对 Spark 2.x 的支持。\n\n## 改进\n* \\[R 包\\] 允许 `character` 和 `factor` 类型的目标变量（对分类问题有用）。#1874\n* 为 GPU 上的 Tweedie 回归优化默认的 `leaf_estimation_iterations` 参数。#2812\n\n## 构建与测试\n* 切换到外部的 Cython 3.0.10+，而非 contrib 中基于 0.29.x 的版本。#2810\n* 切换到 Conan 2.x。#2582\n* \\[CUDA\\] 默认不输出详细的 ptxas 统计信息。\n* OpenSSL 版本更新至 3.0.15。\n\n## 错误修复\n* \\[JVM 应用程序\\] 与评估器类型相关的方法被错误地设置为 `private`。\n* \\[JVM 应用程序\\] 分类特征哈希方法被错误地设置为 `private`。\n* 修复在包含分类特征的量化数据集上训练时发生的崩溃。#2816\n* 修复在不支持 SSE4 指令集的 CPU 上进行 `Probability` 类型预测时的问题（这包括所有 ARM CPU）。\n  具有概率 0 的值曾被错误地计算为 `nan`。\n* 修复加载稀疏数据集时的竞态条件。","2025-04-13T10:45:50",{"id":210,"version":211,"summary_zh":212,"released_at":213},81774,"node-package-v1.26.0","（使用 CatBoost 主发行版 v1.2.7 中的 `catboostmodel` 原生库）\n* 修复多分类模型支持问题。#1903\n* 修复 GPU 上的预测功能。#1901、#1923\n* 将指定类别特征参数设为可选。\n* 支持文本和嵌入特征。#2523\n* 添加对 ‘MultiProbability’ 预测类型的支持\n* 支持 Linux aarch64 架构\n* 支持 macOS arm64 架构\n* 支持 Windows x86_64 架构\n\n","2024-12-07T11:22:32",{"id":215,"version":216,"summary_zh":217,"released_at":218},81775,"v1.2.7","## 错误修复\n* \\[R包\\]: 恢复基本功能。\n\n## 构建与测试\n* \\[GPU\\] 使用基于 CMake 的构建系统，返回多节点 GPU 训练的配置。请参阅[文档](https:\u002F\u002Fcatboost.ai\u002Fen\u002Fdocs\u002Finstallation\u002Fcli-installation-multi-node-installation)。\n\n\n","2024-09-07T20:11:05",{"id":220,"version":221,"summary_zh":222,"released_at":223},81776,"v1.2.6","> :warning: 该版本中的 R 包已损坏。请使用 1.2.7+ 版本。\n\n## 主要变更\n* CatBoost 的开源构建、测试和发布基础设施已切换至 GitHub Actions。如果您也对 CatBoost 仓库进行分叉，即可运行该流程。详情请参阅 [公告](https:\u002F\u002Fgithub.com\u002Fcatboost\u002Fcatboost\u002Fdiscussions\u002F2708)。\n\n## Python 包\n* 调整 `numpy` 依赖项规范，暂时禁止使用 `numpy >= 2.0`。#2671\n\n## 新特性\n* 对于 `task_type=GPU`，支持用户自定义指标的 GPU 评估。感谢 @pnsemyon。\n* 支持 GPU 自定义目标函数。感谢 @pnsemyon。\n* [C\u002FC++ 应用程序] 现在支持 `APT_MULTI_PROBABILITY` 预测类型。#2639。感谢 @aivarasbaranauskas。\n* `GroupQuantile` 指标\n* [聚合图特征](https:\u002F\u002Fcatboost.ai\u002Fen\u002Fdocs\u002Ffeatures\u002Fgraph-aggregated-features)\n\n## 构建与测试\n* [Windows]: 现在支持使用 Visual Studio 2022 和 MSVC 工具集 14.29.30133。#2302\n\n## 性能提升\n* [GPU]: 增加 `QueryCrossEntropy` 中的块大小（在 a100 上，对于 600 万样本、350 个特征且查询规模接近 1 的情况，速度提升约 3 倍）。\n\n## 改进\n* [数据集] 使用 `mkstemp` 替代已弃用的 `mktemp`。#2660。感谢 @fatmo666。\n\n## Bug 修复\n* [C\u002FC++ 应用程序] 在 calcer.exports 中添加遗漏的 `PredictSpecificClassFlat`。#2715\n* [Linux] 恢复可读的堆栈跟踪\n* [GPU] 使 `CUDA_MAX_THREADS_PER_SM` 根据 CUDA 架构进行调整\n* [JVM 应用程序][Windows]: 修复了 Windows 系统上临时目录因复制本地库而不断膨胀的问题。#2622。感谢 @DKARAGODIN。\n* 在多标签分类中计算所有标签的 F1、精确率和召回率\n* 同步 `NCB::NModelEvaluation::EPredictionType` 和 `EApiPredictionType` 的取值。#2643\n* 修复 Tweedie 损失的二阶导数符号\n* 修复在 GPU 上使用文本特征时出现的“无法找到特征…的边界”错误。#2657\n* 修复模型保存器和数据集加载器中被忽略特征的分词文本特征索引问题\n* 修复 Cox 回归的下降方向 #2701\n* 修复多维情况下的 `GetTreeNodeToLeaf` 实现（从而修复非显式树的多维近似情况下 `plot_tree` 的显示问题）。#2668\n\n","2024-09-05T10:59:44",{"id":225,"version":226,"summary_zh":227,"released_at":228},81777,"v1.2.5","## 新特性\n* \\[Python包\\]: 支持在 GPU 上使用自定义评估指标。#1792。感谢 @pnsemyon。\n\n## Bug 修复\n* \\[Python包\\]: 检查分阶段预测的 eval_period 参数是否有效。#2593\n* \\[Python包\\]: 修复 _CustomLoggersStack.pop 的逻辑。#2620\n* \\[R 包\\]: 修复 Caret 对象：网格生成与文档不一致的问题。#2609\n* \\[JVM 应用程序\\]: 修复在 macOS 上通过 JNI 共享库暴露不必要的符号（包括分配器）的问题。#2606\n* 修复在 GPU 上使用嵌入特征进行训练的问题。#2249、#2308、#2591\n* 修复在 GPU 上使用文本特征进行训练的问题\n* 在多 GPU 环境下，MultiRMSE 使用正确的样本数量。#2557\n* 修正 Huber 损失中二阶导数的符号\n* 为非可加性指标启用梯度步进功能\n* Cox 目标函数的修复：修复导数计算中的缓冲区溢出、导数求和问题、指标计算问题，并禁用有序提升\n* 修复模型文件中文本特征数据的序列化问题","2024-04-18T20:19:33",{"id":230,"version":231,"summary_zh":232,"released_at":233},81778,"v1.2.3","## Python 包\n* 支持 Python 3.12。#2510\n* \\[性能\\]: 修复 Cython 中的低效循环。从 C 顺序数据构建数据集时，性能可显著提升（最高可达 3 倍）。\n* \\[性能\\]: 将使用 C 顺序 `numpy.ndarray` 且数据类型为 `float32` 的特征数据初始化改为多线程处理。在多核 CPU 上，性能可大幅提升 5 至 10 倍。#385, #2542\n* 将训练指标保存到模型元数据中。因此，`best_score_`、`evals_result_`、`best_iteration_` 等模型属性在模型保存和加载后仍可正常使用。如有需要，可通过操作模型元数据将其移除。#1166\n* \\[破坏性变更\\]。支持单独的布尔目标类型；现在，使用布尔目标训练的模型进行 `Class` 预测时，输出结果也将是布尔值，而非之前的字符串 `'True'` 和 `'False'`。此类模型将与 CatBoost 旧版本的应用程序不兼容。若需保留旧行为，请在训练前将目标转换为字符串 `'False'` 和 `'True'`。#1954\n* 目前将安装所需的 `jupyterlab` 版本限制为 3.x。修复 #2530\n* `utils.read_cd`: 支持列索引非递增的 CD 文件。\n* 统一 `log_cout` 和 `log_cerr` 的规范，避免在递归调用中被重置。\n* 延迟初始化 `log_cout` 和 `log_cerr` 的默认值。#2195\n* 添加缺失的生成指标：`Cox`、`PairLogitPairwise`、`UserPerObjMetric`、`SurvivalAft`。\n\n## 新特性\n* 在 Python 和 Spark 中支持训练时使用布尔目标\u002F标签类型（后者仅限于使用 `Pool` 参数的 `fit` 方法），并在 Python 中实现 `Class` 预测。#1954\n* \\[Spark\\]: 支持 Spark 3.5.x。\n* \\[C\u002FC++ 应用程序\\]。向 C 和 C++ API 添加用于获取不同类型特征索引的函数。#2568。感谢 @nimusp。\n* \\[C\u002FC++ 应用程序\\]。向 C API 添加分阶段预测函数。#2584。感谢 @Mb-NextTime。\n* \\[JVM 应用程序\\]。向 API 添加从字节数组加载 CatBoostModel 的功能。#2539\n* \\[Linux\\]。在计算并行计算中使用的默认线程数时，支持 CgroupsV2。#2519。感谢 @elukey。\n* \\[CLI\\]。支持在评估结果输出中按名称打印 `Auxiliary` 列。#1659\n* 将训练指标保存到模型元数据中。如有需要，可通过操作模型元数据将其移除。#1166\n\n## 构建与测试\n* \\[Windows\\]：对于无 CUDA 的构建，使用 Visual Studio 2022 中的 `clang-cl` 编译器及工具（带有 CUDA 的构建仍使用 Visual Studio 2019 的标准 Microsoft 工具链）。\n* \\[macOS\\]：将 `os.version` 传递给 `conan` 主机设置，以确保版本一致性。\n* \\[Linux aarch64\\]：对于现代版本的 CLang 和 GCC，设置 `-mno-outline-atomics` 选项，以避免链接时出现未解析符号错误。#2527\n* 为 `util` 的单元测试添加了缺失的 `CMakeLists` 文件。#2525\n\n## Bug 修复\n* \\[性能\\]：修复了 1.2 版本引入的性能回归问题，该问题可能导致某些数据集在 GPU 上的训练速度降低 50%。感谢 @JeanPaulShapo。\n* \\[Python 包\\]：","2024-02-23T14:10:41",{"id":235,"version":236,"summary_zh":237,"released_at":238},81779,"v1.2.2","## 错误修复\n* 修复在 PyPI 上 1.2.1 版本的二进制 Python 包中使用自定义 `eval_metric` 时出现的段错误。#2486\n* 修复包含嵌入特征时的 LossFunctionChange fstr 格式化问题。\n* 修复在 JVM 11 及以上版本中使用嵌入特征时，JVM 应用程序端出现的段错误。\n* 修复模型汇总中的 CTR 数据处理问题（尤其是针对具有多种目标量化方式的 CTR 模型）。","2023-09-19T20:01:10",{"id":240,"version":241,"summary_zh":242,"released_at":243},81780,"v1.2.1","## New features\r\n* Allow to optimize specific ranking loss functions with YetiRank and YetiRankPairwise by specifying `mode` parameter. See [Which Tricks are Important for Learning to Rank?](https:\u002F\u002Farxiv.org\u002Fabs\u002F2204.01500) paper for details (this family of losses is called `YetiLoss` there). CPU-only for now.\r\n* Add Kernel Gradient Boosting support (use `catboost.sample_gaussian_process` function). #2408, thanks to @TakeOver. See [Gradient Boosting Performs Gaussian Process Inference](https:\u002F\u002Farxiv.org\u002Fabs\u002F2206.05608) paper for details.\r\n* LambdaMart loss: support new target metrics MRR, ERR and MAP.\r\n* StochasticRank loss: support new target metrics ERR and MRR.\r\n* Support MultiRMSE on GPU. #2264, #2390\r\n* Load JSON model format in Java Client. #1627, thanks to @timotta\r\n* Implement exporting of Multiclass models to C++ and Python. #2283, thanks to @antoninkriz\r\n\r\n## Improvements\r\n* Speedup BM25 feature calcers 3x\r\n* Use `int` instead of deprecated `numpy.int`. #2378\r\n* Add `ModelCalcerWrapper::CalcFlatTransposed`, #2413 thanks to @faucct\r\n* Update dependencies to avoid known vulnerabilities\r\n\r\n## Bugfixes\r\n* Fix __shfl_up_sync mask. #2339\r\n* TFocalMetric negative values fix. #2386, thanks to @diditforlulz273\r\n* Focal loss: Use user-defined alpha and gamma\r\n* Fix exception propagation: Rethrow exceptions caused by user's python code as C++ exceptions\r\n* CatBoost trained with user defined objective was incompatible with ShapValues calculation\r\n* Avoid nan's in Newton step calculation for RMSEWithUncertainty\r\n* Fix score method for y with shape (N, 1). #2405\r\n* Fix scalePosWeight support for Spark. #2470","2023-08-28T20:57:58",{"id":245,"version":246,"summary_zh":247,"released_at":248},81781,"v1.2","# Release 1.2\r\n## Major changes\r\nCatBoost's build system has been switched from Ya Make (Yandex's build system) to [CMake](https:\u002F\u002Fcmake.org\u002F). This means more transparency in the build process and more familiar tools for Open Source developers.\r\nFor now it is possible to build CatBoost for:\r\n* Linux on x86-64 with or without CUDA\r\n* Linux on aarch64 with or without CUDA\r\n* macOS on x86-64 and arm64, including creating universal binaries\r\n* Windows on x86-64 with or without CUDA\r\n* Android (only model applier) on [All supported ABIs](https:\u002F\u002Fdeveloper.android.com\u002Fndk\u002Fguides\u002Fabis).\r\n\r\nThis allowed us to prepare the Python package in the source distribution form (also known as `sdist`). #830\r\n\r\n* `msvs` subdirectory with the Microsoft Visual Studio solution has been removed. Visual Studio solutions can be generated using CMake instead.\r\n* `make` subdirectory with Makefiles has been removed. Use `CMake` + `ninja` (recommended) or `CMake` + `make` instead.\r\n\r\n## Python package\r\n* Switch to the standard Python build and installation method that uses `setup.py` instead of the custom `mk_wheel.py` script. All common scenarios (`sdist`, `build`, `install`, editable `install`, `bdist_wheel`) are supported.\r\n* Switch wheel platform tag on Linux from obsolete `manylinux1` to `manylinux2014`.\r\n* The source distribution is now available on PyPI. #830\r\n* Wheels for Linux aarch64 are now available on PyPI. #2091\r\n* Support Python 3.11. #2213\r\n* Drop support for obsolete Python 3.6.\r\n* Make wheels [PEP427](https:\u002F\u002Fpeps.python.org\u002Fpep-0427\u002F)-compliant. #2165\r\n* Fix wrong checksums in wheels that caused problems with poetry. #2331\r\n* Improved performance due to caching TBB local executors. #2203\r\n* Add `fixed_binary_splits` to the regressor, classifier, and ranker.\r\n* Compatibility with pandas 2.0. #2320\r\n* CatBoost widget is now compatible with ipywidgets 8.x. #2266\r\n\r\n## Rust package\r\n* Support CUDA applier. #1925, thanks to @getumen.\r\n* Properly forward debug\u002Frelease setting to native library build.\r\n* Passing features: switch from `String` and `Vec` types for features to `AsRef` of slices to make code more generic\r\n* Support text and embedding features.\r\n* Support multidimensional output in predictions.\r\n\r\n## New features\r\n* \\[JVM applier\\]: Support CUDA.\r\n* \\[Spark\\]: Support Spark 3.4.x (if you want to use Spark with python 3.11 use this version).\r\n* Static model applier library now works on Windows.\r\n* Add `binary-classification-threshold` parameter to the CLI model applier.\r\n* Support Multi-target regression with text features (but only Bag-of-Words features are generated for now). #2229\r\n* Support `RMSEWithUncertainty` loss function on GPU.\r\n* Support `MultiLogloss` and `MultiCrossEntropy` loss functions with numerical features on GPU.\r\n* Support `MultiLogloss` loss function with text features on CPU and GPU. #1885\r\n* Enable univariate metrics for models with uncertainty\r\n* Add `Focal` loss (CPU-only for now). #1807, thanks to @diditforlulz273.\r\n\r\n## Improvements\r\n* Removed legacy dependency on Python 2 interpreter in the build process. #2297\r\n* Calc metrics: Throw catboost exception if column index exceeds column count.\r\n* Speedup `MultiLogloss` on CPU by 8% per tree (110K samples, 20 targets, 480 float features, 3 cat features, 16 cores CPU).\r\n* Update .NET projects from obsolete .NET Core 2.1 to .NET Core 3.1.\r\n* Code generation for new CUDA Compute Architectures 8.6, 8.9 and 9.0 is enabled by default (requires CUDA 11.8 to build from source).\r\n* Check that evaluator implementation is available in  `TFullModel::SetEvaluatorType` (it was possible to get a Segmentation fault when calling it for non-available implementstion). Add `TFullModel::GetSupportedEvaluatorTypes`.\r\n* Cross Validation on GPU no longer requires `allow_write_files=True`.\r\n\r\n## Bugfixes\r\n* \\[Python-package\\]: Clear model params before load_model. Fixes #2225.\r\n* \\[Python-package\\]: Fix CatBoostRanker score computation. #2231\r\n* \\[Python-package\\]: Fix `_get_embedding_feature_indices`. #2273\r\n* \\[Python-package\\]: Fix `set_feature_names` with text or embedding features. #2090\r\n* \\[Python-package\\]: pandas.Categorical.categories is not necessarily a numpy.ndarray. #1965\r\n* \\[Spark\\]: Pass classpath in a file to avoid hitting cmdline length limits. #1842\r\n* \\[CUDA Applier\\]: Apply scale and bias.\r\n* \\[CUDA Applier\\]: Fix that `libs\u002Fmodel_interface applier` always produced an error in CUDA mode.\r\n* Fix CUDA error 700 in pairwise ranking.\r\n* Fix kernel registration for distributed training on GPU.\r\n* Fix `floating point exception' on CPU for small datasets on GPU.\r\n* Fix wrong log message 'There are invalid params and some of them will be ignored'. #2253\r\n* Fix incorrect results and crashes for GPU applier on Nvidia Ampere - based GPUs.\r\n* Fix 'CUDA error 9' in Multi-GPU training.\r\n* Fix serialization of embedding features structures in the model.\r\n* Fix GPU buffer overrun in distributed multi-classification training.\r\n* Fix `catboost\u002Fcuda\u002Fcuda_util\u002Fs","2023-05-01T23:11:47",{"id":250,"version":251,"summary_zh":252,"released_at":253},81782,"v1.1.1","# Release 1.1.1\r\n## New features\r\n* Support building for Linux on aarch64 from sources using CMake (no prebuilt binaries or PyPI packages yet). #1981\r\n* [C\u002FC++ applier] Support embedding features. #2172\r\n* [C\u002FC++ applier] Add `GetModelUsedFeaturesNames`. #2204\r\n* [Python] Add text features to `utils.create_cd`. #2193\r\n* [Spark] Full support for Apache Spark 3.3\r\n* [Spark] Read\u002Fwrite PySpark's DataFrame-like API for Pool. #2030\r\n* [Spark] Allow to specify trainingDriver and worker listening ports. #2181\r\n\r\n## Bugfixes\r\n* Fix prediction dimension check for RMSEWithUncertainty and MultiQuantile. #2155\r\n* [C\u002FC++ applier] Fix segmentation fault in prediction for multiple objects for multiple dimension models.\r\n* [JVM applier] Fix catboost-common dependency version in catboost-prediction (Fixes JVM applier on macOS). #2121\r\n* [Python] Update for pandas 1.5.0: iteritems -> items (Fixes annoying deprecation warning). #2179\r\n* [Python] Fix segmentation fault when target is `np.ndarray` with `dtype=object`. #2201\r\n* [Python] Fix specifying `feature_names` in `utils.create_cd`. #2211\r\n","2022-11-01T19:55:14",{"id":255,"version":256,"summary_zh":257,"released_at":258},81783,"v1.1","# Release 1.1\r\n## New features\r\n* Multiquantile regression\r\n\r\n  Now it's possible to train models with shared tree structure and multiple predicted quantile values in each leaf. Currently this approach doesn't give a strong guarantee for predicted quantile values consistency, but it still provides more consistency than training multiple independent models for each quantile. You can read [short description in the documentation](https:\u002F\u002Fcatboost.ai\u002Fen\u002Fdocs\u002Fconcepts\u002Floss-functions-regression#MultiQuantile). Short example for Python: `loss_function='MultiQuantile:alpha=0.2,0.4'`. Supported only on CPU for now.\r\n* Support text and embedding features for regression and ranking.\r\n* Spark: Read\u002Fwrite Spark's Dataset-like API for Pool. #2030\r\n* Support HashedCateg column type. This allows to use externally prehashed categorical features both in training and prediction.\r\n* New option `plot_file` in Python functions with `plot` parameter allows to save plots to file. #758\r\n* Add eval_fraction parameter. #1500\r\n* Non-symmetric trees model summation.\r\n* `init_model` parameter now works with non-symmetric trees.\r\n* Partial support for Apache Spark 3.3 (only for Scala 2.12 and without PySpark).\r\n\r\n## Speedups\r\n* 2x speedup DCG, nDCG and FilteredDCG metrics calculation for groups with >= 50 objects and with top=-1 (all objects from each group, default value)\r\n* Fixed 2x slowdown of PairLogit and other ranking losses on CPU introduced in release 0.23\r\n\r\n## Bugfixes\r\n* Fix for pandas integer array. #2096\r\n* Save feature names to json format. #2102\r\n* Fix feature weights on CPU\r\n* Use feature weights on GPU\r\n* Fix gradient calculation for QueryRMSE on GPU\r\n* Fix ranking metrics with group weights in calc_metrics\r\n* Fix JVM applier on data with text features. #2132","2022-09-26T19:30:12",{"id":260,"version":261,"summary_zh":262,"released_at":263},81784,"v1.0.6","# Release 1.0.6\r\n## New features\r\n\r\n* Fixed splits for binary features on gpu for non-symmetric trees -- specify the set of splits to start each tree in the model with `--fixed-binary-splits` or `fixed_binary_splits` in Python package (by default, there are no fixed splits)\r\n\r\n\r\n## Documentation\r\n\r\n* New sections on [MultiRMSEWithMissingValues](https:\u002F\u002Fcatboost.ai\u002Fen\u002Fdocs\u002Fconcepts\u002Floss-functions-multiregression#MultiRMSEWithMissingValues) and [LogCosh](https:\u002F\u002Fcatboost.ai\u002Fen\u002Fdocs\u002Fconcepts\u002Floss-functions-regression#LogCosh)\r\n* New section on [get_embedding_feature_indices](https:\u002F\u002Fcatboost.ai\u002Fen\u002Fdocs\u002Fconcepts\u002Fpython-reference_pool_get_embedding_feature_indices)\r\n* Add info on gpu support for metrics\r\n\r\n\r\n## Bug-fixes\r\n\r\n* Fix warning about resetting logger when logging to sys.stdout & sys.stderr from different threads #1855\r\n* Fix model summation in CatBoost for Apache Spark\r\n* Fix performance and scalability of query auc for ranking (1m samples, query size 2, 8 cpu cores 0.55s -> 0.04s)\r\n* Fix support for text features and embeddings in Java applier #2043\r\n* Fix nan\u002Finf split scores with yeti rank pairwise loss\r\n* Fix nan\u002Finf feature strengths in pair logit on cpu\r\n","2022-05-19T07:31:43",{"id":265,"version":266,"summary_zh":267,"released_at":268},81785,"v1.0.5","# Release 1.0.5\r\n## New features\r\n\r\n* Support Apple Darwin arm64 architecture. #1526.\r\n* Support feature tags in feature selection.\r\n* Support for Apache Spark 3.2.\r\n* Model sum in Apache Spark.\r\n\r\n## Python package\r\n\r\n* Accommodate multiple target-platform arguments used to build universal binaries.\r\n* Add grid creation function to utils.py\r\n* Custom multilabel eval metrics by @ELitvinova\r\n* Metrics plotter by @evgenabramov\r\n* Fbeta score by @ELitvinova\r\n\r\n## Bugfixes\r\n\r\n* Fix group weights in metrics calculation.\r\n* Fix `fit` for PySpark estimators. #1976.\r\n* Fix predict on GPU. #1901, #1923.\r\n* Disable exact leafs calculation for `MAE`, `MAPE`, `Quantile` on GPU.\r\n* Fix counter description for plotting. #1973.\r\n* Allow weights in `BrierScore`. #1967.\r\n* Disable AUC calculation for learn by default on GPU as well.\r\n* Fix `plot_tree` example in documentation.\r\n* Fix plots in `cv`.\r\n* Fix ui32 overflows in pairwise losses on GPU.\r\n* Fix for multiclass in nodejs evaluator. #1903.\r\n* Fix CatBoost R package installation on Monterey. #1912.\r\n* Fix CUDA error 700 caused by data race in mimalloc and CUDA driver.\r\n* Fix slow compilation with CUDA 11.2+.\r\n* Fix 2nd derivative in RMSEWithUncertainty.\r\n","2022-04-07T07:35:23",{"id":270,"version":271,"summary_zh":272,"released_at":273},81786,"v1.0.4","## New features\r\n* Add `sort` param to `FilteredDCG` metric.\r\n* Add `StochasticRank` for `FilteredDCG`.\r\n\r\n## Python package\r\n* add is_max\u002Fminimizable methods. #1915\r\n* Support custom metric in select_features #1920\r\n\r\n## R package\r\n* Register functions from libcatboostr natively in R, removing one of CRAN notes.\r\n\r\n## Bugfixes\r\n* Fix apply for models without main `loss_function`.\r\n* Fix text calcer options specification. #1916\r\n* Fix `calc_feature_statistics`\r\n* Fix Multi-approx support in CLI `calc_metrics` mode.\r\n* Fix processing for text options. #1930\r\n* Fix snapshot saving in feature selection.\r\n* Fix CatBoost models serialization inside pipeline models in PySpark. #1936\r\n\r\n\r\n","2022-01-14T11:45:18",{"id":275,"version":276,"summary_zh":277,"released_at":278},81787,"v1.0.3","## CatBoost for Apache Spark\r\n* Fix incorrect Linux `so` files in deployed Maven artifacts for release 1.0.2 (no code changes)","2021-11-04T04:25:01",{"id":280,"version":281,"summary_zh":282,"released_at":283},81788,"v1.0.2","## CatBoost for Apache Spark\r\n* PySpark: Fix python -> JVM `datetime.timedelta` conversion.\r\n* Fix: proper handling of constant categorical features. #1867\r\n* Fix SIGSEGV for for Multiclassification with Ctrs. #1886\r\n\r\n## New features\r\n* Add `is_min_optimal`, `is_max_optimal` for `BuiltinMetrics`. #1890\r\n\r\n## R package\r\n* Use `libcatboostr-darwin.dylib` instead of `libcatboostr-darwin.so` on macOS. #1834\r\n\r\n## Bugfixes\r\n* Fix `CatBoostError: (No such file or directory) bad new file name` when using `grid_search`. #1893","2021-11-04T04:03:55",{"id":285,"version":286,"summary_zh":287,"released_at":288},81789,"v1.0.1","> :warning: **PySpark support is broken in this release.**. Please use release 1.0.3 instead.\r\n\r\n## CatBoost for Apache Spark\r\n* More robust handling of CatBoost Master and Workers failures, avoid freezes.\r\n* Fix for empty partitions. #1687\r\n* Fix use-after-free. #1759 and other random errors.\r\n* Support Spark 3.1.\r\n\r\n## Python package\r\n* Support python 3.10. #1575\r\n\r\n## Breaking changes\r\n* Use group weight for generated pairs in pairwise losses\r\n\r\n## Bugfixes\r\n* Switch to [mimalloc allocator](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fmimalloc) on Linux and macOS to avoid problems with static TLS.\r\n* Fix SEGFAULTs on macOS. #1877\r\n* Fix: Distributed training: do not fail if worker contains only learn or test data\r\n* Fix SEGFAULT on CPU with Depthwise training and `rsm` \u003C 1.\r\n* Fix `calc_feature_statistics` for cat features. #1882\r\n* Fix result of Cross Validation if `metric_period` has been specified\r\n* fix `eval_metric` for Multitarget training","2021-11-02T22:34:59"]