Machine learning '有什么用;n#u分割';在scikit学习的分层hufflesplit中

Machine learning '有什么用;n#u分割';在scikit学习的分层hufflesplit中,machine-learning,scikit-learn,Machine Learning,Scikit Learn,我一直在阅读Scikit Learn和Tensorflow的《机器学习实践》一书,我发现了以下代码: from sklearn.model_selection import StratifiedShuffleSplit split = StratifiedShuffleSplit(n_splits=1, test_size=0.2, random_state=42) for train_index, test_index in split.split(housing, housing["inco

我一直在阅读Scikit Learn和Tensorflow的《机器学习实践》一书,我发现了以下代码:

from sklearn.model_selection import StratifiedShuffleSplit
split = StratifiedShuffleSplit(n_splits=1, test_size=0.2, random_state=42)
for train_index, test_index in split.split(housing, housing["income_cat"]):
    strat_train_set = housing.loc[train_index]
    strat_test_set = housing.loc[test_index]
我想知道“n_splits”的论点是什么。我到处找,但找不到满意的答复。
提前谢谢

顾名思义,n_splits参数用于指定希望拆分发生多少次(基本上是多少次单独拆分)

例如,设置n_splits=3将使循环生成3个不同的拆分(每个迭代一个),因此您可以更有效地执行验证


设置n_splits=1将模拟sklearn.model_selection.train_test_split将执行的操作(以及提到的分层参数)。对该函数的每个参数都有详细的解释。

那么n_splits=3将创建3组训练和测试分割?这对训练模特有什么帮助?谢谢你的回答!!是的,3套。创建多个拆分将允许您在每个拆分上训练一个新模型,从而使验证更加准确,并且平均所有这些模型的输出将导致整体模型更加稳健。这一概念更为人所知的是重复K-折叠交叉验证。