Scikit learn 我可以将多输入模型与sklearn(keras多输入模型)结合使用吗
我想用sklearn交叉验证功能训练多输入keras模型。但我失败了。sklearn不支持多输入模型?还有其他办法克服它吗 这些是输入形状Scikit learn 我可以将多输入模型与sklearn(keras多输入模型)结合使用吗,scikit-learn,keras,Scikit Learn,Keras,我想用sklearn交叉验证功能训练多输入keras模型。但我失败了。sklearn不支持多输入模型?还有其他办法克服它吗 这些是输入形状 for sheet in tower_dataset : print sheet.shape 输出 (126L, 3L) (126L, 45L) (126L, 148L) (126L, 148L) (126L, 148L) (126L, 148L) (126L, 148L) (126L, 148L) (126L, 148L) (126L, 148L
for sheet in tower_dataset :
print sheet.shape
输出
(126L, 3L)
(126L, 45L)
(126L, 148L)
(126L, 148L)
(126L, 148L)
(126L, 148L)
(126L, 148L)
(126L, 148L)
(126L, 148L)
(126L, 148L)
(126L, 100L)
(126L, 296L)
(126L, 296L)
(126L, 176L)
(126L, 31L)
(126L, 5L)
我试着用sklearn交叉验证来训练keras模型
epochs = 100
n_folds = 10
model = KerasClassifier(build_fn=create_model, nb_epoch=150, batch_size=10)
skf = StratifiedKFold(y=label, n_folds=n_folds, shuffle=True, random_state=rand_seed)
kfold = StratifiedKFold(y=label, n_folds=n_folds, shuffle=True, random_state=rand_seed)
错误输出
results = cross_val_score(model, tower_dataset, label, cv=kfold)
print(results.mean())
ValueErrorTraceback (most recent call last)
<ipython-input-219-924ce2fda183> in <module>()
6 kfold = StratifiedKFold(y=label, n_folds=n_folds, shuffle=True, random_state=rand_seed)
7
----> 8 results = cross_val_score(model, tower_dataset, label, cv=kfold)
9 print(results.mean())
10
C:\Users\user\Anaconda2\lib\site-packages\sklearn\cross_validation.pyc in cross_val_score(estimator, X, y, scoring, cv, n_jobs, verbose, fit_params, pre_dispatch)
1420 Array of scores of the estimator for each run of the cross validation.
1421 """
-> 1422 X, y = indexable(X, y)
1423
1424 cv = check_cv(cv, X, y, classifier=is_classifier(estimator))
C:\Users\user\Anaconda2\lib\site-packages\sklearn\utils\validation.pyc in indexable(*iterables)
199 else:
200 result.append(np.array(X))
--> 201 check_consistent_length(*result)
202 return result
203
C:\Users\user\Anaconda2\lib\site-packages\sklearn\utils\validation.pyc in check_consistent_length(*arrays)
174 if len(uniques) > 1:
175 raise ValueError("Found arrays with inconsistent numbers of samples: "
--> 176 "%s" % str(uniques))
177
178
ValueError: Found arrays with inconsistent numbers of samples: [ 16 126]
results=cross\u val\u分数(模型、塔数据集、标签、cv=kfold)
打印(results.mean())
ValueErrorTraceback(最近一次呼叫上次)
在()
6 kfold=StratifiedKFold(y=label,n_fold=n_fold,shuffle=True,random_state=rand_seed)
7.
---->8结果=交叉分数(模型、塔数据集、标签、cv=kfold)
9打印(results.mean())
10
C:\Users\user\Anaconda2\lib\site packages\sklearn\cross\u validation.pyc在cross\u val\u分数中(估计器、X、y、分数、cv、n\u作业、详细信息、拟合参数、预调度)
1420交叉验证每次运行的估计器得分数组。
1421 """
->1422 X,y=可转位(X,y)
1423
1424 cv=检查_cv(cv,X,y,分类器=is_分类器(估计器))
C:\Users\user\Anaconda2\lib\site packages\sklearn\utils\validation.pyc可索引(*iterables)
199其他:
200结果追加(np.数组(X))
-->201检查长度是否一致(*结果)
202返回结果
203
检查长度(*数组)中的C:\Users\user\Anaconda2\lib\site packages\sklearn\utils\validation.pyc
174如果len(uniques)>1:
175 raise VALUERROR(“找到的数组的样本数不一致:”
-->176“%s”%str(唯一性))
177
178
ValueError:找到样本数不一致的数组:[16 126]
谢谢你的时间和帮助。嘿,你明白了吗?从今天看来这是不可能的