for循环问题(如何在for循环中创建的obj名称上使用i参数)

时间:2019-10-26 11:48:47

标签: python-3.x for-loop

我想在for中创建一些随机森林模型 我在其中移动估算器数量的循环。在相同的数据样本上训练它们中的每一个,并测量它们的准确性。 这是我的起始代码:

r = range(0, 100)
for i in r:
    RF_model_%i = RandomForestClassifier(criterion="entropy", n_estimators=i, oob_score=True)
    RF_model_%i.fit(X_train, y_train)
    y_predict =   RF_model_%i.predict(X_test)
    accuracy_%i = accuracy_score(y_test, y_predict)

我想了解的是:

  1. 如何在每个模型的名称上添加 i参数(在 为了认出他们)?
  2. 在计算并计算出     每个 i模型的准确性得分如何将结果放在     for循环中有一个列表?

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

results = [] # init 
r = range(0, 100)
for i in r:
    RF_model_%i = RandomForestClassifier(criterion="entropy", n_estimators=i, oob_score=True)
    RF_model_%i.id = i # dynamically add fields to objects
    RF_model_%i.fit(X_train, y_train)
    y_predict =   RF_model_%i.predict(X_test)
    accuracy_%i = accuracy_score(y_test, y_predict)
    results.append(accuracy_%i) # put the result on a list within the for-loop