[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-smartcorelib--smartcore":3,"tool-smartcorelib--smartcore":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":75,"owner_name":75,"owner_avatar_url":76,"owner_bio":77,"owner_company":77,"owner_location":77,"owner_email":77,"owner_twitter":77,"owner_website":77,"owner_url":78,"languages":79,"stars":84,"forks":85,"last_commit_at":86,"license":87,"difficulty_score":23,"env_os":88,"env_gpu":88,"env_ram":88,"env_deps":89,"category_tags":94,"github_topics":95,"view_count":10,"oss_zip_url":77,"oss_zip_packed_at":77,"status":16,"created_at":107,"updated_at":108,"faqs":109,"releases":138},533,"smartcorelib\u002Fsmartcore","smartcore","A comprehensive library for machine learning and numerical computing. Apply Machine Learning with Rust leveraging first principles. ","smartcore 是一个功能全面的机器学习与数值计算库，专为 Rust 语言打造。它旨在帮助开发者在不牺牲性能的前提下，利用 Rust 的安全性和并发优势进行机器学习开发。smartcore 解决了传统机器学习框架往往依赖 Python 或 C++ 底层，难以直接融入 Rust 工程体系的问题。\n\nsmartcore 覆盖了广泛的算法，包括线性模型、树集成、支持向量机、聚类和降维等，并提供模块化线性代数抽象。对于需要高性能推理或跨平台部署的场景，smartcore 特别友好，默认支持 WebAssembly，方便在浏览器端运行模型。同时，它也提供了丰富的实用工具，如数据预处理、模型评估和内置数据集。\n\nsmartcore 非常适合 Rust 开发者、算法研究人员以及追求系统稳定性的后端工程师使用。通过强类型系统和简洁的 API，它能显著降低机器学习项目的维护成本，让从原型验证到生产部署的流程更加顺畅可靠。","\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fsmartcorelib.org\">\n    \u003Cimg src=\"smartcore.svg\" width=\"450\" alt=\"smartcore\">    \n  \u003C\u002Fa>  \n\u003C\u002Fp>\n\u003Cp align = \"center\">\n    \u003Cstrong>\n        \u003Ca href=\"https:\u002F\u002Fsmartcorelib.org\">User guide\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fdocs.rs\u002Fsmartcore\u002F\">API\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore-jupyter\">Notebooks\u003C\u002Fa>\n    \u003C\u002Fstrong>\n\u003C\u002Fp>\n\n-----\n\n\u003Cp align = \"center\">\n\u003Cb>Machine Learning in Rust\u003C\u002Fb>\n\u003C\u002Fp>\n\n-----\n[![CI](https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Factions\u002Fworkflows\u002Fci.yml) [![DOI](https:\u002F\u002Fzenodo.org\u002Fbadge\u002FDOI\u002F10.5281\u002Fzenodo.17219259.svg)](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.17219259)\n\nTo start getting familiar with the new smartcore v0.4 API, there is now available a [**Jupyter Notebook environment repository**](https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore-jupyter). Please see instructions there, contributions welcome see [CONTRIBUTING](.github\u002FCONTRIBUTING.md).\n\nsmartcore is a fast, ergonomic machine learning library for Rust, covering classical supervised and unsupervised methods with a modular linear algebra abstraction and optional ndarray support. It aims to provide production-friendly APIs, strong typing, and good defaults while remaining flexible for research and experimentation.\n\n\n## Highlights\n\n- Broad algorithm coverage: linear models, tree-based methods, ensembles, SVMs, neighbors, clustering, decomposition, and preprocessing.\n- Strong linear algebra traits with optional ndarray integration for users who prefer array-first workflows.\n- WASM-first defaults with attention to portability; features such as serde and datasets are opt-in.\n- Practical utilities for model selection, evaluation, readers (CSV), dataset generators, and built-in sample datasets.\n\n\n## Install\n\nAdd to Cargo.toml:\n\n```toml\n[dependencies]\nsmartcore = \"^0.4.3\"\n```\n\nFor the latest development branch:\n\n```toml\n[dependencies]\nsmartcore = { git = \"https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\", branch = \"development\" }\n```\n\nOptional features (examples):\n\n- datasets\n- serde\n- ndarray-bindings (deprecated in favor of ndarray-only support per recent changes)\n\nCheck Cargo.toml for available features and compatibility notes.\n\n## Quick start\n\nHere is a minimal example fitting a KNN classifier from native Rust vectors using DenseMatrix:\n\n```rust\nuse smartcore::linalg::basic::matrix::DenseMatrix;\nuse smartcore::neighbors::knn_classifier::KNNClassifier;\n\n\u002F\u002F Turn vector slices into a matrix\nlet x = DenseMatrix::from_2d_array(&[\n    &[1., 2.],\n    &[3., 4.],\n    &[5., 6.],\n    &[7., 8.],\n    &[9., 10.],\n]).unwrap;\n\n\u002F\u002F Class labels\nlet y = vec![2, 2, 2, 3, 3];\n\n\u002F\u002F Train classifier\nlet knn = KNNClassifier::fit(&x, &y, Default::default()).unwrap();\n\n\u002F\u002F Predict\nlet yhat = knn.predict(&x).unwrap();\n```\n\nThis example mirrors the “First Example” section of the crate docs and demonstrates smartcore’s ergonomic API surface.\n\n## Algorithms\n\nsmartcore organizes algorithms into clear modules with consistent traits:\n\n- Clustering: K-Means, DBSCAN, agglomerative (including single-linkage), with K-Means++ initialization and utilities.\n- Matrix decomposition: SVD, EVD, Cholesky, LU, QR, plus related linear algebra helpers.\n- Linear models: OLS, Ridge, Lasso, ElasticNet, Logistic Regression.\n- Ensemble and tree-based: Random Forest (classifier and regressor), Extra Trees, shared reusable components across trees and forests.\n- SVM: SVC\u002FSVR with kernel enum support and multiclass extensions.\n- Neighbors: KNN classification and regression with distance metrics and fast selection helpers.\n- Naive Bayes: Gaussian, Bernoulli, Categorical, Multinomial.\n- Preprocessing: encoders, split utilities, and common transforms.\n- Model selection and metrics: K-fold, search parameters, and evaluation utilities.\n\nRecent refactors emphasize reusable components in trees\u002Fforests and expanded multiclass SVM capabilities. XGBoost-style regression and single-linkage clustering have been added. See CHANGELOG for API changes and migration notes.\n\n## Data access and readers\n\n- CSV readers: Read matrices from CSV with configurable delimiter and header rows, with helpful error messages and testing utilities (including non-IO reader abstractions).\n- Dataset generators: make_blobs, make_circles, make_moons for quick experiments.\n- Built-in datasets (feature-gated): digits, diabetes, breast cancer, boston, with serialization utilities to persist or refresh .xy bundles.\n\n\n## WebAssembly and portability\n\nsmartcore adopts a WASM\u002FWASI-first posture in defaults to ease browser and embedded deployments. Some file-system operations are restricted in wasm targets; tests and IO utilities are structured to avoid unsupported calls where possible. Enable features like serde selectively to minimize footprint. Consult module-level docs and CHANGELOG for target-specific caveats.\n\n## Notebooks\n\nA curated set of Jupyter notebooks is available via the companion repository to explore smartcore interactively. To run locally, use EVCXR to enable Rust notebooks. This is the recommended path to quickly experiment with the v0.4 API.\n\n## Roadmap and recent changes\n\n- Trait-system refactor, fewer structs and more object-safe traits, large codebase reorganization.\n- Move to Rust 2021 edition and cleanup of duplicate code paths.\n- Seeds and deterministic controls across algorithms using RNG plumbing.\n- Search parameter API for hyperparameter exploration in K-Means and SVM families.\n- Tree and forest components refactored for reuse; Extra Trees added.\n- SVM multiclass support; SVR kernel enum and related improvements.\n- XGBoost-style regression introduced; single-linkage clustering implemented.\n\nSee CHANGELOG.md for precise details, deprecations, and breaking changes. Some features like nalgebra-bindings have been dropped in favor of ndarray-only paths. Default features are tuned for WASM\u002FWASI builds; enable serde\u002Fdatasets as needed.\n\n## Contributing\n\nContributions are welcome:\n\n- Open an issue describing the change and link it in the PR.\n- Keep PRs in sync with the development branch and ensure tests pass on stable Rust.\n- Provide or update tests; run clippy and apply formatting. Coverage and linting are part of the workflow.\n- Use the provided PR and issue templates to describe behavior changes, new features, and expectations.\n\nIf adding IO, prefer abstractions that make non-IO testing straightforward (see readers\u002Fiotesting). For datasets, keep serialization helpers in tests gated appropriately to avoid unintended file writes in wasm targets.\n\n## License\n\nsmartcore is open source under a permissive license; see Cargo.toml and LICENSE for details. The crate metadata identifies “smartcore Developers” as authors; community contributions are credited via Git history and releases.\n\n## Acknowledgments\n\nsmartcore’s design incorporates well-known ML patterns while staying idiomatic to Rust. Thanks to all contributors who have helped expand algorithms, improve docs, modernize traits, and harden the codebase for production.\n","\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fsmartcorelib.org\">\n    \u003Cimg src=\"smartcore.svg\" width=\"450\" alt=\"smartcore\">    \n  \u003C\u002Fa>  \n\u003C\u002Fp>\n\u003Cp align = \"center\">\n    \u003Cstrong>\n        \u003Ca href=\"https:\u002F\u002Fsmartcorelib.org\">用户指南\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fdocs.rs\u002Fsmartcore\u002F\">API\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore-jupyter\">笔记本\u003C\u002Fa>\n    \u003C\u002Fstrong>\n\u003C\u002Fp>\n\n-----\n\n\u003Cp align = \"center\">\n\u003Cb>Rust 中的机器学习 (Machine Learning)\u003C\u002Fb>\n\u003C\u002Fp>\n\n-----\n[![CI](https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Factions\u002Fworkflows\u002Fci.yml) [![DOI](https:\u002F\u002Fzenodo.org\u002Fbadge\u002FDOI\u002F10.5281\u002Fzenodo.17219259.svg)](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.17219259)\n\n为了开始熟悉新的 smartcore v0.4 API，现在有一个 [**Jupyter Notebook 环境仓库**](https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore-jupyter)。请查看那里的说明，欢迎贡献，参见 [CONTRIBUTING](.github\u002FCONTRIBUTING.md)。\n\nsmartcore 是一个快速、易用的 Rust 机器学习库，涵盖经典的监督和无监督方法，具有模块化线性代数抽象和可选的 ndarray 支持。它旨在提供适合生产的 API、强类型和良好的默认值，同时保持对研究和实验的灵活性。\n\n\n## 亮点\n\n- 广泛的算法覆盖：线性模型、基于树的方法、集成学习、SVM（支持向量机）、邻居、聚类、分解和预处理。\n- 强大的线性代数特质 (traits)，为偏好数组优先工作流的用户提供可选的 ndarray 集成。\n- WASM 优先默认设置，注重可移植性；serde 和数据集等功能为可选开启。\n- 实用的工具用于模型选择、评估、读取器（CSV）、数据集生成器和内置示例数据集。\n\n\n## 安装\n\n添加到 Cargo.toml：\n\n```toml\n[dependencies]\nsmartcore = \"^0.4.3\"\n```\n\n对于最新的开发分支：\n\n```toml\n[dependencies]\nsmartcore = { git = \"https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\", branch = \"development\" }\n```\n\n可选功能（示例）：\n\n- datasets\n- serde\n- ndarray-bindings（根据近期更改，已弃用以让位于仅 ndarray 支持）\n\n请检查 Cargo.toml 以获取可用功能和兼容性说明。\n\n## 快速开始\n\n这里是一个使用 DenseMatrix 从原生 Rust 向量拟合 KNN（K-近邻）分类器的最小示例：\n\n```rust\nuse smartcore::linalg::basic::matrix::DenseMatrix;\nuse smartcore::neighbors::knn_classifier::KNNClassifier;\n\n\u002F\u002F Turn vector slices into a matrix\nlet x = DenseMatrix::from_2d_array(&[\n    &[1., 2.],\n    &[3., 4.],\n    &[5., 6.],\n    &[7., 8.],\n    &[9., 10.],\n]).unwrap;\n\n\u002F\u002F Class labels\nlet y = vec![2, 2, 2, 3, 3];\n\n\u002F\u002F Train classifier\nlet knn = KNNClassifier::fit(&x, &y, Default::default()).unwrap();\n\n\u002F\u002F Predict\nlet yhat = knn.predict(&x).unwrap();\n```\n\n此示例对应于 crate 文档中的“第一个示例”部分，并展示了 smartcore 的易用 API 界面。\n\n## 算法\n\nsmartcore 将算法组织成清晰的模块，具有统一的特质 (traits)：\n\n- 聚类：K-Means, DBSCAN, 凝聚式（包括单链接），带有 K-Means++ 初始化和实用工具。\n- 矩阵分解：SVD, EVD, Cholesky, LU, QR，以及相关的线性代数辅助函数。\n- 线性模型：OLS, Ridge, Lasso, ElasticNet, Logistic Regression（逻辑回归）。\n- 集成和基于树的方法：随机森林（分类器和回归器），Extra Trees，跨树和森林的共享可重用组件。\n- SVM（支持向量机）：SVC\u002FSVR 带内核枚举支持和多类扩展。\n- 邻居：KNN 分类和回归，带距离度量和快速选择辅助函数。\n- 朴素贝叶斯：高斯型、伯努利型、类别型、多项式型。\n- 预处理：编码器、拆分工具和常见转换。\n- 模型选择和指标：K-fold（K 折）、搜索参数和评估工具。\n\n最近的强化强调树\u002F森林中的可重用组件和扩展的多类 SVM 能力。添加了 XGBoost 风格回归和单链接聚类。参见 CHANGELOG 了解 API 变更和迁移说明。\n\n## 数据访问和读取器\n\n- CSV 读取器：从 CSV 读取矩阵，支持可配置的定界符和标题行，带有友好的错误消息和测试工具（包括非 IO 读取器抽象）。\n- 数据集生成器：make_blobs, make_circles, make_moons 用于快速实验。\n- 内置数据集（功能门控）：digits, diabetes, breast cancer, boston，带有序列化实用工具以持久化或刷新 .xy bundles。\n\n\n## WebAssembly 和可移植性\n\nsmartcore 在默认设置中采用 WASM\u002FWASI 优先姿态，以简化浏览器和嵌入式部署。某些文件系统操作在 wasm 目标中受限；测试和 IO 工具的结构旨在尽可能避免不支持的调用。选择性启用 serde 等功能以最小化占用空间。查阅模块级文档和 CHANGELOG 以获取特定目标的注意事项。\n\n## 笔记本\n\n通过配套仓库提供一组精选的 Jupyter 笔记本，用于交互式探索 smartcore。要在本地运行，请使用 EVCXR 启用 Rust 笔记本。这是快速实验 v0.4 API 的推荐路径。\n\n## 路线图和近期变更\n\n- 特质系统重构，更少的结构体 (structs) 和更多的对象安全特质，大型代码库重组。\n- 移至 Rust 2021 版本并清理重复代码路径。\n- 使用 RNG（随机数生成器）机制在所有算法中使用种子和确定性控制。\n- 搜索参数 API 用于 K-Means 和 SVM 家族中的超参数 (hyperparameter) 探索。\n- 树和森林组件重构以实现重用；添加 Extra Trees。\n- SVM 多类支持；SVR 内核枚举及相关改进。\n- 引入 XGBoost 风格回归；实现单链接聚类。\n\n参见 CHANGELOG.md 获取精确细节、弃用和破坏性变更。像 nalgebra-bindings 这样的功能已被放弃，转而采用仅 ndarray 路径。默认功能针对 WASM\u002FWASI 构建进行了调整；根据需要启用 serde\u002Fdatasets。\n\n## 贡献\n\n欢迎贡献：\n\n- 打开一个描述变更的问题并在 PR 中链接它。\n- 保持 PR 与开发分支同步，并确保测试在稳定版 Rust 上通过。\n- 提供或更新测试；运行 clippy 并应用格式化。覆盖率和 linting 是工作流程的一部分。\n- 使用提供的 PR 和问题模板来描述行为变更、新功能及预期。\n\n如果添加 IO，首选使非 IO 测试直截了当的抽象（参见 readers\u002Fiotesting）。对于数据集，在测试中适当门控序列化辅助函数，以避免在 wasm 目标中意外写入文件。\n\n## 许可证\n\nsmartcore 在宽松许可证 (license) 下开源；详情见 Cargo.toml 和 LICENSE。crate 元数据标识“smartcore Developers”为作者；社区贡献通过 Git 历史和发布记录致谢。\n\n## 致谢\n\nsmartcore 的设计融合了众所周知的机器学习（ML）模式，同时保持地道的 Rust 风格。感谢所有贡献者，你们帮助扩展了算法、改进了文档、实现了 trait（特质）的现代化，并增强了代码库的健壮性以适用于生产环境。","# smartcore 快速上手指南\n\n**smartcore** 是一个面向 Rust 语言的高效、易用的机器学习库，涵盖经典监督与无监督学习方法，支持模块化线性代数抽象及可选的 ndarray 集成。\n\n## 1. 环境准备\n\n*   **操作系统**: Linux, macOS, Windows (支持跨平台部署)。\n*   **开发语言**: Rust。\n*   **版本要求**: 推荐使用 Rust 2021 Edition 或更高版本。\n*   **前置依赖**: 确保已安装 Rust 工具链（包含 `cargo` 和 `rustc`）。\n\n## 2. 安装步骤\n\n在您的 Rust 项目根目录下的 `Cargo.toml` 文件中添加 `smartcore` 依赖：\n\n```toml\n[dependencies]\nsmartcore = \"^0.4.3\"\n```\n\n如需使用最新开发分支，可使用以下配置：\n\n```toml\n[dependencies]\nsmartcore = { git = \"https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\", branch = \"development\" }\n```\n\n**可选功能特性**（按需启用）：\n*   `datasets`: 内置数据集支持\n*   `serde`: 序列化支持\n\n## 3. 基本使用\n\n以下示例演示了如何使用原生 Rust 向量配合 `DenseMatrix` 训练一个 KNN 分类器。\n\n```rust\nuse smartcore::linalg::basic::matrix::DenseMatrix;\nuse smartcore::neighbors::knn_classifier::KNNClassifier;\n\n\u002F\u002F 将向量切片转换为矩阵\nlet x = DenseMatrix::from_2d_array(&[\n    &[1., 2.],\n    &[3., 4.],\n    &[5., 6.],\n    &[7., 8.],\n    &[9., 10.],\n]).unwrap();\n\n\u002F\u002F 类别标签\nlet y = vec![2, 2, 2, 3, 3];\n\n\u002F\u002F 训练分类器\nlet knn = KNNClassifier::fit(&x, &y, Default::default()).unwrap();\n\n\u002F\u002F 预测\nlet yhat = knn.predict(&x).unwrap();\n```\n\n运行上述代码即可体验 smartcore 简洁的 API 接口。更多算法（如聚类、回归、SVM 等）可参考官方文档。","某金融科技公司正在开发基于 Rust 的高性能实时交易风控系统，需要集成机器学习模型进行欺诈检测。\n\n### 没有 smartcore 时\n- 必须依赖 Python 微服务处理模型推理，导致网络延迟高且增加了系统架构复杂度。\n- 需自行封装底层线性代数库，代码重复率高，难以保证数值计算的稳定性与精度。\n- 缺乏统一的 API 规范，不同算法间的接口不一致，大幅降低了模型迭代与实验的效率。\n- 生产环境部署需捆绑庞大的 Python 解释器及依赖包，容器镜像体积过大，启动缓慢。\n\n### 使用 smartcore 后\n- 直接在 Rust 中调用智能核心提供的分类器，消除了跨语言通信开销，推理速度显著提升。\n- 利用其强类型矩阵抽象与可选 ndarray 支持，编译期即可捕获类型错误，确保计算过程安全。\n- 内置丰富的预处理与评估模块，统一了从数据清洗到模型选择的开发流程，加速实验落地。\n- 编译为单一静态二进制文件，无需外部运行时依赖，极大优化了内存占用并简化了 CI\u002FCD 流程。\n\nsmartcore 让 Rust 开发者能够以原生方式构建高性能、可信赖的机器学习应用，彻底摆脱对 Python 生态的依赖。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsmartcorelib_smartcore_2fe81181.png","smartcorelib","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fsmartcorelib_532e23c4.png",null,"https:\u002F\u002Fgithub.com\u002Fsmartcorelib",[80],{"name":81,"color":82,"percentage":83},"Rust","#dea584",100,901,92,"2026-04-02T10:28:21","Apache-2.0","未说明",{"notes":90,"python":91,"dependencies":92},"本工具为 Rust 语言开发的机器学习库，非 Python 项目。安装需配置 Rust 环境（Cargo）。默认支持 WebAssembly 架构，部分功能（如数据集、序列化）需启用可选特性。推荐使用 Rust 2021 及以上版本。","不适用 (Rust 库)",[67,93],"ndarray",[13],[96,97,98,99,100,101,102,103,104,105,106],"machine-learning","machine-learning-algorithms","statistical-learning","statistical-models","rust","rust-lang","clustering","classification","regression","model-selection","scientific-computing","2026-03-27T02:49:30.150509","2026-04-06T05:15:45.588402",[110,115,119,124,128,133],{"id":111,"question_zh":112,"answer_zh":113,"source_url":114},2153,"Wasm 构建时遇到 `deserialize_data` 类型不匹配错误怎么办？","该问题已在开发分支修复。建议将 `Cargo.toml` 中的依赖指向开发分支或特定 commit hash。例如：`smartcore = { git = \"https:\u002F\u002Fgithub.com\u002Fproohit\u002Fsmartcore\", branch = \"development\" }`。或者使用特定 rev：`smartcore = { git = \"https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\", rev = \"1cf8c7941feeb514344678ddaf1073743ce49607\" }`。","https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fissues\u002F93",{"id":116,"question_zh":117,"answer_zh":118,"source_url":114},2154,"如何安装 SmartCore 的开发版本以获取最新功能？","可以通过 Cargo 指定 Git 仓库地址来安装。例如：`smartcore = { git = \"https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\", rev = \"1cf8c7941feeb514344678ddaf1073743ce49607\" }`。注意：如果有 Git 依赖，可能无法将项目发布到 crates.io。",{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},2155,"SmartCore 的随机森林（Random Forest）训练是否支持并行计算？","目前默认设计为单线程，以便在低功耗系统上运行。虽然树之间无依赖，理论上可并行，但官方尚未将其作为标准参数（如 `n_jobs`）集成。","https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fissues\u002F60",{"id":125,"question_zh":126,"answer_zh":127,"source_url":123},2156,"如何在 SmartCore 中手动实现随机森林树的并行训练？","可以使用 `rayon` 库将序列迭代器转换为并行迭代器。代码示例：`use rayon::prelude::*; let trees: Vec\u003CDecisionTreeRegressor> = (0..n_trees).into_par_iter().map(|_| DecisionTreeRegressor::fit(...)).collect();`。这可能涉及创建新包如 `smartcore-multithread`。",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},2157,"反序列化后的 SVC 和 SVR 模型为何无法执行推理？","序列化过程中因 `serde skip` 命令跳过了参数字段，导致反序列化后缺少必要信息。建议关注相关 Issue (#169)，或将 Kernel 字段替换为枚举并进行模式匹配。","https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fissues\u002F267",{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},2158,"在 Wasm 目标平台上如何处理随机数生成？","目前 `RealNumber::rand` 未实现，且部分外部 crate 不兼容 Wasm。建议考虑使用 `getrandom` 库，未来可能会引入更底层的实现以接近 `no_std` 环境。","https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fissues\u002F214",[139,144,149,154,159,164,169,174,179,184,189],{"id":140,"version":141,"summary_zh":142,"released_at":143},101626,"v0.4.10","## What's Changed\r\n* Update formatting command in CONTRIBUTING.md by @Mec-iS in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F359\r\n* added Jaccard distance by @skywardfire1 in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F358\r\n* in cover_tree.rs i64::MIN - 1 causes overflow. FIXED. by @skywardfire1 in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F361\r\n* predict_proba functionality for kNN. Small bugfix. More concise and e… by @skywardfire1 in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F362\r\n* XGBoost: Do not panic if a tree split is degenerate by @Dig-Doug in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F364\r\n\r\n## New Contributors\r\n* @skywardfire1 made their first contribution in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F358\r\n* @Dig-Doug made their first contribution in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F364\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fcompare\u002Fv0.4.9...v0.4.10","2026-04-02T10:29:28",{"id":145,"version":146,"summary_zh":147,"released_at":148},101627,"v0.4.9","## What's Changed\r\n* fix LASSO by @georeth in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F346\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fcompare\u002Fv0.4.8...v0.4.9","2026-01-09T06:16:22",{"id":150,"version":151,"summary_zh":152,"released_at":153},101628,"v0.4.8","## What's Changed\r\n* add serde support for XGRegressor by @cmmartin in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F337\r\n* fix precision and recall calculations by @cmmartin in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F338\r\n* V0.4.7 fix precision by @Mec-iS in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F339\r\n* fix CI by @Mec-iS in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F340\r\n* Modernise CI toolchain to avoid deprecation by @Mec-iS in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F341\r\n* Fix LASSO (first two of #342) by @georeth in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F343\r\n* add fit_intercept to LASSO by @georeth in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F344\r\n* v0.4.8 by @Mec-iS in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F345\r\n\r\n## New Contributors\r\n* @cmmartin made their first contribution in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F337\r\n* @georeth made their first contribution in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F343\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fcompare\u002Fv0.4.6...v0.4.8","2025-11-29T02:56:12",{"id":155,"version":156,"summary_zh":157,"released_at":158},101629,"v0.4.6","## What's Changed\r\n* Fix is_empty method logic in matrix.rs by @Mec-iS in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F336\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fcompare\u002Fv0.4.5...v0.4.6","2025-11-15T05:24:57",{"id":160,"version":161,"summary_zh":162,"released_at":163},101630,"v0.4.5","## What's Changed\r\n* Add with_top_k to CosineSimilarity by @Mec-iS in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F332\r\n* Update Cargo.toml by @Mec-iS in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F333\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fcompare\u002Fv0.4.4...v0.4.5","2025-10-09T16:38:36",{"id":165,"version":166,"summary_zh":167,"released_at":168},101631,"v0.4.3","## What's Changed\r\n* Implement cosine similarity and cosinepair by @Mec-iS in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F327\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fcompare\u002Fv0.4.2...v0.4.3","2025-09-28T14:21:23",{"id":170,"version":171,"summary_zh":172,"released_at":173},101632,"v0.4.2","* Multiclass SVC\r\n* Basic agglomerative clustering\r\n* new Decistion Trees implementations\r\n\r\n## What's Changed\r\n* Implement SVR and SVR kernels with Enum. Add tests for argsort_mut by @Mec-iS in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F303\r\n* implemented multiclass for svc by @DanielLacina in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F308\r\n* implemented single linkage clustering by @DanielLacina in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F313\r\n* implemented xgdboost_regression by @DanielLacina in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F314\r\n* refactored decision tree into reusable components by @DanielLacina in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F316\r\n* refactored random forest regressor into reusable compoennts by @DanielLacina in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F318\r\n* implemented extra trees by @DanielLacina in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F320\r\n\r\n## New Contributors\r\n* @DanielLacina made their first contribution in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F308\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fcompare\u002Fv0.4.1...v0.4.2","2025-07-15T15:16:26",{"id":175,"version":176,"summary_zh":177,"released_at":178},101633,"v0.4.1","## What's Changed\r\n* Implement predict_proba for DecisionTreeClassifier by @Mec-iS in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F287\r\n* Fix #245: return error for NaN in naive bayes by @Mec-iS in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F246\r\n* Update Cargo.toml by @morenol in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F299\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fcompare\u002Fv0.4.0...v0.4.1","2025-05-01T05:51:33",{"id":180,"version":181,"summary_zh":182,"released_at":183},101634,"v0.4.0","## What's Changed\r\n* Update arrays.rs by @rick68 in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F253\r\n* chore: fix clippy warnings from Rust release 1.69 by @morenol in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F263\r\n* Remove some allocations by @rubdos in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F262\r\n* Update itertools requirement from 0.10.5 to 0.11.0 by @dependabot in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F266\r\n* chore: update clippy lints by @morenol in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F272\r\n* Update itertools requirement from 0.11.0 to 0.12.0 by @dependabot in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F271\r\n* In Naive Bayes, avoid using `Option::unwrap` and so avoid panicking from NaN values by @corebreaker in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F274\r\n* Implement the feature importance for Decision Tree Classifier by @tushushu in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F275\r\n* chore: fix clippy by @morenol in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F276\r\n* Patch to version 0.4.0 by @Mec-iS in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F257\r\n* chore: fix clippy by @morenol in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F283\r\n* Update itertools requirement from 0.12.0 to 0.13.0 by @dependabot in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F280\r\n\r\n## New Contributors\r\n* @rick68 made their first contribution in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F253\r\n* @rubdos made their first contribution in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F262\r\n* @corebreaker made their first contribution in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F274\r\n* @tushushu made their first contribution in https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fpull\u002F275\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fsmartcorelib\u002Fsmartcore\u002Fcompare\u002Fv0.3.1...v0.4.0","2024-11-26T02:50:51",{"id":185,"version":186,"summary_zh":187,"released_at":188},101635,"v0.3.1","* Implement `realnum::rand`, now works with every target\r\n* Add missing arrays length checks in fitting methods","2023-03-20T14:57:05",{"id":190,"version":191,"summary_zh":192,"released_at":193},101636,"v0.3.0","## [0.3.0] - 2022-11-09 \r\n\r\n## Added\r\n- WARNING: Breaking changes!\r\n- Complete refactoring with **extensive API changes** that includes:\r\n    * moving to a new traits system, less structs more traits\r\n    * adapting all the modules to the new traits system\r\n    * moving to Rust 2021, use of object-safe traits and `as_ref`\r\n    * reorganization of the code base, eliminate duplicates\r\n- implements `readers` (needs \"serde\" feature) for read\u002Fwrite CSV file, extendible to other formats\r\n- default feature is now Wasm-\u002FWasi-first\r\n\r\n## Changed\r\n- WARNING: Breaking changes!\r\n- Seeds to multiple algorithims that depend on random number generation\r\n- Added a new parameter to `train_test_split` to define the seed\r\n- changed use of \"serde\" feature\r\n\r\n## Dropped\r\n- WARNING: Breaking changes!\r\n- Drop `nalgebra-bindings` feature, only `ndarray` as supported library","2022-11-08T16:38:05"]