otrzymuję ten błąd:jak zaimplementować niestandardowe dane w kamerze?
sumy() dostał nieoczekiwaną argumentu słowa kluczowego 'out'
kiedy uruchomić ten kod:
import pandas as pd, numpy as np
import keras
from keras.layers.core import Dense, Activation
from keras.models import Sequential
def AUC(y_true,y_pred):
not_y_pred=np.logical_not(y_pred)
y_int1=y_true*y_pred
y_int0=np.logical_not(y_true)*not_y_pred
TP=np.sum(y_pred*y_int1)
FP=np.sum(y_pred)-TP
TN=np.sum(not_y_pred*y_int0)
FN=np.sum(not_y_pred)-TN
TPR=np.float(TP)/(TP+FN)
FPR=np.float(FP)/(FP+TN)
return((1+TPR-FPR)/2)
# Input datasets
train_df = pd.DataFrame(np.random.rand(91,1000))
train_df.iloc[:,-2]=(train_df.iloc[:,-2]>0.8)*1
model = Sequential()
model.add(Dense(output_dim=60, input_dim=91, init="glorot_uniform"))
model.add(Activation("sigmoid"))
model.add(Dense(output_dim=1, input_dim=60, init="glorot_uniform"))
model.add(Activation("sigmoid"))
model.compile(optimizer='rmsprop',loss='binary_crossentropy',metrics=[AUC])
train_df.iloc[:,-1]=np.ones(train_df.shape[0]) #bias
X=train_df.iloc[:,:-1].values
Y=train_df.iloc[:,-1].values
print X.shape,Y.shape
model.fit(X, Y, batch_size=50,show_accuracy = False, verbose = 1)
jest to możliwe do wdrożenia niestandardowego metryczne oprócz robienia pętli na partiach i edycji kodu źródłowego?
mógłbyś może wypracować jak rozwiązać ten problem? Jak mogę przekształcić Tensor w tablicę numpy? – ste
Musisz myśleć o tensorze jako zmiennej algebraicznej. Nie możesz przekształcić numpy array w tensor. Możesz tylko przypisać tablicę numpy jako wartość tensora. –
Nie chcę przekształcać tablicy numpy w tensor, ale na odwrót. Jeśli użyjemy funkcji OP, spróbowałem: 'def AUC (y_true, y_pred): numpy_y_true = y_true.eval() ... return ...' ale to nie zadziałało. Jak rozwiązałbyś problem OP? – ste