改善分类模型

已完成

在我们的练习中,我们发现我们的模型可以在一定程度上预测雪崩,但仍有大约 40% 的时间是错误的。 此错误量是因为我们的特征(弱雪层的数量)并不是造成雪崩的唯一因素。

现在,让我们深入探讨可提高分类模型性能的两种主要方法:提供更多特征和选择进入模型的内容。

提供更多特征

与线性回归一样,逻辑回归不必限制为单个输入。 它可以结合特征来进行预测。 例如,我们可能会尝试根据降雪量和干扰步道的徒步旅行者数量来预测雪崩。 我们可以将这两个特征输入到同一个模型中来计算雪崩的概率。

在内部,逻辑回归将结合类似于线性回归的特征。 也就是说,它将所有特征视为独立,这意味着它假定特征不会相互影响。 例如,我们的模型将假设降雪量不会改变途径步道的人数。 默认情况下,它还假设降雪会增加一定量的雪崩风险,无论有多少徒步旅行者途径步道。

独立特征的良好方面和不良方面

可以明确地告诉逻辑回归组合特征,以便可以对它们如何协同工作进行建模,但默认情况下不会。 使逻辑回归不同于大多数其他熟知的分类算法,例如决策树和神经网络。

逻辑回归默认将特征视为独立的这一事实既是一种优势,也是一种应牢记的限制。 例如,它可以简单地做出明确的预测,例如“增加人数就会增加风险”,而其他模型通常无法做到这一点。 它还减少了过度拟合训练数据的机会。 相比之下,如果特征在现实世界中实际交互,则模型可能无法正常工作。 例如,如果有雪,五名徒步旅行者穿越一座山是危险的,但如果没有降雪导致雪崩,则五个人是安全的。 在此示例中,需要明确告知逻辑回归模型以寻找降雪与徒步旅行者数量之间的交互,以找出这种细微差别。

考虑你的特征

改进模型的另一种方法是真正考虑提供哪些特征以及原因。 通常,我们为模型添加的特征越多,模型的效果就越好。 然而,只有当我们提供的特征是相关的并且解释了现有特征没有的内容时,此相关性才是正确的。

避免过度训练

如果我们提供不是特别有用的更多特征,模型可能会过度训练。 表面上看起来运行得更好,但实际上在现实世界中运行得更糟。

例如,假设我们每天记录 amount_of_snow、number_of_hikers、温度和 number_of_birds_spotted。 发现的鸟类数量可能不是相关信息。 然而,如果提供这些信息,该模型最终将模拟雪崩与给定日期发现的鸟类数量之间的关系。 如果在雪崩日发现更多鸟类,该模型将表明鸟类可能是造成雪崩的罪魁祸首。 接下来,我们可能会建立一个系统的观鸟程序来预测雪崩,结果却发现它根本不起作用。

避免训练不足

天真地使用特征还可能导致训练不足,并且无法尽可能正确地进行预测。 例如,温度和 number_of_hikers 可能都与雪崩密切相关。 然而,如果人们只在晴天行走,则该模型可能会发现很难区分徒步旅行者相对于温度的重要性。 同样,我们可能会发现,如果我们提供 number_of_hikers 作为准确的游客计数,而不是简单的 highlow,我们的模型会更好地工作。 然后,模型训练可以找到更精确的关系。