wenn ich führen Sie diesen Code:str Objekt ist nicht aufrufbar - eine Funktion mit einer Funktion/string als Argument Aufruf
clffunc = sys.argv[1]
def fun(clffunc):
error_vector = clffunc()
print error_vector
loss_total = sum(error_vector)
loss_mean = np.mean(error_vector)
print "The mean error is %.2f" % loss_mean
def svm_clf():
#The clasificator object
clf = svm.SVC()
clf.fit(train_features, train_targets)
# Prediction
test_predicted = clf.predict(test_features)
# Analysis and output
return np.absolute(test_predicted-test_targets)
if __name__ == "__main__":
fun(clffunc)
vom Terminal als:
python GraspT.py svm_clf
ich die folgende Fehlermeldung erhalten :
Im Internet konnte ich keine Lösung finden. 'str' Objekt ist nicht aufrufbar ist fast immer getan, wenn jemand eine eingebaute Funktion oder etwas ähnliches neu definiert. Das ist nicht mein Fall. Hier übergebe ich einen String vom Terminal, und dann wird dies als String in einem Funktionsargument verwendet. Dieses Argument ist in der Tat eine Funktion. Ich möchte also die Funktion (eine Klassifikationsmethode im maschinellen Lernen) auswählen, die im Code ausgeführt wird.
Warum Sie versuchen 'clffunc' zu nennen? Sie haben es als Parameter an Ihr Skript übergeben, was es zu einer Zeichenkette macht. –
Ich wähle die Ausführung von svm_clf() unter anderen Funktionen. Wenn ich explizit Spaß schreibe (svm_clf), gibt es keine Fehler. Ich denke, dass svm_clf eine Zeichenfolge ist. Aber wenn ich die gleiche Zeichenfolge von der Befehlszeile übergeben, zeigt es mir den Fehler – prometeu