假设我在Python中使用 "Probability=True" 标志训练了一个SVM分类器:
当我对新数据进行分类时,我想只保留那些概率高于特定阈值(例如0.9)的分类结果。请问如何实现这一操作?目前,我已经尝试了以下代码,但是还存在问题:
classifier = SVC(C = 1000000, gamma = 10, probability=True)
classifier.fit(my_data, the_labels)
在对新数据进行分类时,我想只保留那些概率高于阈值的新数据,比如说0.90。我该怎么做呢?目前我在尝试以下代码,但是遇到了瓶颈:
当我对新数据进行分类时,我想只保留那些概率高于特定阈值(例如0.9)的分类结果。请问如何实现这一操作?目前,我已经尝试了以下代码,但是还存在问题:
labels_predicted = classifier.predict(new_data)
probabilities = classifier.predict_proba(new_data)
第一个命令返回实际标签,第二个命令返回其标签的概率。因此,对于每个数据点,我都有其最大似然标签以及所有与其相关的属于所有标签的概率。但是最大似然标签可能为0.4,而我不想要它。如何只保留具有一定阈值的标签?
accepted_new_data
之外的所有数据都是异常值。 - Sudeep Juvekarnew_data
已经是一个 DataFrame 了。只需在 Python 控制台上检查new_data.__class__
。如果它是一个 DataFrame,你可以从代码中删除pandas.DataFrame
。 - Sudeep Juvekarpredict_proba
返回一组概率矩阵,但计算每行的最大值不应该很难:将第2行改为accepted_probabilities_idx = probabilities.max(axis=1) > thresh
。 - Sudeep Juvekar