NN通常用于不使用CV的大型数据集-而且非常昂贵。对于IRIS(每种物种有50个样本),您可能需要它。为什么不使用带有不同随机种子的scikit-learn来分开训练和测试?
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42)
对于k倍的k:
- 拆分数据,将不同的值传递给“ random_state”
- 使用_train学习网络
- 使用_test进行测试
如果您不喜欢随机种子,并且想要更结构化的k倍拆分,则可以使用此处的方法 。
from sklearn.model_selection import KFold, cross_val_score
X = ["a", "a", "b", "c", "c", "c"]
k_fold = KFold(n_splits=3)
for train_indices, test_indices in k_fold.split(X):
print('Train: %s | test: %s' % (train_indices, test_indices))
Train: [2 3 4 5] | test: [0 1]
Train: [0 1 4 5] | test: [2 3]
Train: [0 1 2 3] | test: [4 5]
0
我正在遵循IRIS的tensorflow示例 。
我现在的情况是,我将所有数据保存在一个CSV文件中,没有分开,我想对该数据应用k倍交叉验证。
我有
与IRIS示例一样,如何使用多层神经网络对此数据集执行k折交叉验证?