Machine learning tensorflow DNNCLIFER和cross_val_评分结果不佳

Machine learning tensorflow DNNCLIFER和cross_val_评分结果不佳,machine-learning,scikit-learn,tensorflow,classification,Machine Learning,Scikit Learn,Tensorflow,Classification,我正在使用python 3.5、tensorflow 0.10及其DNNClassifier。如果我执行一个单独的培训和测试阶段,如下所示,测试结果良好:准确度=0.9333 import tensorflow as tf from tensorflow.contrib import learn from sklearn.cross_validation import cross_val_score, ShuffleSplit, train_test_split from sklearn.met

我正在使用python 3.5、tensorflow 0.10及其DNNClassifier。如果我执行一个单独的培训和测试阶段,如下所示,测试结果良好:准确度=0.9333

import tensorflow as tf
from tensorflow.contrib import learn
from sklearn.cross_validation import cross_val_score, ShuffleSplit, train_test_split
from sklearn.metrics import accuracy_score
import numpy as np
from sklearn.metrics import accuracy_score
from sklearn import datasets, cross_validation

iris = datasets.load_iris()

feature_columns = learn.infer_real_valued_columns_from_input(iris.data)

x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.20, random_state = 20)

model = learn.DNNClassifier(hidden_units=[5], 
                             n_classes=3, 
                             feature_columns=feature_columns, 
                            )

model.fit(x_train, y_train, steps=1000)
predicted = model.predict(x_test)

print('Accuracy on test set: %f' % accuracy_score(y_test, predicted))
如果我使用sklearn的
cross_val_分数
,那么最终结果要差得多,准确率约为0.33:

model = learn.DNNClassifier(hidden_units=[5], 
                             n_classes=3, 
                             feature_columns=feature_columns, 
                            )

scores = cross_val_score(estimator=model, 
                         X=iris.data, 
                         y=iris.target, 
                         scoring = 'accuracy',
                         cv=5,
                         fit_params={'steps': 1000},
#                          verbose=100
                        )

print(scores)
print(np.mean(scores))
分数及其平均值为:

[ 0.          0.33333333  1.          0.33333333  0.        ]
0.333333333333

我的代码在交叉验证估计中有什么问题?

我和你有同样的问题,在iris数据集上也有同样的准确性。我认为scikit flow的cross val分数中存在一个主要错误?最终我没有遵循skflow。我觉得它坏了。那你用什么来交叉验证?编写自己的跨值函数?