From 8e112385b89905eee440cedf70e050da81374d4c Mon Sep 17 00:00:00 2001 From: VincentAuriau Date: Tue, 16 Apr 2024 18:11:30 +0200 Subject: [PATCH 1/7] ADD: car dataset --- choice_learn/datasets/base.py | 43 ++++++++++++++++++++++++++ choice_learn/datasets/data/car.csv.gz | Bin 0 -> 108766 bytes 2 files changed, 43 insertions(+) create mode 100644 choice_learn/datasets/data/car.csv.gz diff --git a/choice_learn/datasets/base.py b/choice_learn/datasets/base.py index 11bdde88..291a3c06 100644 --- a/choice_learn/datasets/base.py +++ b/choice_learn/datasets/base.py @@ -873,3 +873,46 @@ def load_train( choices_column="choice", choice_format="items_id", ) + + +def load_car_preferences( + as_frame=False, + return_desc=False, +): + """Load and return the Car dataset from McFadden et al. (1993). + + McFadden, Daniel and Kenneth Train (2000) + “Mixed MNL models for discrete response”, Journal of Applied Econometrics, 15(5), 447–470. + + Parameters + ---------- + as_frame : bool, optional + Whether to return the dataset as pd.DataFrame. If not, returned as ChoiceDataset, + by default False. + to_wide : bool, optional + Whether to return the dataset in wide format, + by default False (an thus retuned in long format). + return_desc : bool, optional + Whether to return the description, by default False. + + Returns + ------- + ChoiceDataset + Loaded Train dataset + """ + desc = "Stated Preferences for Car Choice." + desc += """McFadden, Daniel and Kenneth Train (2000) + “Mixed MNL models for discrete response”, Journal of Applied Econometrics, 15(5), 447–470.""" + + data_file_name = "car.csv.gz" + # names, data = load_gzip(data_file_name) + + full_path = get_path(data_file_name, module=DATA_MODULE) + train_df = pd.read_csv(full_path) + + if return_desc: + return desc + + if as_frame: + return train_df + raise NotImplementedError("Not implemented yet") diff --git a/choice_learn/datasets/data/car.csv.gz b/choice_learn/datasets/data/car.csv.gz new file mode 100644 index 0000000000000000000000000000000000000000..aace52b31b481e3a1a869591faa4ba052d77cf68 GIT binary patch literal 108766 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

