有人有 Python API 来获取各种 ML 数据集吗
X, Y, info = mldata.load( name, db=, verbose= )
X: N x dim data, a NumPy array
Y: N, ints for class numbers or None
info: a dict with ...
我更喜欢直接使用 NumPy 的 Python, 但是如果 Rpy 函数可以获取数据,那可能没问题 (抱歉,不要说太多 R)。
对于“db”,平面文件就可以了,比如
#! http://archive.ics.uci.edu/ml/machine-learning-databases
# ncol nrow nclass year name etc.
3 2858 2 2008 "Character+Trajectories" Time-Series Classification, Clus
4 150 2 1988 "Iris" Multivariate Classification Real
8 768 2 1990 "Pima+Indians+Diabetes" Multivariate Classification Inte
...
为什么只是平面文件而不是“真正的”数据库? 因为我可以下载它们一次,然后以接近 0 的努力浏览、排序、awk 它们; 其他人可能更喜欢花哨的搜索引擎。
我不关心数据是存储在本地还是通过网络加载。 (两者都执行,env MLDATAPATH = ( local dir ... url ... ) )?
(对于具有统一名称和统一数据的站点来说,基本的 API 应该是微不足道的, 但统一例如uci/ml 看起来像是很多枯燥的工作。)
请您参考如下方法:
来自 Scikits.learn 的人们在 Scikits.learn examples 中解决了这个问题
不过,数据集有各种形状和大小,因此它们确实有用于处理每个数据集的自定义代码。 (如果您只有 CSV 或 ARFF 格式的数据集,而不是灰度图像等等,情况就会有所不同。
