使用load_data()函数实现数据采样和划分的方法
发布时间:2023-12-26 17:22:58
load_data()函数可以用于实现数据采样和划分的方法。下面是一个简单的示例代码,用于演示如何使用load_data()函数进行数据采样和划分。
import numpy as np
from sklearn.model_selection import train_test_split
def load_data():
# 假设有一个样本数据集,X为特征矩阵,y为标签向量
X = np.random.rand(1000, 10)
y = np.random.randint(0, 2, size=(1000,))
return X, y
def data_sampling(X, y, sample_ratio):
# 根据指定的采样比例对数据进行采样
sample_size = int(len(X) * sample_ratio)
indices = np.random.choice(len(X), sample_size, replace=False)
X_sampled = X[indices]
y_sampled = y[indices]
return X_sampled, y_sampled
def data_split(X, y, test_size):
# 将数据划分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=test_size)
return X_train, X_test, y_train, y_test
# 加载数据
X, y = load_data()
# 进行数据采样
sample_ratio = 0.8
X_sampled, y_sampled = data_sampling(X, y, sample_ratio)
# 进行数据划分
test_size = 0.2
X_train, X_test, y_train, y_test = data_split(X_sampled, y_sampled, test_size)
print("采样前的数据集大小:", len(X))
print("采样后的数据集大小:", len(X_sampled))
print("训练集大小:", len(X_train))
print("测试集大小:", len(X_test))
这个例子中,load_data()函数生成了一个包含1000个样本的数据集,其中X为一个大小为1000×10的特征矩阵,y为一个长度为1000的标签向量。我们首先使用data_sampling()函数对数据进行采样,设置采样比例sample_ratio为0.8,即从原数据集中随机选择80%的样本作为采样后的数据集。然后,我们使用data_split()函数将采样后的数据集划分为训练集和测试集,设置测试集比例test_size为0.2,即将数据集按照80%-20%的比例划分为训练集和测试集。最后,打印出不同数据集的大小。
通过使用load_data()函数进行数据采样和划分,我们可以灵活地控制数据集的大小和划分比例,从而满足实际需求。这种方法对于机器学习和数据分析任务非常有用,可以用于模型的训练和评估等步骤。
