Я сейчас работаю над вариантом использования, используя RandomForestRegressor
. Чтобы получить данные обучения и тестирования отдельно на основе одного столбца, скажем, Home, кадр данных был разбит на словарь. Почти закончил с моделированием, но застрял в получении важности функции для каждого ключа в словаре (количество ключей = 21). Пожалуйста, посмотрите на коды ниже:
hp = pd.get_dummies(hp)
hp = {i: g for i, g in hp.set_index(["Home"]).groupby(level = [0])}
feature = {}; feature_train = {}; feature_test = {}
target = {}; target_train = {}; target_test = {}; target_pred = {}
importances = {}
for k, v in hp.items():
target[k] = np.array(v["HP"])
feature[k] = v.drop(["HP", "Corr"], axis = 1)
feature_list = list(feature[1].columns)
for k, v in zip(feature, target):
feature[k] = np.array(feature[v])
for k, v in zip(feature_train, target_train):
feature_train[k], feature_test[k], target_train[k], target_test[k] = train_test_split(
feature[v], target[v], test_size = 0.25, random_state = 42)
То, что я пробовал после справки Диаграмма важности случайных лесов с использованием Python
for name, importance in zip(feature_list, list(rf.feature_importances_)):
print(name, "=", importance)
но это печатает значение только для одного словаря (и я не знаю, какой). Я хочу, чтобы он был напечатан для всех ключей в словаре "важности". Заранее спасибо!