sklearn之分类器的使用

sklearn是一个机器学习的开源库,简单好用。
在sklearn中,所有的分类器都可以秉持“三步走”方法:

  • 设置分类器
  • fit训练数据
  • 使用测试集对训练好对模型进行评估

KNN

sklearn.neighbors.KNeighborsClassifier

1
2
3
4
from 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.LinearSVC

1
2
3
clf = 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
4
from 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)