[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-koaning--human-learn":3,"tool-koaning--human-learn":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 真正成长为懂上",154349,2,"2026-04-13T23:32:16",[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":78,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":108,"forks":109,"last_commit_at":110,"license":111,"difficulty_score":112,"env_os":113,"env_gpu":114,"env_ram":113,"env_deps":115,"category_tags":124,"github_topics":126,"view_count":32,"oss_zip_url":78,"oss_zip_packed_at":78,"status":17,"created_at":129,"updated_at":130,"faqs":131,"releases":162},7342,"koaning\u002Fhuman-learn","human-learn","Natural Intelligence is still a pretty good idea.","human-learn 是一个旨在让“人类智慧”重新参与机器学习流程的开源库。在如今算法主导的时代，我们有时过于依赖模型而忽略了简单有效的规则逻辑。human-learn 解决了这一痛点，它提供了一套与 scikit-learn 完全兼容的工具，让开发者能够轻松构建、测试并将基于人工规则的系统与复杂的机器学习模型进行对比基准测试。\n\n这款工具特别适合数据科学家、机器学习工程师以及研究人员使用。当你需要快速验证某个业务假设，或者发现现有模型在某些场景下做出荒谬决策时，human-learn 能让你用直观的代码甚至交互式绘图来定义分类、回归或异常检测规则。其独特的技术亮点在于支持“交互式绘图”：用户可以在 Jupyter Notebook 中直接通过绘制决策边界来生成模型，或将自定义函数封装为可参与网格搜索（Grid Search）的标准估算器。\n\n无论是作为独立的可解释性规则系统，还是作为评估复杂模型效果的基准线，human-learn 都提醒我们：在某些场景下，自然智能依然是一个极佳的选择。它让规则系统的构建变得像调用标准机器学习模型一样简单流畅。","[![Downloads](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkoaning_human-learn_readme_76613a22279f.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fhuman-learn)\n[![Version](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fhuman-learn)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fscikit-lego\u002F)\n![](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fkoaning\u002Fhuman-learn)\n![](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fhuman-learn)\n[![Code style: black](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcode%20style-black-000000.svg)](https:\u002F\u002Fgithub.com\u002Fpsf\u002Fblack)\n[![DOI](https:\u002F\u002Fzenodo.org\u002Fbadge\u002F278844314.svg)](https:\u002F\u002Fzenodo.org\u002Fbadge\u002Flatestdoi\u002F278844314)\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkoaning_human-learn_readme_ccaa79095e5c.png\" width=150 align=\"right\">\n\n### Human Learn\n\n> Machine Learning models should play by the rules, literally.\n\n## Project Goal\n\nBack in the old days, it was common to write rule-based systems. Systems that do;\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkoaning_human-learn_readme_5d0961826c74.png)\n\nNowadays, it's much more fashionable to use machine learning instead. Something like;\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkoaning_human-learn_readme_90c2092b38e1.png)\n\nWe started wondering if we might have lost something in this transition. Sure,\nmachine learning covers a lot of ground but it is also capable of making bad\ndecisions. We need to remain careful about hype. We also shouldn't forget that \nmany classification problems can be handled by natural intelligence too. If nothing\nelse, it'd sure be a sensible benchmark.\n\nThis package contains scikit-learn compatible tools that should make it easier\nto construct and benchmark rule based systems that are designed by humans. You\ncan also use it in combination with ML models.\n\n## Installation\n\nYou can install this tool via `pip`.\n\n```python\npython -m pip install human-learn\n```\n\nThe project builds on top of a modern installation of [scikit-learn](https:\u002F\u002Fscikit-learn.org\u002Fstable\u002Findex.html)\nand [pandas](https:\u002F\u002Fpandas.pydata.org\u002F). It also\nuses [bokeh](https:\u002F\u002Fbokeh.org\u002F) for interactive jupyter elements, [shapely](https:\u002F\u002Fpypi.org\u002Fproject\u002FShapely\u002F) \nfor the point-in-poly algorithms and [clumper](https:\u002F\u002Fkoaning.github.io\u002Fclumper\u002F)\nto deal with json datastructures. \n\n## Documentation\n\nDetailed documentation of this tool can be found [here](https:\u002F\u002Fkoaning.github.io\u002Fhuman-learn\u002F).\n\nA free video course can be found on [calmcode.io](https:\u002F\u002Fcalmcode.io\u002Fhuman-learn\u002Fintroduction.html).\n\n## Features\n\nThis library hosts a couple of models that you can play with.\n\n\n### Interactive Drawings\n\nThis tool allows you to draw over your datasets. These drawings can later\nbe converted to models or to preprocessing tools.\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkoaning_human-learn_readme_16d401405431.gif)\n\n### Classification Models\n\n#### FunctionClassifier\n\nThis allows you to define a function that can make classification predictions. It's\nconstructed in such a way that you can use the arguments of the function as a parameter\nthat you can benchmark in a grid-search.\n\n#### InteractiveClassifier\n\nThis allows you to draw decision boundaries in interactive charts to create a\nmodel. You can create charts interactively in the notebook and export it as a\nscikit-learn compatible model.\n\n### Regression Models\n\n#### FunctionRegressor\n\nThis allows you to define a function that can make regression predictions. It's\nconstructed in such a way that you can use the arguments of the function as a parameter\nthat you can benchmark in a grid-search.\n\n### Outlier Detection Models\n\n#### FunctionOutlierDetector\n\nThis allows you to define a function that can declare outliers. It's constructed in\nsuch a way that you can use the arguments of the function as a parameter that you\ncan benchmark in a grid-search.\n\n#### InteractiveOutlierDetector\n\nThis allows you to draw decision boundaries in interactive charts to create a\nmodel. If a point falls outside of these boundaries we might be able to declare\nit an outlier. There's a threshold parameter for how strict you might want to be.\n\n### Preprocessing Models\n\n#### PipeTransformer\n\nThis allows you to define a function that can handle preprocessing. It's\nconstructed in such a way that you can use the arguments of the function as a parameter\nthat you can benchmark in a grid-search. This is especially powerful in combination\nwith the pandas `.pipe` method. If you're unfamiliar with this amazing feature, you\nmay appreciate [this tutorial](https:\u002F\u002Fcalmcode.io\u002Fpandas-pipe\u002Fintroduction.html).\n\n#### InteractivePreprocessor\n\nThis allows you to draw features that you'd like to add to your dataset or\nyour machine learning pipeline. You can use it via `tfm.fit(df).transform(df)` and\n`df.pipe(tfm)`.\n\n### Datasets\n\n#### Titanic\n\nThis library hosts the popular titanic survivor dataset for demo purposes. The goal of\nthis dataset is to predict who might have survived the titanic disaster.\n\n#### Fish\n\nThe fish market dataset is also hosted in this library. The goal of this dataset\nis to predict the weight of fish. However, it can also be turned into a classification problem\nby predicting the species.\n\n## Contribution\n\nWe're open to ideas for the repository but please discuss any feature you'd like to add \nbefore working on a PR. This way folks will know somebody is working on a feature and the\nimplementation can be discussed with the maintainer upfront. \n\nIf you want to quickly get started locally you can run the following command to set the \nlocal development environment up. \n\n```\nmake develop\n```\n\nIf you want to run all the tests\u002Fchecks locally you can run.\n\n```\nmake check\n```\n\nThis will run flake8, black, pytest and test the documentation pages. \n","[![下载量](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkoaning_human-learn_readme_76613a22279f.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fhuman-learn)\n[![版本](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fhuman-learn)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fscikit-lego\u002F)\n![](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fkoaning\u002Fhuman-learn)\n![](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fhuman-learn)\n[![代码风格：black](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcode%20style-black-000000.svg)](https:\u002F\u002Fgithub.com\u002Fpsf\u002Fblack)\n[![DOI](https:\u002F\u002Fzenodo.org\u002Fbadge\u002F278844314.svg)](https:\u002F\u002Fzenodo.org\u002Fbadge\u002Flatestdoi\u002F278844314)\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkoaning_human-learn_readme_ccaa79095e5c.png\" width=150 align=\"right\">\n\n### Human Learn\n\n> 机器学习模型应该严格遵守规则，从字面意义上来说。\n\n## 项目目标\n\n在过去，编写基于规则的系统是很常见的。这些系统会执行如下操作：\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkoaning_human-learn_readme_5d0961826c74.png)\n\n而如今，使用机器学习来替代它们则更为流行。例如：\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkoaning_human-learn_readme_90c2092b38e1.png)\n\n我们开始思考，在这一转变过程中，我们是否遗失了某些东西。诚然，机器学习的应用范围非常广泛，但它也可能做出错误的决策。因此，我们需要对炒作保持警惕。同时，我们也应意识到，许多分类问题同样可以由人类智能来解决。即便不能完全替代，至少也可以作为一个合理的基准。\n\n本包包含与 scikit-learn 兼容的工具，旨在简化由人类设计的基于规则系统的构建与评估过程。此外，您还可以将其与机器学习模型结合使用。\n\n## 安装\n\n您可以使用 `pip` 来安装此工具。\n\n```python\npython -m pip install human-learn\n```\n\n该项目依赖于现代版本的 [scikit-learn](https:\u002F\u002Fscikit-learn.org\u002Fstable\u002Findex.html) 和 [pandas](https:\u002F\u002Fpandas.pydata.org\u002F)。它还使用 [bokeh](https:\u002F\u002Fbokeh.org\u002F) 来实现交互式 Jupyter 组件，[shapely](https:\u002F\u002Fpypi.org\u002Fproject\u002FShapely\u002F) 处理点在多边形内的算法，以及 [clumper](https:\u002F\u002Fkoaning.github.io\u002Fclumper\u002F) 来处理 JSON 数据结构。\n\n## 文档\n\n有关此工具的详细文档，请参阅 [这里](https:\u002F\u002Fkoaning.github.io\u002Fhuman-learn\u002F)。\n\n您还可以在 [calmcode.io](https:\u002F\u002Fcalmcode.io\u002Fhuman-learn\u002Fintroduction.html) 上找到免费的视频课程。\n\n## 功能\n\n该库提供了一些可供您尝试的模型。\n\n### 交互式绘图\n\n此工具允许您在数据集上进行绘制。这些绘制内容随后可以转换为模型或预处理工具。\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkoaning_human-learn_readme_16d401405431.gif)\n\n### 分类模型\n\n#### FunctionClassifier\n\n此模型允许您定义一个用于分类预测的函数。其设计方式使得您可以将函数的参数作为网格搜索中的可调参数进行评估。\n\n#### InteractiveClassifier\n\n此模型允许您在交互式图表中绘制决策边界以创建模型。您可以在笔记本中交互式地创建图表，并将其导出为与 scikit-learn 兼容的模型。\n\n### 回归模型\n\n#### FunctionRegressor\n\n此模型允许您定义一个用于回归预测的函数。其设计方式使得您可以将函数的参数作为网格搜索中的可调参数进行评估。\n\n### 异常值检测模型\n\n#### FunctionOutlierDetector\n\n此模型允许您定义一个用于识别异常值的函数。其设计方式使得您可以将函数的参数作为网格搜索中的可调参数进行评估。\n\n#### InteractiveOutlierDetector\n\n此模型允许您在交互式图表中绘制决策边界，以创建一个模型。如果某个数据点落在这些边界之外，我们就可以将其标记为异常值。此外，还有一个阈值参数，用于控制判定的严格程度。\n\n### 预处理模型\n\n#### PipeTransformer\n\n此模型允许您定义一个用于预处理的函数。其设计方式使得您可以将函数的参数作为网格搜索中的可调参数进行评估。当与 pandas 的 `.pipe` 方法结合使用时，效果尤为显著。如果您还不熟悉这一强大的功能，不妨参考 [这篇教程](https:\u002F\u002Fcalmcode.io\u002Fpandas-pipe\u002Fintroduction.html)。\n\n#### InteractivePreprocessor\n\n此模型允许您绘制希望添加到数据集或机器学习流水线中的特征。您可以通过 `tfm.fit(df).transform(df)` 或 `df.pipe(tfm)` 来使用它。\n\n### 数据集\n\n#### 泰坦尼克号\n\n该库托管了著名的泰坦尼克号幸存者数据集，用于演示目的。此数据集的目标是预测哪些乘客可能在泰坦尼克号沉没事件中幸存下来。\n\n#### 鱼类市场\n\n鱼类市场数据集也托管在该库中。此数据集的目标是预测鱼的重量，但通过预测鱼的种类，它也可以转化为一个分类问题。\n\n## 贡献\n\n我们欢迎对仓库提出建议，但在提交拉取请求之前，请先讨论您想要添加的功能。这样可以让大家知道有人正在开发该功能，并且可以在开发初期与维护者进行沟通。\n\n如果您想快速在本地开始开发，可以运行以下命令来设置本地开发环境：\n\n```\nmake develop\n```\n\n如果您想在本地运行所有测试和检查，可以执行：\n\n```\nmake check\n```\n\n这将运行 flake8、black、pytest，并测试文档页面。","# human-learn 快速上手指南\n\n`human-learn` 是一个与 scikit-learn 兼容的 Python 库，旨在帮助开发者轻松构建和评估基于**人类规则**的系统。它允许你通过编写函数或在交互式图表中绘制决策边界来创建机器学习模型，既可作为独立模型使用，也可与传统 ML 模型结合进行基准测试。\n\n## 环境准备\n\n在开始之前，请确保你的开发环境满足以下要求：\n\n*   **操作系统**：Linux, macOS 或 Windows\n*   **Python 版本**：支持主流 Python 3 版本（具体见 PyPI 徽章）\n*   **核心依赖**：\n    *   [scikit-learn](https:\u002F\u002Fscikit-learn.org\u002F)\n    *   [pandas](https:\u002F\u002Fpandas.pydata.org\u002F)\n*   **可选依赖**（用于交互功能）：\n    *   `bokeh`：用于 Jupyter Notebook 中的交互式图表\n    *   `shapely`：用于点在多边形内的算法\n    *   `clumper`：用于处理 JSON 数据结构\n\n> **提示**：如果你在中国大陆地区，建议使用国内镜像源加速安装过程（如清华源或阿里源）。\n\n## 安装步骤\n\n你可以直接使用 `pip` 进行安装。\n\n### 标准安装\n```bash\npython -m pip install human-learn\n```\n\n### 使用国内镜像加速安装（推荐）\n```bash\npython -m pip install human-learn -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n## 基本使用\n\n`human-learn` 的核心优势在于可以将简单的 Python 函数或手绘规则转换为标准的 scikit-learn  estimator。以下是两种最典型的使用场景。\n\n### 1. 使用函数定义分类器 (FunctionClassifier)\n\n你可以直接定义一个 Python 函数作为分类逻辑，并将其包装为模型。这使得规则逻辑可以像超参数一样在 `GridSearch` 中进行基准测试。\n\n```python\nfrom human_learn import FunctionClassifier\nimport pandas as pd\n\n# 1. 定义你的规则函数\n# 注意：函数参数将自动成为模型的可调参数\ndef my_rule(X, threshold=0.5):\n    # 假设 X 是一个包含 'feature_1' 的 DataFrame 或数组\n    # 这里演示简单的逻辑判断\n    return (X[:, 0] > threshold).astype(int)\n\n# 2. 初始化为 scikit-learn 兼容的模型\nclf = FunctionClassifier(my_rule)\n\n# 3. 准备数据 (示例数据)\nX = [[0.2], [0.6], [0.8], [0.1]]\ny = [0, 1, 1, 0]\n\n# 4. 训练 (对于规则模型，fit 通常只是存储状态，逻辑主要在 predict)\nclf.fit(X, y)\n\n# 5. 预测\npredictions = clf.predict(X)\nprint(predictions)\n\n# 6. 进阶：可以直接用于 GridSearchCV 来寻找最佳 threshold\nfrom sklearn.model_selection import GridSearchCV\n\nparam_grid = {'threshold': [0.1, 0.3, 0.5, 0.7]}\ngrid_search = GridSearchCV(clf, param_grid, cv=3)\ngrid_search.fit(X, y)\n\nprint(f\"最佳阈值：{grid_search.best_params_['threshold']}\")\n```\n\n### 2. 交互式绘制决策边界 (InteractiveClassifier)\n\n如果你在 Jupyter Notebook 环境中，可以使用交互式工具通过“画图”来训练模型。\n\n```python\nfrom human_learn import InteractiveClassifier\nfrom human_learn.datasets import load_fish\n\n# 1. 加载示例数据集\ndf = load_fish()\n# 选取两个特征用于二维绘图展示\nX = df[['Length1', 'Length2']].values\ny = df['Species'].values\n\n# 2. 初始化交互式分类器\n# 在 Jupyter 中运行此行会弹出一个可绘图的图表\nclf = InteractiveClassifier()\n\n# 3. 拟合数据并启动交互界面\n# 在弹出的图表中用鼠标绘制区域来定义分类规则\nclf.fit(X, y)\n\n# 4. 绘制完成后，它就是一个标准的 scikit-learn 模型\n# 可以进行预测或保存\nscore = clf.score(X, y)\nprint(f\"模型准确率：{score}\")\n```\n\n### 3. 数据预处理 (PipeTransformer)\n\n除了建模，你还可以用函数定义预处理步骤，并无缝接入 pandas 管道。\n\n```python\nfrom human_learn import PipeTransformer\nimport pandas as pd\n\n# 定义一个预处理函数\ndef add_feature(df, multiplier=2):\n    df = df.copy()\n    df['new_feature'] = df['existing_col'] * multiplier\n    return df\n\n# 包装为 Transformer\ntfm = PipeTransformer(add_feature)\n\n# 使用方式 A: 标准 sklearn 风格\n# tfm.fit(df).transform(df)\n\n# 使用方式 B: pandas pipe 风格 (更简洁)\n# df_processed = df.pipe(tfm, multiplier=3)\n```\n\n通过以上方式，`human-learn` 让你能够灵活地将人类直觉（规则\u002F绘图）转化为可复现、可评估的机器学习组件。","某电商风控团队正在构建一个针对“异常大额订单”的实时拦截系统，需要在模型上线前快速验证业务规则的合理性。\n\n### 没有 human-learn 时\n- 业务专家提出的规则（如“非会员且单笔超过 5000 元”）只能停留在文档中，无法直接转化为可运行的代码进行验证。\n- 数据科学家必须手动编写硬编码的逻辑函数来模拟规则，每次调整阈值都需要重新修改代码并重启服务，迭代效率极低。\n- 难以将基于经验的规则模型与复杂的机器学习模型放在同一套 scikit-learn 流程中进行公平的性能基准对比。\n- 缺乏可视化的交互手段，无法直观地看到规则在数据分布上的决策边界，导致沟通成本高昂。\n\n### 使用 human-learn 后\n- 利用 `InteractiveClassifier`，分析师可以直接在 Jupyter Notebook 的散点图上绘制决策区域，瞬间将人工经验转化为可执行的模型对象。\n- 通过 `FunctionClassifier`，可以将带参数的业务逻辑函数封装成标准估计器，直接融入 `GridSearchCV` 自动寻找最优规则阈值，无需反复改代码。\n- human-learn 生成的规则模型完全兼容 scikit-learn 接口，能与随机森林等算法在同一 Pipeline 中并行训练和评估，量化“自然智能”的基准表现。\n- 团队可以交互式地调整异常检测边界，实时观察误报率变化，让业务规则的调整过程变得透明且可解释。\n\nhuman-learn 的核心价值在于它打破了规则系统与机器学习之间的壁垒，让人类专家的经验能以标准化、可量化的方式直接参与建模流程。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkoaning_human-learn_16d40140.gif","koaning","vincent d warmerdam ","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fkoaning_4705094b.jpg","Solving problems involving data. AskMeAnything[tm]. ","@marimo-team","Amsterdam",null,"fishnets88","https:\u002F\u002Fkoaning.io","https:\u002F\u002Fgithub.com\u002Fkoaning",[83,87,91,94,98,101,105],{"name":84,"color":85,"percentage":86},"Jupyter Notebook","#DA5B0B",97.7,{"name":88,"color":89,"percentage":90},"JavaScript","#f1e05a",1.1,{"name":92,"color":93,"percentage":90},"Python","#3572A5",{"name":95,"color":96,"percentage":97},"CSS","#663399",0.1,{"name":99,"color":100,"percentage":97},"TeX","#3D6117",{"name":102,"color":103,"percentage":104},"HTML","#e34c26",0,{"name":106,"color":107,"percentage":104},"Makefile","#427819",830,56,"2026-04-05T17:36:54","MIT",1,"未说明","不需要 GPU",{"notes":116,"python":117,"dependencies":118},"该工具主要用于构建基于规则的机器学习系统，支持在 Jupyter Notebook 中进行交互式绘图和模型构建。安装后可通过 'make develop' 设置本地开发环境，通过 'make check' 运行测试和代码检查（包括 flake8, black, pytest）。","3.7+",[119,120,121,122,123],"scikit-learn","pandas","bokeh","shapely","clumper",[14,125],"其他",[119,127,128],"machine-learning","benchmark","2026-03-27T02:49:30.150509","2026-04-14T12:26:55.410545",[132,137,142,147,152,157],{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},32976,"在 Jupyter Lab 中点击绘图时没有任何反应，如何解决？","这通常是因为通过 SSH 运行或远程访问时端口未正确转发。解决方法是：1. 确保转发了 Bokeh 服务所需的端口；2. 修改 InteractiveCharts 类，在调用 Bokeh 图表的 show() 方法时将端口作为参数传入。另外，请确认是否可以通过双击来绘制形状，以排除 UI 交互问题。部分用户反馈查看源代码中的说明后解决了问题。","https:\u002F\u002Fgithub.com\u002Fkoaning\u002Fhuman-learn\u002Fissues\u002F68",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},32977,"为什么在 Jupyter 中无法显示绘图模型，且日志中出现 'No such comm target registered' 错误？","该问题通常出现在远程 Ubuntu 机器上运行 Jupyter 并被另一台电脑访问的场景中。日志中的 'No such comm target registered: jupyter.widget.control' 警告表明 ipywidgets 通信未正确建立。请检查以下几点：1. 确保已安装并启用了 ipywidgets 扩展（运行 `jupyter nbextension enable --py widgetsnbextension` 和 `jupyter labextension install @jupyter-widgets\u002Fjupyterlab-manager`）；2. 确认 bokeh 版本兼容性（建议锁定在 \u003C3.0.0）；3. 如果是远程访问，需确保服务器监听配置正确且防火墙允许相关端口通信。","https:\u002F\u002Fgithub.com\u002Fkoaning\u002Fhuman-learn\u002Fissues\u002F74",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},32978,"遇到 Bokeh 3.x 版本导致的兼容性问题怎么办？","目前 human-learn 与 Bokeh 3.x 存在兼容性问题。维护者已将 bokeh 依赖暂时锁定为 `\u003C3.0.0` 版本。请在您的环境中手动安装兼容版本，例如运行：`pip install \"bokeh\u003C3.0.0\"`。同时建议检查 Jinja2 等其他依赖版本，必要时进行更新以匹配项目要求。","https:\u002F\u002Fgithub.com\u002Fkoaning\u002Fhuman-learn\u002Fissues\u002F78",{"id":148,"question_zh":149,"answer_zh":150,"source_url":151},32979,"如何在绘图时查看数据点的详细信息（如工具提示）以辅助决策？","社区已提出并为该功能提交了 PR。虽然核心库早期版本未内置此功能，但用户可以通过 Plotly 等工具先行探索数据簇，再回到 human-learn 中绘制。后续版本计划支持自定义工具提示，允许用户选择 DataFrame 中的特定列在悬停时显示。请关注项目更新或尝试合并相关 PR 后的版本以获取原生支持。","https:\u002F\u002Fgithub.com\u002Fkoaning\u002Fhuman-learn\u002Fissues\u002F47",{"id":153,"question_zh":154,"answer_zh":155,"source_url":156},32980,"当标签或颜色列包含超过 5 个唯一值时，InteractiveCharts 报错如何处理？","这是一个已知限制，当用于 labels 或 color 的列包含超过 5 个唯一值时，添加新图表会触发错误。目前官方尚未在提供的片段中给出完整解决方案，但通常此类问题可通过减少分类数量、对数据进行分组聚合或升级库版本来解决。建议检查是否有更新的补丁版本修复了此问题，或在创建图表前对高基数列进行预处理（如将稀有类别合并为 'Other'）。","https:\u002F\u002Fgithub.com\u002Fkoaning\u002Fhuman-learn\u002Fissues\u002F46",{"id":158,"question_zh":159,"answer_zh":160,"source_url":161},32981,"是否有基于规则的简单分类器实现方案？","社区曾讨论过实现类似 SQL CASE WHEN 的规则分类器。虽然该项目未直接内置此功能，但有用户开发了名为 `rule_estimator` 的独立演示项目（https:\u002F\u002Fgithub.com\u002Foegedijk\u002Frule_estimator），支持定义简单的比较规则（gt\u002Fge\u002Flt\u002Fle）、使用 `CaseWhen` 串联规则以及定义 `BinaryDecisionNodes`。此外，维护者指出关键挑战在于如何让非技术人员发现有意义的规则，建议结合可视化探索数据来构建模型，而非仅依赖规则声明。","https:\u002F\u002Fgithub.com\u002Fkoaning\u002Fhuman-learn\u002Fissues\u002F54",[163,168],{"id":164,"version":165,"summary_zh":166,"released_at":167},247668,"0.3.5","为 `FunctionClassifier` 添加了一处修复，用于设置 `self.classes_`。","2024-01-02T12:44:23",{"id":169,"version":170,"summary_zh":78,"released_at":171},247669,"0.2.5","2021-04-21T17:28:38"]