我在做一个练习
实际操作机器学习
预订人
奥雷连杰隆
.
假定
data
是一个数据帧:
income_cat index
0 5.0 0
1 5.0 1
2 5.0 2
3 5.0 3
4 5.0 4
from sklearn.model_selection import StratifiedShuffleSplit
split = StratifiedShuffleSplit(n_splits=1, test_size=0.2, random_state=42)
选项A(从书中):
for test_indices, train_indices in split.split(data, data.income_cat):
print(test_indices, train_indices)
选项B:
test_indices, train_indices = split.split(data, data.income_cat)
print(test_indices, train_indices)
为什么选项B不起作用?
这是一个python问题,而不是sklearn问题。
一个元组应该同时扩展有循环或没有循环,我能缺少什么?
选项A和B之间的唯一区别是for循环。
选项A的输出:
[4 2 1 0] [3]
选项B的输出:
ValueError: not enough values to unpack (expected 2, got 1)