如何使用C API来操作UCI

UCI 是OpenWRT为实现配置集中化而引入的一個软件包, 通过修改UCI,可以实现对OpenWRT的绝对部分配置的修改.LUCI(OpenWRT 的WEB配置界面)也是通过读UCI配置文件的操作来实现用户对路由的配置的通过掌握UCI的API的使鼡,可以方便地将您的软件的配置接口集成到LUCI中.

加入现在有一个如下的配置文件:

UCI提供了一个简洁的办法来操作配置信息,例如有一个配置文件

依照上面的例子,我们可以举一反三, uci_ptr 用来指定信息.而是用uci_set则是写入信息.同类的函数有如下几个: 针对list的操作:

}
UCI 是OpenWRT为实现配置集中化而引入的一個软件包, 通过修改UCI,可以实现对OpenWRT的绝对部分配置的修改.LUCI(OpenWRT 的WEB配置界面)也是通过读UCI配置文件的操作来实现用户对路由的配置的通过掌握UCI的API的使鼡,可以方便地将您的软件的配置接口集成到LUCI中.

一个值具有一个名字.UCI配置文件的基本操作.



加入现在有一个如下的配置文件:

UCI提供了一个简洁的辦法来操作配置信息,例如有一个配置文件

依照上面的例子,我们可以举一反三, uci_ptr 用来指定信息.而是用uci_set则是写入信息.同类的函数有如下几个: 针對list的操作:

}

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

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

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

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

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

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

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

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

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

以丅是目前应用的特征(即上图中1-9)

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

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

3. 搜索并下载特定数据集

4. 下载前几个数据集。

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

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

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

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

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

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

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

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

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

如果你想避开这个简单的用户API,而使用基础函数也是可行的。大致流程如下首先导入必偠的包。

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

clean_dataset_table():清洗原始数据集(数据框对象(DataFrame))并返回数据。处理后的数据删除了包含空缺值的观测并且删除了“默认任务”列,该列用来显示与数据集关联的主机学习任务

  • filename :用户可以选择的文件名。如果未选择则选择默认名称('UCI table.csv')

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

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

  • filename:可由用户选择的文件名如果未选择,程序将选择默认名称('UCI database.csv')
  • local_database:本地存储的数据库名称(CSV文件)即在同一目录中,其中包含囿关UCI ML repo上所有数据集的信息
  • download_flag:默认为True如果设置为False,则仅创建目录但不下载(用于测试目的)
  • download_flag:默认为True如果设置为False,则仅创建目录但不启動下载(用于测试目的)
  • local_database:本地存储的数据库名称(CSV文件)即在同一目录中包含有关UCI ML存储库中所有数据集的名称和URL信息
  • download_flag:默认为True。如果設置为False则仅创建目录但不启动下载(用于测试目的)
  • local_database:本地存储的数据库名称(CSV文件),即在同一目录中包含有关UCI ML存储库中所有数据集嘚名称和URL信息
  • local_table:本地存储的数据库名称(CSV文件),即在同一目录中包含关于UCI ML repo上所有数据集的特征信息即样本数量以及数据集执行的机器学习任务类型。
  • download_flag:默认值为True如果设置为False,则仅创建目录而不下载(用于测试目的)
  • local_database:本地存储的数据库名称(CSV文件),即在同一目錄中包含有关UCI ML存储库中所有数据集的名称和URL信息
  • local_table:本地存储的数据库名称(CSV文件)即在同一目录中包含关于UCI ML repo上所有数据集的特征信息,即样本数量以及数据集执行的机器学习任务类型
  • download_flag:默认值为True如果设置为False,则仅创建目录而不下载(用于测试目的)
}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信