gpt4 book ai didi

python - 如何用另一个数组中的值填充两个 numpy 数组

转载 作者:太空宇宙 更新时间:2023-11-03 15:29:47 29 4
gpt4 key购买 nike

我对 numpy 很陌生。我需要获取一个数据集并从中创建一个测试集和一个训练集。如果我的数据集是一个 150 行 4 列的 numpy 数组(最后一列是标签),那么使用数据集中的值填充训练和测试数组的正确方法是什么,假设数据集可以不同 - 即,我不想手动编写测试集和训练集的形状?

我想要做的是,提供一个分割值,它将获取一个数据集,并用数据集的行填充测试集和训练集,并根据该值进行分割。

我需要编写一个像这样的方法:

def split(dataset, value, training, test):
training = np.array #this is what I am confused about how to define
test = np.array
if random.random() < value:
#this is where I am confused about how to populate the arrays
append rows to training
else:
append rows to test

最佳答案

如果不是出于教育目的,您想手动拆分数据,我建议使用现有的解决方案。这样您就可以确定它是正确的*。 Scikit-learn具有执行各种功能cross-validation或者简单地使用 train_test_split 将数据拆分为训练集和测试集。 :

Split arrays or matrices into random train and test subsets

例如,将数据集拆分为 80 行用于训练,20 行用于测试:

from sklearn.model_selection import train_test_split

x = np.random.randn(100, 5) # generate random data

x_train, x_test = train_test_split(x, train_size=0.8)

print(x_train.shape) # (80, 5)
print(x_test.shape) # (20, 5)

*至少功能会正确实现。它不一定是正确的函数 - 通常有很多方法可以将数据拆分为训练集和测试集。其中一些可能比其他更合适,具体取决于应用程序的具体情况。

关于python - 如何用另一个数组中的值填充两个 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42975319/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com