[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-igrigorik--decisiontree":3,"tool-igrigorik--decisiontree":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 真正成长为懂上",160784,2,"2026-04-19T11:32:54",[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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[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":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":78,"owner_email":79,"owner_twitter":73,"owner_website":80,"owner_url":81,"languages":82,"stars":87,"forks":88,"last_commit_at":89,"license":90,"difficulty_score":32,"env_os":91,"env_gpu":92,"env_ram":91,"env_deps":93,"category_tags":98,"github_topics":99,"view_count":32,"oss_zip_url":90,"oss_zip_packed_at":90,"status":17,"created_at":104,"updated_at":105,"faqs":106,"releases":142},9761,"igrigorik\u002Fdecisiontree","decisiontree","ID3-based implementation of the ML Decision Tree algorithm","decisiontree 是一个基于 Ruby 语言开发的开源机器学习库，核心功能是实现经典的 ID3 决策树算法。它旨在帮助开发者轻松构建分类模型，解决从数据中自动提取决策规则的问题，特别适用于处理包含离散标签（如颜色、状态）和连续数值（如温度、饥饿度）的混合数据集。\n\n该工具的独特亮点在于其灵活的适应能力：对于连续变量，它能自动迭代寻找最佳分割阈值，生成二叉树结构；对于离散变量，则支持可视化输出，可结合 Graphviz 将训练好的树转换为直观的 PNG 图像，便于分析。此外，decisiontree 还内置了类似 C4.5 算法的规则剪枝机制（Ruleset）以及基于投票策略的 Bagging 集成训练方法，有效提升了模型在不一致数据上的泛化能力和预测准确性。当输入数据无法匹配现有分支时，它还能智能返回默认值，增强了系统的鲁棒性。\n\ndecisiontree 非常适合 Ruby 开发者、数据科学初学者以及需要快速验证算法原型的研究人员使用。无论是进行教学演示、探索性数据分析，还是为小型应用添加智能分类功能，它都提供了一个轻量级且易于上手的解决方案。通过简洁的 API 接口，用户只","decisiontree 是一个基于 Ruby 语言开发的开源机器学习库，核心功能是实现经典的 ID3 决策树算法。它旨在帮助开发者轻松构建分类模型，解决从数据中自动提取决策规则的问题，特别适用于处理包含离散标签（如颜色、状态）和连续数值（如温度、饥饿度）的混合数据集。\n\n该工具的独特亮点在于其灵活的适应能力：对于连续变量，它能自动迭代寻找最佳分割阈值，生成二叉树结构；对于离散变量，则支持可视化输出，可结合 Graphviz 将训练好的树转换为直观的 PNG 图像，便于分析。此外，decisiontree 还内置了类似 C4.5 算法的规则剪枝机制（Ruleset）以及基于投票策略的 Bagging 集成训练方法，有效提升了模型在不一致数据上的泛化能力和预测准确性。当输入数据无法匹配现有分支时，它还能智能返回默认值，增强了系统的鲁棒性。\n\ndecisiontree 非常适合 Ruby 开发者、数据科学初学者以及需要快速验证算法原型的研究人员使用。无论是进行教学演示、探索性数据分析，还是为小型应用添加智能分类功能，它都提供了一个轻量级且易于上手的解决方案。通过简洁的 API 接口，用户只需几行代码即可完成模型的训练与预测，让复杂的机器学习过程变得简单透明。","# Decision Tree\n\nA Ruby library which implements [ID3 (information gain)](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FID3_algorithm) algorithm for decision tree learning. Currently, continuous and discrete datasets can be learned.\n\n- Discrete model assumes unique labels & can be graphed and converted into a png for visual analysis\n- Continuous looks at all possible values for a variable and iteratively chooses the best threshold between all possible assignments. This results in a binary tree which is partitioned by the threshold at every step. (e.g. temperate > 20C)\n\n## Features\n- ID3 algorithms for continuous and discrete cases, with support for inconsistent datasets.\n- [Graphviz component](http:\u002F\u002Frockit.sourceforge.net\u002Fsubprojects\u002Fgraphr\u002F) to visualize the learned tree \n- Support for multiple, and symbolic outputs and graphing of continuous trees.\n- Returns default value when no branches are suitable for input\n\n## Implementation\n\n- Ruleset is a class that trains an ID3Tree with 2\u002F3 of the training data, converts it into set of rules and prunes the rules with the remaining 1\u002F3 of the training data (in a [C4.5](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FC4.5_algorithm) way).\n- Bagging is a bagging-based trainer (quite obvious), which trains 10 Ruleset trainers and when predicting chooses the best output based on voting.\n\n[Blog post with explanation & examples](http:\u002F\u002Fwww.igvita.com\u002F2007\u002F04\u002F16\u002Fdecision-tree-learning-in-ruby\u002F)\n\n## Example\n\n```ruby\nrequire 'decisiontree'\n\nattributes = ['Temperature']\ntraining = [\n  [36.6, 'healthy'],\n  [37, 'sick'],\n  [38, 'sick'],\n  [36.7, 'healthy'],\n  [40, 'sick'],\n  [50, 'really sick'],\n]\n\n# Instantiate the tree, and train it based on the data (set default to '1')\ndec_tree = DecisionTree::ID3Tree.new(attributes, training, 'sick', :continuous)\ndec_tree.train\n\ntest = [37, 'sick']\ndecision = dec_tree.predict(test)\nputs \"Predicted: #{decision} ... True decision: #{test.last}\"\n\n# => Predicted: sick ... True decision: sick\n\n# Specify type (\"discrete\" or \"continuous\") in the training data\nlabels = [\"hunger\", \"color\"]\ntraining = [\n        [8, \"red\", \"angry\"],\n        [6, \"red\", \"angry\"],\n        [7, \"red\", \"angry\"],\n        [7, \"blue\", \"not angry\"],\n        [2, \"red\", \"not angry\"],\n        [3, \"blue\", \"not angry\"],\n        [2, \"blue\", \"not angry\"],\n        [1, \"red\", \"not angry\"]\n]\n\ndec_tree = DecisionTree::ID3Tree.new(labels, training, \"not angry\", color: :discrete, hunger: :continuous)\ndec_tree.train\n\ntest = [7, \"red\", \"angry\"]\ndecision = dec_tree.predict(test)\nputs \"Predicted: #{decision} ... True decision: #{test.last}\"\n\n# => Predicted: angry ... True decision: angry\n```\n\n## License\n\nThe [MIT License](https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT) - Copyright (c) 2006 Ilya Grigorik\n","# 决策树\n\n一个用 Ruby 编写的库，实现了用于决策树学习的 [ID3（信息增益）](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FID3_algorithm) 算法。目前支持连续型和离散型数据集的训练。\n\n- 离散模型假设标签是唯一的，并且可以绘制为图形，进而转换成 PNG 文件以便进行可视化分析。\n- 连续模型会遍历某个变量的所有可能取值，迭代地选择最佳阈值来划分数据。这样生成的是一棵二叉树，每一步都通过阈值进行分割。（例如：温度 > 20°C）\n\n## 特性\n- 针对连续型和离散型数据的 ID3 算法，并支持不一致的数据集。\n- 使用 [Graphviz 组件](http:\u002F\u002Frockit.sourceforge.net\u002Fsubprojects\u002Fgraphr\u002F) 可视化学习到的决策树。\n- 支持多输出和符号化输出，以及连续型决策树的绘图功能。\n- 当输入没有匹配的分支时，返回默认值。\n\n## 实现\n- Ruleset 是一个类，它使用 2\u002F3 的训练数据训练一个 ID3Tree，然后将其转换为规则集，并利用剩余的 1\u002F3 数据以 [C4.5](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FC4.5_algorithm) 的方式对规则进行剪枝。\n- Bagging 是一种基于自助法的训练器（顾名思义），它会训练 10 个 Ruleset 训练器，并在预测时根据投票结果选择最佳输出。\n\n[带有解释和示例的博客文章](http:\u002F\u002Fwww.igvita.com\u002F2007\u002F04\u002F16\u002Fdecision-tree-learning-in-ruby\u002F)\n\n## 示例\n\n```ruby\nrequire 'decisiontree'\n\nattributes = ['Temperature']\ntraining = [\n  [36.6, 'healthy'],\n  [37, 'sick'],\n  [38, 'sick'],\n  [36.7, 'healthy'],\n  [40, 'sick'],\n  [50, 'really sick'],\n]\n\n# 实例化决策树，并根据数据进行训练（设置默认值为 'sick'）\ndec_tree = DecisionTree::ID3Tree.new(attributes, training, 'sick', :continuous)\ndec_tree.train\n\ntest = [37, 'sick']\ndecision = dec_tree.predict(test)\nputs \"预测结果：#{decision} ... 真实结果：#{test.last}\"\n\n# => 预测结果：sick ... 真实结果：sick\n\n# 在训练数据中指定类型（\"discrete\" 或 \"continuous\"）\nlabels = [\"hunger\", \"color\"]\ntraining = [\n        [8, \"red\", \"angry\"],\n        [6, \"red\", \"angry\"],\n        [7, \"red\", \"angry\"],\n        [7, \"blue\", \"not angry\"],\n        [2, \"red\", \"not angry\"],\n        [3, \"blue\", \"not angry\"],\n        [2, \"blue\", \"not angry\"],\n        [1, \"red\", \"not angry\"]\n]\n\ndec_tree = DecisionTree::ID3Tree.new(labels, training, \"not angry\", color: :discrete, hunger: :continuous)\ndec_tree.train\n\ntest = [7, \"red\", \"angry\"]\ndecision = dec_tree.predict(test)\nputs \"预测结果：#{decision} ... 真实结果：#{test.last}\"\n\n# => 预测结果：angry ... 真实结果：angry\n```\n\n## 许可证\n\n[MIT 许可证](https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT) - 版权所有 © 2006 Ilya Grigorik","# Decision Tree 快速上手指南\n\n## 环境准备\n\n- **系统要求**：支持 Ruby 的操作系统（Linux, macOS, Windows）\n- **前置依赖**：\n  - Ruby (建议版本 2.0+)\n  - Graphviz（可选，用于可视化决策树）\n    - Ubuntu\u002FDebian: `sudo apt-get install graphviz`\n    - macOS: `brew install graphviz`\n    - Windows: 下载安装包安装\n\n## 安装步骤\n\n使用 RubyGems 安装：\n\n```bash\ngem install decisiontree\n```\n\n如需使用国内镜像源加速安装：\n\n```bash\ngem sources --add https:\u002F\u002Fgems.ruby-china.com\u002F --remove https:\u002F\u002Frubygems.org\u002F\ngem install decisiontree\n```\n\n## 基本使用\n\n以下是一个最简单的连续值分类示例：\n\n```ruby\nrequire 'decisiontree'\n\nattributes = ['Temperature']\ntraining = [\n  [36.6, 'healthy'],\n  [37, 'sick'],\n  [38, 'sick'],\n  [36.7, 'healthy'],\n  [40, 'sick'],\n  [50, 'really sick'],\n]\n\n# 初始化决策树，设置默认值为 'sick'，类型为连续值\ndec_tree = DecisionTree::ID3Tree.new(attributes, training, 'sick', :continuous)\ndec_tree.train\n\ntest = [37, 'sick']\ndecision = dec_tree.predict(test)\nputs \"Predicted: #{decision} ... True decision: #{test.last}\"\n```\n\n运行结果：\n```\nPredicted: sick ... True decision: sick\n```\n\n你也可以混合使用离散和连续属性：\n\n```ruby\nlabels = [\"hunger\", \"color\"]\ntraining = [\n        [8, \"red\", \"angry\"],\n        [6, \"red\", \"angry\"],\n        [7, \"red\", \"angry\"],\n        [7, \"blue\", \"not angry\"],\n        [2, \"red\", \"not angry\"],\n        [3, \"blue\", \"not angry\"],\n        [2, \"blue\", \"not angry\"],\n        [1, \"red\", \"not angry\"]\n]\n\ndec_tree = DecisionTree::ID3Tree.new(labels, training, \"not angry\", color: :discrete, hunger: :continuous)\ndec_tree.train\n\ntest = [7, \"red\", \"angry\"]\ndecision = dec_tree.predict(test)\nputs \"Predicted: #{decision} ... True decision: #{test.last}\"\n```\n\n运行结果：\n```\nPredicted: angry ... True decision: angry\n```","某电商初创公司的数据分析师正试图从历史订单中挖掘用户流失规律，以便制定精准的挽留策略。\n\n### 没有 decisiontree 时\n- 面对包含“消费频次”（连续数值）和“会员等级”（离散符号）的混合数据，团队只能手动划分阈值，主观性强且效率极低。\n- 缺乏自动化的剪枝机制，生成的规则过于复杂，充斥着对噪声数据的过度拟合，导致预测准确率在实际应用中大幅下滑。\n- 决策逻辑黑盒化，业务部门无法直观理解为何判定某用户会流失，难以基于模型结果制定具体的运营动作。\n- 遇到训练集中未覆盖的特殊用户特征组合时，程序直接报错或返回空值，导致部分高价值客户的预测服务中断。\n\n### 使用 decisiontree 后\n- 利用其内置的 ID3 算法原生支持连续与离散混合变量，自动计算最佳分割点（如“月消费>500 元”），无需人工干预阈值设定。\n- 通过 Ruleset 类自动执行类似 C4.5 的剪枝操作，用预留数据验证并简化规则，显著提升了模型在未知数据上的泛化能力。\n- 借助 Graphviz 组件将训练好的树直接可视化为 PNG 图片，清晰展示从“登录频率”到“最终流失”的完整推导路径，便于向管理层汇报。\n- 配置默认返回值机制，当遇到极端异常输入时自动回退到最可能的分类，确保了线上预测服务的稳定性和连续性。\n\ndecisiontree 让非专业算法团队也能快速构建可解释、高鲁棒性的混合数据决策模型，将数据洞察直接转化为可执行的业务规则。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Figrigorik_decisiontree_4c0a2d22.png","igrigorik","Ilya Grigorik","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Figrigorik_66e359c8.jpg","Building merchant+web platform capabilities to supercharge commerce at @Shopify.","Shopify","Portland, OR","ilya@grigorik.com","https:\u002F\u002Filya.grigorik.com","https:\u002F\u002Fgithub.com\u002Figrigorik",[83],{"name":84,"color":85,"percentage":86},"Ruby","#701516",100,1477,130,"2026-04-14T14:21:53",null,"未说明","不需要",{"notes":94,"python":95,"dependencies":96},"这是一个 Ruby 库而非 Python 工具，因此不需要 Python 环境或 GPU。它实现了 ID3 算法，支持连续和离散数据集。若需可视化决策树为 PNG 图片，需安装 Graphviz 组件（graphr）。","不适用",[84,97],"graphr (可选，用于可视化)",[14],[100,101,102,103],"rubyml","decision-tree","ruby","machine-learning","2026-03-27T02:49:30.150509","2026-04-20T04:06:05.548115",[107,112,117,122,127,132,137],{"id":108,"question_zh":109,"answer_zh":110,"source_url":111},43831,"为什么在生产环境中运行时会报错找不到 'graphr'？","这是一个已修复的问题。早期版本错误地将仅用于开发的 'graphr' 依赖项引入到了生产环境代码中。维护者已在 0.5.0 版本中修复了此问题，请升级 gem 版本即可解决。","https:\u002F\u002Fgithub.com\u002Figrigorik\u002Fdecisiontree\u002Fissues\u002F11",{"id":113,"question_zh":114,"answer_zh":115,"source_url":116},43832,"调用 .graph 方法后没有生成任何图片文件，也没有报错，是什么原因？","这通常是因为系统中未安装 Graphviz 软件库。仅仅安装 Ruby 的 graphviz gem 是不够的，你必须在操作系统层面安装 Graphviz。例如，在 macOS 上使用 Homebrew 运行 `brew install graphviz`，在 Linux 上使用对应的包管理器安装。安装完成后，确保命令行中可以访问 'dot' 命令。","https:\u002F\u002Fgithub.com\u002Figrigorik\u002Fdecisiontree\u002Fissues\u002F15",{"id":118,"question_zh":119,"answer_zh":120,"source_url":121},43833,"生成的决策树图表文字重叠、无法阅读怎么办？","这是旧版本中已知的问题，特别是在树结构较大时。该问题已通过后续的 Pull Request（#30）修复。如果你遇到此问题，请确保将 gem 升级到最新版本以获取修复后的图形渲染逻辑。","https:\u002F\u002Fgithub.com\u002Figrigorik\u002Fdecisiontree\u002Fissues\u002F29",{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},43834,"当属性名使用数字字符串（如 '1', '2'）时，为什么会抛出 'stack level too deep' 错误？","这是旧版本代码中的一个缺陷，处理数值型名称的属性时会导致无限递归。维护者确认了该问题并进行了修复。如果遇到此错误，请直接升级 decisiontree gem 到最新版本，不要使用数字作为属性名的变通方法。","https:\u002F\u002Fgithub.com\u002Figrigorik\u002Fdecisiontree\u002Fissues\u002F13",{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},43835,"是否支持在同一数据集中混合使用连续属性和离散属性？","不支持。该实现目前要求数据集中的属性要么全是离散的，要么全是连续的，不能混合使用。官方明确表示这不是遗漏的功能，而是当前的限制。如果需要此功能，社区欢迎提交补丁（Pull Request）。","https:\u002F\u002Fgithub.com\u002Figrigorik\u002Fdecisiontree\u002Fissues\u002F4",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},43836,"如何将训练好的决策树规则导出为原生的 Ruby 代码（if\u002Felsif 结构）？","社区用户已经实现了将规则集导出为 Ruby 条件判断代码的功能，并提交了相关代码示例（生成 classify 方法）。虽然核心库可能未直接内置此快捷方法，但你可以参考 Issue 中的代码示例自行实现，或者查找是否已有包含此功能的分支\u002F插件合并到了主项目中。","https:\u002F\u002Fgithub.com\u002Figrigorik\u002Fdecisiontree\u002Fissues\u002F20",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},43837,"gemspec 中缺少许可证（License）信息导致 RubyGems 显示警告，如何处理？","维护者需要在 `.gemspec` 文件中明确指定许可证。例如添加 `spec.license = 'MIT'`。对于用户而言，如果使用的是旧版本可能会看到此警告，建议检查项目仓库的最新版本是否已修复此元数据缺失问题。","https:\u002F\u002Fgithub.com\u002Figrigorik\u002Fdecisiontree\u002Fissues\u002F12",[]]