题目链接:Deep-ML
注意:
-
np.random.seed(seed)
:- 这行代码的作用是设置随机数生成器的种子(seed)。通过设定种子,你可以确保每次运行代码时随机数生成的结果是一致的。换句话说,这样可以确保数据打乱后的顺序在每次运行时都是相同的,这对于调试和结果复现非常重要。
-
np.random.shuffle(data)
:- 这行代码用于随机打乱数据集的顺序。打乱数据的目的是防止数据集中可能存在的顺序性对交叉验证结果产生偏差。例如,如果数据是按某种顺序排列的(如时间序列或按类别排序),不打乱数据可能会导致某些折叠中训练或测试集的数据分布不均匀,从而影响模型的评估效果。
import numpy as np
def cross_validation_split(data: np.ndarray, k: int, seed=42) -> list:
np.random.seed(seed)
np.random.shuffle(data)
folds = []