如何降低预测模型的准确性以生成更多预测?

我正在使用scikit进行一些相对基础的Python机器学习。我试图训练一个模型,接受一些特征值并返回0或1。在我的具体案例中,输出0意味着模型认为一个Facebook帖子不会被分享超过10次,而输出1意味着模型预测给定的Facebook帖子会被分享超过10次。

我使用不同的技术如逻辑回归、神经网络和随机梯度下降训练了几种不同的模型。训练这些模型后,我对它们进行测试,并对每种模型类型(例如逻辑回归、神经网络等)查看每个模型做出的1的预测数量以及正确预测的数量。

现在我面临的问题出现了。假设逻辑回归模型在测试3000个测试数据项时,预测有30个帖子会得到超过10次的分享,因此它返回1。当它做出1的预测时,正确率达到97%。这当然很好,但我非常愿意牺牲一些准确性来生成更多预测。例如,如果我能以80%的准确性生成200个预测,我会毫不犹豫地做出这种权衡。

我可以使用哪些方法来实现这一点?这是否可行?


回答:

这基本上是精确度-召回率权衡问题。

对于逻辑回归,你可以调整决策阈值来获得更高的召回率和更低的精确度。

你可以在这里阅读更多相关信息:http://scikit-learn.org/stable/auto_examples/model_selection/plot_precision_recall.html

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注