分层抽样
您已经知道,volunteer 数据集的 category_desc 列中的类别标签分布不均衡。如果您想训练一个模型来预测 category_desc,需要确保模型基于能代表整个数据集的数据样本进行训练。分层抽样正是实现这一点的方法!
本练习是课程的一部分
Python 中的机器学习预处理
练习说明
- 创建特征 DataFrame
X,包含除category_desc外的所有列。 - 从
category_desc列创建标签 DataFramey。 - 将
X和y划分为训练集和测试集,并确保两个集合中的标签类别分布一致。 - 使用
.value_counts()打印y_train中的标签及其数量。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Create a DataFrame with all columns except category_desc
X = volunteer.____(____, axis=____)
# Create a category_desc labels dataset
y = ____[[____]]
# Use stratified sampling to split up the dataset according to the y dataset
X_train, X_test, y_train, y_test = ____(____, ____, ____, random_state=42)
# Print the category_desc counts from y_train
print(____[____].____)