在循环内部或外部创建极其随机的树分类器

时间:2012-11-30 08:39:56

标签: python scikit-learn random-forest

我在X_sample中有许多样本矩阵(mxn)。 每个矩阵具有相同的行数(相同的m)但具有不同数量的特征(diff n)。 X样本中的矩阵的示例是:1000x40,1000x35,1000x30,1000x25。 我有关于我的问题的以下(简化)代码示例:

Y_train =
Y_test =
clf = ExtraTreesClassifier(n_estimators=500, max_depth=None,max_features="auto",
                           min_samples_split=1, random_state=0)

for X_data in X_samples:
    X_train = X_data[0]
    X_test = X_data[1]
    clf.fit(X_train,Y_train)
    pred_res = clf.predict(X_test)
    .....

我使用参数max_features="auto"在循环外创建分类器。 我使用具有不同数量的特征的样本矩阵在循环内执行不同的分类。我的问题是,每当循环执行拟合操作时,分类器是否会根据X_train的实际大小(实际的特征数)调整max_features的值。值为“auto”的参数max_features应该使实际值等于特征数的平方根。 也就是说,我应该在循环外还是在循环内创建分类器?有没有办法读取参数max_features的实际值?

1 个答案:

答案 0 :(得分:1)

是。 fit函数不会更改估算值。 请参阅the docs