解释逻辑分类器的输出

数据挖掘 机器学习 预测建模 逻辑回归
2022-03-13 12:06:38

[注意:用于获得最佳横幅的逻辑存在一些严重问题。我迟到了。直接阅读答案获取一般信息,或者您也可以尝试查找错误。]

问题:给定一组用户特征,选择一个被点击概率最高的广告。

数据集 - https://www.kaggle.com/c/avazu-ctr-prediction/data(训练集中的前 100000 个元组并在 80:20 训练:测试中拆分)

跟随教程 - https://turi.com/learn/gallery/notebooks/click_through_rate_prediction_intro.html

C14 是我的广告 ID。
问题:- 给定 ('device_type', 'C1', 'C15') 返回广告 ID。

训练:-

我将“click”作为我的目标,将 ('device_type', 'C1', 'C15', 'C14') 作为我的输入特征。

我在 graphlab 库中使用逻辑回归分类器来训练模型。

我正在按以下方式进行广告选择:-
给定一组特征('device_type'、'C1'、'C15'、X)在 C14 的所有可能值上迭代 X 并将特征传递给预测器以获得概率X 广告将被点击。返回具有最大点击概率的广告。

我的问题是物流分类器只为每个测试元组返回一个广告,尽管点击概率不同,这意味着只有一个广告获得最高的点击概率。

谁能解释这个观察?

当使用提升树分类器而不是逻辑分类器进行上述预测时,我能够得到不同的广告作为我的预测,从而获得更好的结果。

1个回答

这意味着您的逻辑分类器偏向于一类,这可能是由于我能想到的以下原因。

  • 类不平衡: 本文解释了如何识别和克服类不平衡问题。
  • 过拟合:这篇文章解释了如何解决过拟合。

如果数据是线性相关的,逻辑分类器会更好地工作,如果您在数据中发现非线性关系,我建议使用更好的算法,如 GBM/SVM/随机森林,这将为您提供更好和准确的结果。