分类预测出错和偏差问题

问题描述 投票:0回答:1

我有一个分类预测的问题。最初我有一个大小为19670的数据框架,有115个变量(数字和分类)。类变量BiClass(包含 "0 "和 "1 "类),我正在尝试建立模型,有13540个 "0 "类和6130个 "1 "类。"1 "的兴趣。我把整个数据框按80-20的比例划分,得到一个15736个观测值的Train集和3934个观测值的Test集,其中Train集有10853个 "0 "类和6130个 "1 "类。Train有10853个 "0 "类和4883个 "1 "类,Test有2687个 "0 "类和1247个 "1 "类。

在Train集上用ranger训练随机森林分类模型,在Test集上做预测。我得到的预测结果如下

enter image description here

现在我得到了全新的数据,有2665个观测值进行分类。当我在新数据的Train数据上使用所开发的模型时,得到的预测结果如下所示

enter image description here

这是错误的,因为新的数据类原本是1962"0 "和703"1"。但是,模型把所有的东西都归为假阳性。

我认为模型偏向于0,一定是类不平衡的问题,于是用ROSE和SMOTE来准备数据,然后训练模型。我用这些训练好的模型得到了以下预测。

ROSE:

enter image description here

SMOTE:

enter image description here

在115个变量中,我使用了不同类型的特征选择方法和相关技术来选择特征和模型。但我得到的结果还是不尽人意。10折交叉验证和xgboost导致在新数据集中总是无法识别的水平。我甚至检查了数据是否已被正确读取,用新数据检查了整个数据集的分布,用新数据检查了训练数据分布。什么都没有用。我猜测是建模没有问题,而是数据中出现了一些问题,导致偏差较大。

是不是我基本没有发现什么问题?按这样的思路复述一个例子,我觉得这里的用户似乎很难理解。

r model classification random-forest prediction
1个回答
0
投票

在没有你正在使用的代码和你已经喂给你的算法的数据样本的情况下,这是一个很难回答的问题。

© www.soinside.com 2019 - 2024. All rights reserved.