大数跨境
0
0

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

简易教程|为UCI机器学习库引入简单直观的Python API(附代码) 学术头条
2019-03-26
1
导读:此文将教大家为UCI机器学习门户引入简单直观的API,用户可以轻松查找数据集描述,搜索他们感兴趣的特定数据集,甚至可以下载按大小或机器学习任务分类的数据集。

此文将教大家为UCI机器学习门户引入简单直观的API,用户可以轻松查找数据集描述,搜索他们感兴趣的特定数据集,甚至可以下载按大小或机器学习任务分类的数据集。


介绍


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


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



也就是说,导航门户网站可能有点令人沮丧和耗时,因为您感兴趣的数据集没有简单直观的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


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



目前支持的功能


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

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

  • 搜索并下载特定数据集

  • 下载前几个数据集

  • 打印所有数据集的名称

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

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

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

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


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


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



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


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



如果想绕过简单的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,则仅创建目录但不启动下载(用于测试目的)。



译者:学术君


学术头条已建立微信交流群,想进群的同学请加学术君微信:AMiner308,记得备注:名字+单位/学校噢。




分享干货


AMiner迄今为止已发布17期AI系列研究报告,您可在后台回复对应数字获取报告。


2019年报告


15  → 《人工智能之数据挖掘》

16  → 《人工智能之知识图谱》

17  → 《人工智能之图计算》


2018年报告


1 →  《自动驾驶研究报告》

2 →  《机器人研究报告》

3 →  《区块链研究报告》

4 →  《行为经济学研究报告》

5 →  《机器翻译研究报告》

6 →  《通信与人工智能研究报告》

7 →  《自动驾驶研究报告》前沿版

8 →  《自然语言处理研究报告》

9 →  《计算机图形学研究报告》

10 → 《超级计算机研究报告》

11  → 《3D打印研究报告》

12  → 《智能机器人研究报告》前沿版

13  → 《人脸识别研究报告》

14  → 《人工智能芯片研究报告》



推荐阅读:



解构BERT:从1亿个参数中提取6种模式

这9个鲜为人知的Python库,你用过几个?

欢迎围观 人工智能学术知识图谱(KG4AI)

论坛报告|唐杰、王绍兰:知识驱动的科技情报挖掘

博士带你学LSTM|如何用LSTMs做预测?(附代码)

GitHub上星标过万,几百款超赞的 Linux 软件,你都用过吗?

《人工智能之图计算》迭代,丰富发展历程,补充完善技术领域



微信公众号菜单栏为大家设置了“论文推荐”和“优质分享”专栏,“北京讲座”移至“优质分享”专栏内,欢迎大家关注。





学术头条

发掘科技创新的原动力




您的转发就是我们最大的动力




点击阅读原文即可访问AMiner官网

【声明】内容源于网络
0
0
学术头条
致力于学术传播和科学普及,重点关注大模型、AI4Science 等前沿科学进展。
内容 2059
粉丝 0
学术头条 致力于学术传播和科学普及,重点关注大模型、AI4Science 等前沿科学进展。
总阅读1.3k
粉丝0
内容2.1k