Experimental notebooks all live in docs/experimental_notebooks/zoning
Zoning data transformations (later to start with a db rather than .csv), ending with a torch.Dataset are for now in zoning_data.ipynb. Once we settle down on what the ultimate pipeline should be without need for EDA, the final version will migrate to a module.
The Data Loader lives in cities/utils/data_loader.py
Examples of the model use are in zoning_model.ipynb
The model and input registration handler are in cities/modeling/simple_linear.py, and their tests are in tests/test_simple_linear. As discussed, these need review and attention to the final failing test.
The categorical interaction handler is in modeling/add_categorical_interactions.py, with a use example in zoning_categorical_interactions.py. What needs particular attention is the way it is passed to training - it would be great if this required less boilerplate.
Performance testing is defined in modeling/evaluation.py, with use examples in zoning_performance_tests.ipynb. Later on I will need to refactor this to be more general and apply to any model, can be ignored for now.
While for this particular application we could exploit nested plate structure (like we did in the previous cities models), the user might not want to use years/months etc., and to allow for more flexibility I for now at least went with a somewhat more general albeit slightly less efficient model structure.
docs/experimental_notebooks/zoning
torch.Dataset
are for now inzoning_data.ipynb
. Once we settle down on what the ultimate pipeline should be without need for EDA, the final version will migrate to a module.cities/utils/data_loader.py
zoning_model.ipynb
cities/modeling/simple_linear.py
, and their tests are intests/test_simple_linear
. As discussed, these need review and attention to the final failing test.modeling/add_categorical_interactions.py
, with a use example inzoning_categorical_interactions.py
. What needs particular attention is the way it is passed to training - it would be great if this required less boilerplate.modeling/evaluation.py
, with use examples inzoning_performance_tests.ipynb
. Later on I will need to refactor this to be more general and apply to any model, can be ignored for now.