[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-EpistasisLab--pmlb":3,"tool-EpistasisLab--pmlb":65},[4,18,32,41,49,57],{"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":24,"last_commit_at":25,"category_tags":26,"status":17},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85267,2,"2026-04-18T11:00:28",[15,16,27,28,13,29,30,14,31],"视频","插件","其他","语言模型","音频",{"id":33,"name":34,"github_repo":35,"description_zh":36,"stars":37,"difficulty_score":38,"last_commit_at":39,"category_tags":40,"status":17},5784,"funNLP","fighting41love\u002FfunNLP","funNLP 是一个专为中文自然语言处理（NLP）打造的超级资源库，被誉为\"NLP 民工的乐园”。它并非单一的软件工具，而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。\n\n面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点，funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具，还独特地收录了丰富的垂直领域资源，如法律、医疗、金融行业的专用词库与数据集，甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性，从基础的字典词典到前沿的 BERT、GPT-2 模型代码，再到高质量的标注数据和竞赛方案，应有尽有。\n\n无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师，还是从事人工智能研究的学者，都能在这里找到急需的“武器弹药”。对于开发者而言，它能大幅减少寻找数据和复现模型的时间；对于研究者，它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神，极大地降低了中文自然语言处理的开发与研究成本，是中文 AI 社区不可或缺的宝藏仓库。",79857,1,"2026-04-08T20:11:31",[30,16,29],{"id":42,"name":43,"github_repo":44,"description_zh":45,"stars":46,"difficulty_score":38,"last_commit_at":47,"category_tags":48,"status":17},5773,"cs-video-courses","Developer-Y\u002Fcs-video-courses","cs-video-courses 是一个精心整理的计算机科学视频课程清单，旨在为自学者提供系统化的学习路径。它汇集了全球知名高校（如加州大学伯克利分校、新南威尔士大学等）的完整课程录像，涵盖从编程基础、数据结构与算法，到操作系统、分布式系统、数据库等核心领域，并深入延伸至人工智能、机器学习、量子计算及区块链等前沿方向。\n\n面对网络上零散且质量参差不齐的教学资源，cs-video-courses 解决了学习者难以找到成体系、高难度大学级别课程的痛点。该项目严格筛选内容，仅收录真正的大学层级课程，排除了碎片化的简短教程或商业广告，确保用户能接触到严谨的学术内容。\n\n这份清单特别适合希望夯实计算机基础的开发者、需要补充特定领域知识的研究人员，以及渴望像在校生一样系统学习计算机科学的自学者。其独特的技术亮点在于分类极其详尽，不仅包含传统的软件工程与网络安全，还细分了生成式 AI、大语言模型、计算生物学等新兴学科，并直接链接至官方视频播放列表，让用户能一站式获取高质量的教育资源，免费享受世界顶尖大学的课堂体验。",79792,"2026-04-08T22:03:59",[29,15,16,14],{"id":50,"name":51,"github_repo":52,"description_zh":53,"stars":54,"difficulty_score":10,"last_commit_at":55,"category_tags":56,"status":17},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",[13,15,14,30,29],{"id":58,"name":59,"github_repo":60,"description_zh":61,"stars":62,"difficulty_score":10,"last_commit_at":63,"category_tags":64,"status":17},519,"PaddleOCR","PaddlePaddle\u002FPaddleOCR","PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来，转换成计算机可读取的结构化数据，让机器真正“看懂”图文内容。\n\n面对海量纸质或电子文档，PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域，它扮演着连接图像与大型语言模型（LLM）的桥梁角色，能将视觉信息直接转化为文本输入，助力智能问答、文档分析等应用场景落地。\n\nPaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显：不仅支持全球 100 多种语言的识别，还能在 Windows、Linux、macOS 等多个系统上运行，并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目，PaddleOCR 既能满足快速集成的需求，也能支撑前沿的视觉语言研究，是处理文字识别任务的理想选择。",75872,"2026-04-18T10:54:57",[30,15,14,29],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":71,"readme_en":72,"readme_zh":73,"quickstart_zh":74,"use_case_zh":75,"hero_image_url":76,"owner_login":77,"owner_name":78,"owner_avatar_url":79,"owner_bio":80,"owner_company":81,"owner_location":81,"owner_email":82,"owner_twitter":81,"owner_website":83,"owner_url":84,"languages":85,"stars":106,"forks":107,"last_commit_at":108,"license":109,"difficulty_score":38,"env_os":110,"env_gpu":111,"env_ram":111,"env_deps":112,"category_tags":118,"github_topics":81,"view_count":24,"oss_zip_url":81,"oss_zip_packed_at":81,"status":17,"created_at":119,"updated_at":120,"faqs":121,"releases":147},9046,"EpistasisLab\u002Fpmlb","pmlb","PMLB: A large, curated repository of benchmark datasets for evaluating supervised machine learning algorithms.","pmlb 是一个专为评估和比较监督学习算法而打造的大型基准数据集仓库。它收录了涵盖二分类、多分类及回归任务的海量数据，特征类型丰富，包括连续值、有序值及各类离散变量，广泛适用于多种应用场景。\n\n在机器学习研究中，寻找高质量、格式统一且具代表性的数据集往往耗时费力，不同来源的数据清洗标准不一也增加了实验复现的难度。pmlb 有效解决了这一痛点，提供了一套经过精心整理、格式标准化的数据集，让研究人员能将精力集中在算法本身的性能对比上，而非数据预处理环节。\n\n这款工具特别适合机器学习研究人员、数据科学家以及算法开发者使用。无论是需要验证新模型的有效性，还是希望在公平环境下横向对比不同算法的表现，pmlb 都能提供坚实的数据支撑。\n\n其技术亮点在于便捷的 Python 封装库。用户只需通过简单的 pip 安装，即可调用 `fetch_data` 函数一键获取数据，支持直接返回 Pandas DataFrame 或适配 Scikit-learn 的 NumPy 数组格式。此外，它还内置了本地缓存机制以避免重复下载，并提供了按任务类型（分类或回归）筛选数据集的功能，极大地简化了基准测试流程，提升了","pmlb 是一个专为评估和比较监督学习算法而打造的大型基准数据集仓库。它收录了涵盖二分类、多分类及回归任务的海量数据，特征类型丰富，包括连续值、有序值及各类离散变量，广泛适用于多种应用场景。\n\n在机器学习研究中，寻找高质量、格式统一且具代表性的数据集往往耗时费力，不同来源的数据清洗标准不一也增加了实验复现的难度。pmlb 有效解决了这一痛点，提供了一套经过精心整理、格式标准化的数据集，让研究人员能将精力集中在算法本身的性能对比上，而非数据预处理环节。\n\n这款工具特别适合机器学习研究人员、数据科学家以及算法开发者使用。无论是需要验证新模型的有效性，还是希望在公平环境下横向对比不同算法的表现，pmlb 都能提供坚实的数据支撑。\n\n其技术亮点在于便捷的 Python 封装库。用户只需通过简单的 pip 安装，即可调用 `fetch_data` 函数一键获取数据，支持直接返回 Pandas DataFrame 或适配 Scikit-learn 的 NumPy 数组格式。此外，它还内置了本地缓存机制以避免重复下载，并提供了按任务类型（分类或回归）筛选数据集的功能，极大地简化了基准测试流程，提升了科研与开发效率。","# Penn Machine Learning Benchmarks\n\nThis repository contains the code and data for a large, curated set of benchmark datasets for evaluating and comparing supervised machine learning algorithms.\nThese data sets cover a broad range of applications, and include binary\u002Fmulti-class classification problems and regression problems, as well as combinations of categorical, ordinal, and continuous features.\n\nPlease go to our [home page](https:\u002F\u002Fepistasislab.github.io\u002Fpmlb\u002F) to interactively browse the datasets, vignette, and contribution guide!\n\n## Breaking changes in PMLB 1.0\n\n*This repository has been restructured, and several dataset names have been changed!*\n\nIf you have an older version of PMLB, we highly recommend you upgrade it to v1.0 for updated URLs and names of datasets:\n\n```\npip install pmlb --upgrade\n```\n\n## Datasets\n\nDatasets are tracked with Git Large File Storage (LFS).\nIf you would like to clone the entire repository, please [install and set up Git LFS](https:\u002F\u002Fgit-lfs.github.com\u002F) for your user account. \nAlternatively, you can download the `.zip` file from GitHub.\n\nAll data sets are stored in a common format:\n\n* First row is the column names\n* Each following row corresponds to one row of the data\n* The target column is named `target`\n* All columns are tab (`\\t`) separated\n* All files are compressed with `gzip` to conserve space\n\n![Dataset_Sizes](datasets\u002Fdataset_sizes.svg)\n\nThe [complete table](pmlb\u002Fall_summary_stats.tsv) of dataset characteristics is also available for download.\nPlease note, in our documentation, a feature is considered:\n* \"binary\" if it is of type integer and has 2 unique values (equivalent to pandas profiling's \"boolean\")\n* \"categorical\" if it is of type integer and has *more than* 2 unique values (equivalent to pandas profiling's \"categorical\")\n* \"continuous\" if it is of type float (equivalent to pandas profiling's \"numeric\").\n\n## Python wrapper\n\nFor easy access to the benchmark data sets, we have provided a Python wrapper named `pmlb`. The wrapper can be installed on Python via `pip`:\n\n```\npip install pmlb\n```\n\nand used in Python scripts as follows:\n\n```python\nfrom pmlb import fetch_data\n\n# Returns a pandas DataFrame\nadult_data = fetch_data('adult')\nprint(adult_data.describe())\n```\n\nThe `fetch_data` function has two additional parameters:\n* `return_X_y` (True\u002FFalse): Whether to return the data in scikit-learn format, with the features and labels stored in separate NumPy arrays.\n* `local_cache_dir` (string): The directory on your local machine to store the data files so you don't have to fetch them over the web again. By default, the wrapper does not use a local cache directory.\n\nFor example:\n\n```python\nfrom pmlb import fetch_data\n\n# Returns NumPy arrays\nadult_X, adult_y = fetch_data('adult', return_X_y=True, local_cache_dir='.\u002F')\nprint(adult_X)\nprint(adult_y)\n```\n\nYou can also list all of the available data sets as follows:\n\n```python\nfrom pmlb import dataset_names\n\nprint(dataset_names)\n```\n\nOr if you only want a list of available classification or regression datasets:\n\n```python\nfrom pmlb import classification_dataset_names, regression_dataset_names\n\nprint(classification_dataset_names)\nprint('')\nprint(regression_dataset_names)\n```\n\n## Example usage: Compare two classification algorithms with PMLB\n\nPMLB is designed to make it easy to benchmark machine learning algorithms against each other. Below is a Python code snippet showing the most basic way to use PMLB to compare two algorithms.\n\n```python\nfrom sklearn.linear_model import LogisticRegression\nfrom sklearn.naive_bayes import GaussianNB\nfrom sklearn.model_selection import train_test_split\n\nimport matplotlib.pyplot as plt\nimport seaborn as sb\n\nfrom pmlb import fetch_data, classification_dataset_names\n\nlogit_test_scores = []\ngnb_test_scores = []\n\nfor classification_dataset in classification_dataset_names:\n    X, y = fetch_data(classification_dataset, return_X_y=True)\n    train_X, test_X, train_y, test_y = train_test_split(X, y)\n\n    logit = LogisticRegression()\n    gnb = GaussianNB()\n\n    logit.fit(train_X, train_y)\n    gnb.fit(train_X, train_y)\n\n    logit_test_scores.append(logit.score(test_X, test_y))\n    gnb_test_scores.append(gnb.score(test_X, test_y))\n\nsb.boxplot(data=[logit_test_scores, gnb_test_scores], notch=True)\nplt.xticks([0, 1], ['LogisticRegression', 'GaussianNB'])\nplt.ylabel('Test Accuracy')\n```\n\n## Contributing\n\nSee our [Contributing Guide](https:\u002F\u002Fepistasislab.github.io\u002Fpmlb\u002Fcontributing.html). \nWe're looking for help with documentation, and also appreciate new dataset and functionality contributions.\n\n## Citing PMLB\n\nIf you use PMLB in a scientific publication, please consider citing one of the following papers:\n\nJoseph D. Romano, Le, Trang T., William La Cava, John T. Gregg, Daniel J. Goldberg, Praneel Chakraborty, Natasha L. Ray, Daniel Himmelstein, Weixuan Fu, and Jason H. Moore.\n[PMLB v1.0: an open source dataset collection for benchmarking machine learning methods](https:\u002F\u002Farxiv.org\u002Fabs\u002F2012.00058).\n_arXiv preprint arXiv:2012.00058_ (2020).\n\n```bibtex\n@article{romano2021pmlb,\n  title={PMLB v1.0: an open source dataset collection for benchmarking machine learning methods},\n  author={Romano, Joseph D and Le, Trang T and La Cava, William and Gregg, John T and Goldberg, Daniel J and Chakraborty, Praneel and Ray, Natasha L and Himmelstein, Daniel and Fu, Weixuan and Moore, Jason H},\n  journal={arXiv preprint arXiv:2012.00058v2},\n  year={2021}\n}\n```\n\nRandal S. Olson, William La Cava, Patryk Orzechowski, Ryan J. Urbanowicz, and Jason H. Moore (2017). [PMLB: a large benchmark suite for machine learning evaluation and comparison](https:\u002F\u002Fbiodatamining.biomedcentral.com\u002Farticles\u002F10.1186\u002Fs13040-017-0154-4). *BioData Mining* **10**, page 36.\n\nBibTeX entry:\n\n```bibtex\n@article{Olson2017PMLB,\n    author=\"Olson, Randal S. and La Cava, William and Orzechowski, Patryk and Urbanowicz, Ryan J. and Moore, Jason H.\",\n    title=\"PMLB: a large benchmark suite for machine learning evaluation and comparison\",\n    journal=\"BioData Mining\",\n    year=\"2017\",\n    month=\"Dec\",\n    day=\"11\",\n    volume=\"10\",\n    number=\"1\",\n    pages=\"36\",\n    issn=\"1756-0381\",\n    doi=\"10.1186\u002Fs13040-017-0154-4\",\n    url=\"https:\u002F\u002Fdoi.org\u002F10.1186\u002Fs13040-017-0154-4\"\n}\n```\n\n## Support for PMLB\n\nPMLB was developed in the [Computational Genetics Lab](http:\u002F\u002Fepistasis.org\u002F) at the [University of Pennsylvania](https:\u002F\u002Fwww.upenn.edu\u002F) with funding from the [NIH](http:\u002F\u002Fwww.nih.gov\u002F) under grant AI117694, LM010098 and LM012601. We are incredibly grateful for the support of the NIH and the University of Pennsylvania during the development of this project.\n","# 宾夕法尼亚大学机器学习基准测试集\n\n本仓库包含用于评估和比较监督学习算法的一组大型、精心 curated 的基准数据集的代码和数据。这些数据集涵盖了广泛的应用场景，包括二分类\u002F多分类问题和回归问题，以及类别型、有序型和连续型特征的组合。\n\n请访问我们的[主页](https:\u002F\u002Fepistasislab.github.io\u002Fpmlb\u002F)，以交互式方式浏览数据集、简要说明文档和贡献指南！\n\n## PMLB 1.0 中的重大变更\n\n*本仓库已进行重构，多个数据集名称已被更改！*\n\n如果您使用的是旧版本的 PMLB，我们强烈建议您将其升级至 v1.0，以获得更新的数据集 URL 和名称：\n\n```\npip install pmlb --upgrade\n```\n\n## 数据集\n\n数据集通过 Git 大文件存储（LFS）进行管理。如果您希望克隆整个仓库，请为您的用户账户[安装并设置 Git LFS](https:\u002F\u002Fgit-lfs.github.com\u002F)。或者，您也可以从 GitHub 下载 `.zip` 文件。\n\n所有数据集均采用通用格式：\n\n* 第一行是列名\n* 每一行对应数据集中的一条记录\n* 目标列名为 `target`\n* 所有列以制表符 (`\\t`) 分隔\n* 所有文件均使用 `gzip` 压缩以节省空间\n\n![Dataset_Sizes](datasets\u002Fdataset_sizes.svg)\n\n数据集特征的[完整表格](pmlb\u002Fall_summary_stats.tsv)也可供下载。请注意，在我们的文档中，特征被定义为：\n* “二值”：如果特征为整数类型且仅有 2 个唯一值（等同于 pandas profiling 中的“布尔型”）\n* “类别”：如果特征为整数类型且具有 *超过* 2 个唯一值（等同于 pandas profiling 中的“类别型”）\n* “连续”：如果特征为浮点数类型（等同于 pandas profiling 中的“数值型”）\n\n## Python 封装库\n\n为了方便访问基准数据集，我们提供了一个名为 `pmlb` 的 Python 封装库。该库可通过 `pip` 安装到 Python 环境中：\n\n```\npip install pmlb\n```\n\n并在 Python 脚本中按如下方式使用：\n\n```python\nfrom pmlb import fetch_data\n\n# 返回一个 pandas DataFrame\nadult_data = fetch_data('adult')\nprint(adult_data.describe())\n```\n\n`fetch_data` 函数还有两个附加参数：\n* `return_X_y`（True\u002FFalse）：是否以 scikit-learn 格式返回数据，即特征和标签分别存储在独立的 NumPy 数组中。\n* `local_cache_dir`（字符串）：本地机器上用于存储数据文件的目录，以便无需再次从网络下载。默认情况下，封装库不使用本地缓存目录。\n\n例如：\n\n```python\nfrom pmlb import fetch_data\n\n# 返回 NumPy 数组\nadult_X, adult_y = fetch_data('adult', return_X_y=True, local_cache_dir='.\u002F')\nprint(adult_X)\nprint(adult_y)\n```\n\n您还可以列出所有可用的数据集：\n\n```python\nfrom pmlb import dataset_names\n\nprint(dataset_names)\n```\n\n或者，如果您只想获取分类或回归数据集的列表：\n\n```python\nfrom pmlb import classification_dataset_names, regression_dataset_names\n\nprint(classification_dataset_names)\nprint('')\nprint(regression_dataset_names)\n```\n\n## 使用示例：利用 PMLB 比较两种分类算法\n\nPMLB 的设计宗旨是便于对机器学习算法进行基准测试和相互比较。以下是一个 Python 代码片段，展示了使用 PMLB 比较两种算法的最基本方法。\n\n```python\nfrom sklearn.linear_model import LogisticRegression\nfrom sklearn.naive_bayes import GaussianNB\nfrom sklearn.model_selection import train_test_split\n\nimport matplotlib.pyplot as plt\nimport seaborn as sb\n\nfrom pmlb import fetch_data, classification_dataset_names\n\nlogit_test_scores = []\ngnb_test_scores = []\n\nfor classification_dataset in classification_dataset_names:\n    X, y = fetch_data(classification_dataset, return_X_y=True)\n    train_X, test_X, train_y, test_y = train_test_split(X, y)\n\n    logit = LogisticRegression()\n    gnb = GaussianNB()\n\n    logit.fit(train_X, train_y)\n    gnb.fit(train_X, train_y)\n\n    logit_test_scores.append(logit.score(test_X, test_y))\n    gnb_test_scores.append(gnb.score(test_X, test_y))\n\nsb.boxplot(data=[logit_test_scores, gnb_test_scores], notch=True)\nplt.xticks([0, 1], ['LogisticRegression', 'GaussianNB'])\nplt.ylabel('测试准确率')\n```\n\n## 贡献说明\n\n请参阅我们的[贡献指南](https:\u002F\u002Fepistasislab.github.io\u002Fpmlb\u002Fcontributing.html)。我们欢迎对文档的支持，并非常感谢新数据集和功能的贡献。\n\n## 引用 PMLB\n\n如果您在科学出版物中使用了 PMLB，请考虑引用以下论文之一：\n\nJoseph D. Romano, Le, Trang T., William La Cava, John T. Gregg, Daniel J. Goldberg, Praneel Chakraborty, Natasha L. Ray, Daniel Himmelstein, Weixuan Fu, and Jason H. Moore.\n[PMLB v1.0：用于基准测试机器学习方法的开源数据集集合](https:\u002F\u002Farxiv.org\u002Fabs\u002F2012.00058)。\n_arXiv 预印本 arXiv:2012.00058_（2020 年）。\n\n```bibtex\n@article{romano2021pmlb,\n  title={PMLB v1.0: an open source dataset collection for benchmarking machine learning methods},\n  author={Romano, Joseph D and Le, Trang T and La Cava, William and Gregg, John T and Goldberg, Daniel J and Chakraborty, Praneel and Ray, Natasha L and Himmelstein, Daniel and Fu, Weixuan and Moore, Jason H},\n  journal={arXiv preprint arXiv:2012.00058v2},\n  year={2021}\n}\n```\n\nRandal S. Olson, William La Cava, Patryk Orzechowski, Ryan J. Urbanowicz, and Jason H. Moore（2017 年）。[PMLB：用于机器学习评估和比较的大型基准测试套件](https:\u002F\u002Fbiodatamining.biomedcentral.com\u002Farticles\u002F10.1186\u002Fs13040-017-0154-4)。*BioData Mining* **10**，第 36 页。\n\nBibTeX 条目：\n\n```bibtex\n@article{Olson2017PMLB,\n    author=\"Olson, Randal S. and La Cava, William and Orzechowski, Patryk and Urbanowicz, Ryan J. and Moore, Jason H.\",\n    title=\"PMLB: a large benchmark suite for machine learning evaluation and comparison\",\n    journal=\"BioData Mining\",\n    year=\"2017\",\n    month=\"Dec\",\n    day=\"11\",\n    volume=\"10\",\n    number=\"1\",\n    pages=\"36\",\n    issn=\"1756-0381\",\n    doi=\"10.1186\u002Fs13040-017-0154-4\",\n    url=\"https:\u002F\u002Fdoi.org\u002F10.1186\u002Fs13040-017-0154-4\"\n}\n```\n\n## PMLB 的支持\n\nPMLB 由 [宾夕法尼亚大学](https:\u002F\u002Fwww.upenn.edu\u002F) 的 [计算遗传学实验室](http:\u002F\u002Fepistasis.org\u002F) 在 [美国国立卫生研究院](http:\u002F\u002Fwww.nih.gov\u002F) 的资助下开发，资助项目编号为 AI117694、LM010098 和 LM012601。我们对 NIH 和宾夕法尼亚大学在本项目开发过程中的大力支持深表感激。","# PMLB 快速上手指南\n\nPMLB (Penn Machine Learning Benchmarks) 是一个用于评估和比较监督学习算法的大型基准数据集集合。它涵盖了分类（二分类\u002F多分类）和回归问题，包含多种特征类型。\n\n## 环境准备\n\n*   **操作系统**：Linux, macOS, Windows\n*   **Python 版本**：建议 Python 3.6 及以上\n*   **前置依赖**：\n    *   `pandas` (用于数据处理)\n    *   `numpy` (用于数值计算)\n    *   `scikit-learn` (如果使用 `return_X_y=True` 或进行模型训练)\n    *   `git-lfs` (仅当需要手动克隆整个仓库时必需，使用 pip 安装则不需要)\n\n## 安装步骤\n\n推荐使用 pip 进行安装。国内开发者建议使用清华源或阿里源以加速下载。\n\n```bash\npip install pmlb -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n> **注意**：如果您之前安装过旧版本的 PMLB，请执行升级命令以获取最新的数据集名称和 URL：\n> ```bash\n> pip install pmlb --upgrade -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n> ```\n\n## 基本使用\n\n### 1. 加载数据集 (DataFrame 格式)\n\n最简单的用法是直接获取一个 pandas DataFrame。以下示例加载著名的 \"adult\" 数据集：\n\n```python\nfrom pmlb import fetch_data\n\n# 返回 pandas DataFrame\nadult_data = fetch_data('adult')\nprint(adult_data.describe())\n```\n\n### 2. 加载数据集 (Scikit-learn 格式)\n\n若需直接用于机器学习模型训练，可设置 `return_X_y=True` 获取分离的特征矩阵和标签数组，并指定本地缓存目录避免重复下载：\n\n```python\nfrom pmlb import fetch_data\n\n# 返回 NumPy 数组 (X, y)\nadult_X, adult_y = fetch_data('adult', return_X_y=True, local_cache_dir='.\u002Fcache')\nprint(adult_X.shape)\nprint(adult_y.shape)\n```\n\n### 3. 查看可用数据集\n\n您可以列出所有可用的数据集，或分别查看分类和回归任务的数据集列表：\n\n```python\nfrom pmlb import dataset_names, classification_dataset_names, regression_dataset_names\n\n# 查看所有数据集\nprint(dataset_names)\n\n# 查看分类数据集\nprint(classification_dataset_names)\n\n# 查看回归数据集\nprint(regression_dataset_names)\n```\n\n### 4. 快速基准测试示例\n\n以下代码演示了如何在多个分类数据集上对比逻辑回归和高斯朴素贝叶斯两个算法：\n\n```python\nfrom sklearn.linear_model import LogisticRegression\nfrom sklearn.naive_bayes import GaussianNB\nfrom sklearn.model_selection import train_test_split\nfrom pmlb import fetch_data, classification_dataset_names\n\nlogit_scores = []\ngnb_scores = []\n\n# 遍历前 5 个分类数据集作为示例 (完整测试可移除切片操作)\nfor name in classification_dataset_names[:5]:\n    X, y = fetch_data(name, return_X_y=True)\n    train_X, test_X, train_y, test_y = train_test_split(X, y, random_state=42)\n\n    # 训练模型\n    logit = LogisticRegression(max_iter=1000)\n    gnb = GaussianNB()\n    \n    logit.fit(train_X, train_y)\n    gnb.fit(train_X, train_y)\n\n    # 记录准确率\n    logit_scores.append(logit.score(test_X, test_y))\n    gnb_scores.append(gnb.score(test_X, test_y))\n\nprint(f\"Logistic Regression Avg Accuracy: {sum(logit_scores)\u002Flen(logit_scores):.4f}\")\nprint(f\"GaussianNB Avg Accuracy: {sum(gnb_scores)\u002Flen(gnb_scores):.4f}\")\n```","某算法团队正在研发新一代自动机器学习（AutoML）框架，急需在发布前对内部集成的数十种分类与回归模型进行大规模、多维度的性能基准测试。\n\n### 没有 pmlb 时\n- **数据搜集耗时巨大**：工程师需手动从 UCI、Kaggle 等不同来源爬取数据集，花费数天时间清洗格式不统一的 CSV 文件。\n- **评估标准难以统一**：由于各数据集特征类型（连续、离散、有序）定义混乱，导致不同算法间的对比结果缺乏公平性和可复现性。\n- **覆盖场景单一**：受限于人工收集能力，测试集往往集中在常见领域，难以覆盖医疗、金融等长尾场景，导致模型泛化能力评估存在盲区。\n- **代码耦合度高**：每次引入新数据集都需要重写数据加载和预处理脚本，严重拖慢了迭代验证的速度。\n\n### 使用 pmlb 后\n- **一键获取标准数据**：通过 `fetch_data` 接口即可直接调用上百个经过严格清洗和格式统一的基准数据集，将数据准备时间从几天缩短至几分钟。\n- **内置科学分类体系**：pmlb 自动识别并标记特征类型（如二元、多类、连续值），确保所有算法都在相同的标准化输入下进行公平竞技。\n- **全景式压力测试**：利用其涵盖广泛应用场景的数据库，团队能迅速发现模型在特定领域（如高维稀疏数据）的性能短板，显著提升鲁棒性。\n- **无缝对接生态**：原生支持返回 Scikit-learn 格式的 NumPy 数组，无需额外适配代码即可嵌入现有的自动化评估流水线中。\n\npmlb 通过提供标准化、多样化的基准数据仓库，将算法评估从繁琐的数据工程中解放出来，让研发团队能专注于核心模型的创新与优化。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEpistasisLab_pmlb_95f37f64.png","EpistasisLab","Epistasis Lab at Cedars Sinai","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FEpistasisLab_7f46bb0a.jpg","Prof. Jason H. Moore's research lab at Cedars Sinai",null,"jason.moore@csmc.edu","http:\u002F\u002Fepistasis.org","https:\u002F\u002Fgithub.com\u002FEpistasisLab",[86,90,94,98,102],{"name":87,"color":88,"percentage":89},"Python","#3572A5",84.5,{"name":91,"color":92,"percentage":93},"R","#198CE7",7.6,{"name":95,"color":96,"percentage":97},"TeX","#3D6117",7,{"name":99,"color":100,"percentage":101},"HTML","#e34c26",0.6,{"name":103,"color":104,"percentage":105},"CSS","#663399",0.4,862,142,"2026-04-11T10:25:39","MIT","","未说明",{"notes":113,"python":111,"dependencies":114},"该工具是一个用于获取基准数据集的 Python 包装器。若直接克隆仓库以访问原始数据文件，需要安装并配置 Git LFS（大文件存储）。数据文件以 gzip 压缩格式存储，使用制表符分隔。建议通过 pip 安装 'pmlb' 包来直接获取数据，支持本地缓存以避免重复下载。",[115,116,117],"pandas","numpy","scikit-learn",[16,29],"2026-03-27T02:49:30.150509","2026-04-18T22:33:43.854033",[122,127,132,137,142],{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},40566,"使用 pmlb.fetch_data() 时遇到 SSL 证书验证错误（SSLCertVerificationError）怎么办？","这通常是因为使用了过时的版本。请将 pmlb 升级到 1.0 或更高版本，因为 1.0 版本引入了破坏性变更并修复了相关问题。升级后问题即可解决。","https:\u002F\u002Fgithub.com\u002FEpistasisLab\u002Fpmlb\u002Fissues\u002F140",{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},40567,"为什么无法克隆仓库或使用 fetch_data 获取数据集，提示 'repository is over its data quota' 或 'Smudge error'？","这是因为仓库的 Git LFS 带宽配额已用尽。维护者已通过购买更多的数据包（从 1 个增加到 3 个，允许更多流量）解决了此问题。如果遇到此错误，请稍后重试，或检查项目 README 以获取最新的状态更新。","https:\u002F\u002Fgithub.com\u002FEpistasisLab\u002Fpmlb\u002Fissues\u002F168",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},40568,"如何为数据集元数据（metadata.yaml）添加关键词（keywords）？","可以在 metadata.yaml 文件中添加 `keywords` 字段。建议使用列表格式，每行一个连字符关键词。如果暂时没有关键词，可以使用 `null` 作为占位符（在 Python 中会被读取为 None），例如：\n```yaml\nkeywords:\n  - null # 替换为实际关键词\n```\n或者使用更具描述性的占位符如 `needs_keyword`，以便贡献者更容易理解并填写。","https:\u002F\u002Fgithub.com\u002FEpistasisLab\u002Fpmlb\u002Fissues\u002F52",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},40569,"PMLB 项目的 metadata.yaml 文件标准结构（Schema）是什么样的？","标准的 metadata.yaml 应包含以下必填和选填字段：\n- `dataset`: 数据集名称（必填）\n- `description`: 数据集描述（必填）\n- `source`: 数据来源链接（必填）\n- `publication`: 相关研究论文（可选，如 DOI, PMID 等）\n- `task`: 任务类型，classification 或 regression（必填）\n- `target`: 目标变量信息，包含 type, description, code（编码信息）\n- `features`: 特征列表，每个特征包含 name, type (continuous\u002Fnominal\u002Fordinal), description, code, transform 等。\n注意：特征名和数据集名称中建议使用下划线 `_` 而不是点 `.` 或连字符 `-`。","https:\u002F\u002Fgithub.com\u002FEpistasisLab\u002Fpmlb\u002Fissues\u002F22",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},40570,"如何向 PMLB 添加回归基准数据集（regression benchmarks）？","添加回归数据集需要通过 Pull Request (PR) 进行。在提交 PR 时，请小心处理现有的分类数据集，确保移动或添加文件时不破坏现有结构。具体的进度和讨论通常在相关的 Issue 中进行跟踪。","https:\u002F\u002Fgithub.com\u002FEpistasisLab\u002Fpmlb\u002Fissues\u002F6",[148,153,158],{"id":149,"version":150,"summary_zh":151,"released_at":152},324054,"v1.0.2a","- select_datasets()：根据数据集的特征，按特定条件获取数据集名称\n- nearest_datasets()：获取与指定数据集最相似的数据集名称\n- CI 工作流优化\n- pmlbr 的文档\n- 补充单元测试\n","2020-10-13T14:27:52",{"id":154,"version":155,"summary_zh":156,"released_at":157},324055,"v1.0.1.post3","- **请将 PMLB 更新至 v1.0，以获取更新后的数据集 URL 和名称。**\n- 使用 Git LFS 跟踪数据集。\n- 自动更新数据集名称。\n- 在 CI 中更新数据集的支持文件。\n- 向元数据添加关键词。\n- 在网站上添加静态 API 文档页面。","2020-09-10T22:53:31",{"id":159,"version":160,"summary_zh":161,"released_at":162},324056,"v1.0","- 修复了一些不规范的数据集名称，并去除了重复的数据集  \n- 修正了与来源不匹配的数据集  \n- 新增了 PMLB 的在线文档  \n- 为每个数据集添加了元数据和 Pandas Profile 页面  \n- 优化了 Python 包的 API  \n- **请将 PMLB 更新至 v1.0，以获取更新后的数据集 URL 和名称。**","2020-08-16T17:59:24"]