我尝试使用从 nolearn 包导入的 DBN 函数,这是我的代码:
from nolearn.dbn import DBN
import numpy as np
from sklearn import cross_validation
fileName = 'data.csv'
fileName_1 = 'label.csv'
data = np.genfromtxt(fileName, dtype=float, delimiter = ',')
label = np.genfromtxt(fileName_1, dtype=int, delimiter = ',')
clf = DBN(
[data, 300, 10],
learn_rates=0.3,
learn_rate_decays=0.9,
epochs=10,
verbose=1,
)
clf.fit(data,label)
score = cross_validation.cross_val_score(clf, data, label,scoring='f1', cv=10)
print score
由于我的数据具有形状 (1231, 229) 和带有形状 (1231,13) 的标签,因此标签集看起来像 ([0 0 1 0 1 0 1 0 0 0 1 1 0] ...,[.. ..]),当我运行我的代码时,我收到了这个错误消息:输入形状错误(1231,13)。我想知道这里可能会发生两个问题:
- DBN 不支持多标签分类
- 我的标签不适合在 DBN 拟合函数中使用。