MILKPython 机器学习工具包
MILK(MACHINE LEARNING TOOLKIT) 是 Python 语言的机器学习工具包。
它主要是在很多可得到的分类比如 SVMS、K-NN、随机森林以及决策树中使用监督分类法,它还可执行特征选择。这些分类器在许多方面相结合,可以形成不同的例如无监督学习、密切关系传播和由 MILK 支持的 K-means 聚类等分类系统。
MILK 关注速度和内存的使用,因此大多数对性能比较敏感的代码都是用 C++ 编写的。为了方便起见,基于 Python 实现了接口。
示例代码
测试对一些 features,labels
数据的分类情况,通过交叉验证测量:
import numpy as np import milk features = np.random.rand(100,10) # 2d array of features: 100 examples of 10 features each labels = np.zeros(100) features[50:] += .5 labels[50:] = 1 confusion_matrix, names = milk.nfoldcrossvalidation(features, labels) print 'Accuracy:', confusion_matrix.trace()/float(confusion_matrix.sum())
如果想要使用分类器,可以创建一个 learner object 并调用它的 train()
方法:
import numpy as np import milk features = np.random.rand(100,10) labels = np.zeros(100) features[50:] += .5 labels[50:] = 1 learner = milk.defaultclassifier() model = learner.train(features, labels) # Now you can use the model on new examples: example = np.random.rand(10) print model.apply(example) example2 = np.random.rand(10) example2 += .5 print model.apply(example2)
特性
-
支持向量机。使用封装了 pythonesque 的 libsvm solver
-
LASSO 算法
-
K-means 使用的内存小,可有效地对数百万个实例进行集群
-
随机森林
-
自组织地图
-
逐步判别分析特征选择
-
非负矩阵分解(Non-negative Matrix Factorization,NMF)算法
-
AP(Affinity Propagation)聚类算法
评论