Получить значения функций для словаря данных - PullRequest
0 голосов
/ 17 января 2019

Я сейчас работаю над вариантом использования, используя 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)

но это печатает значение только для одного словаря (и я не знаю, какой). Я хочу, чтобы он был напечатан для всех ключей в словаре "важности". Заранее спасибо!

1 Ответ

0 голосов
/ 17 января 2019

Если я вас правильно понимаю, вы хотите, чтобы значение функции было как для данных поезда, так и для данных испытаний.

Это не так, сначала он создает RandomForest из ваших обучающих данных, и после этой операции он может рассчитать важность каждой функции на основе того, сколько раз она использовалась для разделения пространства (и насколько «хорошо» было разветвления, например, насколько низка была, например, примесь Джини, для многих деревьев, конечно).

Таким образом, вы получаете важность функции для обучающих данных, для тестовых данных изученная древовидная архитектура используется для прогнозирования значений.

...