为UCI机器学习库引入简单直观的Python API(附代码)

BlackAnna 发布于1年前

介绍

UCI机器学习数据集库是机器学习教学法领域的一个传奇。对于初学者和高级学习者来说,这是一个“go-to-shop”。它是机器学习社区用于机器学习算法的实证分析的数据库,领域理论和数据生成器的集合。

该档案由David Aha和加州大学欧文分校的研究生于1987年创建为ftp档案。从那时起,它已被全世界的学生、教育工作者和研究人员广泛用作机器学习数据集的主要来源。作为档案影响的一个标志,它已被引用超过1000次,使其成为所有计算机科学中被引用率最高的100篇“论文”之一。

为UCI机器学习库引入简单直观的Python API(附代码)

也就是说,导航门户网站可能有点令人沮丧和耗时,因为您感兴趣的数据集没有简单直观的API或下载链接。您必须跳转多个页面才能转到您所在的原始数据集页面寻找。此外,如果您对特定类型的ML任务(例如回归或分类)感兴趣并且想要下载与该任务相对应的所有数据集,则没有简单的命令来完成此任务。

下载

这是一个获得MIT许可的开源Python 3.6代码库,它提供了允许用户以交互方式使用UCI ML数据集的功能和方法。

GitHub地址: https://github.com/tirthajyoti/UCI-ML-API

必需的包

运行此代码只需要三个广泛使用的Python包:

  • Pandas

  • Beautifulsoup 4

  • Requests

如何运行

确保你已连接到Internet,然后,只需下载/克隆Gitgub仓库,确保安装了支持包。

git clone https://github.com/tirthajyoti/UCI-ML-API.git {your_local_directory}

然后转到 your_local_directory 克隆Git的位置并在终端上运行以下命令。

python Main.py

将打开一个菜单,允许您执行各种任务。这是菜单的屏幕截图,

为UCI机器学习库引入简单直观的Python API(附代码)

目前支持的功能

  • 通过爬网整个门户来构建数据集的名称,描述和URL的本地数据库

  • 通过爬网整个门户,构建数据集的名称、大小和机器学习任务的本地数据库

  • 搜索并下载特定数据集

  • 下载前几个数据集

  • 打印所有数据集的名称

  • 打印所有数据集的简短描述

  • 搜索数据集的单行描述和网页链接

  • 根据数据集的大小下载数据集

  • 根据与其关联的机器学习任务下载数据集

示例(搜索并下载特定数据集)

例如,如果要下载数据集Iris,只需从菜单中选择选项3,输入存储的本地数据库的名称(以使搜索更快)!您将下载Iris数据集并将其存储在目录中名为“Iris”的文件夹中!

为UCI机器学习库引入简单直观的Python API(附代码)

示例(搜索具有特定关键字的数据集)

如果您通过选择选项7使用关键字进行搜索,那么您将获得关于名称与搜索字符串匹配的所有数据集的简短单行摘要(甚至部分)。您还将获得每个结果的相关网页链接,以便您可以根据需要更多地浏览它们。屏幕截图下方显示了使用该术语进行搜索的示例Cancer。

为UCI机器学习库引入简单直观的Python API(附代码)

如果想绕过简单的API并使用函数

如果您想绕过简单的用户API并使用低级功能,首先,导入必要的包。

from UCI_ML_Functions import *
import pandas as pd

read_dataset_table() :从URL中读取数据集表: “https://archive.ics.uci.edu/ml/datasets.html” 并进一步处理以进行清理和分类。

clean_dataset_table() : 接受原始数据集表(DataFrame对象)并返回已清理的版本,删除具有未知数量的样本和属性的条目。还合理化“默认任务”类别列,指示与数据集关联的主要机器学习任务。

build_local_table(filename=None,msg_flag=True):通过UCI ML门户读取并构建一个包含名称、大小、ML任务和数据类型等信息的本地表。

  • filename : 可由用户选择的可选文件名。如果未选择,程序将选择默认名称('UCI table.csv')。

  • msg_flag : 控制冗长。

build_dataset_list():通过UCI ML数据集页面进行刮擦并构建所有数据集的列表。

