Фильтрация частичных зависимостей по размеру эффекта - PullRequest
0 голосов
/ 28 марта 2019

Я установил модель и хочу взглянуть (и построить график) на частичные зависимости.Для этой задачи я использую пакет mlr.Тем не менее, поскольку у меня есть 80 функций, я хочу посмотреть только те, которые оказывают наибольшее влияние на целевую переменную.Можно ли рассчитать или показать частичную зависимость только для объектов с наибольшим влиянием?

Вот пример: я только что установил 4 значения.Давайте предположим, что я только хочу посмотреть или рассчитать частичную зависимость для 2 наиболее влиятельных особенностей.

library(mlr)
pd = generatePartialDependenceData(mod, train_task, c("diveyTrue",  "dinnerTrue","BikeParkingTrue", "latenightTrue"))

pd
PartialDependenceData
Task: dat
Features: diveyTrue, dinnerTrue, BikeParkingTrue, latenightTrue
Target: diveyTrue, dinnerTrue, BikeParkingTrue, latenightTrue
Derivative: FALSE
Interaction: FALSE
Individual: FALSE
   review_count diveyTrue dinnerTrue BikeParkingTrue latenightTrue
1:     73.92993 0.0000000         NA              NA            NA
2:     73.68386 0.1111111         NA              NA            NA
3:     73.68386 0.2222222         NA              NA            NA
4:     73.68386 0.3333333         NA              NA            NA
5:     73.68386 0.4444444         NA              NA            NA
6:     63.56335 0.5555556         NA              NA            NA
... (#rows: 40, #cols: 5)

Задача является регрессией, а первый столбец является целевой переменной.Все остальные переменные являются фиктивными.Поэтому целевая переменная остается постоянной до тех пор, пока значение «diveyTrue» не станет больше 0,5.

Вот маленький dput():

 structure(list(data = structure(list(review_count = c(73.9299260484918, 
73.6838552698629, 73.6838552698629, 73.6838552698629, 73.6838552698629, 
63.5633491608329, 63.5633491608329, 63.5633491608329, 63.5633491608329, 
63.5633491608329, 44.123492893074, 44.0855985404284, 44.0855985404284, 
44.0855985404284, 44.0855985404284, 67.9185575263356, 67.9185575263356, 
67.9185575263356, 67.9185575263356, 67.9185575263356, 64.1248331786005, 
64.1243679505065, 64.1243679505065, 64.1243679505065, 64.1243679505065, 
64.9177431842816, 64.9177431842816, 64.9177431842816, 64.9177431842816, 
64.9177431842816, 58.2709529252224, 58.2709529252224, 58.2709529252224, 
58.2709529252224, 58.2709529252224, 89.8281204749236, 89.8281204749236, 
89.8281204749236, 89.8281204749236, 89.8281204749236), diveyTrue = c(0, 
0.111111111111111, 0.222222222222222, 0.333333333333333, 0.444444444444444, 
0.555555555555556, 0.666666666666667, 0.777777777777778, 0.888888888888889, 
1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), 
    dinnerTrue = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0, 
    0.111111111111111, 0.222222222222222, 0.333333333333333, 
    0.444444444444444, 0.555555555555556, 0.666666666666667, 
    0.777777777777778, 0.888888888888889, 1, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA), BikeParkingTrue = c(NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0, 0.111111111111111, 
    0.222222222222222, 0.333333333333333, 0.444444444444444, 
    0.555555555555556, 0.666666666666667, 0.777777777777778, 
    0.888888888888889, 1, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA), latenightTrue = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, 0, 0.111111111111111, 0.222222222222222, 
    0.333333333333333, 0.444444444444444, 0.555555555555556, 
    0.666666666666667, 0.777777777777778, 0.888888888888889, 
    1)), row.names = c(NA, -40L), class = c("data.table", "data.frame"
), .internal.selfref = <pointer: 0x0000000002521ef0>), task.desc = structure(list(
    id = "dat", type = "regr", target = "review_count", size = 9943L, 
    n.feat = c(numerics = 79L, factors = 0L, ordered = 0L, functionals = 0L
    ), has.missings = TRUE, has.weights = FALSE, has.blocking = FALSE, 
    has.coordinates = FALSE), class = c("RegrTaskDesc", "SupervisedTaskDesc", 
"TaskDesc")), target = c("diveyTrue", "dinnerTrue", "BikeParkingTrue", 
"latenightTrue"), features = c("diveyTrue", "dinnerTrue", "BikeParkingTrue", 
"latenightTrue"), derivative = FALSE, interaction = FALSE, individual = FALSE), class = "PartialDependenceData")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...