我是机器学习的新手,我从Kaggle的一些课程开始。在那里,我学会了如何使用DecisionTreeRegressor()和RandomForestRegressor()从sklearn。
但是,我不能真正理解我如何能够验证我的解释变量不适合这个模型。例如,经验教训包括使用平均绝对误差进行评价。MAE和MRSE可以评估我的决策树深度是否是最优的,但如果我的解释数据是相关的,则不能。
我来自经济学,所以我习惯于用诊断或$R^2$来处理这些问题。是否有任何等价的$R^2$基准,以确定我的解释变量是否过分适合我的模型?
发布于 2018-04-20 09:00:47
我认为您可以执行预测重要性测试,看看哪个变量解释得最多。
有一个名为博鲁塔的包,您可以查看在python中实现的链接。
你可以消除那些高度相关的变量。例如,如果以年龄为目标变量,以道布为特征,那么建立模型是没有意义的。因此,您需要确保消除与目标变量高度相关的变量。
在我的场景中,我进行了如下可视化

如您所见,这两个变量(用红色破折号划线)与目标变量高度相关,在删除这些变量之前,在删除这些特性(向后逐步消除)之后,MAE为0.9(大约),而MAE为3.5(大约),但这是实际的错误。目前正致力于获取一些外部特征,以解释数据和提高准确性。每次不是关于模型的精度/误差率,也是关于我们的模型能有多好,我们的模型应该有多好。
为了检查数据是否过度拟合,我试着用这两个变量进行测试,并尝试建模,其中MAE为1.6(大约),我们可以理解这两个变量解释的最多。
因此,尝试应用并查看这些特性是如何与目标变量关联的。
其中一种用于解决决策树过度拟合的方法称为剪枝。剪枝是在初始训练完成后进行的。在剪枝过程中,修剪掉树枝,即从叶节点开始移除决策节点,这样就不会影响整体的准确性。这是通过将实际训练集划分为两组来完成的:训练数据集、D集和验证数据集,V.使用分离的训练数据集准备决策树,D.然后继续相应地修剪树,以优化验证数据集V的准确性。
您可以深入了解这个链接,关于如何通过调整参数来避免过度拟合。
发布于 2018-04-20 08:04:25
是的,这个基准名叫验证数据。我们的想法是将你的数据分割成一些训练数据,这就是你要与你的模型相匹配的东西,以便估计它们中的参数(并让它们学习),以及一些验证数据,这是你将要用来评估你的模型的数据。
您可以做的是为您想要使用的不同模型计算验证数据上的错误(模型还没有经过培训),并且您希望保持模型的验证错误最低。
发布于 2018-05-04 15:24:30
我想你想问的是你的变量是否重要。没有什么东西,因为变量是过分适合模型,但你可以过度适应模型,通过调优和最小化偏差到最末端。
在决策树和多决策树集合(随机森林)等模型中,可以利用变量的熵测度来计算变量的重要度。这将使您了解哪些变量实际上很重要。
最后,在像随机森林这样的模型中,直觉是有多个决策树,其中每个分裂节点在多个树之间有不同的变量。大多数情况下,您甚至不会在一棵树中使用数据集中的所有变量。这样可以减少模型的差异,同时不影响您的偏见。
https://datascience.stackexchange.com/questions/30559
复制相似问题