def al_just_expert(adata, clf, thresh_random = 3):
n = len(adata.taken_items) # examples taken
m = adata.mat.shape[0] # examples available
if m < 1: return -1
if n < thresh_random or not adata.taken_both_classes():
i = random.randint(0, m-1)
return adata.query_expert_direct(i)
# uncertainty sampling
# undersample:
#mat, rel = undersam(adata.taken_mat.tocsr(), adata.taken_rel)
#clf.fit(mat, rel)
clf.fit(adata.taken_mat, adata.taken_rel)
pp = clf.predict_proba(adata.mat)
uncertain = np.abs(pp[:,0] - 0.5)
i = np.argmin(uncertain)
j = np.argmin(pp[:,0])
#print pp[i,0]
return adata.query_expert_direct(i)
评论列表
文章目录