Handel 分类中的不平衡数据

Handel 分类中的不平衡数据

预测我想知道的他们中的大多数人没有可预测的信息。例如预测欺诈的发生, 感染预后或简而言之

“因为东西少所以我想知道更多。”

在这项工作中,它将预测明天是否下雨。只有2个答案(2个班级)。

不坠落(0级和1级)

Imbalanced data — predict minority class

本次使用的数据来自 Kaggle。

[

澳大利亚的雨

预测澳大利亚第二天的降雨

www.kaggle.com

](https://www.kaggle.com/datasets/jsphyg/weather-dataset-rattle-package?datasetId=6012&sortBy=voteCount)

您可以转到链接以相应地运行代码。

https://github.com/golf41101/Suchet/blob/master/handle_imbalacedata_classification.ipynb

让我们开始使用 EDA。

从这个数据的性质来看,它是那个日期发生的各种值的时间戳,检索到的数据没有按日期排序。所以我们必须先从旧日期排序到新日期。

接下来,我们将检查每个变量的空值。

其中有空值比例较高的变量,因此,本次从建模中剔除。

其余变量将按数据类型填充数据。

  • 分类数据 =>> 按模式填充
  • 数值数据 =>> 均值填充

重要的是,在进入模型之前,不要忘记将文本数据转换为数字。

预测 RainTomorrow 的变量转换为 No : 0, Yes : 1。

特征变量使用 one-hot 编码来转换值。

是时候在建模中划分数据了。

  • 训练 80%
  • 测试 20%

但在拟合模型之前,让我们重新缩放数据。

Min-Max scale

每个变量的值可以有很大的不同。最好先重新缩放,否则您会对该变量产生偏见。

为测试解决不平衡数据的方法选择的模型如下:

  1. 逻辑回归
  2. 决策树
  3. 随机福雷斯特
  4. XGBoost

我使用的方法是:

  1. 类权重——将少数类的权重调整为大于多数类,保持所有权重之和相同(通常预先调整的权重相同)。
  2. SMOTE — KNN 算法的一种应用,它根据附近数据 (KNN) 生成新数据,以便要预测的数据类的数量等于未预测的类的数量。

before use smote

after use smote

在基准测试方面,我主要关注精度和准确性,因为我们确实对预测类正精度更感兴趣。

Table of All result

或者从非科学的角度来看

如果明天下雨然后我们提前知道,所以我们带了伞。这比预测要好没有下雨,所以我们没有带伞。这让我们湿漉漉地回家而且我感觉不舒服

我希望它对所有读者有用。面对这个季风别忘了带伞。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/14364/24300501

posted @ 2022-09-05 01:26  哈哈哈来了啊啊啊  阅读(22)  评论(0)    收藏  举报