From c230075a49fc696efecf0270de55b12602eb077c Mon Sep 17 00:00:00 2001 From: Max Gardner Date: Mon, 17 Jun 2019 13:24:04 -0700 Subject: [PATCH 1/2] fix bug where large mnl simulation breaks if interaction terms aren't a list of dfs but only one df --- urbansim_templates/models/large_multinomial_logit.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/urbansim_templates/models/large_multinomial_logit.py b/urbansim_templates/models/large_multinomial_logit.py index 12004cc..eb2b487 100644 --- a/urbansim_templates/models/large_multinomial_logit.py +++ b/urbansim_templates/models/large_multinomial_logit.py @@ -536,7 +536,11 @@ def run(self, chooser_batch_size=None, interaction_terms=None): self.choices = None if interaction_terms is not None: - uniq_intx_idx_names = set([idx for intx in interaction_terms for idx in intx.index.names]) + if type(interaction_terms) == list: + uniq_intx_idx_names = set([ + idx for intx in interaction_terms for idx in intx.index.names]) + else: + uniq_intx_idx_names = interaction_terms.index.names obs_extra_cols = to_list(self.chooser_size) + list(uniq_intx_idx_names) alts_extra_cols = to_list(self.alt_capacity) + list(uniq_intx_idx_names) From aa2e9ed4942565205d47aa953f437d9bd6087044 Mon Sep 17 00:00:00 2001 From: Max Gardner Date: Wed, 19 Jun 2019 11:32:45 -0700 Subject: [PATCH 2/2] scipy incompatibility workaround, see issue #110 --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index 286508c..5c4c086 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,3 +7,4 @@ pandas >= 0.22 patsy >= 0.4 statsmodels >= 0.8 urbansim >= 3.1 +scipy < 1.3 \ No newline at end of file