#python #numpy #testing #reshape #conv-neural-network
#python #numpy #тестирование #изменить форму #conv-нейронная сеть
Вопрос:
у меня есть набор данных, и я использовал его для некоторой обучающей модели, включая модель CNN …. для модели CNN я изменил форму данных с 2D на 3D и с 1D на 2D…
X_train=np.dstack(X_train).T
X_test=np.dstack(X_test).T
Y_train = np.reshape(Y_train,( Y_train.size,1))
Y_test = np.reshape(Y_test,( Y_test.size,1))
теперь мне нужно найти тестирование, там я был поражен, потому что уже форма была изменена… итак, при проверке формы, вызывающей проблему, кто-нибудь может это исправить
Тестирование кода
from sklearn.metrics import confusion_matrix
for i in range(len(model)):
print('Model',i)
cm=confusion_matrix(Y_test,model[i].predict(X_test))
TP=cm[0][0]
TN=cm[1][1]
FN=cm[1][0]
FP=cm[0][1]
print(cm)
print('Testing Accuracy=',(TP TN)/(TP TN FN FP))
print()
преобразование формы или любые другие идеи будут полезны
print(X_train.shape, Y_train.shape)
print(X_test.shape, Y_test.shape)
форма значений перед
(5273, 17) (5273,)
(586, 17) (586,)
форма после изменения формы (5273, 17, 1) (5273, 1) (586, 17, 1) (586, 1)
Трассировка
AttributeError Traceback (most recent call last)
<ipython-input-74-6a1c49606155> in <module>()
4 for i in range(len(model)):
5 print('Model',i)
----> 6 cm=confusion_matrix(Y_test,model[i].predict(X_test))
7 TP=cm[0][0]
8 TN=cm[1][1]
AttributeError: 'float' object has no attribute 'predict'
Комментарии:
1. Можете ли вы определить форму Y_train и Y_test до и после изменения формы
2. Почему вы делаете
model[i].predict
? Могу ли я узнать, какую модель вы используете для ее вывода?3. Я просто хочу знать, что находится внутри модели. Похоже, что вы не вызываете функцию прогнозирования модели, а присваиваете простое значение с плавающей запятой. Просто разместите свой код на какой-нибудь размещенной платформе.. Я буду рад отлаживать
4. похоже, что я делал только в предыдущих моделях… я получил значение score () для каждой модели… и для тестирования я перечислил их в цикле @RaghavGupta