我試圖用從nolearn包進口DBN功能,這裏是我的代碼:nolearn多標籤分類
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擬合函數中使用。
謝謝Massias。當我試圖測試您的示例時,我被卡在導入錯誤:無法導入名稱mse。我在網上搜索了這個錯誤,很多人說在烤寬麪條和nolearn上存在一個不兼容的問題。我正在使用不學習0.5。 – Kun
@Fox我也遇到了這個問題,有時版本的theano和烤寬麪條不同意。首先從命令行運行以下命令行:首先'pip install -r https:// raw.githubusercontent.com/Lasagne/Lasagne/master/requirements.txt'然後 'pip install https://github.com/Lasagne /千層麪/存檔/ master.zip';之後,它應該工作 –
我遵循你的指示,仍然有這個問題。我檢查了要求,我的Theano版本有問題嗎?礦是0.7.0。 – Kun