首页 > 解决方案 > 从 Scikit-Learn 的数据集中随机选择 50 个样本

问题描述

我想从数据集中抽取 50 个样本。我的数据集是来自 sklearn 数据集的糖尿病。我使用diabetes_X, diabetes_y = load_diabetes(return_X_y=True)方法来实现。

○ 数据集中有 442 个样本点。随机抽取 50 个样本。

我怎样才能做到这一点?

当我使用 numpy 选择时会发生错误:ValueError: a must be 1-dimensional

标签: pythonscikit-learn

解决方案


使用 scikit-learnresample函数。如果您需要更多信息,请查看文档(带替换的样本、分层、选择 random_state,...)

import io
import pandas as pd
from sklearn.utils import resample

# Create dataframe
s = """
A B C
1 5 6
5 9 2
3 8 8
"""
df = pd.read_csv(io.StringIO(s), delimiter=' ')
print(resample(df, n_samples=2))

输出:

   A  B  C
2  3  8  8
1  5  9  2

推荐阅读