ich vererben from sklearn.ensemble import RandomForestClassifier
, und ich versuche, meinen neuen Schätzer zu drucken:Super __str__ ist nicht immer
class my_rf(RandomForestClassifier):
def __str__(self):
return "foo_" + RandomForestClassifier.__str__(self)
gibt foo_my_rf()
ich auch versucht:
class my_rf(RandomForestClassifier):
def __str__(self):
return "foo_" + super(RandomForestClassifier, self).__str__()
mit das gleiche Ergebnis. erwartet ist etwas ziemlich wie sklearn Standardverhalten:
>>> a = RandomForestClassifier() >>> print a RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini', max_depth=None, max_features='auto', max_leaf_nodes=None, min_samples_leaf=1, min_samples_split=2, min_weight_fraction_leaf=0.0, n_estimators=10, n_jobs=1, oob_score=False, random_state=None, verbose=0, warm_start=False) >>>
Dies ist auch das Ergebnis, wenn ich print a.__str__()
verwenden.
Was fehlt mir? Danke.
im Zusammenhang mit How do I change the string representation of a Python class?
Offensichtlich ist die Elternklasse '__str__' Implementierung der Name der Klasse. Du rufst es richtig an. – jonrsharpe
@jonrsharpe - oops, bearbeitet die Frage, um klar zu machen, was ich suche. – ihadanny
Haben Sie versucht, stattdessen das '__repr__' zu betrachten? – jonrsharpe