开始使用免费开始使用

分层抽样

您已经知道,volunteer 数据集的 category_desc 列中的类别标签分布不均衡。如果您想训练一个模型来预测 category_desc,需要确保模型基于能代表整个数据集的数据样本进行训练。分层抽样正是实现这一点的方法!

本练习是课程的一部分

Python 中的机器学习预处理

查看课程

练习说明

  • 创建特征 DataFrame X,包含除 category_desc 外的所有列。
  • category_desc 列创建标签 DataFrame y
  • Xy 划分为训练集和测试集,并确保两个集合中的标签类别分布一致。
  • 使用 .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(____[____].____)
编辑并运行代码