2024-05-19 03:20:40 发布
网友
我在跟踪the IRIS example of tensorflow。
我现在的情况是,所有数据都在一个CSV文件中,而不是分开的,我想对这些数据应用k-fold交叉验证。
我有
data_set = tf.contrib.learn.datasets.base.load_csv(filename="mydata.csv", target_dtype=np.int)
如何使用多层神经网络对该数据集进行k倍交叉验证,就像IRIS示例一样?
NN通常用于不使用CV的大型数据集,而且非常昂贵。在虹膜的情况下(每种50个样本),你可能需要它。。 为什么不使用scikit-learn with different random seeds来分割训练和测试?
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42)
对于kfold中的k:
如果你不喜欢随机种子,想要一个更结构化的k-折叠分裂, 您可以使用从here中获取的。
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]
我知道这个问题已经过时了,但如果有人想做类似的事情,请扩展一下ahmedhosny's答案:
新的tensorflow数据集API能够使用python生成器创建数据集对象,因此除了scikit learn的KFold选项外,还可以使用KFold.split()生成器创建数据集:
import numpy as np from sklearn.model_selection import LeaveOneOut,KFold import tensorflow as tf import tensorflow.contrib.eager as tfe tf.enable_eager_execution() from sklearn.datasets import load_iris data = load_iris() X=data['data'] y=data['target'] def make_dataset(X_data,y_data,n_splits): def gen(): for train_index, test_index in KFold(n_splits).split(X_data): X_train, X_test = X_data[train_index], X_data[test_index] y_train, y_test = y_data[train_index], y_data[test_index] yield X_train,y_train,X_test,y_test return tf.data.Dataset.from_generator(gen, (tf.float64,tf.float64,tf.float64,tf.float64)) dataset=make_dataset(X,y,10)
然后可以在基于图的tensorflow中或使用紧急执行来迭代数据集。使用紧急执行:
for X_train,y_train,X_test,y_test in tfe.Iterator(dataset): ....
NN通常用于不使用CV的大型数据集,而且非常昂贵。在虹膜的情况下(每种50个样本),你可能需要它。。 为什么不使用scikit-learn with different random seeds来分割训练和测试?
对于kfold中的k:
如果你不喜欢随机种子,想要一个更结构化的k-折叠分裂, 您可以使用从here中获取的。
我知道这个问题已经过时了,但如果有人想做类似的事情,请扩展一下ahmedhosny's答案:
新的tensorflow数据集API能够使用python生成器创建数据集对象,因此除了scikit learn的KFold选项外,还可以使用KFold.split()生成器创建数据集:
然后可以在基于图的tensorflow中或使用紧急执行来迭代数据集。使用紧急执行:
相关问题 更多 >
编程相关推荐