由于我的数据集不平衡,以下方法将KNN分类器与StratifiedShuffleSplit结合使用:
def KNN(train_x,train_y):
skf = StratifiedShuffleSplit()
scores = []
for train,test in skf.split(train_x,train_y):
clf = KNeighborsClassifier(n_neighbors=2,n_jobs=-1)
clf.fit(train_x.loc[train],train_y.loc[train])
score = clf.score(train_x.loc[test],train_y.loc[test])
scores.append(score)
res = np.asarray(scores).mean()
print(res)
如何修改scores
来计算recall
和precision
指标而不是默认精度?
谢谢