如何在逻辑回归中增加假阳性和减少假阴性?

时间:2019-06-18 11:27:00

标签: python pandas logistic-regression

我在记录链接问题中得到的结果是将更多的值分类为假阳性而不是假阴性。有没有办法平衡这些?

# Initialize the classifier

    logreg = rl.LogisticRegressionClassifier()

# Train the classifier

    logreg.fit(golden_pairs, golden_matches_index)
    print ("Intercept: ", logreg.intercept)
    print ("Coefficients: ", logreg.coefficients)

# Predict the match status for all record pairs
result_logreg = logreg.predict(test_pairs[columns_to_keep])

len(result_logreg)

#true_links = features_complete_new_index[features_complete_new_index['evaluation'] == True].index
true_links = test_pairs[test_pairs['evaluation'] == True].index


print("confusion matrix of Logistic Regression ",rl.confusion_matrix(true_links, result_logreg, len(test_pairs)), "False positives ", rl.false_positives(true_links, result_logreg), "False negatives ", rl.false_negatives(true_links, result_logreg))


The output is Intercept:  -6.974042394356818
Coefficients:  [-0.07818545  7.83113994  0.96939354 -6.97404239  1.65737031  0.694744  ]
confusion matrix of Logistic Regression  [[   5915    2576]
 [   1075 7167134]] False positives  1075 False negatives  2576
F-Score of Log Regr  0.7641625218009173

1 个答案:

答案 0 :(得分:-1)

您始终可以调整分类器,但是平衡是什么意思?使用FP和FN会更有趣,什么预测对您造成的伤害更大?

FN(假阴性)预测是原始为True预测且未被分类器识别的预测。因此,如果您尝试检测欺诈检测,并且您的True值是欺诈,那么假否定将是一个真正的问题,因为这种欺诈不会被识别。

这是一本充满答案的书,我们可以告诉您。尝试调整以下代码行:logreg = rl.LogisticRegressionClassifier(),看看它如何变化