cHOQY_MJ0@n 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 zξ&9?n7yV|h*|{mle^#F<)@LU1bYnqqseE`_(8K_qO}mR&T-l~gqZr`5;g^oXcg z9>M5m7CW!;d5ehGyk+c9eTnpSyHO+5FB-Iie_Iyy6C!1k^Pm3KY&Kmg^QlSCsK14@ zqJG8F@O4RV6-ZcGT05+z?S2D6>}NuUAZ)wp%HkKYTEX-FqU%*FJqDRAB3bhmQ$$*I Wb$29&^@UJ<_5T3ZqBsxif)xOcC})iT literal 0 HcmV?d00001 From 57373774642896075f3a13b94b965eb0cb4b7306 Mon Sep 17 00:00:00 2001 From: VincentAuriau Date: Wed, 17 Apr 2024 14:24:21 +0200 Subject: [PATCH 2/7] FIX: check on choices shape in from_wide --- choice_learn/data/choice_dataset.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/choice_learn/data/choice_dataset.py b/choice_learn/data/choice_dataset.py index 2ea90d5b..dfa51658 100644 --- a/choice_learn/data/choice_dataset.py +++ b/choice_learn/data/choice_dataset.py @@ -789,7 +789,7 @@ def from_single_wide_df( choice_column: str, optional Name of the column containing the choices, default is "choice" choice_format: str, optional - How choice is indicated in df, either "items_name" or "items_index", + How choice is indicated in df, either "items_id" or "items_index", default is "items_id" Returns @@ -807,7 +807,7 @@ def from_single_wide_df( "You cannot give both available_items_prefix and\ available_items_suffix." ) - if choice_format not in ["items_index", "items_name"]: + if choice_format not in ["items_index", "items_id"]: logging.warning("choice_format not undersood, defaulting to 'items_index'") if shared_features_columns is not None: @@ -881,9 +881,8 @@ def from_single_wide_df( if items_id is None: raise ValueError("items_id must be given to use choice_format='items_id'") items_id = np.array(items_id) - choices = np.squeeze([np.where(items_id == c)[0] for c in choices]) - if choices.shape[0] == 0: + if choices.size == 0: raise ValueError("No choice found in the items_id list") return ChoiceDataset( From c401cb2b4e2fbe14dd66c6d1a25837d379c6cd52 Mon Sep 17 00:00:00 2001 From: VincentAuriau Date: Wed, 17 Apr 2024 14:24:48 +0200 Subject: [PATCH 3/7] ADD: Car Preferences dataset loader as ChoiceDataset --- choice_learn/datasets/__init__.py | 10 +++++++++- choice_learn/datasets/base.py | 32 ++++++++++++++++++++++++++++--- 2 files changed, 38 insertions(+), 4 deletions(-) diff --git a/choice_learn/datasets/__init__.py b/choice_learn/datasets/__init__.py index 90796592..d2e6c4e1 100644 --- a/choice_learn/datasets/__init__.py +++ b/choice_learn/datasets/__init__.py @@ -1,6 +1,13 @@ """Init file for datasets module.""" -from .base import load_electricity, load_heating, load_modecanada, load_swissmetro, load_train +from .base import ( + load_car_preferences, + load_electricity, + load_heating, + load_modecanada, + load_swissmetro, + load_train, +) from .expedia import load_expedia from .tafeng import load_tafeng @@ -12,4 +19,5 @@ "load_train", "load_tafeng", "load_expedia", + "load_car_preferences", ] diff --git a/choice_learn/datasets/base.py b/choice_learn/datasets/base.py index 291a3c06..2328b7ee 100644 --- a/choice_learn/datasets/base.py +++ b/choice_learn/datasets/base.py @@ -908,11 +908,37 @@ def load_car_preferences( # names, data = load_gzip(data_file_name) full_path = get_path(data_file_name, module=DATA_MODULE) - train_df = pd.read_csv(full_path) + cars_df = pd.read_csv(full_path) if return_desc: return desc if as_frame: - return train_df - raise NotImplementedError("Not implemented yet") + return cars_df + + cars_df["choice"] = cars_df.apply(lambda row: row.choice[-1], axis=1) + shared_features = ["college", "hsg2", "coml5"] + items_features = [ + "type", + "fuel", + "price", + "range", + "acc", + "speed", + "pollution", + "size", + "space", + "cost", + "station", + ] + items_id = [f"{i}" for i in range(1, 7)] + + return ChoiceDataset.from_single_wide_df( + df=cars_df, + items_id=items_id, + shared_features_columns=shared_features, + items_features_prefixes=items_features, + delimiter="", + choices_column="choice", + choice_format="items_id", + ) From c1c93d2f1d1ffa45fe6a2b543085f76943462dbc Mon Sep 17 00:00:00 2001 From: VincentAuriau Date: Wed, 17 Apr 2024 14:25:04 +0200 Subject: [PATCH 4/7] ADD: base test for car preferences dataset --- tests/unit_tests/test_os_datasets.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/unit_tests/test_os_datasets.py b/tests/unit_tests/test_os_datasets.py index 17fa4a94..1145b804 100644 --- a/tests/unit_tests/test_os_datasets.py +++ b/tests/unit_tests/test_os_datasets.py @@ -3,6 +3,7 @@ from choice_learn.data import ChoiceDataset from choice_learn.datasets import ( + load_car_preferences, load_electricity, load_heating, load_modecanada, @@ -72,3 +73,13 @@ def test_heating_loader(): heating = load_heating() assert isinstance(heating, ChoiceDataset) + + +def test_car_preferences_loader(): + """Test loading the car preferences dataset.""" + cars = load_car_preferences(as_frame=True) + assert isinstance(cars, pd.DataFrame) + assert cars.shape == (4654, 71) + + cars = load_car_preferences() + assert isinstance(cars, ChoiceDataset) From aabb359dadd230c50b862701b8382b4ccb34ead2 Mon Sep 17 00:00:00 2001 From: VincentAuriau Date: Wed, 17 Apr 2024 14:31:34 +0200 Subject: [PATCH 5/7] ADD: car dataset listed in readme --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index bbfb877d..f04299cd 100644 --- a/README.md +++ b/README.md @@ -44,8 +44,9 @@ If you are new to choice modelling, you can check this [resource](https://www.pu - Ready-To-Use datasets: - [SwissMetro](./choice_learn/datasets/data/swissmetro.csv.gz) [[2]](#citation) - [ModeCanada](./choice_learn/datasets/data/ModeCanada.csv.gz) [[3]](#citation) - - The [Train](./choice_learn/datasets/data/train_data.csv.gz) [[5]](#citation) + - The [Train](./choice_learn/datasets/data/train_data.csv.gz) dataset [[5]](#citation) - The [Heating](./choice_learn/datasets/data/heating_data.csv.gz) & [Electricity](./choice_learn/datasets/data/electricity.csv.gz) datasets from Kenneth Train described [here](https://rdrr.io/cran/mlogit/man/Electricity.html) and [here](https://rdrr.io/cran/mlogit/man/Heating.html) + - [Stated car preferences](./choice_learn/datasets/data/car.csv.gz) [[9]](#citation) - The [TaFeng](./choice_learn/datasets/data/ta_feng.csv.zip) dataset from [Kaggle](https://www.kaggle.com/datasets/chiranjivdas09/ta-feng-grocery-dataset) - The ICDM-2013 [Expedia](./choice_learn/datasets/expedia.py) dataset from [Kaggle](https://www.kaggle.com/c/expedia-personalized-sort) [[6]](#citation) @@ -179,7 +180,8 @@ The use of this software is under the MIT license, with no limitation of usage, [5] [Estimation of Travel Choice Models with Randomly Distributed Values of Time](https://ideas.repec.org/p/fth/lavaen/9303.html), Ben-Akiva, M.; Bolduc, D.; Bradley, M. (1993)\ [6] [Personalize Expedia Hotel Searches - ICDM 2013](https://www.kaggle.com/c/expedia-personalized-sort), Ben Hamner, A.; Friedman, D.; SSA_Expedia. (2013)\ [7] [A Neural-embedded Discrete Choice Model: Learning Taste Representation with Strengthened Interpretability](https://arxiv.org/abs/2002.00922), Han, Y.; Calara Oereuran F.; Ben-Akiva, M.; Zegras, C. (2020)\ -[8] [A branch-and-cut algorithm for the latent-class logit assortment problem](https://www.sciencedirect.com/science/article/pii/S0166218X12001072), Méndez-Díaz, I.; Miranda-Bront, J. J.; Vulcano, G.; Zabala, P. (2014) +[8] [A branch-and-cut algorithm for the latent-class logit assortment problem](https://www.sciencedirect.com/science/article/pii/S0166218X12001072), Méndez-Díaz, I.; Miranda-Bront, J. J.; Vulcano, G.; Zabala, P. (2014)\ +[9] [Stated Preferences for Car Choice in Mixed MNL models for discrete response.](https://www.jstor.org/stable/2678603), McFadden, D. and Kenneth Train (2000) ### Code and Repositories - [1][RUMnet](https://github.com/antoinedesir/rumnet) From 4dae9f0b026ad181d463a1a83bef08ac1c590c50 Mon Sep 17 00:00:00 2001 From: VincentAuriau Date: Wed, 17 Apr 2024 14:55:06 +0200 Subject: [PATCH 6/7] ADD: tastenet references & better intodcution --- docs/index.md | 34 +++++++++++++++++++ docs/references/models/references_tastenet.md | 0 2 files changed, 34 insertions(+) create mode 100644 docs/references/models/references_tastenet.md diff --git a/docs/index.md b/docs/index.md index f5e78faf..1aa5b5ae 100644 --- a/docs/index.md +++ b/docs/index.md @@ -10,6 +10,40 @@ Choice-Learn uses NumPy and pandas as data backend engines and TensorFlow for mo In this documentation you will find examples to be quickly getting started as well as some more in-depth example. +## What's in there ? + +Here is a quick overview of the different functionalities offered by Choice-Learn. Further details are given in the rest of the documentation. + +### Data +- [Custom data handling](./reference/data/references_choice_dataset.md) for choice datasets with possible memory usage optimizations +- Some Open-Source ready-to use datasets are included within the datasets: + - [SwissMetro](./references/dataset/references_base.md) + - [ModeCanada](./references/dataset/references_base.md) + - The [Train](./references/dataset/references_base.md) dataset + - The [Heating](./references/dataset/references_base.md) & [Electricity](./references/dataset/references_base.md)datasets from Kenneth Train + - [Stated car preferences](./references/dataset/references_base.md) + - The [TaFeng](./references/dataset/references_tafeng.md) dataset from Kaggle + - The ICDM-2013 [Expedia](./references/dataset/references_expedia.md) dataset from Kaggle + +### Models +- [Custom modelling](./notebooks/introduction/4_model_customization.md) +- Ready to be used models: + - *Linear Models:* + - [Multinomial Logit](./references/models/references_simple_mnl.md) + - [Conditional Logit](./references/models/references_clogit.md) + - [Latent class MNL](./references/models/references_latent_class_mnl.md) + - *Non-Linear Models:* + - [RUMnet](./references/models/references_rumnet.md) + - [TasteNet](./references/models/references_tastenet.md) + +### Tools +- [Assortment Optimization](./references/toolbox/references_assortment_optimizer.md) +- [Assortment and Pricing](./references/toolbox/references_assortment_optimizer.md) + +### Examples + +Divers examples are provided in the How-To section, give it a look ! + ## Introduction - Discrete Choice Modelling Discrete choice models aim at explaining or predicting choices over a set of alternatives. Well known use-cases include analyzing people's choice of mean of transport or products purchases in stores. diff --git a/docs/references/models/references_tastenet.md b/docs/references/models/references_tastenet.md new file mode 100644 index 00000000..e69de29b From f93920eca84777ff02f40489af7ddc100e0c4d2c Mon Sep 17 00:00:00 2001 From: VincentAuriau Date: Wed, 17 Apr 2024 14:58:36 +0200 Subject: [PATCH 7/7] FIX: small fixes --- choice_learn/datasets/base.py | 14 +++++--------- docs/index.md | 2 +- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/choice_learn/datasets/base.py b/choice_learn/datasets/base.py index 2328b7ee..3770cc45 100644 --- a/choice_learn/datasets/base.py +++ b/choice_learn/datasets/base.py @@ -515,7 +515,7 @@ def load_modecanada( Whether to split features by type in different dataframes, by default False. to_wide : bool, optional Whether to return the dataset in wide format, - by default False (an thus retuned in long format). + by default False (an thus returned in long format). preprocessing : str, optional Preprocessing to apply to the dataset, by default None @@ -704,7 +704,7 @@ def load_heating( Whether to return the description, by default False. to_wide : bool, optional Whether to return the dataset in wide format, - by default False (an thus retuned in long format). + by default False (an thus returned in long format). Returns ------- @@ -765,7 +765,7 @@ def load_electricity( by default False. to_wide : bool, optional Whether to return the dataset in wide format, - by default False (an thus retuned in long format). + by default False (an thus returned in long format). return_desc : bool, optional Whether to return the description, by default False. @@ -836,7 +836,7 @@ def load_train( by default False. to_wide : bool, optional Whether to return the dataset in wide format, - by default False (an thus retuned in long format). + by default False (an thus returned in long format). return_desc : bool, optional Whether to return the description, by default False. @@ -879,9 +879,8 @@ def load_car_preferences( as_frame=False, return_desc=False, ): - """Load and return the Car dataset from McFadden et al. (1993). + """Load and return the Car dataset from McFadden, Daniel and Kenneth Train (2000). - McFadden, Daniel and Kenneth Train (2000) “Mixed MNL models for discrete response”, Journal of Applied Econometrics, 15(5), 447–470. Parameters @@ -889,9 +888,6 @@ def load_car_preferences( as_frame : bool, optional Whether to return the dataset as pd.DataFrame. If not, returned as ChoiceDataset, by default False. - to_wide : bool, optional - Whether to return the dataset in wide format, - by default False (an thus retuned in long format). return_desc : bool, optional Whether to return the description, by default False. diff --git a/docs/index.md b/docs/index.md index 1aa5b5ae..7111ccc5 100644 --- a/docs/index.md +++ b/docs/index.md @@ -42,7 +42,7 @@ Here is a quick overview of the different functionalities offered by Choice-Lear ### Examples -Divers examples are provided in the How-To section, give it a look ! +Diverse examples are provided in the How-To section, give it a look ! ## Introduction - Discrete Choice Modelling