Last updated: Jan 18, 2024
Logistic regression is a statistical technique for classifying records based on values of input fields. It is analogous to linear regression but takes a categorical target field instead of a numeric range.
Multinomial Example
node = stream.create("logreg", "My node")
# "Fields" tab
node.setPropertyValue("custom_fields", True)
node.setPropertyValue("target", "Drug")
node.setPropertyValue("inputs", ["BP", "Cholesterol", "Age"])
node.setPropertyValue("partition", "Test")
# "Model" tab
node.setPropertyValue("use_model_name", True)
node.setPropertyValue("model_name", "Log_reg Drug")
node.setPropertyValue("use_partitioned_data", True)
node.setPropertyValue("method", "Stepwise")
node.setPropertyValue("logistic_procedure", "Multinomial")
node.setPropertyValue("multinomial_base_category", "BP")
node.setPropertyValue("model_type", "FullFactorial")
node.setPropertyValue("custom_terms", [["BP", "Sex"], ["Age"], ["Na", "K"]])
node.setPropertyValue("include_constant", False)
# "Expert" tab
node.setPropertyValue("mode", "Expert")
node.setPropertyValue("scale", "Pearson")
node.setPropertyValue("scale_value", 3.0)
node.setPropertyValue("all_probabilities", True)
node.setPropertyValue("tolerance", "1.0E-7")
# "Convergence..." section
node.setPropertyValue("max_iterations", 50)
node.setPropertyValue("max_steps", 3)
node.setPropertyValue("l_converge", "1.0E-3")
node.setPropertyValue("p_converge", "1.0E-7")
node.setPropertyValue("delta", 0.03)
# "Output..." section
node.setPropertyValue("summary", True)
node.setPropertyValue("likelihood_ratio", True)
node.setPropertyValue("asymptotic_correlation", True)
node.setPropertyValue("goodness_fit", True)
node.setPropertyValue("iteration_history", True)
node.setPropertyValue("history_steps", 3)
node.setPropertyValue("parameters", True)
node.setPropertyValue("confidence_interval", 90)
node.setPropertyValue("asymptotic_covariance", True)
node.setPropertyValue("classification_table", True)
# "Stepping" options
node.setPropertyValue("min_terms", 7)
node.setPropertyValue("use_max_terms", True)
node.setPropertyValue("max_terms", 10)
node.setPropertyValue("probability_entry", 3)
node.setPropertyValue("probability_removal", 5)
node.setPropertyValue("requirements", "Containment")
Binomial Example
node = stream.create("logreg", "My node")
# "Fields" tab
node.setPropertyValue("custom_fields", True)
node.setPropertyValue("target", "Cholesterol")
node.setPropertyValue("inputs", ["BP", "Drug", "Age"])
node.setPropertyValue("partition", "Test")
# "Model" tab
node.setPropertyValue("use_model_name", False)
node.setPropertyValue("model_name", "Log_reg Cholesterol")
node.setPropertyValue("multinomial_base_category", "BP")
node.setPropertyValue("use_partitioned_data", True)
node.setPropertyValue("binomial_method", "Forwards")
node.setPropertyValue("logistic_procedure", "Binomial")
node.setPropertyValue("binomial_categorical_input", "Sex")
node.setKeyedPropertyValue("binomial_input_contrast", "Sex", "Simple")
node.setKeyedPropertyValue("binomial_input_category", "Sex", "Last")
node.setPropertyValue("include_constant", False)
# "Expert" tab
node.setPropertyValue("mode", "Expert")
node.setPropertyValue("scale", "Pearson")
node.setPropertyValue("scale_value", 3.0)
node.setPropertyValue("all_probabilities", True)
node.setPropertyValue("tolerance", "1.0E-7")
# "Convergence..." section
node.setPropertyValue("max_iterations", 50)
node.setPropertyValue("l_converge", "1.0E-3")
node.setPropertyValue("p_converge", "1.0E-7")
# "Output..." section
node.setPropertyValue("binomial_output_display", "at_each_step")
node.setPropertyValue("binomial_goodness_of_fit", True)
node.setPropertyValue("binomial_iteration_history", True)
node.setPropertyValue("binomial_parameters", True)
node.setPropertyValue("binomial_ci_enable", True)
node.setPropertyValue("binomial_ci", 85)
# "Stepping" options
node.setPropertyValue("binomial_removal_criterion", "LR")
node.setPropertyValue("binomial_probability_removal", 0.2)
logregnode Properties |
Values | Property description |
---|---|---|
target
|
field | Logistic regression models require a single target field and one or more input fields. Frequency and weight fields are not used. See Common modeling node properties for more information. |
logistic_procedure
|
Binomial
Multinomial
|
|
include_constant
|
flag | |
mode
|
Simple
Expert
|
|
method
|
Enter
Stepwise
Forwards
Backwards
BackwardsStepwise
|
|
binomial_method
|
Enter
Forwards
Backwards
|
|
model_type
|
MainEffects
FullFactorial
Custom
|
When FullFactorial is specified as the model type, stepping methods will not
run, even if specified. Instead, Enter will be the method used.
If the
model type is set to Custom but no custom fields are specified, a main-effects
model will be built. |
custom_terms
|
[[BP Sex][BP][Age]] | |
multinomial_base_category
|
string | Specifies how the reference category is determined. |
binomial_categorical_input
|
string | |
binomial_input_contrast
|
Indicator
Simple
Difference
Helmert
Repeated
Polynomial
Deviation
|
Keyed property for categorical input that specifies how the contrast is determined. See the example for usage. |
binomial_input_category
|
First
Last
|
Keyed property for categorical input that specifies how the reference category is determined. See the example for usage. |
scale
|
None
UserDefined
Pearson
Deviance
|
|
scale_value
|
number | |
all_probabilities
|
flag | |
tolerance
|
1.0E-5
1.0E-6
1.0E-7
1.0E-8
1.0E-9
1.0E-10
|
|
min_terms
|
number | |
use_max_terms
|
flag | |
max_terms
|
number | |
entry_criterion
|
Score
LR
|
|
removal_criterion
|
LR
Wald
|
|
probability_entry
|
number | |
probability_removal
|
number | |
binomial_probability_entry
|
number | |
binomial_probability_removal
|
number | |
requirements
|
HierarchyDiscrete
HierarchyAll
Containment
None
|
|
max_iterations
|
number | |
max_steps
|
number | |
p_converge
|
1.0E-4
1.0E-5
1.0E-6
1.0E-7
1.0E-8
0
|
|
l_converge
|
1.0E-1
1.0E-2
1.0E-3
1.0E-4
1.0E-5
0
|
|
delta
|
number | |
iteration_history
|
flag | |
history_steps
|
number | |
summary
|
flag | |
likelihood_ratio
|
flag | |
asymptotic_correlation
|
flag | |
goodness_fit
|
flag | |
parameters
|
flag | |
confidence_interval
|
number | |
asymptotic_covariance
|
flag | |
classification_table
|
flag | |
stepwise_summary
|
flag | |
info_criteria
|
flag | |
monotonicity_measures
|
flag | |
binomial_output_display
|
at_each_step
at_last_step
|
|
binomial_goodness_of_fit
|
flag | |
binomial_parameters
|
flag | |
binomial_iteration_history
|
flag | |
binomial_classification_plots
|
flag | |
binomial_ci_enable
|
flag | |
binomial_ci
|
number | |
binomial_residual
|
outliers
all
|
|
binomial_residual_enable
|
flag | |
binomial_outlier_threshold
|
number | |
binomial_classification_cutoff
|
number | |
binomial_removal_criterion
|
LR
Wald
Conditional
|
|
calculate_variable_importance
|
flag | |
calculate_raw_propensities
|
flag |