在Python中,可以使用scikit-learn
库的train_test_split
函数来按组将训练集和测试集拆分。以下是一个示例代码:
from sklearn.model_selection import train_test_split
# 假设我们有一个包含特征数据X和目标数据y的数据集
X = ...
y = ...
# 假设我们还有一个包含组信息的数据列group
group = ...
# 按组将数据集拆分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, stratify=group)
# 输出训练集和测试集的大小
print("训练集大小:", len(X_train))
print("测试集大小:", len(X_test))
在上面的示例中,train_test_split
函数中的test_size
参数指定了测试集的比例,可以根据需要进行调整。stratify
参数可以根据组信息进行分层抽样,确保训练集和测试集中的组分布相似。最后,将拆分后的训练集和测试集分别赋值给X_train, X_test, y_train, y_test
,可以根据需要进行后续的建模和评估。