[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-reiinakano--scikit-plot":3,"tool-reiinakano--scikit-plot":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},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,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},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 真正成长为懂上",159267,2,"2026-04-17T11:29:14",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":77,"owner_email":76,"owner_twitter":76,"owner_website":78,"owner_url":79,"languages":80,"stars":85,"forks":86,"last_commit_at":87,"license":88,"difficulty_score":89,"env_os":90,"env_gpu":91,"env_ram":91,"env_deps":92,"category_tags":97,"github_topics":99,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":105,"updated_at":106,"faqs":107,"releases":138},8548,"reiinakano\u002Fscikit-plot","scikit-plot","An intuitive library to add plotting functionality to scikit-learn objects.","scikit-plot 是一个专为机器学习打造的可视化辅助库，旨在为 scikit-learn 对象快速添加直观的绘图功能。在数据科学工作中，从枯燥的数字输出到清晰的图表展示往往是关键一步，而手动编写复杂的绘图代码既耗时又容易出错。scikit-plot 正是为了解决这一痛点而生，它让开发者只需调用一行代码，即可生成混淆矩阵、ROC 曲线、学习曲线等专业且美观的评估图表。\n\n这款工具特别适合 Python 数据科学家、机器学习工程师以及科研人员使用。无论您是希望快速验证模型效果的研究者，还是需要向团队展示清晰结果的开发人员，scikit-plot 都能大幅简化工作流程。其核心亮点在于“极简主义”的设计哲学：默认配置即可产出高质量图形，同时保留了丰富的参数选项以满足深度定制需求。此外，虽然它紧密集成于 scikit-learn 生态，但并不强制依赖特定对象，只要提供符合格式的数据（如来自 Keras 或其他框架的预测概率），它同样能出色完成绘图任务。通过 scikit-plot，您可以将更多精力专注于算法优化与数据分析，而非纠缠于绘图样板代码。","# Welcome to Scikit-plot\n\n[![PyPI version](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fscikit-plot.svg)](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fscikit-plot)\n[![license](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fmashape\u002Fapistatus.svg)]()\n[![Build Status](https:\u002F\u002Ftravis-ci.org\u002Freiinakano\u002Fscikit-plot.svg?branch=master)](https:\u002F\u002Ftravis-ci.org\u002Freiinakano\u002Fscikit-plot)\n[![PyPI](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fscikit-plot.svg)]()\n[![DOI](https:\u002F\u002Fzenodo.org\u002Fbadge\u002FDOI\u002F10.5281\u002Fzenodo.293191.svg)](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.293191)\n\n### Single line functions for detailed visualizations\n\n### The quickest and easiest way to go from analysis...\n\n![roc_curves](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Freiinakano_scikit-plot_readme_b2a05e50f091.jpg)\n\n### ...to this.\n\nScikit-plot is the result of an unartistic data scientist's dreadful realization that *visualization is one of the most crucial components in the data science process, not just a mere afterthought*.\n\nGaining insights is simply a lot easier when you're looking at a colored heatmap of a confusion matrix complete with class labels rather than a single-line dump of numbers enclosed in brackets. Besides, if you ever need to present your results to someone (virtually any time anybody hires you to do data science), you show them visualizations, not a bunch of numbers in Excel.\n\nThat said, there are a number of visualizations that frequently pop up in machine learning. Scikit-plot is a humble attempt to provide aesthetically-challenged programmers (such as myself) the opportunity to generate quick and beautiful graphs and plots with as little boilerplate as possible.\n\n## Okay then, prove it. Show us an example.\n\nSay we use Naive Bayes in multi-class classification and decide we want to visualize the results of a common classification metric, the Area under the Receiver Operating Characteristic curve. Since the ROC is only valid in binary classification, we want to show the respective ROC of each class if it were the positive class. As an added bonus, let's show the micro-averaged and macro-averaged curve in the plot as well.\n\nLet's use scikit-plot with the sample digits dataset from scikit-learn.\n\n```python\n# The usual train-test split mumbo-jumbo\nfrom sklearn.datasets import load_digits\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.naive_bayes import GaussianNB\n\nX, y = load_digits(return_X_y=True)\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33)\nnb = GaussianNB()\nnb.fit(X_train, y_train)\npredicted_probas = nb.predict_proba(X_test)\n\n# The magic happens here\nimport matplotlib.pyplot as plt\nimport scikitplot as skplt\nskplt.metrics.plot_roc(y_test, predicted_probas)\nplt.show()\n```\n![roc_curves](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Freiinakano_scikit-plot_readme_ba532923fe2a.png)\n\nPretty.\n\nAnd... That's it. Encaptured in that small example is the entire philosophy of Scikit-plot: **single line functions for detailed visualization**. You simply browse the plots available in the documentation, and call the function with the necessary arguments. Scikit-plot tries to stay out of your way as much as possible. No unnecessary bells and whistles. And when you *do* need the bells and whistles, each function offers a myriad of parameters for customizing various elements in your plots.\n\nFinally, compare and [view the non-scikit-plot way of plotting the multi-class ROC curve](http:\u002F\u002Fscikit-learn.org\u002Fstable\u002Fauto_examples\u002Fmodel_selection\u002Fplot_roc.html). Which one would you rather do?\n\n## Maximum flexibility. Compatibility with non-scikit-learn objects.\n\nAlthough Scikit-plot is loosely based around the scikit-learn interface, you don't actually need Scikit-learn objects to use the available functions. As long as you provide the functions what they're asking for, they'll happily draw the plots for you.\n\nHere's a quick example to generate the precision-recall curves of a Keras classifier on a sample dataset.\n\n```python\n# Import what's needed for the Functions API\nimport matplotlib.pyplot as plt\nimport scikitplot as skplt\n\n# This is a Keras classifier. We'll generate probabilities on the test set.\nkeras_clf.fit(X_train, y_train, batch_size=64, nb_epoch=10, verbose=2)\nprobas = keras_clf.predict_proba(X_test, batch_size=64)\n\n# Now plot.\nskplt.metrics.plot_precision_recall_curve(y_test, probas)\nplt.show()\n```\n![p_r_curves](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Freiinakano_scikit-plot_readme_ec53571beaee.png)\n\nYou can see clearly here that `skplt.metrics.plot_precision_recall_curve` needs only the ground truth y-values and the predicted probabilities to generate the plot. This lets you use *anything* you want as the classifier, from Keras NNs to NLTK Naive Bayes to that groundbreaking classifier algorithm you just wrote.\n\nThe possibilities are endless.\n\n## Installation\n\nInstallation is simple! First, make sure you have the dependencies [Scikit-learn](http:\u002F\u002Fscikit-learn.org) and [Matplotlib](http:\u002F\u002Fmatplotlib.org\u002F) installed.\n\nThen just run:\n```bash\npip install scikit-plot\n```\n\nOr if you want the latest development version, clone this repo and run\n```bash\npython setup.py install\n```\nat the root folder.\n\nIf using conda, you can install Scikit-plot by running:\n```bash\nconda install -c conda-forge scikit-plot\n```\n\n## Documentation and Examples\n\nExplore the full features of Scikit-plot.\n\nYou can find detailed documentation [here](http:\u002F\u002Fscikit-plot.readthedocs.io).\n\nExamples are found in the [examples folder of this repo](examples\u002F).\n\n## Contributing to Scikit-plot\n\nReporting a bug? Suggesting a feature? Want to add your own plot to the library? Visit our [contributor guidelines](CONTRIBUTING.md).\n\n## Citing Scikit-plot\n\nAre you using Scikit-plot in an academic paper? You should be! Reviewers love eye candy.\n\nIf so, please consider citing Scikit-plot with DOI [![DOI](https:\u002F\u002Fzenodo.org\u002Fbadge\u002FDOI\u002F10.5281\u002Fzenodo.293191.svg)](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.293191)\n\n#### APA\n\n> Reiichiro Nakano. (2018). reiinakano\u002Fscikit-plot: 0.3.7 [Data set]. Zenodo. http:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.293191\n\n#### IEEE\n\n> [1]Reiichiro Nakano, “reiinakano\u002Fscikit-plot: 0.3.7”. Zenodo, 19-Feb-2017.\n\n#### ACM\n\n> [1]Reiichiro Nakano 2018. reiinakano\u002Fscikit-plot: 0.3.7. Zenodo.\n\nHappy plotting!\n","# 欢迎使用 Scikit-plot\n\n[![PyPI version](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fscikit-plot.svg)](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fscikit-plot)\n[![license](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fmashape\u002Fapistatus.svg)]()\n[![Build Status](https:\u002F\u002Ftravis-ci.org\u002Freiinakano\u002Fscikit-plot.svg?branch=master)](https:\u002F\u002Ftravis-ci.org\u002Freiinakano\u002Fscikit-plot)\n[![PyPI](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fscikit-plot.svg)]()\n[![DOI](https:\u002F\u002Fzenodo.org\u002Fbadge\u002FDOI\u002F10.5281\u002Fzenodo.293191.svg)](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.293191)\n\n### 用于详细可视化的单行函数\n\n### 从分析到……的最快捷、最简单的方式\n\n![roc_curves](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Freiinakano_scikit-plot_readme_b2a05e50f091.jpg)\n\n### ……再到这样。\n\nScikit-plot 是一位不太擅长艺术的数据科学家在深刻认识到“可视化是数据科学流程中至关重要的组成部分，而不仅仅是事后的补充”之后的产物。\n\n当你看到一张带有类别标签的混淆矩阵彩色热图时，获取洞察会比查看括号内的一行数字更容易。此外，如果你需要向他人展示你的成果（几乎每次有人雇佣你做数据科学工作时），你展示给他们的都是可视化图表，而不是一堆 Excel 中的数字。\n\n话虽如此，在机器学习中经常会出现一些特定的可视化图表。Scikit-plot 的诞生正是为了帮助像我这样审美能力欠佳的程序员，以尽可能少的样板代码快速生成美观的图表和图形。\n\n## 那么，让我们看看实际效果吧。来个例子！\n\n假设我们使用朴素贝叶斯进行多分类，并希望可视化一个常见的分类指标——受试者工作特征曲线下面积。由于 ROC 曲线仅适用于二分类问题，因此我们需要为每个类别单独绘制其作为正类时的 ROC 曲线。此外，我们还可以在图中同时展示微平均和宏平均的 ROC 曲线。\n\n下面我们将使用 scikit-learn 中的 digits 数据集来演示 Scikit-plot 的用法。\n\n```python\n# 常规的训练集与测试集划分\nfrom sklearn.datasets import load_digits\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.naive_bayes import GaussianNB\n\nX, y = load_digits(return_X_y=True)\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33)\nnb = GaussianNB()\nnb.fit(X_train, y_train)\npredicted_probas = nb.predict_proba(X_test)\n\n# 神奇之处就在这里\nimport matplotlib.pyplot as plt\nimport scikitplot as skplt\nskplt.metrics.plot_roc(y_test, predicted_probas)\nplt.show()\n```\n![roc_curves](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Freiinakano_scikit-plot_readme_ba532923fe2a.png)\n\n真漂亮。\n\n而且……就这么简单！这个小示例浓缩了 Scikit-plot 的全部理念：**用于详细可视化的单行函数**。你只需查阅文档中提供的各种图表，然后调用相应的函数并传入必要的参数即可。Scikit-plot 尽量不干扰你的工作流程，没有多余的花哨功能。当然，如果你确实需要这些功能，每个函数都提供了丰富的参数，可以自定义图表中的各个元素。\n\n最后，请对比并[查看不使用 Scikit-plot 绘制多分类 ROC 曲线的方法](http:\u002F\u002Fscikit-learn.org\u002Fstable\u002Fauto_examples\u002Fmodel_selection\u002Fplot_roc.html)。你更愿意选择哪种方式呢？\n\n## 最大程度的灵活性。兼容非 scikit-learn 对象。\n\n尽管 Scikit-plot 在一定程度上基于 scikit-learn 的接口设计，但你并不需要使用 scikit-learn 提供的对象才能使用这些函数。只要按照函数的要求提供所需的数据，它们就会为你绘制出漂亮的图表。\n\n这里有一个快速示例，展示如何在 Keras 分类器上对样本数据集生成精确率-召回率曲线。\n\n```python\n# 导入 Functions API 所需的库\nimport matplotlib.pyplot as plt\nimport scikitplot as skplt\n\n# 这是一个 Keras 分类器。我们将在测试集上生成概率。\nkeras_clf.fit(X_train, y_train, batch_size=64, nb_epoch=10, verbose=2)\nprobas = keras_clf.predict_proba(X_test, batch_size=64)\n\n# 现在开始绘图。\nskplt.metrics.plot_precision_recall_curve(y_test, probas)\nplt.show()\n```\n![p_r_curves](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Freiinakano_scikit-plot_readme_ec53571beaee.png)\n\n我们可以清楚地看到，`skplt.metrics.plot_precision_recall_curve` 只需要真实的标签值 `y` 和预测的概率值就能生成图表。这意味着你可以使用任何你想要的分类器，无论是 Keras 神经网络、NLTK 朴素贝叶斯，还是你自己刚刚开发的突破性分类算法。\n\n可能性是无限的。\n\n## 安装\n\n安装非常简单！首先，请确保已安装依赖项 [Scikit-learn](http:\u002F\u002Fscikit-learn.org) 和 [Matplotlib](http:\u002F\u002Fmatplotlib.org\u002F)。\n\n然后只需运行：\n```bash\npip install scikit-plot\n```\n\n如果你想使用最新的开发版本，可以克隆本仓库并在根目录下运行：\n```bash\npython setup.py install\n```\n\n如果你使用 conda，可以通过以下命令安装 Scikit-plot：\n```bash\nconda install -c conda-forge scikit-plot\n```\n\n## 文档与示例\n\n探索 Scikit-plot 的全部功能。\n\n详细的文档可以在[这里](http:\u002F\u002Fscikit-plot.readthedocs.io)找到。\n\n示例则位于本仓库的[examples 文件夹](examples\u002F)中。\n\n## 贡献 Scikit-plot\n\n发现 bug？提出新功能建议？想为库添加自己的图表吗？请访问我们的[贡献指南](CONTRIBUTING.md)。\n\n## 引用 Scikit-plot\n\n你在学术论文中使用了 Scikit-plot 吗？当然应该使用！审稿人通常很喜欢视觉上吸引人的内容。\n\n如果是这样，请考虑使用 DOI 引用 Scikit-plot [![DOI](https:\u002F\u002Fzenodo.org\u002Fbadge\u002FDOI\u002F10.5281\u002Fzenodo.293191.svg)](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.293191)：\n\n#### APA\n\n> Reiichiro Nakano. (2018). reiinakano\u002Fscikit-plot: 0.3.7 [数据集]. Zenodo. http:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.293191\n\n#### IEEE\n\n> [1]Reiichiro Nakano, “reiinakano\u002Fscikit-plot: 0.3.7”. Zenodo, 19-Feb-2017.\n\n#### ACM\n\n> [1]Reiichiro Nakano 2018. reiinakano\u002Fscikit-plot: 0.3.7. Zenodo.\n\n祝您绘图愉快！","# Scikit-plot 快速上手指南\n\nScikit-plot 是一个基于 Matplotlib 的 Python 可视化库，旨在通过单行代码生成精美的机器学习图表。它能将枯燥的数据分析结果瞬间转化为直观的视觉报告，特别适用于需要快速展示模型性能（如混淆矩阵、ROC 曲线等）的场景。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：Windows, macOS, 或 Linux\n*   **Python 版本**：支持 Python 3.x\n*   **前置依赖**：\n    *   [Scikit-learn](http:\u002F\u002Fscikit-learn.org)\n    *   [Matplotlib](http:\u002F\u002Fmatplotlib.org\u002F)\n\n> **提示**：如果您尚未安装上述依赖，可以通过 `pip install scikit-learn matplotlib` 先行安装。\n\n## 安装步骤\n\n您可以选择以下任意一种方式进行安装。推荐国内开发者使用清华镜像源以加速下载。\n\n### 方式一：使用 pip 安装（推荐）\n\n```bash\npip install -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple scikit-plot\n```\n\n### 方式二：使用 Conda 安装\n\n如果您使用 Anaconda 或 Miniconda 环境：\n\n```bash\nconda install -c conda-forge scikit-plot\n```\n\n### 方式三：从源码安装（开发版）\n\n如需体验最新开发版本：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Freiinakano\u002Fscikit-plot.git\ncd scikit-plot\npython setup.py install\n```\n\n## 基本使用\n\nScikit-plot 的核心哲学是“单行函数实现详细可视化”。只需导入库并调用相应的绘图函数，即可生成专业图表。\n\n以下是一个完整的示例，展示如何使用高斯朴素贝叶斯分类器对数字数据集进行分类，并一键绘制多分类 ROC 曲线：\n\n```python\n# 1. 准备数据与模型\nfrom sklearn.datasets import load_digits\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.naive_bayes import GaussianNB\n\nX, y = load_digits(return_X_y=True)\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33)\n\nnb = GaussianNB()\nnb.fit(X_train, y_train)\npredicted_probas = nb.predict_proba(X_test)\n\n# 2. 引入 scikit-plot 并绘图\nimport matplotlib.pyplot as plt\nimport scikitplot as skplt\n\n# 核心魔法：单行代码生成包含微平均和宏平均的多分类 ROC 曲线\nskplt.metrics.plot_roc(y_test, predicted_probas)\nplt.show()\n```\n\n**说明**：\n*   `skplt.metrics.plot_roc` 函数自动处理多分类逻辑，为每个类别绘制 ROC 曲线，并计算 Micro-average 和 Macro-average。\n*   该库不仅限于 Scikit-learn 模型，只要提供真实的标签 (`y_true`) 和预测概率 (`y_pred_probs`)，即可用于 Keras、PyTorch 或其他自定义模型的可视化。","某电商数据团队正在构建用户流失预警模型，需要在最终汇报前快速验证多分类算法（如随机森林）的性能并生成可视化报告。\n\n### 没有 scikit-plot 时\n- **代码冗余繁琐**：绘制多分类 ROC 曲线或混淆矩阵需要编写大量 Matplotlib 底层代码，包括手动计算指标、循环遍历类别及调整坐标轴，耗时且易错。\n- **图表美观度差**：默认生成的图表缺乏商业报告所需的细节（如热力图颜色映射、类别标签注解），显得简陋且不直观。\n- **沟通效率低下**：向非技术背景的业务方展示时，枯燥的数字矩阵或简陋线条图难以直接传达模型在特定用户群上的表现短板。\n- **调试成本高**：每次尝试不同可视化视角（如从精确率 - 召回率曲线切换到学习曲线）都需要重构绘图逻辑，严重拖慢迭代节奏。\n\n### 使用 scikit-plot 后\n- **一行代码出图**：只需调用 `skplt.metrics.plot_roc` 或 `plot_confusion_matrix` 等单行函数，即可自动处理多分类逻辑并生成完整图表。\n- **视觉效果专业**：内置美学优化，自动生成带数值注解的混淆矩阵热力图和包含微\u002F宏平均曲线的 ROC 图，直接达到汇报标准。\n- **洞察获取迅速**：色彩丰富的可视化让团队成员能瞬间识别模型对“高价值流失用户”的误判情况，大幅降低沟通门槛。\n- **灵活扩展性强**：在保持代码简洁的同时，支持通过参数轻松定制标题、图例和样式，无需深入底层绘图库即可满足个性化需求。\n\nscikit-plot 将数据科学家从繁琐的绘图样板代码中解放出来，让模型评估从“艰难编码”转变为“即时洞察”。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Freiinakano_scikit-plot_b2a05e50.jpg","reiinakano","Reiichiro Nakano","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Freiinakano_16bac7d2.jpg","I like working on awesome things with awesome people!",null,"San Francisco","https:\u002F\u002Freiinakano.github.io","https:\u002F\u002Fgithub.com\u002Freiinakano",[81],{"name":82,"color":83,"percentage":84},"Python","#3572A5",100,2433,288,"2026-04-12T14:04:14","MIT",1,"","未说明",{"notes":93,"python":91,"dependencies":94},"该工具是一个基于 scikit-learn 和 matplotlib 的可视化库，旨在简化机器学习图表的绘制。它不强制要求使用 scikit-learn 模型，只要提供真实的标签值和预测概率，即可兼容 Keras、NLTK 或其他自定义分类器。可通过 pip 或 conda 安装。",[95,96],"scikit-learn","matplotlib",[16,98,14],"其他",[95,100,101,102,103,104],"visualization","machine-learning","data-science","plotting","plot","2026-03-27T02:49:30.150509","2026-04-18T00:45:43.552283",[108,113,118,123,128,133],{"id":109,"question_zh":110,"answer_zh":111,"source_url":112},38300,"升级 scikit-plot 时遇到导入错误（如 tkinter 或 matplotlib 相关报错）怎么办？","这通常是由于旧版本（如 0.2.6）中的依赖问题导致的。该问题已在 0.2.7 及更高版本中修复。请尝试升级到最新版本：`pip install --upgrade scikit-plot`。如果问题依旧，建议卸载后重新安装。","https:\u002F\u002Fgithub.com\u002Freiinakano\u002Fscikit-plot\u002Fissues\u002F33",{"id":114,"question_zh":115,"answer_zh":116,"source_url":117},38301,"如何只绘制多分类问题中某一个特定类的精度 - 召回曲线（Precision-Recall Curve）？","在早期版本中不支持此功能，但该功能已在 0.3.5 版本中加入。请确保将库升级到 0.3.5 或更高版本：`pip install --upgrade scikit-plot`。升级后，您可以通过参数控制仅绘制特定类别的曲线。","https:\u002F\u002Fgithub.com\u002Freiinakano\u002Fscikit-plot\u002Fissues\u002F83",{"id":119,"question_zh":120,"answer_zh":121,"source_url":122},38302,"混淆矩阵中的数字太大导致重叠，如何隐藏叠加的计数值？","您可以使用 `hide_counts` 参数来隐藏叠加的计数值，避免图表杂乱。如果您使用的是尚未发布到 PyPI 的最新代码，可以直接从 GitHub 主分支安装：`pip install git+https:\u002F\u002Fgithub.com\u002Freiinakano\u002Fscikit-plot.git`。正式版本发布后，也可通过 `pip install --upgrade scikit-plot` 获取该功能。","https:\u002F\u002Fgithub.com\u002Freiinakano\u002Fscikit-plot\u002Fissues\u002F89",{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},38303,"SVM 分类器（如 SVC 或 LinearSVC）没有 predict_proba 方法，如何绘制精度 - 召回曲线？","有两种主要解决方法：\n1. 对于 `SVC`，初始化时设置 `probability=True`，例如：`clf = SVC(probability=True)`，之后即可调用 `predict_proba`。\n2. 对于不支持概率输出的模型（如 `LinearSVC`），可以使用校准器（CalibratedClassifierCV）进行概率校准。示例代码如下：\n```python\nfrom sklearn.svm import LinearSVC\nfrom sklearn.calibration import CalibratedClassifierCV\nbase_clf = LinearSVC()\nclf = CalibratedClassifierCV(base_clf)\nclf.fit(X_train, y_train)\nprobas = clf.predict_proba(X_test)\n```\n此外，也可以直接使用 `decision_function` 的输出结合 sklearn 原生示例来绘制曲线。","https:\u002F\u002Fgithub.com\u002Freiinakano\u002Fscikit-plot\u002Fissues\u002F87",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},38304,"运行单元测试或示例代码时提示参数不存在（如 'curves' 参数），如何解决？","这通常是因为系统中安装的 scikit-plot 版本过旧，而您正在运行的代码是基于本地克隆的最新仓库。解决方法是先卸载系统中已安装的旧版本，强制测试使用本地代码：\n1. 卸载旧版本：`pip uninstall scikit-plot`\n2. 确保在本地仓库目录下运行测试或脚本。\n这样可以确保使用的是包含新参数的最新代码。","https:\u002F\u002Fgithub.com\u002Freiinakano\u002Fscikit-plot\u002Fissues\u002F20",{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},38305,"安装 scikit-plot 时出现 \"No module named sklearn.metrics\" 错误怎么办？","此错误表明您的环境中未安装 scikit-learn 或其版本不兼容。scikit-plot 依赖 scikit-learn。请在安装 scikit-plot 之前，先安装或更新 scikit-learn：\n`pip install -U scikit-learn`\n然后再安装 scikit-plot：\n`pip install scikit-plot`","https:\u002F\u002Fgithub.com\u002Freiinakano\u002Fscikit-plot\u002Fissues\u002F9",[139,144,149,154,159,164,169,174,179,184,189,194,199,204,209,214,219],{"id":140,"version":141,"summary_zh":142,"released_at":143},306450,"v0.3.7","新功能：\n* `plot_confusion_matrix` 新增参数 `hide_counts`，由 @echan5 提供 #90","2018-08-19T12:21:01",{"id":145,"version":146,"summary_zh":147,"released_at":148},306451,"v0.3.5","新特性：\n* `plot_precision_recall_curve` 和 `plot_roc_curve` 已被弃用，分别由 `plot_precision_recall` 和 `plot_roc` 取代。主要区别在于移除了 `curves` 参数，并改用 `plot_macro`、`plot_micro` 和 `classes_to_plot` 来选择要绘制的曲线。感谢 @lugq1990 的这项改动。","2018-05-12T10:28:40",{"id":150,"version":151,"summary_zh":152,"released_at":153},306452,"v0.3.4","新功能：\n\n* `decomposition.plot_pca_2d_projection` 现在新增了显示双标图的选项！感谢 @ryanliwag 的贡献。","2018-02-05T14:01:36",{"id":155,"version":156,"summary_zh":157,"released_at":158},306453,"v0.3.3","RTD 的热修复版本。使用 Conda 和 readthedocs.yml。","2017-10-26T01:08:14",{"id":160,"version":161,"summary_zh":162,"released_at":163},306454,"v0.3.2","新特性\n* 在 `scikitplot.metrics` 模块中新增了收益图和提升图 #71\n* @ljvmiranda921 更新了 v0.3.x 版本的 Jupyter 笔记本示例 #69\n\n修复\n* 将已弃用的 `spectral` 颜色映射改为 `nipy_spectral`，由 @emredjan 完成 #66\n","2017-10-25T14:56:24",{"id":165,"version":166,"summary_zh":167,"released_at":168},306455,"v0.3.1","错误修复：\n\n* 移除 `nose` 依赖，以防止文档构建失败","2017-09-17T03:26:27",{"id":170,"version":171,"summary_zh":172,"released_at":173},306456,"v0.3.0","新特性：\n* `plot_learning_curve` 新增参数 `scoring`，支持自定义评分函数。由 @jengelman 贡献。\n* 新增绘图函数 `plot_calibration_curves`。\n\n已弃用内容：\n* Factory API 已被弃用，将在 v0.4.0 中移除。\n* `scikitplot.plotters` 已被弃用，其中的函数已被拆分并移至多个新模块。详情请参阅文档。","2017-09-13T16:01:01",{"id":175,"version":176,"summary_zh":177,"released_at":178},306457,"v0.2.8","特性\n\n* 新增 `plot_confusion_matrix` 的 `hide_zeros` 选项，由 @ExcaliburZero 提供。#39\n* 新增在 `plot_confusion_matrix` 中仅绘制特定标签的选项，由 @ExcaliburZero 提供。#41\n* 新增用于设置 `plot_pca_2d_projection`、`plot_silhouette`、`plot_precision_recall_curve`、`plot_roc_curve` 和 `plot_confusion_matrix` 的颜色映射选项。#50\n\n错误修复：\n* 修复了混淆矩阵中出现 NaN 值的 bug，由 @ExcaliburZero 完成（#42）。","2017-09-08T17:46:13",{"id":180,"version":181,"summary_zh":182,"released_at":183},306458,"v0.2.7","特性：\n* #38 为 `plot_confusion_matrix` 和 `plot_feature_importances` 新增参数 `x_tick_rotation`","2017-07-09T18:42:55",{"id":185,"version":186,"summary_zh":187,"released_at":188},306459,"v0.2.6","Bug修复\n* 修复 #31 ","2017-05-17T12:17:09",{"id":190,"version":191,"summary_zh":192,"released_at":193},306460,"v0.2.5","* Fix #13 Thanks to @david1309 for pointing out the fix\r\n* New argument `labels` for `plot_confusion_matrix`. This also fixes #28","2017-04-30T15:07:08",{"id":195,"version":196,"summary_zh":197,"released_at":198},306461,"v0.2.4","* Previously, `plot_elbow_curve` calculated cost manually instead of using the built-in `score method of a clusterer instance.","2017-04-25T11:08:18",{"id":200,"version":201,"summary_zh":202,"released_at":203},306462,"v0.2.3","New features: \r\n* `plot_precision_recall_curve` and `plot_ks_statistic` now have a new `curves` argument that allows the user to choose which curves should be plotted. Thanks to @doug-friedman for this PR.\r\n* Jupyter notebook examples are now available thanks to @lstmemery ","2017-03-19T06:28:26",{"id":205,"version":206,"summary_zh":207,"released_at":208},306463,"v0.2.2","New features:\n- plot_pca_2d_projection function\n- plot_pca_component_variance function\n- plots now have a `figsize`, `title_fontsize`, and `text_fontsize` feature to allow user to customize the size of the plot. This is particularly crucial for Jupyter notebook users where the default settings come out too small. Thanks to @frankherfert for this idea.\n","2017-02-26T17:39:15",{"id":210,"version":211,"summary_zh":212,"released_at":213},306464,"v0.2.1","Minor changes to examples repo.\n\nRelease to trigger Zenodo webhook.\n","2017-02-19T05:21:55",{"id":215,"version":216,"summary_zh":217,"released_at":218},306465,"v0.2.0","Added Functions API\n","2017-02-18T21:16:39",{"id":220,"version":221,"summary_zh":222,"released_at":223},306466,"v0.1.0","Welcome to the first ever release of scikit-plot. Hope you find this small library useful!\n","2017-02-17T18:12:09"]