gpt4 book ai didi

python - 使用keras进行多类分类

转载 作者:行者123 更新时间:2023-11-30 09:00:16 25 4
gpt4 key购买 nike

我正在开发一个神经网络,以便对使用 k-means 预先计算的类进行分类。

数据集看起来像:

50,12500,2,1,5
50,8500,2,1,15
50,6000,2,1,9
50,8500,2,1,15

结果行是最后一行。这是我正在尝试使用 Keras 运行的 Python 代码:

import numpy
import pandas
from keras.models import Sequential
from keras.layers import Dense,Dropout
from keras.wrappers.scikit_learn import KerasClassifier
from keras.utils import np_utils
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import KFold
from sklearn.preprocessing import LabelEncoder
from sklearn.pipeline import Pipeline

# fix random seed for reproducibility
seed = 7
numpy.random.seed(seed)

# load dataset
dataset = numpy.genfromtxt ('../r-calculations/k-means/output16.csv', delimiter=",")
X = dataset[:,0:4].astype(float)
Y = dataset[:,4]
print(Y[0])
Y = np_utils.to_categorical(Y)

model = Sequential()
model.add(Dense(5, activation='tanh', input_dim=4))
#model.add(Dropout(0.25))
model.add(Dense(10, activation='tanh'))
#model.add(Dropout(0.25))
model.add(Dense(10, activation='relu'))
#model.add(Dropout(0.25))
model.add(Dense(17, activation='softmax'))

model.compile(optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy'])

model.fit(X,Y, epochs=10, batch_size=10)
#print( model.predict(numpy.array([2,36,2,5,2384,1,2,4,3,1,1,4,33,3,1,1,2,1,1,1]).reshape((1,20))) )
#print( model.predict(numpy.array(X[0]).reshape((1,4))) )
#print( model.predict(numpy.array(X[1]).reshape((1,4))) )
#print( model.predict(numpy.array(X[2]).reshape((1,4))) )
result = model.predict(numpy.array(X[0]).reshape((1,4)))
for res in result[0]:
print res

如果我做对了,现在我将得到每个类别的概率作为输出。在调用“to_categorical”后如何检索标签?

有没有办法获得类别编号,而不是每个类别的概率?

目前它似乎运行不正常,损失很大~2,准确度~0.29,我无法让它收敛。我做错了什么?

3 月 19 日更新到目前为止我已经解决了我的问题,我改变了我的模型很多次,终于找到了工作配置。

最佳答案

如果你想要类而不是概率,你可以在你的预测中调用 numpy argmax 。

或者使用方便的调用predict_classes代替predict

result = model.predict_classes(numpy.array(X[0]).reshape((1,4)))

至于你的结果,你可以尝试运行几个额外的纪元,但很难说哪里出了问题。可能是你的训练数据质量、初始化错误、数据不足、模型错误(我只使用 relu 激活)。

关于python - 使用keras进行多类分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42873166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com