避免类别不平衡
有些数据的结果分布非常不均衡,例如罕见疾病的数据集。若随机划分,您可能会得到很糟糕的切分。想象一下,所有罕见样本都落在测试集,训练集中一个都没有。这样会彻底破坏整个训练过程!
所幸,initial_split() 函数提供了解决方案。在本练习中,您将观察并解决这类所谓的「类别不平衡」。
我们已提供代码,创建了一个切分对象 diabetes_split,其中训练集占 75%,测试集占 25%。
本练习是课程的一部分
R 中的树模型机器学习
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Preparation
set.seed(9888)
diabetes_split <- initial_split(diabetes, prop = 0.75)
# Proportion of 'yes' outcomes in the training data
counts_train <- table(training(___)$outcome)
prop_yes_train <- counts_train["___"] / sum(counts_train)
# Proportion of 'yes' outcomes in the test data
counts_test <- table(___)
prop_yes_test <- ___ / sum(___)
paste("Proportion of positive outcomes in training set:", round(prop_yes_train, 2))
paste("Proportion of positive outcomes in test set:", round(prop_yes_test, 2))