[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-EdwardRaff--JSAT":3,"tool-EdwardRaff--JSAT":61},[4,18,26,36,44,52],{"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 真正成长为懂上",141543,2,"2026-04-06T11: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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,"2026-04-06T11:32:50",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":53,"name":54,"github_repo":55,"description_zh":56,"stars":57,"difficulty_score":10,"last_commit_at":58,"category_tags":59,"status":17},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[14,15,13,60],"视频",{"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":73,"owner_company":75,"owner_location":76,"owner_email":77,"owner_twitter":73,"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":96,"github_topics":97,"view_count":32,"oss_zip_url":73,"oss_zip_packed_at":73,"status":17,"created_at":105,"updated_at":106,"faqs":107,"releases":138},4415,"EdwardRaff\u002FJSAT","JSAT","Java Statistical Analysis Tool, a Java library for Machine Learning ","JSAT（Java Statistical Analysis Tool）是一款专为 Java 开发者打造的纯原生机器学习库，旨在帮助用户快速上手并解决各类统计分析问题。在 Java 生态中，成熟的机器学习工具相对稀缺，而 JSAT 填补了这一空白，提供了比知名工具 Weka 更优的执行速度，尤其适合处理中小规模的数据集。\n\n这款工具特别适合研究人员、计算机专业学生以及需要在项目中集成机器学习功能的 Java 工程师使用。其最大的技术亮点在于拥有极其丰富的算法集合，涵盖了众多前沿模型，且所有代码完全自包含，无需任何外部依赖，极大地简化了部署流程。此外，JSAT 原生支持并行执行，能够充分利用多核处理器提升计算效率。\n\n值得注意的是，JSAT 采用 GPL 3 开源协议，部分代码初衷也用于作者自我教育，因此结构清晰，非常适合希望深入理解算法内部实现的学习者。虽然目前项目更新节奏因作者攻读博士及健康原因有所放缓，但其核心功能稳定，社区依然活跃。如果你正在寻找一个轻量、高效且算法全面的 Java 机器学习方案，JSAT 是一个值得尝试的专业选择。","# Java Statistical Analysis Tool\n\n\u003Ca href='https:\u002F\u002Ftravis-ci.org\u002FEdwardRaff\u002FJSAT\u002Fbuilds'>\u003Cimg src='https:\u002F\u002Ftravis-ci.org\u002FEdwardRaff\u002FJSAT.svg?branch=master'>\u003C\u002Fa>\n\n\nJSAT is a library for quickly getting started with Machine Learning problems. It is developed in my free time, and made available for use under the GPL 3. Part of the library is for self education, as such - all code is self contained. JSAT has no external dependencies, and is pure Java. I also aim to make the library suitably fast for small to medium size problems. As such, much of the code supports parallel execution.\n\nThe current master branch of JSAT is going through a larger refactoring as JSAT moves to Java 8. This may cause some examples to break if used against the head version, but they should be fixible with minimal changes.\n\n## Get JSAT\n\nTher current release of JSAT is version 0.0.9, and supports Java 6. The current master branch is now Java 8+. \n\nYou can download JSAT from maven central, add the below to your pom file\n\n```xml\n\u003Cdependencies>\n  \u003Cdependency>\n    \u003CgroupId>com.edwardraff\u003C\u002FgroupId>\n    \u003CartifactId>JSAT\u003C\u002FartifactId>\n    \u003Cversion>0.0.9\u003C\u002Fversion>\n  \u003C\u002Fdependency>\n\u003C\u002Fdependencies>\n```\n\nIf you want to use the bleeding edge, but don't want to bother building yourself, I recommend you look at [jitpack.io](https:\u002F\u002Fjitpack.io\u002F#EdwardRaff\u002FJSAT). It can build a POM repo for you for any specific commit version. Click on \"Commits\" in the link and then click \"get it\" for the commit version you want. \n\nIf you want to read the javadoc's online, you can find them hosted [on my website here](http:\u002F\u002Fwww.edwardraff.com\u002Fjsat_docs\u002FJSAT-0.0.8-javadoc\u002F). \n\n## Why use JSAT? \n\nFor research and specialized needs, JSAT has one of the largest collections of algorithms available in any framework. See an incomplete list [here](https:\u002F\u002Fgithub.com\u002FEdwardRaff\u002FJSAT\u002Fwiki\u002FAlgorithms). \n\nAdditional, there are unfortunately not as many ML tools for Java as there are for other languages. Compared to Weka, JSAT is [usually faster](http:\u002F\u002Fjsatml.blogspot.com\u002F2015\u002F03\u002Fjsat-vs-weka-on-mnist.html). \n\nIf you want to use JSAT and the GPL is not something that will work for you, let me know and we can discuss the issue.\n\nSee the [wiki](https:\u002F\u002Fgithub.com\u002FEdwardRaff\u002FJSAT\u002Fwiki) for more information as well as some examples on how to use JSAT. \n\n## Note\n\nUpdates to JSAT may be slowed as I begin a PhD program in Computer Science. The project isn’t abandoned! I just have limited free time, and will be balancing my PhD work with a full time job. If you discover more hours in the day, please let me know! Development will be further slowed due to some health issues. I'll continue to try and be prompt on any bug reports and emails, but new features will be a bit slower. Please use the github issues first for contact. \n\n## Citations\n\nIf you use JSAT and find it helpful, citations are appreciated! Please cite the [JSAT paper](http:\u002F\u002Fwww.jmlr.org\u002Fpapers\u002Fv18\u002F16-131.html) published at JMLR. If you're feeling a little lazy, the bibtex is below:\n\n```\n@article{JMLR:v18:16-131,\nauthor = {Raff, Edward},\njournal = {Journal of Machine Learning Research},\nnumber = {23},\npages = {1--5},\ntitle = {JSAT: Java Statistical Analysis Tool, a Library for Machine Learning},\nurl = {http:\u002F\u002Fjmlr.org\u002Fpapers\u002Fv18\u002F16-131.html},\nvolume = {18},\nyear = {2017}\n}\n```\n","# Java 统计分析工具\n\n\u003Ca href='https:\u002F\u002Ftravis-ci.org\u002FEdwardRaff\u002FJSAT\u002Fbuilds'>\u003Cimg src='https:\u002F\u002Ftravis-ci.org\u002FEdwardRaff\u002FJSAT.svg?branch=master'>\u003C\u002Fa>\n\n\nJSAT 是一个用于快速入门机器学习问题的库。它是在我的业余时间开发的，并以 GPL 3 许可证开放使用。该库的一部分旨在用于自我学习，因此所有代码都是自包含的。JSAT 没有任何外部依赖，纯 Java 实现。我还致力于使该库在中小型问题上具有足够的速度，因此许多代码支持并行执行。\n\n目前 JSAT 的主分支正在进行较大的重构，以适配 Java 8。如果使用最新版本的代码，部分示例可能会出现错误，但通常只需进行少量修改即可修复。\n\n## 获取 JSAT\n\nJSAT 的当前发布版本是 0.0.9，支持 Java 6。而当前的主分支则已升级到 Java 8 及以上版本。\n\n您可以通过 Maven Central 下载 JSAT，只需将以下内容添加到您的 `pom.xml` 文件中：\n\n```xml\n\u003Cdependencies>\n  \u003Cdependency>\n    \u003CgroupId>com.edwardraff\u003C\u002FgroupId>\n    \u003CartifactId>JSAT\u003C\u002FartifactId>\n    \u003Cversion>0.0.9\u003C\u002Fversion>\n  \u003C\u002Fdependency>\n\u003C\u002Fdependencies>\n```\n\n如果您希望使用最新的开发版本，但又不想自己构建，建议您访问 [jitpack.io](https:\u002F\u002Fjitpack.io\u002F#EdwardRaff\u002FJSAT)。该平台可以为您为任意特定提交版本生成一个 POM 仓库。点击链接中的“Commits”，然后选择您需要的提交版本并点击“get it”即可。\n\n如果您想在线阅读 Javadoc 文档，可以在我的网站上找到：[这里](http:\u002F\u002Fwww.edwardraff.com\u002Fjsat_docs\u002FJSAT-0.0.8-javadoc\u002F)。\n\n## 为什么使用 JSAT？\n\n对于研究和专业需求，JSAT 拥有目前任何框架中数量最多的算法集合之一。不完整的算法列表请参见 [此处](https:\u002F\u002Fgithub.com\u002FEdwardRaff\u002FJSAT\u002Fwiki\u002FAlgorithms)。\n\n此外，遗憾的是，Java 生态系统中的机器学习工具相比其他语言要少得多。与 Weka 相比，JSAT 通常 [更快](http:\u002F\u002Fjsatml.blogspot.com\u002F2015\u002F03\u002Fjsat-vs-weka-on-mnist.html)。\n\n如果您希望使用 JSAT，但 GPL 许可证不适合您的情况，请随时与我联系，我们可以进一步讨论。\n\n更多详细信息以及如何使用 JSAT 的示例，请参阅 [Wiki](https:\u002F\u002Fgithub.com\u002FEdwardRaff\u002FJSAT\u002Fwiki)。\n\n## 注意事项\n\n随着我即将开始计算机科学博士项目，JSAT 的更新可能会有所放缓。不过请放心，项目并未被放弃！只是我的空闲时间有限，需要同时兼顾博士学业和全职工作。如果您觉得每天有更多时间，欢迎告知我！此外，由于一些健康问题，开发进度也会进一步减缓。我会尽力及时处理各类 Bug 报告和邮件，但新功能的推出可能会稍显缓慢。建议您优先通过 GitHub Issues 进行联系。\n\n## 引用\n\n如果您在工作中使用了 JSAT 并认为它有所帮助，请记得引用相关文献！请参考发表在 JMLR 上的 [JSAT 论文](http:\u002F\u002Fwww.jmlr.org\u002Fpapers\u002Fv18\u002F16-131.html)。如果您觉得麻烦，以下是 BibTeX 格式的引用：\n\n```\n@article{JMLR:v18:16-131,\nauthor = {Raff, Edward},\njournal = {Journal of Machine Learning Research},\nnumber = {23},\npages = {1--5},\ntitle = {JSAT: Java Statistical Analysis Tool, a Library for Machine Learning},\nurl = {http:\u002F\u002Fjmlr.org\u002Fpapers\u002Fv18\u002F16-131.html},\nvolume = {18},\nyear = {2017}\n}\n```","# JSAT 快速上手指南\n\nJSAT (Java Statistical Analysis Tool) 是一个纯 Java 编写的机器学习库，无需外部依赖，专注于中小规模数据的高效处理与并行计算。它提供了丰富的算法集合，且在许多场景下比 Weka 更快。\n\n## 环境准备\n\n*   **操作系统**：跨平台（Windows, Linux, macOS）\n*   **JDK 版本**：\n    *   **稳定版 (v0.0.9)**：要求 **Java 6** 及以上。\n    *   **开发版 (Master 分支)**：要求 **Java 8** 及以上（正在进行重构）。\n*   **构建工具**：Maven 或 Gradle（推荐 Maven）。\n*   **依赖**：无外部第三方依赖库。\n\n## 安装步骤\n\n### 方式一：通过 Maven Central 安装（推荐稳定版）\n\n在你的项目 `pom.xml` 文件的 `\u003Cdependencies>` 部分添加以下配置：\n\n```xml\n\u003Cdependencies>\n  \u003Cdependency>\n    \u003CgroupId>com.edwardraff\u003C\u002FgroupId>\n    \u003CartifactId>JSAT\u003C\u002FartifactId>\n    \u003Cversion>0.0.9\u003C\u002Fversion>\n  \u003C\u002Fdependency>\n\u003C\u002Fdependencies>\n```\n\n> **提示**：国内开发者若下载缓慢，可在 `settings.xml` 中配置阿里云 Maven 镜像加速。\n\n### 方式二：通过 JitPack 安装（最新开发版）\n\n如果你需要使用最新的 Commit 版本（基于 Java 8+），可以使用 JitPack。\n\n1.  在 `pom.xml` 中添加 JitPack 仓库：\n    ```xml\n    \u003Crepositories>\n        \u003Crepository>\n            \u003Cid>jitpack.io\u003C\u002Fid>\n            \u003Curl>https:\u002F\u002Fjitpack.io\u003C\u002Furl>\n        \u003C\u002Frepository>\n    \u003C\u002Frepositories>\n    ```\n\n2.  添加依赖（将 `{commit-hash}` 替换为你需要的具体提交哈希值）：\n    ```xml\n    \u003Cdependency>\n        \u003CgroupId>com.github.EdwardRaff\u003C\u002FgroupId>\n        \u003CartifactId>JSAT\u003C\u002FartifactId>\n        \u003Cversion>{commit-hash}\u003C\u002Fversion>\n    \u003C\u002Fdependency>\n    ```\n\n## 基本使用\n\nJSAT 的设计目标是代码自包含且易于上手。以下是一个最简单的分类器训练与预测示例流程。\n\n### 核心概念\nJSAT 的核心数据结构是 `Vec` (向量) 和 `DataSet` (数据集)。大多数算法实现了 `Classifier` 或 `Regressor` 接口。\n\n### 代码示例\n\n以下示例展示了如何创建一个简单的数据集，训练一个决策树分类器，并进行预测：\n\n```java\nimport jsat.classifiers.Classifier;\nimport jsat.classifiers.DataPoint;\nimport jsat.classifiers.bayes.NaiveBayes;\nimport jsat.dataVec.DataSet;\nimport jsat.dataVec.Vec;\nimport jsat.support.data.GenData;\n\npublic class QuickStart {\n    public static void main(String[] args) {\n        \u002F\u002F 1. 准备数据\n        \u002F\u002F 这里使用内置工具生成一些随机演示数据，实际使用中可从文件加载\n        DataSet trainData = GenData.generateLinearData(100, 5); \n        DataSet testData = GenData.generateLinearData(20, 5);\n\n        \u002F\u002F 2. 选择并初始化模型\n        \u002F\u002F JSAT 支持多种算法，例如 NaiveBayes, DecisionTree, SVM 等\n        Classifier classifier = new NaiveBayes();\n\n        \u002F\u002F 3. 训练模型\n        \u002F\u002F cloneAndTrain 会克隆模型并在当前线程训练（支持并行设置的算法会自动利用多核）\n        classifier = classifier.cloneAndTrain(trainData);\n\n        \u002F\u002F 4. 进行预测\n        for (int i = 0; i \u003C testData.size(); i++) {\n            DataPoint dp = testData.getDataPoint(i);\n            int trueLabel = testData.getCategoricalValue(i, 0);\n            \n            \u002F\u002F 预测类别\n            int predictedLabel = classifier.classify(dp);\n            \n            System.out.println(\"真实值：\" + trueLabel + \" | 预测值：\" + predictedLabel);\n        }\n        \n        \u002F\u002F 5. 评估准确率\n        double accuracy = classifier.accuracy(testData);\n        System.out.println(\"测试集准确率：\" + accuracy);\n    }\n}\n```\n\n### 下一步\n*   访问 [JSAT Wiki](https:\u002F\u002Fgithub.com\u002FEdwardRaff\u002FJSAT\u002Fwiki) 查看完整的算法列表和高级用法。\n*   在线查阅 [Javadoc 文档](http:\u002F\u002Fwww.edwardraff.com\u002Fjsat_docs\u002FJSAT-0.0.8-javadoc\u002F) 了解具体类的 API 细节。","某金融风控团队需要在纯 Java 遗留系统中快速集成机器学习模型，以实时检测信用卡交易欺诈。\n\n### 没有 JSAT 时\n- **依赖冲突频发**：引入其他主流 ML 库往往需要庞大的外部依赖树，导致与现有老旧系统的类库发生严重冲突，部署困难。\n- **运行性能瓶颈**：使用的传统工具（如 Weka）在处理中等规模交易数据时速度较慢，且难以利用多核 CPU 进行并行计算，无法满足实时性要求。\n- **算法选择受限**：Java 生态下开源的高阶算法较少，团队不得不通过 JNI 调用 Python 或 R 的库，增加了架构复杂度和维护成本。\n- **代码侵入性强**：部分解决方案需要复杂的配置或特定的运行时环境，破坏了原有系统“纯 Java、无外部依赖”的简洁架构。\n\n### 使用 JSAT 后\n- **零依赖无缝集成**：JSAT 是纯 Java 编写且无任何外部依赖，直接打包进项目即可运行，彻底解决了类库冲突问题。\n- **并行加速显著**：利用 JSAT 内置的并行执行支持，模型训练和预测速度大幅提升，轻松应对中小规模的实时流数据。\n- **算法库丰富多样**：直接调用 JSAT 提供的丰富算法集合（包括多种分类器和聚类算法），无需跨语言调用，简化了技术栈。\n- **轻量级自包含**：所有代码自包含且结构清晰，团队能快速阅读源码进行针对性优化，完美契合对代码可控性要求高的金融场景。\n\nJSAT 凭借其在纯 Java 环境下的高性能、零依赖及丰富算法特性，让金融团队在不重构架构的前提下实现了高效的实时风控建模。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEdwardRaff_JSAT_b66039d7.png","EdwardRaff",null,"https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FEdwardRaff_d0bc6308.jpg","Booz Allen Hamilton ","Columbia, MD","Raff.Edward@gmail.com","http:\u002F\u002Fwww.edwardraff.com\u002F","https:\u002F\u002Fgithub.com\u002FEdwardRaff",[81],{"name":82,"color":83,"percentage":84},"Java","#b07219",100,799,207,"2026-02-26T09:24:59","GPL-3.0",1,"","未说明",{"notes":93,"python":94,"dependencies":95},"该工具为纯 Java 库，无外部依赖。稳定版 (0.0.9) 支持 Java 6，主分支 (master) 需要 Java 8 及以上版本。代码支持并行执行以加速中小规模问题。许可证为 GPL 3。","不适用",[],[14],[98,99,100,101,102,103,104],"machine-learning","java","machine-learning-library","machine-learning-algorithms","svm","tsne","jsat","2026-03-27T02:49:30.150509","2026-04-06T21:08:59.063826",[108,113,118,123,128,133],{"id":109,"question_zh":110,"answer_zh":111,"source_url":112},20072,"运行单元测试时出现随机失败或结果不一致怎么办？","部分测试（如 KMeans、VP Tree 等）由于随机性可能在某些环境下偶尔失败。维护者已提交多次修复以提高测试可靠性。如果仍然遇到失败，可以尝试跳过测试直接构建项目，使用命令：mvn install -DskipTests。如果问题持续存在，建议拉取最新代码确认是否已修复。","https:\u002F\u002Fgithub.com\u002FEdwardRaff\u002FJSAT\u002Fissues\u002F4",{"id":114,"question_zh":115,"answer_zh":116,"source_url":117},20073,"在 Eclipse 中编译 JSAT 时遇到类型转换错误（Cannot cast from DataSet...）如何解决？","这是 Eclipse 编译器对泛型通配符处理的特定问题。解决方法有两种：1. 临时方案是在代码中使用“双重强制转换”，例如将 return (SimpleDataSet) load(...) 改为 return (SimpleDataSet) ((DataSet\u003C?>)load(...))；2. 永久方案是拉取项目最新代码，维护者已修改 load 方法的类型定义直接使用通配符，避免了该问题。","https:\u002F\u002Fgithub.com\u002FEdwardRaff\u002FJSAT\u002Fissues\u002F26",{"id":119,"question_zh":120,"answer_zh":121,"source_url":122},20074,"如何保存和加载训练好的 RandomForest 模型？","早期版本因 Parameter 类包含 Method 字段以及 RandomDecisionTree 缺少无参构造函数，导致 Java 原生序列化、FST 和 Kryo 序列化失败。维护者已修复此问题。用户现在可以直接使用 Java 序列化、Kryo 或 FST 来保存和加载模型。如果遇到旧版本问题，请克隆项目本地构建以安装最新的快照工件到本地 Maven 仓库，或更新到修复后的版本。","https:\u002F\u002Fgithub.com\u002FEdwardRaff\u002FJSAT\u002Fissues\u002F37",{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},20075,"进行降维（如 PCA 或 MutualInfoFS）后运行分类器时报 ArrayIndexOutOfBoundsException 错误怎么办？","该错误通常发生在降维后的数据集维度与分类器预期的维度不匹配时（例如访问了 max dimension + 1 的索引）。这通常是因为变换后的数据集未正确更新其维度元数据。请确保在使用 transform.applyTransform(dataSet) 后，后续使用的分类器能正确识别新的向量维度。如果问题依然存在，请检查是否使用了最新版本的库，因为此类边界情况已在后续更新中被修复。","https:\u002F\u002Fgithub.com\u002FEdwardRaff\u002FJSAT\u002Fissues\u002F27",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},20076,"构建项目时因单元测试失败导致 Maven 构建中断，如何跳过测试完成构建？","如果只是因为不稳定的单元测试导致构建失败，而你需要快速生成构建产物，可以在运行 Maven 命令时添加跳过测试的参数。具体命令为：mvn install -DskipTests。这将编译代码并安装构件，但不执行测试用例。","https:\u002F\u002Fgithub.com\u002FEdwardRaff\u002FJSAT\u002Fissues\u002F31",{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},20077,"在使用 Isomap 或 MDS 进行可视化变换时遇到 ArithmeticException: Can not add a value Infinity 错误怎么办？","该错误发生在矩阵运算中尝试添加无穷大值时，通常与特定数据集或 JDK 版本有关。维护者已针对 Oracle JDK 和 OpenJDK 修复了 VP Tree 相关的异常。如果遇到此错误，请首先拉取最新代码（pull from head），因为维护者已提交了修复补丁。如果问题依旧，请检查输入数据是否包含非法值或无穷大值。","https:\u002F\u002Fgithub.com\u002FEdwardRaff\u002FJSAT\u002Fissues\u002F17",[139,144,149,154,159,164,169,174,179],{"id":140,"version":141,"summary_zh":142,"released_at":143},118106,"0.0.9","这将是最后一个支持 Java 6 的版本。\n\n改进包括：\n* 一般性错误修复\n* 新增 Jaccard 距离\n* 针对类别不平衡问题的新 SMOTE 和 Borderline-SMOTE 算法\n* 用于通用（分类与回归）线性模型求解的新 SDCA 算法（带弹性网络正则化）\n* 增加了适用于 CSV、LIBSVM 和 JSATData 文件类型的 DataWriter 接口。这对于需要多个线程同时向文件写入数据的场景尤为有用。\n","2017-12-03T21:36:46",{"id":145,"version":146,"summary_zh":147,"released_at":148},118107,"0.0.8","本次发布提交数量不多，但内容却相当丰富！\r\n\r\n* 新增 CPM 分类器，这是一种与 AMM 类似、快速且非线性的方法。\r\n* 对多个向量集合\u002F度量空间进行了改进：\r\n  * 修复了 RBC 中的 bug\r\n  * KDTree 性能大幅提升\r\n  * VPMV 避免了最坏情况下的退化性能\r\n  * 多个集合现支持增量插入，并为此新增了相关接口\r\n  * 新增 CoverTree 算法\r\n* 引入 RandomUtil 工具类，便于获得一致的结果和可重复的实验。\r\n* 对 IntSet 进行了性能优化，原代码已移至新的 SortedIntSet 类中。\r\n* 修复了 HamerlyKMeans 中的 bug，并增强了边界检查。\r\n* 修复了 SOM 中的一个 bug。","2017-05-30T02:47:07",{"id":150,"version":151,"summary_zh":152,"released_at":153},118108,"0.0.7","- 新增 DC-SVM 和 SVMnoBias 类，可比以往更快地训练支持向量机！\n- 核 K 均值算法的速度得到提升\n- 对部分分布类进行了小幅改进\n- 单元测试的可靠性提高，并修复了一些 minor bug\n- API 现已支持聚类中的加权数据点。K 均值和核 K 均值算法初步支持利用这一功能\n","2017-01-06T20:32:07",{"id":155,"version":156,"summary_zh":157,"released_at":158},118109,"0.0.6","实现了新的聚类算法 HDBSCAN。\n新增了可视化算法 LargeViz。\n对大量测试用例的可靠性进行了改进，并修复了若干 bug。\n","2016-10-02T03:59:53",{"id":160,"version":161,"summary_zh":162,"released_at":163},118110,"0.0.5","- 改进了基于树的若干学习方法。决策树（及单层决策树）如今能够更好地并行化。此外，还新增了三种从树模型中推断特征重要性的方案，并将其应用到随机森林中，利用袋外数据来获得更准确的估计。\n- 新增了一种时间复杂度为 O(n^2) 的层次聚类算法，并对其 Lance–Williams 聚类对象进行了优化。\n- 提升了核化 K-means 的并行性。\n- 改进了文本构建器的相关文档。\n- 修复了一些 bug。","2016-05-31T02:56:09",{"id":165,"version":166,"summary_zh":167,"released_at":168},118111,"0.0.4","新版本包含多项错误修复。新增了归一化 AdaGrad 算法。最大的功能改进是 JSAT 现在支持缺失值。目前，只有决策桩、决策树和随机森林能够自然地处理缺失值。此外，还提供了一个填充器转换，您可以在数据预处理阶段先使用它来填补缺失值，然后再应用任何您喜欢的模型。","2016-03-02T05:16:41",{"id":170,"version":171,"summary_zh":172,"released_at":173},118112,"0.0.3","新版本发布，新增 VisualizationTransform 接口——用于专门针对高维数据集可视化的单向变换。内置流行的 TSNE（快速 Barnes-Hut 近似）、MDS 和 IsoMap 算法。同时新增 CSV 读写器，以及一种专为长期存储和性能优化设计的自定义二进制格式“JSATData”；其他数据加载器也进行了小幅改进。所有 GUI 代码已被移除，这将使在 Android 平台上使用更加便捷。此外，还对 Distribution 包中的多项功能进行了优化，并修复了若干 bug。\n","2015-12-27T05:56:48",{"id":175,"version":176,"summary_zh":177,"released_at":178},118113,"0.0.2","重大更新包括新增代码，便于向用于超参数调优的 GridSearch 中添加参数。同时，还新增了 RandomSearch 的对应实现。新版本还包含针对 L1 正则化目标的新通用批处理求解器 ModifiedOWLQN，以及多项错误修复。\n","2015-07-11T19:40:34",{"id":180,"version":181,"summary_zh":182,"released_at":183},118114,"0.0.1","JSAT 的首个正式版本。测试用例覆盖率大幅提升，并修复了多个缺陷。","2015-06-01T22:36:54"]