You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按点击量对UCI机器学习平台的数据集进行排序

UCI数据集按点击量排序解决方案

官方功能说明

旧版UCI机器学习站点仅在首页展示访问量最高的12个数据集,全量数据集浏览页未提供公开的排序功能;新版beta站点的排序筛选仅统计新站点本身的访问数据,无法覆盖旧站累计的历史访问量,暂无官方直接支持全量数据集按历史点击量排序的入口。

抓取实现方案

你之前抓取分类数据集时出现内存错误,是因为分类数据集总量远大于回归数据集,单页加载全量内容占用资源过高导致。改用分页增量抓取的逻辑,逐页解析数据避免一次性加载全量页面内容,即可解决内存报错问题。

依赖安装

执行脚本前先安装依赖库:
pip install requests beautifulsoup4

可用脚本

import requests
from bs4 import BeautifulSoup
import time

def get_uci_datasets(task_type, top_n=20):
    base_url = "https://archive.ics.uci.edu/ml/datasets.php"
    params = {
        "task": task_type,
        "format": "list",
        "sort": "name",
        "dir": "ASC"
    }
    datasets = []
    page = 0
    while True:
        params["page"] = page
        resp = requests.get(base_url, params=params, timeout=10)
        resp.encoding = "utf-8"
        soup = BeautifulSoup(resp.text, "html.parser")
        # 解析当前页数据集行,跳过表头
        rows = soup.select("table.normal tr")[1:]
        if not rows:
            break
        for row in rows:
            cols = row.select("td")
            if len(cols) < 5:
                continue
            name = cols[0].text.strip()
            views = int(cols[4].text.strip()) if cols[4].text.strip().isdigit() else 0
            datasets.append({"name": name, "views": views})
        page += 1
        time.sleep(1)  # 增加请求间隔避免触发站点反爬限制
    # 按浏览量降序排序
    datasets_sorted = sorted(datasets, key=lambda x: x["views"], reverse=True)
    return datasets_sorted[:top_n]

if __name__ == "__main__":
    # task_type可选值:regression(回归)、classification(分类)
    # 可自行修改top_n参数调整输出的热门数据集数量
    top_classification = get_uci_datasets("classification", top_n=20)
    print("分类任务热门数据集TOP20:")
    for idx, item in enumerate(top_classification, 1):
        print(f"{idx}. {item['name']} - 浏览量:{item['views']}")
    
    top_regression = get_uci_datasets("regression", top_n=20)
    print("\n回归任务热门数据集TOP20:")
    for idx, item in enumerate(top_regression, 1):
        print(f"{idx}. {item['name']} - 浏览量:{item['views']}")

使用说明

  • 脚本支持分别抓取回归、分类两种任务类型的数据集
  • 抓取完成后自动按旧站历史点击量从高到低排序,可通过修改top_n参数调整输出的数据集数量
  • 内置1秒的请求间隔,避免请求频率过高被站点限制访问

内容的提问来源于stack exchange,提问作者akkh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 05:54:04