Ограничить член перехвата в H2O GLM

Вам нужно добавить свойство vertical-align к вашим двум дочерним div.

Если .small всегда короче, вам нужно применить свойство только к .small. Однако, если любой из них может быть самым высоким, вы должны применить свойство как к .small, так и к .big.

.container{ 
    border: 1px black solid;
    width: 320px;
    height: 120px;    
}

.small{
    display: inline-block;
    width: 40%;
    height: 30%;
    border: 1px black solid;
    background: aliceblue; 
    vertical-align: top;   
}

.big {
    display: inline-block;
    border: 1px black solid;
    width: 40%;
    height: 50%;
    background: beige; 
    vertical-align: top;   
}

Вертикальный выравнивание влияет на ядро ​​встроенного или табличного ящика, и есть большой нумер различные значения для этого свойства. Подробнее см. В https://developer.mozilla.org/en-US/docs/Web/CSS/vertical-align .

1
задан C8H10N4O2 16 January 2019 в 20:35
поделиться

2 ответа

Обходной путь, если все ограничения имеют строгое равенство

Я могу наложить серьезный штраф L2 rho за отклонение от beta_given, и, похоже, здесь поддерживается Intercept: 116]

beta_const_df <- data.frame(names = c('Intercept','x1','x2'),
                            #lower_bounds = param_vals-0.1, #don't bound
                            #upper_bounds = param_vals+0.1,
                            #beta_start   = param_vals, # use beta_given
                            beta_given   = param_vals, # new
                            rho          = 1e9 )       # new

Тогда это работает:

glm2 <- h2o.glm(x=c('x1','x2'),
                y='col',
                family='binomial',
                lambda=0,
                alpha=0,
                training_frame = 'df1',
                beta_constraints=beta_const_df)

glm2@model$coefficients
# Intercept        x1        x2 
#      27.5      -1.1      -2.7 
all.equal(glm2@model$coefficients, param_vals, check.names=FALSE) # TRUE

Это работает, только если у вас есть все ограничения равенства (не различаются верхняя и нижняя границы).

В любом случае, все еще интересно, есть ли менее хакерский способ сделать это.

0
ответ дан C8H10N4O2 16 January 2019 в 20:35
поделиться

Попробуйте установить аргумент standardize равным False (как показано в приведенном ниже коде). Подробнее о параметре beta_constraints можно прочитать здесь :

glm1 <- h2o.glm(x=c('x1','x2'),
                y='col',
                family='binomial',
                lambda=0,
                alpha=0,
                training_frame = as.h2o(df1),
                beta_constraints=beta_const_df,
                standardize = F
)
glm1@model$coefficients
> glm1@model$coefficients
#Intercept        x1        x2 
#27.6      -1.0      -2.6 
0
ответ дан Lauren 16 January 2019 в 20:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: