[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-cstjean--ScikitLearn.jl":3,"tool-cstjean--ScikitLearn.jl":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":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":81,"owner_email":82,"owner_twitter":83,"owner_website":83,"owner_url":84,"languages":85,"stars":94,"forks":95,"last_commit_at":96,"license":97,"difficulty_score":23,"env_os":98,"env_gpu":99,"env_ram":99,"env_deps":100,"category_tags":109,"github_topics":110,"view_count":23,"oss_zip_url":83,"oss_zip_packed_at":83,"status":16,"created_at":113,"updated_at":114,"faqs":115,"releases":146},3009,"cstjean\u002FScikitLearn.jl","ScikitLearn.jl","Julia implementation of the scikit-learn API https:\u002F\u002Fcstjean.github.io\u002FScikitLearn.jl\u002Fdev\u002F","ScikitLearn.jl 是将 Python 中广受欢迎的机器学习库 scikit-learn 引入 Julia 语言的桥梁。它让熟悉 scikit-learn 的用户能在享受 Julia 高性能计算优势的同时，继续使用自己习惯的 API 接口和算法流程，无需重新学习新的框架语法。\n\n这一工具主要解决了语言迁移成本高和生态复用难的问题。通过统一的接口，用户既可以调用 Julia 原生生态系统中的约 150 种模型，也能直接通过 PyCall 无缝使用 Python 版 scikit-learn 的成熟算法。此外，它还完整支持数据管道（Pipelines）、交叉验证、超参数调优以及 DataFrame 数据处理等核心功能，极大简化了从原型开发到生产部署的工作流。\n\nScikitLearn.jl 特别适合已经掌握 scikit-learn 用法、希望尝试或迁移至 Julia 平台的数据科学家、研究人员及开发者。对于需要在保持代码风格一致性的前提下提升模型训练速度的团队，这是一个理想的过渡方案。虽然它并非 scikit-learn 官方项目的一部分，但凭借对原有文档和代码逻辑的高度还原，","ScikitLearn.jl 是将 Python 中广受欢迎的机器学习库 scikit-learn 引入 Julia 语言的桥梁。它让熟悉 scikit-learn 的用户能在享受 Julia 高性能计算优势的同时，继续使用自己习惯的 API 接口和算法流程，无需重新学习新的框架语法。\n\n这一工具主要解决了语言迁移成本高和生态复用难的问题。通过统一的接口，用户既可以调用 Julia 原生生态系统中的约 150 种模型，也能直接通过 PyCall 无缝使用 Python 版 scikit-learn 的成熟算法。此外，它还完整支持数据管道（Pipelines）、交叉验证、超参数调优以及 DataFrame 数据处理等核心功能，极大简化了从原型开发到生产部署的工作流。\n\nScikitLearn.jl 特别适合已经掌握 scikit-learn 用法、希望尝试或迁移至 Julia 平台的数据科学家、研究人员及开发者。对于需要在保持代码风格一致性的前提下提升模型训练速度的团队，这是一个理想的过渡方案。虽然它并非 scikit-learn 官方项目的一部分，但凭借对原有文档和代码逻辑的高度还原，为用户提供了平滑且高效的学习与使用体验。"," \u003Ca href=\".\u002Fexamples\u002FClassifier_Comparison_Julia.ipynb\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcstjean_ScikitLearn.jl_readme_ec3839bebe17.png\" alt=\"# Classifier Comparison (Julia classifiers)\" width=\"170\"> \u003C\u002Fa>  \u003Ca href=\".\u002Fexamples\u002FClustering_Comparison.ipynb\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcstjean_ScikitLearn.jl_readme_443499214d49.png\" alt=\"# Comparing different clustering algorithms on toy datasets\" width=\"170\"> \u003C\u002Fa>  \u003Ca href=\".\u002Fexamples\u002FDensity_Estimation_Julia.ipynb\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcstjean_ScikitLearn.jl_readme_12da0cf0c3ed.png\" alt=\"# Density Estimation for a mixture of Gaussians (using GaussianMixtures.jl)\" width=\"170\"> \u003C\u002Fa>  \u003Ca href=\".\u002Fexamples\u002FOutlier_Detection.ipynb\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcstjean_ScikitLearn.jl_readme_6e20bf20cf8c.png\" alt=\"# Outlier detection with several methods\" width=\"170\"> \u003C\u002Fa>  \u003Ca href=\".\u002Fexamples\u002FPlot_Kmeans_Digits.ipynb\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcstjean_ScikitLearn.jl_readme_00ac208c9c22.png\" alt=\"# A demo of K-Means clustering on the handwritten digits data\" width=\"170\"> \u003C\u002Fa>  \u003Ca href=\".\u002Fexamples\u002FRBM.ipynb\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcstjean_ScikitLearn.jl_readme_2327b68195c3.png\" alt=\"# Restricted Boltzmann Machine features for digit classification\" width=\"170\"> \u003C\u002Fa>  \u003Ca href=\".\u002Fexamples\u002FSimple_1D_Kernel_Density.ipynb\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcstjean_ScikitLearn.jl_readme_4fece683a1f6.png\" alt=\"# Simple 1D Kernel Density Estimation\" width=\"170\"> \u003C\u002Fa>  \u003Ca href=\".\u002Fexamples\u002FText_Feature_Extraction.ipynb\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcstjean_ScikitLearn.jl_readme_41b4ef13c8d4.png\" alt=\"# Sample pipeline for text feature extraction and evaluation\" width=\"170\"> \u003C\u002Fa>  \u003Ca href=\".\u002Fexamples\u002FTwo_Class_Adaboost.ipynb\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcstjean_ScikitLearn.jl_readme_62d29372eaca.png\" alt=\"# Two Class Adaboost\" width=\"170\"> \u003C\u002Fa>  \u003Ca href=\".\u002Fexamples\u002FUnderfitting_vs_Overfitting.ipynb\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcstjean_ScikitLearn.jl_readme_6b3ecd17acd2.png\" alt=\"# Underfitting vs. Overfitting\" width=\"170\"> \u003C\u002Fa>\n\n# ScikitLearn.jl\n[![Build Status](https:\u002F\u002Fgithub.com\u002Fcstjean\u002FScikitLearn.jl\u002Fworkflows\u002FCI\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fcstjean\u002FScikitLearn.jl\u002Factions)\n[![Stable](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-stable-blue.svg)](https:\u002F\u002Fcstjean.github.io\u002FScikitLearn.jl\u002Fdev\u002F)\n\n\nScikitLearn.jl implements the popular\n[scikit-learn](http:\u002F\u002Fscikit-learn.org\u002Fstable\u002F) interface and algorithms in\nJulia. It supports both models from the Julia ecosystem and those of the\n[scikit-learn library](http:\u002F\u002Fscikit-learn.org\u002Fstable\u002Fmodules\u002Fclasses.html)\n(via PyCall.jl).\n\nWould you rather use a machine-learning framework specially-designed for Julia? Check out [MLJ.jl](https:\u002F\u002Fgithub.com\u002Falan-turing-institute\u002FMLJ.jl), from the Alan Turing institute.\n\n**Disclaimer**: ScikitLearn.jl borrows code and documentation from\n[scikit-learn](http:\u002F\u002Fscikit-learn.org\u002Fstable\u002F), but *it is not an official part\nof that project*. It is licensed under [BSD-3](LICENSE).\n\nMain features:\n\n- Around 150 [Julia](https:\u002F\u002Fcstjean.github.io\u002FScikitLearn.jl\u002Fdev\u002Fman\u002Fmodels\u002F#Julia-models-1) and [Python](https:\u002F\u002Fcstjean.github.io\u002FScikitLearn.jl\u002Fdev\u002Fman\u002Fmodels\u002F#Python-models-1) models accessed through a uniform [interface](https:\u002F\u002Fcstjean.github.io\u002FScikitLearn.jl\u002Fdev\u002Fman\u002Fapi\u002F)\n- [Pipelines and FeatureUnions](https:\u002F\u002Fcstjean.github.io\u002FScikitLearn.jl\u002Fdev\u002Fman\u002Fpipelines\u002F)\n- [Cross-validation](https:\u002F\u002Fcstjean.github.io\u002FScikitLearn.jl\u002Fdev\u002Fman\u002Fcross_validation\u002F)\n- [Hyperparameter tuning](https:\u002F\u002Fcstjean.github.io\u002FScikitLearn.jl\u002Fdev\u002Fman\u002Fmodel_selection\u002F)\n- [DataFrames support](https:\u002F\u002Fcstjean.github.io\u002FScikitLearn.jl\u002Fdev\u002Fman\u002Fdataframes\u002F)\n\nCheck out the [Quick-Start\nGuide](https:\u002F\u002Fcstjean.github.io\u002FScikitLearn.jl\u002Fdev\u002Fman\u002Fquickstart\u002F) for a\ntour.\n\n## Installation\n\nTo install ScikitLearn.jl, type `]add ScikitLearn` at the REPL.\n\nTo import Python models (optional), ScikitLearn.jl requires [the scikit-learn Python library](https:\u002F\u002Fcstjean.github.io\u002FScikitLearn.jl\u002Fdev\u002Fman\u002Fmodels\u002F#Installation-and-importing-Python-models-1), which will be installed automatically when needed. Most of the examples use [PyPlot.jl](https:\u002F\u002Fgithub.com\u002Fstevengj\u002FPyPlot.jl)\n\n## Known issue\n\nOn Linux builds, importing python models via `@sk_import` is known to fail for Julia v\u003C0.8.4 when the `PYTHON` enviroment variable from `PyCall.jl` is set to `\"\"` or `conda`. This is becuase the version libstdcxx loaded by Julia v\u003C0.8.4 isn't compatible with the version of scikit-learn installed via Conda.\nThe easiest and recommended way to resolve this is to upgrade to Julia v>=1.8.4. If you must stick with your current julia version you can also resolve this issue by pre-appending your system's `LD_LIBRARY_PATH` enviroment variable as shown below\n```bash\nROOT_ENV=`julia -e \"using Conda; print(Conda.ROOTENV)`\nexport LD_LIBRARY_PATH=$ROOT_ENV\"\u002Flib\":$LD_LIBRARY_PATH\n```\n\n## Documentation\n\nSee the [manual](https:\u002F\u002Fcstjean.github.io\u002FScikitLearn.jl\u002Fdev\u002F) and\n[example gallery](docs\u002Fsrc\u002Fman\u002Fexamples.md).\n\n## Goal\n\nScikitLearn.jl aims for feature parity with scikit-learn. If you\nencounter any problem that is solved by that library but not this one, [file an\nissue](https:\u002F\u002Fgithub.com\u002Fcstjean\u002FScikitLearn.jl\u002Fissues).\n","\u003Ca href=\".\u002Fexamples\u002FClassifier_Comparison_Julia.ipynb\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcstjean_ScikitLearn.jl_readme_ec3839bebe17.png\" alt=\"# 分类器比较（Julia分类器）\" width=\"170\"> \u003C\u002Fa>  \u003Ca href=\".\u002Fexamples\u002FClustering_Comparison.ipynb\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcstjean_ScikitLearn.jl_readme_443499214d49.png\" alt=\"# 在玩具数据集上比较不同的聚类算法\" width=\"170\"> \u003C\u002Fa>  \u003Ca href=\".\u002Fexamples\u002FDensity_Estimation_Julia.ipynb\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcstjean_ScikitLearn.jl_readme_12da0cf0c3ed.png\" alt=\"# 高斯混合模型的密度估计（使用GaussianMixtures.jl）\" width=\"170\"> \u003C\u002Fa>  \u003Ca href=\".\u002Fexamples\u002FOutlier_Detection.ipynb\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcstjean_ScikitLearn.jl_readme_6e20bf20cf8c.png\" alt=\"# 使用多种方法进行异常值检测\" width=\"170\"> \u003C\u002Fa>  \u003Ca href=\".\u002Fexamples\u002FPlot_Kmeans_Digits.ipynb\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcstjean_ScikitLearn.jl_readme_00ac208c9c22.png\" alt=\"# 手写数字数据上的K均值聚类演示\" width=\"170\"> \u003C\u002Fa>  \u003Ca href=\".\u002Fexamples\u002FRBM.ipynb\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcstjean_ScikitLearn.jl_readme_2327b68195c3.png\" alt=\"# 用于数字分类的受限玻尔兹曼机特征\" width=\"170\"> \u003C\u002Fa>  \u003Ca href=\".\u002Fexamples\u002FSimple_1D_Kernel_Density.ipynb\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcstjean_ScikitLearn.jl_readme_4fece683a1f6.png\" alt=\"# 简单的一维核密度估计\" width=\"170\"> \u003C\u002Fa>  \u003Ca href=\".\u002Fexamples\u002FText_Feature_Extraction.ipynb\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcstjean_ScikitLearn.jl_readme_41b4ef13c8d4.png\" alt=\"# 文本特征提取与评估的示例流程\" width=\"170\"> \u003C\u002Fa>  \u003Ca href=\".\u002Fexamples\u002FTwo_Class_Adaboost.ipynb\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcstjean_ScikitLearn.jl_readme_62d29372eaca.png\" alt=\"# 两类Adaboost\" width=\"170\"> \u003C\u002Fa>  \u003Ca href=\".\u002Fexamples\u002FUnderfitting_vs_Overfitting.ipynb\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcstjean_ScikitLearn.jl_readme_6b3ecd17acd2.png\" alt=\"# 欠拟合与过拟合\" width=\"170\"> \u003C\u002Fa>\n\n# ScikitLearn.jl\n[![构建状态](https:\u002F\u002Fgithub.com\u002Fcstjean\u002FScikitLearn.jl\u002Fworkflows\u002FCI\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fcstjean\u002FScikitLearn.jl\u002Factions)\n[![稳定](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-stable-blue.svg)](https:\u002F\u002Fcstjean.github.io\u002FScikitLearn.jl\u002Fdev\u002F)\n\n\nScikitLearn.jl在Julia中实现了流行的\n[scikit-learn](http:\u002F\u002Fscikit-learn.org\u002Fstable\u002F)接口和算法。它既支持Julia生态系统中的模型，也支持\n[scikit-learn库](http:\u002F\u002Fscikit-learn.org\u002Fstable\u002Fmodules\u002Fclasses.html)中的模型\n（通过PyCall.jl实现）。\n\n如果您更倾向于使用专为Julia设计的机器学习框架，请查看来自艾伦·图灵研究所的[MLJ.jl](https:\u002F\u002Fgithub.com\u002Falan-turing-institute\u002FMLJ.jl)。\n\n**免责声明**: ScikitLearn.jl借鉴了\n[scikit-learn](http:\u002F\u002Fscikit-learn.org\u002Fstable\u002F)的代码和文档，但*它并非该项目的官方组成部分*。其许可证为[BSD-3](LICENSE)。\n\n主要特性：\n\n- 约150种[Julia](https:\u002F\u002Fcstjean.github.io\u002FScikitLearn.jl\u002Fdev\u002Fman\u002Fmodels\u002F#Julia-models-1)和[Python](https:\u002F\u002Fcstjean.github.io\u002FScikitLearn.jl\u002Fdev\u002Fman\u002Fmodels\u002F#Python-models-1)模型，可通过统一的[接口](https:\u002F\u002Fcstjean.github.io\u002FScikitLearn.jl\u002Fdev\u002Fman\u002Fapi\u002F)访问\n- [管道和特征联合](https:\u002F\u002Fcstjean.github.io\u002FScikitLearn.jl\u002Fdev\u002Fman\u002Fpipelines\u002F)\n- [交叉验证](https:\u002F\u002Fcstjean.github.io\u002FScikitLearn.jl\u002Fdev\u002Fman\u002Fcross_validation\u002F)\n- [超参数调优](https:\u002F\u002Fcstjean.github.io\u002FScikitLearn.jl\u002Fdev\u002Fman\u002Fmodel_selection\u002F)\n- [DataFrames支持](https:\u002F\u002Fcstjean.github.io\u002FScikitLearn.jl\u002Fdev\u002Fman\u002Fdataframes\u002F)\n\n请参阅[快速入门指南](https:\u002F\u002Fcstjean.github.io\u002FScikitLearn.jl\u002Fdev\u002Fman\u002Fquickstart\u002F)以获取概览。\n\n## 安装\n\n要安装ScikitLearn.jl，在REPL中输入`]add ScikitLearn`即可。\n\n若要导入Python模型（可选），ScikitLearn.jl需要[scikit-learn Python库](https:\u002F\u002Fcstjean.github.io\u002FScikitLearn.jl\u002Fdev\u002Fman\u002Fmodels\u002F#Installation-and-importing-Python-models-1)，该库将在需要时自动安装。大多数示例都使用了[PyPlot.jl](https:\u002F\u002Fgithub.com\u002Fstevengj\u002FPyPlot.jl)。\n\n## 已知问题\n\n在Linux系统上，当Julia版本低于0.8.4且PyCall.jl的`PYTHON`环境变量设置为`\"\"`或`conda`时，通过`@sk_import`导入Python模型可能会失败。这是因为Julia 0.8.4以下版本加载的libstdcxx版本与通过Conda安装的scikit-learn版本不兼容。\n解决此问题最简单且推荐的方法是升级到Julia 1.8.4或更高版本。如果您必须继续使用当前的Julia版本，也可以通过预先添加系统的`LD_LIBRARY_PATH`环境变量来解决问题，如下所示：\n```bash\nROOT_ENV=`julia -e \"using Conda; print(Conda.ROOTENV)`\nexport LD_LIBRARY_PATH=$ROOT_ENV\"\u002Flib\":$LD_LIBRARY_PATH\n```\n\n## 文档\n\n请参阅[手册](https:\u002F\u002Fcstjean.github.io\u002FScikitLearn.jl\u002Fdev\u002F)和\n[示例图库](docs\u002Fsrc\u002Fman\u002Fexamples.md)。\n\n## 目标\n\nScikitLearn.jl的目标是实现与scikit-learn的功能对等。如果您遇到scikit-learn可以解决但ScikitLearn.jl无法解决的问题，请[提交一个问题](https:\u002F\u002Fgithub.com\u002Fcstjean\u002FScikitLearn.jl\u002Fissues)。","# ScikitLearn.jl 快速上手指南\n\nScikitLearn.jl 是在 Julia 语言中实现流行 Python 库 scikit-learn 接口和算法的工具包。它支持直接调用 Julia 生态中的机器学习模型，也能通过 PyCall.jl 无缝使用 Python 的 scikit-learn 模型。\n\n## 环境准备\n\n*   **操作系统**：Windows, macOS, Linux\n*   **核心依赖**：Julia (推荐版本 ≥ 1.8.4)\n    *   *注意*：在 Linux 系统上，若使用低于 1.8.4 的 Julia 版本并通过 Conda 安装 Python 模型，可能会遇到兼容性问题。强烈建议升级至最新版 Julia 以避免配置麻烦。\n*   **可选依赖**：\n    *   **Python scikit-learn**：如需使用 Python 原生模型，系统将自动安装所需的 Python 库。\n    *   **PyPlot.jl**：大多数示例使用此包进行绘图可视化。\n\n## 安装步骤\n\n启动 Julia REPL（命令行交互界面），进入包管理模式并执行以下命令：\n\n```julia\n]add ScikitLearn\n```\n\n退出包管理模式（按 Backspace 键或输入 `Ctrl+C`），然后在 Julia 提示符下加载包：\n\n```julia\nusing ScikitLearn\n```\n\n> **提示**：首次导入时，如果需要调用 Python 模型，ScikitLearn.jl 会自动检测并安装对应的 Python scikit-learn 库，无需手动干预。\n\n## 基本使用\n\nScikitLearn.jl 的核心优势在于提供了与 Python scikit-learn 高度一致的 API。以下是使用内置 Julia 模型进行简单分类的示例：\n\n### 1. 导入模块与数据\n```julia\nusing ScikitLearn\n@sk_import datasets: load_iris\n@sk_import model_selection: train_test_split\n@sk_import linear_model: LogisticRegression\n@sk_import metrics: accuracy_score\n\n# 加载鸢尾花数据集\niris = load_iris()\nX, y = iris.data, iris.target\n\n# 划分训练集和测试集\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)\n```\n\n### 2. 定义、训练与预测\n```julia\n# 初始化模型 (此处使用 Julia 实现的逻辑回归)\nmodel = LogisticRegression()\n\n# 拟合数据 (训练)\nfit!(model, X_train, y_train)\n\n# 进行预测\ny_pred = predict(model, X_test)\n\n# 评估准确率\nprintln(\"Accuracy: \", accuracy_score(y_test, y_pred))\n```\n\n### 3. 使用管道 (Pipeline)\nScikitLearn.jl 同样支持构建数据处理流水线：\n\n```julia\n@sk_import pipeline: Pipeline\n@sk_import preprocessing: StandardScaler\n\n# 构建包含标准化和分类器的管道\npipe = Pipeline([(\"scaler\", StandardScaler()), (\"classifier\", LogisticRegression())])\n\n# 直接在管道上训练和预测\nfit!(pipe, X_train, y_train)\nscore = pipe.score(X_test, y_test)\nprintln(\"Pipeline Accuracy: \", score)\n```\n\n更多高级功能（如交叉验证、超参数调优、DataFrame 支持等）请参阅官方文档。","某量化交易团队正在构建高频金融时间序列预测系统，需要在 Julia 高性能计算环境中快速验证多种机器学习算法的效果。\n\n### 没有 ScikitLearn.jl 时\n- **生态割裂严重**：团队熟悉 Python 的 scikit-learn 接口，但在 Julia 中需重新学习不同库的 API，导致开发思维频繁切换。\n- **原型验证缓慢**：为了对比不同模型（如随机森林与 SVM），必须编写大量重复代码来适配各异的输入输出格式。\n- **流程繁琐易错**：缺乏统一的管道（Pipeline）机制，数据预处理、特征选择与模型训练步骤分散，难以进行端到端的交叉验证。\n- **性能与效率两难**：若直接调用 Python 库会丧失 Julia 的速度优势，若纯用 Julia 原生库又面临算法覆盖不全的问题。\n\n### 使用 ScikitLearn.jl 后\n- **无缝迁移经验**：直接复用团队熟悉的 scikit-learn API 风格，在 Julia 中调用约 150 种模型，无需额外学习成本。\n- **统一接口提效**：通过标准化接口轻松切换 Julia 原生模型与 Python 模型，几行代码即可完成多算法并行对比测试。\n- **流水线自动化**：利用内置的 Pipelines 和 FeatureUnions，将数据清洗至模型评估串联成单一对象，大幅简化超参数调优与交叉验证流程。\n- **兼顾速度与广度**：既享受了 Julia 的原生高性能计算加速，又能灵活调用成熟的 Python 算法库，完美平衡执行效率与模型丰富度。\n\nScikitLearn.jl 成功打破了语言壁垒，让团队能在 Julia 的高性能底座上，以最低的迁移成本实现工业级的机器学习工作流。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcstjean_ScikitLearn.jl_ec3839be.png","cstjean","Cédric St-Jean","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fcstjean_bfd6af19.jpg","Data scientist","Asahi Kasei","Tokyo","cedric.stjean@gmail.com",null,"https:\u002F\u002Fgithub.com\u002Fcstjean",[86,90],{"name":87,"color":88,"percentage":89},"Julia","#a270ba",60.7,{"name":91,"color":92,"percentage":93},"Jupyter Notebook","#DA5B0B",39.3,559,75,"2026-03-29T13:57:21","NOASSERTION","Linux, macOS, Windows","未说明",{"notes":101,"python":102,"dependencies":103},"该工具是 Julia 语言包。若在 Linux 上使用低于 v1.8.4 的 Julia 版本并通过 Conda 导入 Python 模型，可能会因 libstdc++ 版本不兼容而失败，建议升级 Julia 或手动配置 LD_LIBRARY_PATH 环境变量。大部分功能无需 GPU，主要依赖 Julia 生态系统及可选的 Python scikit-learn 库。","需安装 scikit-learn Python 库（具体版本未说明，由 PyCall.jl\u002FConda 自动管理）",[104,105,106,107,108],"Julia (推荐 v>=1.8.4)","PyCall.jl","scikit-learn (Python)","PyPlot.jl (示例常用)","GaussianMixtures.jl (部分示例)",[13],[111,112],"julia","machine-learning","2026-03-27T02:49:30.150509","2026-04-06T05:37:41.834970",[116,121,126,131,136,141],{"id":117,"question_zh":118,"answer_zh":119,"source_url":120},13869,"加载 ScikitLearn 包时出现预编译错误或语法错误怎么办？","这通常是因为版本不兼容。ScikitLearn.jl 需要较新版本的 DataFrames.jl（0.11+）。如果您使用的是旧版本或 master 分支，请尝试运行 `Pkg.free(\"ScikitLearn\")` 回退到稳定版，或者确保您的环境中安装了兼容版本的依赖包。对于 Julia 1.0 用户，可以直接运行 `Pkg.add(\"ScikitLearn\")` 安装已标记的稳定版本。","https:\u002F\u002Fgithub.com\u002Fcstjean\u002FScikitLearn.jl\u002Fissues\u002F44",{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},13870,"如何在 Julia 中保存和加载训练好的 ScikitLearn 模型？","由于 Python 的 pickle 无法直接序列化 Julia 包装的对象，直接使用 `pickle.dump` 会报错。解决方案是使用专门注册的 `PyCallJLD` 包。首先安装该包，然后利用它来保存和加载包含 Python 对象的 Julia 变量。注意：如果文件名中包含重音字符（如 \"faã\"），可能会遇到字符串转换问题，建议在预处理时使用 `strip_accents=\"ascii\"` 参数清洗数据。","https:\u002F\u002Fgithub.com\u002Fcstjean\u002FScikitLearn.jl\u002Fissues\u002F18",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},13871,"提示 'No module named sklearn' 但 Python 中已安装 scikit-learn 怎么办？","这通常是因为 Julia 调用的 Python 环境与系统默认环境不一致。Julia 通过 PyCall 包调用 Python，请确保 PyCall 配置正确指向了安装有 scikit-learn 的 Python 解释器。您可以尝试更新 PyCall 到最新版本，或者在 Julia 中重新配置 PyCall 使用的 Python 路径（例如使用 `ENV[\"PYTHON\"]` 指定路径后重新构建 PyCall）。","https:\u002F\u002Fgithub.com\u002Fcstjean\u002FScikitLearn.jl\u002Fissues\u002F4",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},13872,"如何处理多输出回归问题（例如输入是 N×3，输出是 N×12）？","原生的 DecisionTree.jl 可能不支持直接的多输出拟合。最简单的解决方案是直接调用底层的 scikit-learn Python 接口。使用宏 `@sk_import ensemble: RandomForestRegressor` 导入 Python 的随机森林回归器，它可以智能地处理多输出问题。您可以参考项目示例笔记本（Decision_Tree_Regression.ipnb）了解具体用法。","https:\u002F\u002Fgithub.com\u002Fcstjean\u002FScikitLearn.jl\u002Fissues\u002F3",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},13873,"运行时出现 FutureWarning 警告（如建议传递关键字参数）如何消除？","这是因为新版 scikit-learn 弃用了位置参数传参方式。解决方法是将参数改为关键字参数形式传递。例如，如果代码是 `SVC(10000.0, \"linear\")`，请修改为 `SVC(C=10000.0, kernel=\"linear\")`。明确指定参数名即可消除此类警告。","https:\u002F\u002Fgithub.com\u002Fcstjean\u002FScikitLearn.jl\u002Fissues\u002F94",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},13874,"预编译时出现关于 deprecated syntax（废弃语法）的警告如何修复？","这些警告通常源于代码中使用了旧版 Julia 的语法。例如，将 `[a=>b for (a,b) in c]` 改为 `Dict(a=>b for (a,b) in c)`，或将 `call(self::Type, ...)` 改为 `(self::Type)(...)`。维护者通常会在 master 分支修复这些问题，建议更新到最新的 master 分支版本：`Pkg.checkout(\"ScikitLearn\")` 或等待新版本发布。","https:\u002F\u002Fgithub.com\u002Fcstjean\u002FScikitLearn.jl\u002Fissues\u002F11",[147,152,157,162,167,172,177,182,187,192,196,200,205],{"id":148,"version":149,"summary_zh":150,"released_at":151},72834,"v0.7.0","## ScikitLearn v0.7.0\n\n[自 v0.6.6 以来的差异](https:\u002F\u002Fgithub.com\u002Fcstjean\u002FScikitLearn.jl\u002Fcompare\u002Fv0.6.6...v0.7.0)\n\n\n\n**已合并的拉取请求：**\n- 放宽边界限制 (#119) (@OkonSamuel)","2023-02-24T02:07:27",{"id":153,"version":154,"summary_zh":155,"released_at":156},72835,"v0.6.6","## ScikitLearn v0.6.6\n\n[与 v0.6.5 的差异](https:\u002F\u002Fgithub.com\u002Fcstjean\u002FScikitLearn.jl\u002Fcompare\u002Fv0.6.5...v0.6.6)\n\n\n**已关闭的问题：**\n- 如何在使用 @sk_import 时避免使用 Conda (#116)\n- 将 return_std 传递给 predict 方法 (#117)\n\n**已合并的拉取请求：**\n- Libstdcxx 补丁，移除 load_boston 示例 (#118) (@tylerjthomas9)","2022-12-21T16:13:38",{"id":158,"version":159,"summary_zh":160,"released_at":161},72836,"v0.6.5","## ScikitLearn v0.6.5\n\n[与 v0.6.4 的差异](https:\u002F\u002Fgithub.com\u002Fcstjean\u002FScikitLearn.jl\u002Fcompare\u002Fv0.6.4...v0.6.5)\n\n\n**已关闭的问题：**\n- 为什么报告错误？UndefVarError: fit! 未定义 (#95)\n- partial_fit! 函数无法正常工作 (#106)\n- ScikitLearn.fit!() 在 y_train 包含小数时出现问题 (#112)\n- Julia 中导入 `RandomForestRegressor` 时出现问题 (#113)\n\n**已合并的拉取请求：**\n- 更新 examples.md (#102) (@piotrek124-1)\n- CompatHelper：将 Compat 的兼容版本提升至 4（保留现有兼容性）(#111) (@github-actions[bot])\n- 添加来自 PythonCall 的 libstdcxx 补丁 (#114) (@tylerjthomas9)\n- 修复文档 CI (#115) (@tylerjthomas9)","2022-11-05T11:00:45",{"id":163,"version":164,"summary_zh":165,"released_at":166},72837,"v0.6.4","## ScikitLearn v0.6.4\n\n[与 v0.6.3 的差异](https:\u002F\u002Fgithub.com\u002Fcstjean\u002FScikitLearn.jl\u002Fcompare\u002Fv0.6.3...v0.6.4)\n\n\n**已关闭的问题：**\n- 如何不显示警告（FutureWarning）？(#94)\n\n**已合并的拉取请求：**\n- 允许使用 DataFrames.jl 1.0 (#96) (@bkamins)\n- 将 CI 迁移到 GitHub Actions (#98) (@giordano)\n- 提升版本号 (#100) (@giordano)","2021-06-09T07:24:34",{"id":168,"version":169,"summary_zh":170,"released_at":171},72838,"v0.6.3","## ScikitLearn v0.6.3\n\n[与 v0.6.2 的差异](https:\u002F\u002Fgithub.com\u002Fcstjean\u002FScikitLearn.jl\u002Fcompare\u002Fv0.6.2...v0.6.3)\n\n\n**已关闭的问题：**\n- 链接无法正常工作，文档已过时 (#85)\n- 在 Julia 中编写自定义估计器 (#87)\n- Julia 中安装 ScikitLearn 时出现错误 (#89)\n- 缺少官方网站 (#90)\n- ScikitLearn.jl 在 Pluto Notebook 中无法运行 (#91)\n\n**已合并的拉取请求：**\n- 升级 DataFrames 版本 (#92) (@ExpandingMan)","2020-12-04T19:10:52",{"id":173,"version":174,"summary_zh":175,"released_at":176},72839,"v0.6.2","## ScikitLearn v0.6.2\n\n[与 v0.6.1 的差异](https:\u002F\u002Fgithub.com\u002Fcstjean\u002FScikitLearn.jl\u002Fcompare\u002Fv0.6.1...v0.6.2)\n\n\n**已关闭的问题：**\n- Python Scikit-learn 版本号处理问题：例如 0.22.2.post1 (#67)\n- 测试在 macOS 上失败 (#75)\n- 在 Travis CI 中添加 DocumenterKey 环境变量，以启用文档部署 (#79)\n- 考虑移除对下游包的依赖 (#80)\n\n**已合并的拉取请求：**\n- 文档更新 (#76) (@OkonSamuel)\n- 使用 VersionParsing 处理 Python 版本号 (#77) (@stevengj)\n- 测试修复 (#78) (@OkonSamuel)\n- 依赖项修复 (#82) (@OkonSamuel)","2020-06-05T10:06:07",{"id":178,"version":179,"summary_zh":180,"released_at":181},72840,"v0.6.1","## ScikitLearn v0.6.1\n\n[与 v0.6.0 的差异](https:\u002F\u002Fgithub.com\u002Fcstjean\u002FScikitLearn.jl\u002Fcompare\u002Fv0.6.0...v0.6.1)\n\n\n**已关闭的问题：**\n- 注册 0.6.0 (#72)","2020-04-03T09:04:41",{"id":183,"version":184,"summary_zh":185,"released_at":186},72841,"v0.6.0","## ScikitLearn v0.6.0\n\n[与 v0.5.1 的差异](https:\u002F\u002Fgithub.com\u002Fcstjean\u002FScikitLearn.jl\u002Fcompare\u002Fv0.5.1...v0.6.0)\n\n\n**已关闭的问题：**\n- `getindex(o::PyObject, s::Symbol)` 已弃用 (#55)\n- PCA 维度错误 (#61)\n- 在未加载 ScikitLearn 的情况下导入 LabelEncoder (#62)\n- 问题：是否支持样本权重？(#64)\n- Python Scikit-learn 版本号问题：例如，0.22.2.post1 (#67)\n- 当前 Arch Linux 上的 python-scikit-learn 版本字符串无效 (#68)\n\n**已合并的拉取请求：**\n- 将 TagBot 作为 GitHub Action 安装 (#65) (@JuliaTagBot)\n- 更新 Project.toml (#69) (@OkonSamuel)\n- 修复 (#70) (@OkonSamuel)\n- 为 0.6.0 版本发布准备 (#73) (@OkonSamuel)","2020-04-02T16:04:45",{"id":188,"version":189,"summary_zh":190,"released_at":191},72842,"v0.5.1","## [v0.5.1](https:\u002F\u002Fgithub.com\u002Fcstjean\u002FScikitLearn.jl\u002Ftree\u002Fv0.5.1) (2019-07-11)\n\n[与 v0.5.0 的差异](https:\u002F\u002Fgithub.com\u002Fcstjean\u002FScikitLearn.jl\u002Fcompare\u002Fv0.5.0...v0.5.1)\n\n**已关闭的问题：**\n\n- Pycall 错误 (#56)\n- Pycall API 更新 (#52)\n- 获取拟合线性回归的系数 (#45)\n- 加载 ScikitLearn 时出错 (#44)\n- 与 Julia 0.7 的兼容性 (#43)\n\n**已合并的拉取请求：**\n\n- 准备发布 (#58) ([alexmorley](https:\u002F\u002Fgithub.com\u002Falexmorley))\n- 更新以使用新的 PyCall API (#53) ([alexmorley](https:\u002F\u002Fgithub.com\u002Falexmorley))\n- 更新 1.0 版本示例 (#51) ([PallHaraldsson](https:\u002F\u002Fgithub.com\u002FPallHaraldsson))\n- 修复 LinearRegression API (#49) ([ValdarT](https:\u002F\u002Fgithub.com\u002FValdarT))\n- 在线性回归中添加截距的计算 (#47) ([PastelBelem8](https:\u002F\u002Fgithub.com\u002FPastelBelem8))","2019-07-16T20:33:44",{"id":193,"version":194,"summary_zh":83,"released_at":195},72843,"v0.5.0","2018-09-03T19:13:52",{"id":197,"version":198,"summary_zh":83,"released_at":199},72844,"v0.4.0","2018-06-12T13:21:29",{"id":201,"version":202,"summary_zh":203,"released_at":204},72845,"v0.3.0","支持 0.6","2017-03-17T18:22:24",{"id":206,"version":207,"summary_zh":83,"released_at":208},72846,"v0.2.4","2017-02-16T03:33:04"]