这里很简单的问题,但似乎找不到答案,在通常伟大的文件,为滑雪。
我正在使用二进制分类器,但我们可以假设我使用的是LogisticRegression,我想知道是否有一种让分类器选择的通用方法,比如只有10个最佳(最确定的)数据点?
例如,假设我训练一个数据点为500 K的集合,我的测试集有10K行,而在10K中,我只想选择最有可能成为真正正面结果的10条。这有道理吗?
我已经读过class_weights属性,并且一直在使用它,它可以很好地为每个二进制结果类赋予更多/更少的权重,但它并不完全适用于我想要的结果,因为它总是给出不同数量的位置预测,而且我无法真正确定分类器对每一个位置的预测。
发布于 2017-05-07 06:21:22
在模型训练过程中,class_weight被用来训练一个更好的模型(我们称之为clf)。
你的问题是如何选择最确定的预测。只需预测概率(对于二进制分类,这将是正类的概率)。
y_test_predicted_probability = clf.predict_proba(X_test)然后选择y_test_predicted_probability最高的10分
#some code to do this
top_picks_indexes = y_test_predicted_probability[:,1].argsort()[-10:] # chose top 10 probabilities for class = 1
# create a vector, Y_top_picks, with all zeros except ones for the selected top probabilities
Y_top_picks = np.zeros(len(X_test))
Y_top_picks[top_picks_indexes] = 1https://datascience.stackexchange.com/questions/18804
复制相似问题