2017-07-13 5 views
0

Ich kam in einem Python-Code in dieser Zeile und weiß nicht, wie, was sie tut:Was bedeutet diese Python-Zeile?

def update(self, instance): 
    """ 
    Perform perceptron update, if the wrong label is predicted. 
    Return a boolean value indicating whether an update was performed. 
    """ 
    error = 0 
    predicted_output = self.prediction(instance.feature_counts) 
    if(predicted_output==True and instance.label==False):error = 1 
    if(predicted_output==False and instance.label==True):error = -1 

    do_update = error !=0 

    if do_update: 
     for feature, count in instance.feature_counts.items(): 
      self.weights[feature] += error*count 
    return do_update 

Kann jemand erklären:

do_update = error !=0 

Dieser den Zusammenhang war der Code ein Perzeptron Klassifikator war wie es funktioniert?

+0

Es weist der Variablen 'do_update' einen booleschen Wert zu. Wenn 'error! = 0 ', wird' do_update' sonst 'True',' False'. –

Antwort

1

do_update = error !=0

Mittel: error !=0 bewerten und das Ergebnis zu do_update zuweisen.

Die Auswertung von error !=0 ist ein boolescher Wert (True/False), basierend auf dem Wert error.

Im Einzelnen:

wenn error0 entspricht, wird do_updateFalse

, wenn error nicht gleich 0 ist, do_updateTrue

0

Dies ist ein schneller Weg sein wird, das Ergebnis einer Prüfung zu speichern .

Da error != 0 Bool zurückgibt, ist do_updateFalse oder True.

Basisch, wenn der Fehler 0 ist, ist do_update False, sonst ist do_update True.

0

error !=0 ist ein boolescher Ausdruck und zurück True wenn error nicht den Wert 0 und False sonst halten. Es könnte helfen, Klammern hinzuzufügen:

do_update = (error != 0)