概述
在NLP中我们经常需要使用机器学习的分类器。如何衡量一个分类器的好坏呢?最常见的指标包括准确率与召回率,准确度与F1-Score以及ROC与AUC。
测试数据
我们以Scikit-Learn环境介绍常见的性能衡量指标。为了演示方便,我们创建测试数据,测试数据一共1000条记录,每条记录100个特征,内容随机生成。
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
x, y = datasets.make_classification(n_samples=1000, n_features=100,
n_redundant=0, random_state = 1)
#把数据集随机划分成训练集和测试集,其中测试集占40%。
train_X, test_X, train_Y, test_y = train_test_split(x, y)
#使用KNN算法进行训练和预测。
knn = KNeighborsClassifier(n_neighbors=5)
knn.fit(train_X, train_Y)
pred_Y = knn.predict(test_X)
print(pred_Y)