sklearn是一个机器学习的开源库,简单好用。
在sklearn中,所有的分类器都可以秉持“三步走”方法:
- 设置分类器
- fit训练数据
- 使用测试集对训练好对模型进行评估
KNN
sklearn.neighbors.KNeighborsClassifier1
2
3
4from sklearn.neighbors import KNeighborsClassifier
neigh=KNeighborsClassifier(n_neighbors=i)
neigh.fit(X_train,y_train)
print 'n=',i,'\tscore=',neigh.score(X_test,y_test)
线性SVM
sklearn.svm.LinearSVC1
2
3clf = LinearSVC(random_state=0)
clf.fit(X_train,y_train)
print clf.score(X_test,y_test)
Softmax
softmax和LogisticRegression分别适用于多分类和二分类问题,sklearn将这两者放在一起,只需设置相应的参数即可选择分类器与对应的优化算法,需要注意的是loss function是否收敛。1
2
3
4from sklearn.linear_model import LogisticRegression
clf=LogisticRegression(multi_class='ovr',solver='sag')
clf.fit(X_train,y_train)
r=clf.score(X_test,y_test)