2017-02-09 4 views
1

Ich mache Maschinen lernen Zeug. Ich treffe ein Problem an diesem Tag, hoffe jemand kann mir helfen.Python: Wie man zwei Arrays auf einfachste Weise vergleicht

Ich habe zwei Arrays [Array (Vorhersage) und Array (Labels)) mit beiden gleichen Dimension [Shape: (128, 5)]. Die erste Dimension ist der Index jeder Vorhersage und Bezeichnung. Die zweite Dimension ist die Ergebnisse für jede Vorhersage und Label

Ich möchte die Genauigkeit ausgeben Hier ist mein Code.

right_count = 0 
for i in range(Prediction.shape[0]) # Foreach each predict/label 
    if(np.array_equal(Prediction[i], Labels[i])): # Compare each result 
     right_count += 1 

accuracy = float(right_count)/Prediction.shape[0]' 

Ich frage mich nur, ob es einen besseren Weg gibt, einfach den folgenden Code.

Danke

Antwort

4

Dieser Code vereinfacht, zum Beispiel werden kann:

accuracy = (Prediction == Labels).all(axis=1).mean()

Dies auch schneller laufen als die ursprüngliche Version, weil mehrere der Operationen innerhalb Numpy statt in Python getan werden Code.

Verwandte Themen