#python
Вопрос:
Я results
заполнил test_score
, но как я могу добавить train_score
results
, чтобы это был список из 10 кортежей, таких как: ( train_score
, test_score
)?
import numpy as np
import pandas as pd
from sklearn import tree
from sklearn.tree import DecisionTreeClassifier
results = []
for i in list(range(1, 11)):
clf = DecisionTreeClassifier(max_depth = i, random_state=0).fit(X_train, y_train)
test_score = clf.score(X_test, y_test)
train_score = clf.score(X_train, y_train)
results.append(test_score)
results
Комментарии:
1. Я думаю, что список(диапазон()) не нужен, диапазон() будет работать нормально.
2. Это прямо в твоем вопросе: ты пишешь
(train_score, test_score)
.
Ответ №1:
Вы можете сделать что-то вроде:
...
results.append((train_score, test_score))
...
Ответ №2:
Добавьте кортеж в свой список :
results.append((train_score,test_score))
Кроме того, обратите внимание, что for i in list(range(1, 11))
в цикле for нет необходимости.
for i in range(1, 11)
этого достаточно, так как он возвращает объект диапазона, который можно повторять.
Ответ №3:
Просто создайте экземпляр кортежа до
t = (test_score, train_score)
results.append(t)