sklearn StratfiedShuffleSplit

时间:2018-11-13 03:40:00

标签: python scikit-learn

有人可以帮助我了解StratifiedShuffleSplit的功能吗?我是这个图书馆的新手。我了解分层采样背后的原理,但是就代码而言,StratifiedShuffleSplit函数返回的确切信息是什么?

我正在阅读的书包含以下代码,但是我没有完全遵循。该函数是否确实在数据帧上添加了一个区分测试和训练的索引,这就是为什么他们随后使用.loc的原因?究竟将Income_cat列作为拆分依据是什么?谢谢!

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]

1 个答案:

答案 0 :(得分:0)

  

该函数是否确实在数据框上添加了一个索引   区分测试和训练,这就是为什么   使用.loc?

它没有添加索引,索引已经存在,但是是的,该函数基本上会返回索引的拆分,以便您可以使用.loc

进行调用
  

将incidence_cat列拆分的确切含义是什么?

分层随机拆分的想法是,对于每个拆分,它将标签的原始分布保留在y中。