你知道吗İ'我使用keras和python2.x并尝试对数据集进行分类。问题是预测总是集中在一个班级里
我是科拉斯的新手我该怎么办
这是我的困惑矩阵
Confusion Matrix
[[ 0 37 0]
[ 0 823 0]
[ 0 26 0]]
这是我的报告
precision recall f1-score support
-1 0.00 0.00 0.00 37
0 0.93 1.00 0.96 823
1 0.00 0.00 0.00 26
平均值/总计0.86 0.93 0.89 886
这是我的密码:
dataset= pd.read_csv("kartnEgitim.csv" )
giris=dataset.iloc [40:,1:20].get_values()
cikis=dataset.iloc [40:,20].get_values()
from sklearn.model_selection import train_test_split
egitimData, testData, egitimEtiket, testEtiket = train_test_split(giris, cikis, test_size = 0.2)
#from sklearn.preprocessing import StandardScaler
#sc = StandardScaler()
#egitimData = sc.fit_transform(egitimData)
#testData = sc.transform(testData)
egitimData=keras.utils.normalize(egitimData,axis=1)
testData=keras.utils.normalize(testData,axis=1)
model=Sequential()
model.add(Dense(6,input_dim=19,activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(6,activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(3))
model.add(Activation('softmax'))
model.compile(optimizer='adam' ,loss='sparse_categorical_crossentropy' , metrics=['accuracy'])
model.fit(egitimData, egitimEtiket,epochs=10,batch_size=64,class_weight='auto') # ,batch_size=64
val_loss, val_acc=model.evaluate(testData,testEtiket)
print(val_loss,val_acc)
# Predicting the Test set results
predictions = model.predict_classes(testData)
from sklearn.metrics import confusion_matrix,classification_report
print('Confusion Matrix')
cm = confusion_matrix(testEtiket, predictions, labels=[-1, 0, 1])
print (cm)
print('Classification Report')
print(classification_report(testEtiket, predictions,target_names = ['-1', '0', '1']))
我是科拉斯的新手我该怎么办
目前没有回答
相关问题 更多 >
编程相关推荐