原因很简单。run\oob只输出run\oob的原因是run[\o]ob中的\o并不是一个语法类型。
其次,ru\noob中ru[\n]oob的\n有一个换行的意思,所以结果是:
1-[ru
2-oob]
如果不想让他换行,可以使用/。
类似于\n(换行)的还有\t(字符串制中)和\r(这个还没了解可以试验一下)
都可以试试看看效果。
这就是一段构造函数。(self,
n_estimators=10,
criterion="gini",
max_depth=None,
min_samples_split=2,
min_samples_leaf=1,
min_weight_fraction_leaf=0.,
max_features="auto",
max_leaf_nodes=None,
bootstrap=True,
oob_score=False,
n_jobs=1,
random_state=None,
verbose=0,
warm_start=False,
class_weight=None):
这是构造函数的参数,有默认值。
super(RandomForestClassifier, self).__init__(
base_estimator=DecisionTreeClassifier(),
n_estimators=n_estimators,
estimator_params=("criterion", "max_depth", "min_samples_split",
"min_samples_leaf", "min_weight_fraction_leaf",
"max_features", "max_leaf_nodes",
"random_state"),
bootstrap=bootstrap,
oob_score=oob_score,
n_jobs=n_jobs,
random_state=random_state,
verbose=verbose,
warm_start=warm_start,
class_weight=class_weight)
supper会调用基类构造函数,你可以认为这一串就是基类构造函数的参数。
self.criterion = criterion
self.max_depth = max_depth
self.min_samples_split = min_samples_split
self.min_samples_leaf = min_samples_leaf
self.min_weight_fraction_leaf = min_weight_fraction_leaf
self.max_features = max_features
self.max_leaf_nodes = max_leaf_nodes
这一串就是属性赋值。