首页 » PHP教程 » PHP练习UCI技巧_介绍UCI机械进修数据库的Python API

PHP练习UCI技巧_介绍UCI机械进修数据库的Python API

访客 2024-12-01 0

扫一扫用手机浏览

文章目录 [+]

作者:Tirthajyoti Sarkar

翻译:王雨桐

PHP练习UCI技巧_介绍UCI机械进修数据库的Python API

校正:丁楠雅

本文约2600字,建议阅读9分钟。

本文将带你理解UCI数据库的Python API,通过实际案例拆解并讲解代码。

本文将先容如何为UCI机器学习库引入一个大略直不雅观的API。
用户可以借此查看数据集描述,搜索感兴趣的数据集,乃至可以根据数据集大小或机器学习任务分类下载。

先容

UCI机器学习库是机器学习领域的一个神器。
对付初学者和进阶学习者来说,它就像一家商店。
它将数据库、业务知识以及用于机器学习算法实证剖析的数据天生器集中在一起。
1987年,加州大学欧文分校的David Aha和他的学生以ftp档案的形式创建了该网站。
从那时开始,全天下的学生、教诲事情者和研究职员将其作为机器学习数据集的紧张来源。
作为文档影响的一个标志,它已被引用超过1000次,使其成为打算机科学中引用率最高的100篇“论文”之一。

附UCI链接:http://archive.ics.uci.edu/ml/index.php

比较之下,用户要操纵门户网站费时费力,由于感兴趣的数据集没有大略直不雅观的API或下载链接,必须跳转多个页面才能转到目标数据所在的原始页面。
此外,如果你对特定类型的机器学习任务(例如回归或分类)感兴趣并且想要下载与该任务相对应的所有数据集,很难通过大略的命令实现。

我很高兴能为UCI ML网站引入一个大略直不雅观的API,用户可以轻松查找数据集描述,搜索他们感兴趣的特天命据集,乃至可以按大小或机器学习任务分类下载数据集。

从此处下载

这是一个由MIT授权的Python 3.6开源代码库,它供应了函数和方法,以便用户通过交互办法利用UCI ML数据集。
以下Github页面可以下载/复制/分离代码库。

附Github:https://github.com/tirthajyoti/UCI-ML-API

所须要的包

运行此代码只须要以下三个广泛利用的Python包。
为了便于安装这些支持包,setup.bash和setup.bat文件包含在我的repo中。
只需在Linux / Windows shell中运行即可!

PandasBeautifulsoup 4Requests

如何运行?

首先,确保你已连接到网络!
然后,只需下载/克隆Github中的repo,确保安装了以上包。

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

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

python Main.py

随后将打开一个菜单,许可你实行各种任务。
菜单的屏幕截图如下:

目前支持的特色和函数

以下是目前运用的特色(即上图中1-9)

1. 抓取全体网站以构建本地数据库,个中包括数据集名称,描述和URL。

2. 抓取全体网站以构建本地数据库,个中包括数据集名称,大小和机器学习任务。

3. 搜索并下载特天命据集。

4. 下载前几个数据集。

5. 显示所有数据集的名称。

6. 显示所有数据集的简要描述。

7. 搜索数据集的单行描述和网页链接(理解更多信息)。

8. 根据数据集大小下载数据集。

9. 根据与之关联的机器学习任务下载数据集。

案例(搜索并下载某个数据集)

例如,如果要下载著名的Iris数据集,只需从菜单中选择选项3,输入存储确当地数据库的名称(以便搜索更迅速)。
就可以下载Iris数据集并将其存储在名为“Iris”的文件夹中!

案例(搜索包含关键词的数据集)

如果选择选项7,将利用关键字进行搜索,得到名称与搜索字符串匹配的所有数据集(乃至部分)的简短择要。
你还可以得到每个结果的网页链接,以便根据须要进一步探索数据。
下面的屏幕截图是利用关键词Cancer进行搜索的结果。

如果你想另辟路子

如果你想避开这个大略的用户API,而利用根本函数,也是可行的。
大致流程如下,首先导入必要的包。

from UCI_ML_Functions import import pandas as pd

read_dataset_table():从url读取数据集并进一步处理以便后续的数据洗濯和分类。

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:掌握信息繁芜度(verbosity)

build_dataset_list():抓取UCI ML数据集页面的信息,并构建包含所有数据集信息的列表。

build_dataset_dictionary():抓取UCI ML数据集页面的信息,并构建包含所有数据集名称和描述的字典(dictionary)。
此外,还对应数据集天生了唯一标识符,下载器须要这个标识符字符串来下载数据文件。
这种情形下,通用名称不起浸染。

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

