MILK(MACHINE LEARNING TOOLKIT) 是 Python 语言的机器学习工具包。
它主要是在很多可得到的分类比如 SVMS、K-NN、随机森林以及决策树中使用监督分类法,它还可执行特征选择。这些分类器在许多方面相结合,可以形成不同的例如无监督学习、密切关系传播和由 MILK 支持的 K-means 聚类等分类系统。
MILK 关注速度和内存的使用,因此大多数对性能比较敏感的代码都是用 C++ 编写的。为了方便起见,基于 Python 实现了接口。
示例代码
测试对一些 features,labels 数据的分类情况,通过交叉验证测量:
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() 方法:
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)聚类算法