我需要關於輸入以進行機器學習的幫助/意見。包含矩陣N×M的hdf5文件作爲keras機器學習的輸入
我有一個HDF5文件
combined.h5
包含幾個數據集,其中每個數據集包含的矩陣4×125(4行和125列)
我一直在尋找關於如何輸入HDF5包含矩陣作爲機器學習輸入的文件,但沒有找到任何答案/例子足夠我參考。下面是我修改後的腳本
import numpy as np
import h5py
from keras.models import Sequential
from keras.layers import Dense
seed = 7
np.random.seed(seed)
dataset = h5py.File('combined.h5', 'r') #has 5 dataset
X = dataset #input
Y = ["A","CFL","SS","G","FF"] #output
model = Sequential()
model.add(Dense(125, input_dim=125, init='normal', activation='relu'))
model.add(Dense(5, init='uniform', activation='sigmoid'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(X, Y, nb_epoch=150, batch_size=10)
scores = model.evaluate(X, Y)
print("%s: %.2f%%" % (model.metrics_names[1], scores[1]*100))
我跑這個劇本,並得到像下面
我的問題是如何加載矩陣作爲機器學習的輸入數據的形式包含數據集的HDF5文件錯誤?
*附加問題,我想鏈接每個數據集的輸出。例如,數據集1的輸出數據爲「A」,數據集2的輸出數據爲「CFL」,依此類推...... 有沒有什麼適當的方法可以做到這一點,還是足夠用我在腳本中寫的內容?
謝謝你的幫助。
我需要用hdf5文件中數據集的名稱來替換'dataset_name'嗎?你能詳細解釋一下嗎?例如,如果我有名爲'AA','BB'的數據集,是否需要像這樣寫 - > X = dataset ['AA'] [:]'用於數據集'AA'和'X =數據集[ 'BB'] [:]'數據集'BB'每個?或者是X = dataset ['dataset_name'] [:]'足以解決hdf5文件中的所有數據集? – Fang
Dataset_name是實際數據集名稱(如AA)的佔位符。 –