新手入門深度學習,在使用Python進行二分類問題時,我的模型的準確率90%左右,但是用predict得到的結果全是0,代碼如下:
x = data.iloc[:,:36].as_matrix() #36個屬性
y = data.iloc[:,36].as_matrix() #最后一列是標簽,0或者1
x_train,x_test,y_train,y_test=model_selection.train_test_split(x,y,test_size=0.2)
x_train=preprocessing.normalize(x_train)
x_test=preprocessing.normalize(x_test)
model = Sequential()
model.add(Dense(36, input_dim=36, activation='relu'))
model.add(Dropout(0.25))
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.25))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy',
optimizer='rmsprop',
metrics=['accuracy'])
model.fit(x_train, y_train,shuffle=True,
epochs=5,
batch_size=20)
score = model.evaluate(x_test, y_test, batch_size=20)
y_predict= model.predict_classes(x_test,batch_size=5)
print(y_predict)
得到的結果如下:
[[0]
[0]
[0]
[0]
[0]
[0]
[0]
……
嘗試過model.predict_proba,結果還是全為0
有沒有大神知道問題在哪,應該怎么修改
uj5u.com熱心網友回復:
資料集是不是不均衡,0較多而1很少uj5u.com熱心網友回復:
我今天遇到了一個跟你“一樣的問題”,預測出來的結果可能是很多0中間有個1,輸出的直接就是某個確定的one_hot格式的數,而不是每個可能性的概率uj5u.com熱心網友回復:
我輸出的也是0 除了0還是0 里面有沒有資料我都不清楚 誰知道回復一下 謝謝uj5u.com熱心網友回復:
因為你串列里只有一個資料,它回傳的是標簽,第一個資料的標簽都是0,你看看你的串列里面是不是只有你一個資料uj5u.com熱心網友回復:
請問樓主解決這個問題了嗎?我也遇到類似的問題,我的類別分別是'yes'和'no',輸出結果全是'no'。uj5u.com熱心網友回復:
怎么解決呀?uj5u.com熱心網友回復:
請問您解決了嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/54163.html
上一篇:哪位大佬用python實作了k-均值和k-中心演算法?
下一篇:為什么爬蟲有的網站可以soup.find('div',class_= '2000' ). find,有的不可以,內置圖片求解惑