build_local_database(filename=None, msg_flag=True):读取UCI ML网站并利用以下信息构建本地数据库:name,abstract,data page URL。

filename:可由用户选择的文件名。
如果未选择,程序将选择默认名称('UCI database.csv')msg_flag:掌握信息繁芜度(verbosity)

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

local_database:本地存储的数据库名称(CSV文件),即在同一目录中,个中包含有关UCI ML repo上所有数据集的信息msg_flag:掌握信息繁芜度(verbosity)

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):从给定url中的链接下载所有文件。

msg_flag:掌握信息繁芜度(verbosity)download_flag:默认为True。
如果设置为False,则仅创建目录但不下载(用于测试目的)

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

msg_flag:掌握信息繁芜度(verbosity)download_flag:默认为True。
如果设置为False,则仅创建目录但不启动下载(用于测试目的)

download_dataset_name(name,local_database=None,msg_flag=True,download_flag=True):根据下载指定名称的数据集。

local_database:本地存储的数据库名称(CSV文件),即在同一目录中包含有关UCI ML存储库中所有数据集的名称和URL信息msg_flag:掌握信息繁芜度(verbosity)download_flag:默认为True。
如果设置为False,则仅创建目录但不启动下载(用于测试目的)

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

size:用户想要下载的数据集的大小。
取值可以是以下任何一种:‘Small’, ‘Medium’, ‘Large’, ’Extra Large’。
local_database:本地存储的数据库名称(CSV文件),即在同一目录中包含有关UCI ML存储库中所有数据集的名称和URL信息。
local_table:本地存储的数据库名称(CSV文件),即在同一目录中包含关于UCI ML repo上所有数据集的特色信息,即样本数量以及数据集实行的机器学习任务类型。
msg_flag:掌握信息繁芜度(verbosity)。
download_flag:默认值为True。
如果设置为False,则仅创建目录而不下载(用于测试目的)。

download_datasets_task(task='Classification',local_database=None,local_table=None,msg_flag=False,download_flag=True):下载用户想要的所有符合ML任务标准的数据集。

task:用户想要下载数据集的机器学习任务。
task取值可以是以下任何一种:'Classification', 'Recommender Systems', 'Regression', 'Other/Unknown', 'Clustering', 'Causal Discovery'local_database:本地存储的数据库名称(CSV文件),即在同一目录中包含有关UCI ML存储库中所有数据集的名称和URL信息local_table:本地存储的数据库名称(CSV文件),即在同一目录中包含关于UCI ML repo上所有数据集的特色信息,即样本数量以及数据集实行的机器学习任务类型msg_flag:掌握信息繁芜度(verbosity)download_flag:默认值为True。
如果设置为False,则仅创建目录而不下载(用于测试目的)

原文标题:

Introducing a simple and intuitive Python API for UCI machine learning repository

原文链接:

https://www.codementor.io/tirthajyotisarkar/introducing-a-simple-and-intuitive-python-api-for-uci-machine-learning-repository-p8dfargnt

译者简介

王雨桐,UIUC统计学在读硕士,本科统计专业,目前专注于Coding技能的提升。
理论到运用的转换中,敬畏数据,持续进化。

— 完 —

关注清华-青岛数据科学研究院官方微信"大众年夜众平台“THU数据派”及姊妹号“数据派THU”获取更多讲座福利及优质内容。

标签:

相关文章

执业药师试卷代码解码药师职业发展之路

执业药师在药品质量管理、用药安全等方面发挥着越来越重要的作用。而执业药师考试,作为进入药师行业的重要门槛,其试卷代码更是成为了药师...

PHP教程 2025-02-18 阅读1 评论0

心灵代码主题曲唤醒灵魂深处的共鸣

音乐,作为一种独特的艺术形式,自古以来就承载着人类情感的表达与传递。心灵代码主题曲,以其独特的旋律和歌词,唤醒了无数人的灵魂深处,...

PHP教程 2025-02-18 阅读1 评论0

探寻福建各市车牌代码背后的文化内涵

福建省,地处我国东南沿海,拥有悠久的历史和丰富的文化底蕴。在这片充满魅力的土地上,诞生了许多具有代表性的城市,每个城市都有自己独特...

PHP教程 2025-02-18 阅读1 评论0

探寻河北唐山历史与现代交融的城市之光

河北省唐山市,一座地处渤海之滨,拥有悠久历史和独特文化的城市。这里既是古丝绸之路的起点,也是中国近代工业的发源地。如今,唐山正以崭...

PHP教程 2025-02-18 阅读1 评论0