build_dataset_dictionary() : 通过UCI ML数据集页面进行刮擦,并构建包含名称和描述的所有数据集的字典。还存储对应于数据集的唯一标识符,下载器功能需要此标识符字符串来下载数据文件,通用名称不起作用。

build_full_dataframe() : 构建包含所有信息的DataFrame,包括用于下载数据的url链接。

build_local_database(filename=None,msg_flag=True) : 读取UCI ML门户并使用以下信息构建本地数据库:名称、摘要和数据页URL。

  • filename : 可由用户选择的可选文件名。如果未选择,程序将选择默认名称('UCI database.csv')。

  • msg_flag : 控制冗长。

return_abstract(name,local_database=None,msg_flag=False) : 通过搜索给定的数据集返回特定数据集的单行描述(以及更多信息的网页链接) name .

  • local_database : 本地存储的数据库名称(CSV文件),即存储在同一目录中,其中包含有关UCI ML存储库中所有数据集的信息。

  • msg_flag : 控制冗长。

describe_all_dataset(msg_flag=False) : 调用该 build_dataset_dictionary 函数并从中打印所有数据集的描述。

print_all_datasets_names(msg_flag=False) : 调用该 build_dataset_dictionary 函数并从中打印所有数据集的名称。

extract_url_dataset(dataset,msg_flag=False) : 给定数据集标识符,此函数提取实际原始数据所在页面的URL。

download_dataset_url(url,directory,msg_flag=False,download_flag=True) : 从给定网址中的链接下载所有文件。

  • msg_flag : 控制冗长。

  • download_flag : 默认为True。如果设置为False,则仅创建目录但不启动下载(用于测试目的)。

download_datasets(num=10,local_database=None,msg_flag=True,download_flag=True) : 下载数据集并将它们放在以数据集命名的本地目录中,默认情况下,仅下载前10个数据集,用户可以选择要下载的数据集数量。

  • msg_flag : 控制冗长。

  • download_flag : 默认为True。如果设置为False,则仅创建目录但不启动下载(用于测试目的)。

download_dataset_name(name,local_database=None,msg_flag=True,download_flag=True) : 通过搜索给定名称下载特定数据集。

  • local_database : 本地存储的数据库名称(CSV文件),即存储在同一目录中,其中包含有关UCI ML存储库中所有数据集的信息。

  • msg_flag : 控制冗长。

  • download_flag : 默认为True。如果设置为False,则仅创建目录但不启动下载(用于测试目的)。

download_datasets_size(size='Small',local_database=None,local_table=None,msg_flag=False,download_flag=True) : 下载满足“大小”标准的所有数据集。

  • size : 用户要下载的数据集的大小。可以是以下任何一种:小、中、大和超大。

  • local_database : 本地存储的数据库名称(CSV文件),即存储在同一目录中,其中包含有关UCI ML存储库中所有数据集的名称和URL信息。

  • local_table : 本地存储的数据库名称(CSV文件),即存储在同一目录中,其中包含有关UCI ML repo上所有数据集的特征信息,即样本数量,要使用数据集执行的机器学习任务的类型。

  • msg_flag : 控制冗长。

  • download_flag : 默认为True,如果设置为False,则仅创建目录但不启动下载(用于测试目的)。

download_datasets_task(task='Classification',local_database=None,local_table=None,msg_flag=False,download_flag=True) : 下载与用户执行的ML任务条件匹配的所有数据集。

  • task :用户想要下载数据集的机器学习任务。可以是以下任何一种:分类、推荐系统、回归、其他/未知、聚类、因果发现。

  • local_database : 本地存储的数据库名称(CSV文件),即存储在同一目录中,其中包含有关UCI ML存储库中所有数据集的名称和URL信息。

  • local_table : 本地存储的数据库名称(CSV文件),即存储在同一目录中,其中包含有关UCI ML repo上所有数据集的特征信息,即样本数量,要使用数据集执行的机器学习任务的类型。

  • msg_flag : 控制冗长。

  • download_flag : 默认为True。如果设置为False,则仅创建目录但不启动下载(用于测试目的)。

译者:学术君

查看原文: 为UCI机器学习库引入简单直观的Python API(附代码)

  • heavycat
  • bluerabbit
  • ticklishduck
  • crazybear
  • bigbutterfly
  • crazyrabbit
  • lazygoose
  • smallgorilla