从ScikitLearn中的数据集中随机选择50个样本

2024-04-19 17:36:57 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

我该怎么做

当我使用numpy选项时,会出现一个错误:ValueError: a must be 1-dimensional


Tags: 数据方法numpytruereturn选项错误load
3条回答

您可以使用numpy或香草python来完成此任务

import random
import numpy as np

random.sample(data_list, num_samples)
np.random.choice(data_list, num_samples)

您也可以这样做:

x = []
y = []
for i in np.random.choice(n_samples, 30):
    x.append(boston.data[i])
    y.append(boston.target[i])

使用scikit学习resample函数。如果您想了解更多信息,请查看docs(替换样本、分层、选择随机状态等)

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

相关问题 更多 >