	{"id":132194,"date":"2024-10-07T17:22:46","date_gmt":"2024-10-07T16:22:46","guid":{"rendered":"https:\/\/www.artefact.com\/?post_type=blog&#038;p=132194"},"modified":"2024-11-07T15:43:20","modified_gmt":"2024-11-07T15:43:20","slug":"choice-learn-large-scale-choice-modeling-for-operational-contexts-through-the-lens-of-machine-learning","status":"publish","type":"blog","link":"https:\/\/www.artefact.com\/br\/blog\/choice-learn-large-scale-choice-modeling-for-operational-contexts-through-the-lens-of-machine-learning\/","title":{"rendered":"Choice-Learn: Modelagem de escolha em larga escala para contextos operacionais atrav\u00e9s das lentes do aprendizado de m\u00e1quina"},"content":{"rendered":"<p><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--link_color: var(--awb-color6);--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-background-color:var(--awb-color1);--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:calc( 1440px + 20px );margin-left: calc(-20px \/ 2 );margin-right: calc(-20px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:10px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:10px;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:10px;--awb-spacing-left-medium:10px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:10px;--awb-spacing-left-small:10px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-1 description\" style=\"--awb-text-color:var(--awb-color5);--awb-text-font-family:&quot;PT Serif&quot;;--awb-text-font-style:normal;--awb-text-font-weight:400;\"><p><strong>Auriau, Vincent, Ali Aouad, Antoine D\u00e9sir e Emmanuel Malherbe. \u201cChoice-Learn: Large-scale choice modeling for operational contexts through the lens of machine learning.\u201d Journal of Open Source Software 9, no. 101 (2024): 6899.<\/strong><\/p>\n<\/div><\/div><\/div><\/div><\/div><article class=\"fusion-fullwidth fullwidth-box fusion-builder-row-2 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--link_color: var(--awb-color6);--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-background-color:var(--awb-color1);--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-justify-content-center fusion-flex-content-wrap\" style=\"max-width:calc( 1440px + 20px );margin-left: calc(-20px \/ 2 );margin-right: calc(-20px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:10px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:10px;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:10px;--awb-spacing-left-medium:10px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:10px;--awb-spacing-left-small:10px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div style=\"text-align:center;\"><a class=\"fusion-button button-flat fusion-button-default-size button-default fusion-button-default button-1 fusion-button-default-span fusion-button-default-type\" target=\"_self\" href=\"https:\/\/joss.theoj.org\/papers\/10.21105\/joss.06899\" rel=\"noopener\"><span class=\"fusion-button-text awb-button__text awb-button__text--default\">Leia o artigo <\/span><\/a><\/div><div class=\"fusion-title title fusion-title-1 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-text-color:var(--awb-color6);--awb-margin-bottom-small:8px;--awb-font-size:30px;\"><h2 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"font-family:&quot;PT Serif&quot;;font-style:normal;font-weight:700;margin:0;letter-spacing:1.6px;font-size:1em;--fontSize:30;line-height:1.47;\">Introdu\u00e7\u00e3o<\/h2><\/div><div class=\"fusion-text fusion-text-2\" style=\"--awb-font-size:20px;--awb-line-height:1.6;--awb-letter-spacing:var(--awb-typography4-letter-spacing);--awb-text-transform:var(--awb-typography4-text-transform);--awb-text-color:var(--awb-color5);--awb-text-font-family:var(--awb-typography4-font-family);--awb-text-font-weight:var(--awb-typography4-font-weight);--awb-text-font-style:var(--awb-typography4-font-style);\"><p>Os modelos de escolha discreta visam prever as decis\u00f5es de escolha tomadas por indiv\u00edduos em um menu de alternativas, chamado de sortimento. Casos de uso bem conhecidos incluem a previs\u00e3o da escolha do modo de transporte de um viajante ou das compras de um cliente. Os modelos de escolha s\u00e3o capazes de lidar com varia\u00e7\u00f5es de sortimento, quando algumas alternativas se tornam indispon\u00edveis ou quando seus recursos mudam em diferentes contextos. Essa adaptabilidade a diferentes cen\u00e1rios permite que esses modelos sejam usados como insumos para problemas de otimiza\u00e7\u00e3o, incluindo planejamento de sortimento ou precifica\u00e7\u00e3o.<\/p>\n<\/div><div class=\"fusion-text fusion-text-3\" style=\"--awb-font-size:20px;--awb-line-height:1.6;--awb-letter-spacing:var(--awb-typography4-letter-spacing);--awb-text-transform:var(--awb-typography4-text-transform);--awb-text-color:var(--awb-color5);--awb-text-font-family:var(--awb-typography4-font-family);--awb-text-font-weight:var(--awb-typography4-font-weight);--awb-text-font-style:var(--awb-typography4-font-style);\"><p>O Choice-Learn oferece um conjunto modular de ferramentas de modelagem de escolha para que profissionais e pesquisadores acad\u00eamicos processem a escolha data e, em seguida, formulem, estimem e operacionalizem modelos de escolha. A biblioteca est\u00e1 estruturada em dois n\u00edveis de uso, conforme ilustrado na Figura 1. O n\u00edvel mais alto foi projetado para uma implementa\u00e7\u00e3o r\u00e1pida e f\u00e1cil, e o n\u00edvel mais baixo permite parametriza\u00e7\u00f5es mais avan\u00e7adas. Essa estrutura, inspirada nos diferentes pontos de extremidade do Keras (Chollet et al., 2015), permite uma interface f\u00e1cil de usar. O Choice-Learn foi projetado com os seguintes objetivos:<\/p>\n<\/div><ul style=\"--awb-line-height:27.2px;--awb-icon-width:27.2px;--awb-icon-height:27.2px;--awb-icon-margin:11.2px;--awb-content-margin:38.4px;\" class=\"fusion-checklist fusion-checklist-1 fusion-checklist-default type-icons paddingList dark-text\"><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon awb-icon-check\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p><strong>Simplificado:<\/strong> O processamento de datasets e a estimativa de modelos de escolha padr\u00e3o s\u00e3o facilitados por uma assinatura de c\u00f3digo simples que \u00e9 consistente com os principais pacotes de aprendizado de m\u00e1quina, como o scikit-learn (Pedregosa et al., 2011).<\/p>\n<\/div><\/li><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon awb-icon-check\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p><strong>Escal\u00e1vel:<\/strong> Processos otimizados s\u00e3o implementados para armazenamento de data e estimativa de modelos, permitindo o uso de grandes conjuntos de data e modelos com um grande n\u00famero de par\u00e2metros.<\/p>\n<\/div><\/li><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon awb-icon-check\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p><strong>Flex\u00edvel:<\/strong> A base de c\u00f3digo pode ser personalizada para se adequar a diferentes casos de uso.<\/p>\n<\/div><\/li><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon awb-icon-check\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p><strong>Biblioteca de modelos:<\/strong> O mesmo pacote fornece implementa\u00e7\u00f5es de modelos de escolha padr\u00e3o e m\u00e9todos baseados em aprendizado de m\u00e1quina, incluindo redes neurais.<\/p>\n<\/div><\/li><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon awb-icon-check\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p><strong>Opera\u00e7\u00f5es downstream:<\/strong> As ferramentas de p\u00f3s-processamento que utilizam modelos de escolha para planejamento de sortimento e precifica\u00e7\u00e3o est\u00e3o integradas \u00e0 biblioteca.<\/p>\n<\/div><\/li><\/ul><div class=\"fusion-text fusion-text-4\" style=\"--awb-font-size:20px;--awb-line-height:1.6;--awb-letter-spacing:var(--awb-typography4-letter-spacing);--awb-text-transform:var(--awb-typography4-text-transform);--awb-text-color:var(--awb-color5);--awb-text-font-family:var(--awb-typography4-font-family);--awb-text-font-weight:var(--awb-typography4-font-weight);--awb-text-font-style:var(--awb-typography4-font-style);\"><p>As principais contribui\u00e7\u00f5es est\u00e3o resumidas nas Tabelas 1 e 2.<\/p>\n<\/div><div class=\"fusion-image-element\" style=\"text-align:center;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\"fusion-imageframe imageframe-none imageframe-1 hover-type-none\"><img decoding=\"async\" width=\"1193\" height=\"547\" title=\"choice_learn_levels\" src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/choice_learn_levels.png\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/choice_learn_levels.png\" alt class=\"lazyload img-responsive wp-image-142724\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%271193%27%20height%3D%27547%27%20viewBox%3D%270%200%201193%20547%27%3E%3Crect%20width%3D%271193%27%20height%3D%27547%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/choice_learn_levels-200x92.png 200w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/choice_learn_levels-400x183.png 400w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/choice_learn_levels-600x275.png 600w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/choice_learn_levels-800x367.png 800w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/choice_learn_levels.png 1193w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 640px) 100vw, 1193px\" \/><\/span><\/div><div class=\"fusion-image-element\" style=\"text-align:center;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\"fusion-imageframe imageframe-none imageframe-2 hover-type-none\"><img decoding=\"async\" width=\"2020\" height=\"504\" title=\"Captura de tela 2024-10-07 \u00e0s 14.12.15\" src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-07-a-14.12.15.png\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-07-a-14.12.15.png\" alt class=\"lazyload img-responsive wp-image-142726\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%272020%27%20height%3D%27504%27%20viewBox%3D%270%200%202020%20504%27%3E%3Crect%20width%3D%272020%27%20height%3D%27504%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-07-a-14.12.15-200x50.png 200w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-07-a-14.12.15-400x100.png 400w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-07-a-14.12.15-600x150.png 600w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-07-a-14.12.15-800x200.png 800w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-07-a-14.12.15-1200x299.png 1200w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-07-a-14.12.15.png 2020w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 640px) 100vw, 2020px\" \/><\/span><\/div><div class=\"fusion-image-element\" style=\"text-align:center;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\"fusion-imageframe imageframe-none imageframe-3 hover-type-none\"><img decoding=\"async\" width=\"2020\" height=\"852\" title=\"Captura de tela 2024-10-07 \u00e0s 14.12.30\" src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-07-a-14.12.30.png\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-07-a-14.12.30.png\" alt class=\"lazyload img-responsive wp-image-142725\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%272020%27%20height%3D%27852%27%20viewBox%3D%270%200%202020%20852%27%3E%3Crect%20width%3D%272020%27%20height%3D%27852%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-07-a-14.12.30-200x84.png 200w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-07-a-14.12.30-400x169.png 400w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-07-a-14.12.30-600x253.png 600w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-07-a-14.12.30-800x337.png 800w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-07-a-14.12.30-1200x506.png 1200w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-07-a-14.12.30.png 2020w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 640px) 100vw, 2020px\" \/><\/span><\/div><div class=\"fusion-title title fusion-title-2 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-text-color:var(--awb-color6);--awb-margin-bottom-small:8px;--awb-font-size:30px;\"><h2 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"font-family:&quot;PT Serif&quot;;font-style:normal;font-weight:700;margin:0;letter-spacing:1.6px;font-size:1em;--fontSize:30;line-height:1.47;\">Declara\u00e7\u00e3o de necessidade<\/h2><\/div><div class=\"fusion-title title fusion-title-3 fusion-sep-none fusion-title-text fusion-title-size-three\" style=\"--awb-text-color:var(--awb-color6);--awb-margin-bottom-small:8px;--awb-font-size:30px;\"><h3 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"font-family:&quot;PT Serif&quot;;font-style:normal;font-weight:700;margin:0;letter-spacing:1.6px;font-size:1em;--fontSize:30;line-height:1.47;\">Data e escalabilidade do modelo<\/h3><\/div><div class=\"fusion-text fusion-text-5\" style=\"--awb-font-size:20px;--awb-line-height:1.6;--awb-letter-spacing:var(--awb-typography4-letter-spacing);--awb-text-transform:var(--awb-typography4-text-transform);--awb-text-color:var(--awb-color5);--awb-text-font-family:var(--awb-typography4-font-family);--awb-text-font-weight:var(--awb-typography4-font-weight);--awb-text-font-style:var(--awb-typography4-font-style);\"><p>O gerenciamento do data do Choice-Learn se baseia no NumPy (Harris et al., 2020) com o objetivo de limitar o espa\u00e7o de mem\u00f3ria. Ele minimiza a repeti\u00e7\u00e3o de itens ou recursos de clientes e adia a jun\u00e7\u00e3o da estrutura completa do data at\u00e9 o processamento de lotes de data. O pacote introduz o objeto FeaturesStorage, ilustrado na Figura 2, que permite que os valores das caracter\u00edsticas sejam referenciados apenas por seu ID. Esses valores s\u00e3o substitu\u00eddos pelo espa\u00e7o reservado para ID durante o processo de processamento em lote. Por exemplo, os recursos dos supermercados, como superf\u00edcie ou posi\u00e7\u00e3o, geralmente s\u00e3o estacion\u00e1rios. Assim, eles podem ser armazenados em uma estrutura data auxiliar e, no dataset principal, a loja em que a escolha \u00e9 registrada \u00e9 referenciada apenas com sua ID.<\/p>\n<\/div><div class=\"fusion-text fusion-text-6\" style=\"--awb-font-size:20px;--awb-line-height:1.6;--awb-letter-spacing:var(--awb-typography4-letter-spacing);--awb-text-transform:var(--awb-typography4-text-transform);--awb-text-color:var(--awb-color5);--awb-text-font-family:var(--awb-typography4-font-family);--awb-text-font-weight:var(--awb-typography4-font-weight);--awb-text-font-style:var(--awb-typography4-font-style);\"><p>O pacote se baseia no Tensorflow (Abadi et al., 2015) para a estimativa de modelos, oferecendo a possibilidade de usar o algoritmo de otimiza\u00e7\u00e3o r\u00e1pida quase-Newton, como o L-BFGS (Nocedal &amp; Wright, 2006), bem como v\u00e1rios otimizadores de gradiente descendente (Kingma &amp; Ba, 2017; Tieleman &amp; Hinton, 2012) especializados em lidar com lotes de data. Tamb\u00e9m \u00e9 poss\u00edvel usar a GPU, o que pode economizar tempo. Por fim, o backbone do TensorFlow garante um uso eficiente em um ambiente de produ\u00e7\u00e3o, por exemplo, dentro de um software de recomenda\u00e7\u00e3o de sortimento, por meio de ferramentas de implanta\u00e7\u00e3o e de servi\u00e7o, como o TFLite e o TFServing.<\/p>\n<\/div><div class=\"fusion-image-element\" style=\"text-align:center;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\"fusion-imageframe imageframe-none imageframe-4 hover-type-none\"><img decoding=\"async\" width=\"1534\" height=\"1076\" title=\"features_storage_3\" src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/features_storage_3.png\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/features_storage_3.png\" alt class=\"lazyload img-responsive wp-image-142723\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%271534%27%20height%3D%271076%27%20viewBox%3D%270%200%201534%201076%27%3E%3Crect%20width%3D%271534%27%20height%3D%271076%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/features_storage_3-200x140.png 200w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/features_storage_3-400x281.png 400w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/features_storage_3-600x421.png 600w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/features_storage_3-800x561.png 800w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/features_storage_3-1200x842.png 1200w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/features_storage_3.png 1534w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 640px) 100vw, 1534px\" \/><\/span><\/div><div class=\"fusion-title title fusion-title-4 fusion-sep-none fusion-title-text fusion-title-size-three\" style=\"--awb-text-color:var(--awb-color6);--awb-margin-bottom-small:8px;--awb-font-size:30px;\"><h3 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"font-family:&quot;PT Serif&quot;;font-style:normal;font-weight:700;margin:0;letter-spacing:1.6px;font-size:1em;--fontSize:30;line-height:1.47;\">Uso flex\u00edvel: Da utilidade linear \u00e0 especifica\u00e7\u00e3o personalizada<\/h3><\/div><div class=\"fusion-text fusion-text-7\" style=\"--awb-font-size:20px;--awb-line-height:1.6;--awb-letter-spacing:var(--awb-typography4-letter-spacing);--awb-text-transform:var(--awb-typography4-text-transform);--awb-text-color:var(--awb-color5);--awb-text-font-family:var(--awb-typography4-font-family);--awb-text-font-weight:var(--awb-typography4-font-weight);--awb-text-font-style:var(--awb-typography4-font-style);\"><p>Os modelos de escolha que seguem o princ\u00edpio da maximiza\u00e7\u00e3o da utilidade aleat\u00f3ria (McFadden &amp; Train, 2000) definem a utilidade de uma alternativa \ud835\udc56 \u2208 \ud835\udc9c como a soma de uma parte determin\u00edstica \ud835\udc48 (\ud835\udc56) e um erro aleat\u00f3rio \ud835\udf16\ud835\udc56. Se os termos (\ud835\udf16\ud835\udc56)\ud835\udc56\u2208\ud835\udc9c forem considerados independentes e distribu\u00eddos em Gumbel, a probabilidade de escolher a alternativa \ud835\udc56 pode ser escrita como a normaliza\u00e7\u00e3o softmax sobre as alternativas dispon\u00edveis \ud835\udc57 \u2208 \ud835\udc9c:<\/p>\n<\/div><div class=\"fusion-image-element\" style=\"text-align:center;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\"fusion-imageframe imageframe-none imageframe-5 hover-type-none\"><img decoding=\"async\" width=\"300\" height=\"110\" title=\"Captura de tela 2024-10-07 142150\" src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-07-142150.png\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-07-142150-300x110.png\" alt class=\"lazyload img-responsive wp-image-142727\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27750%27%20height%3D%27274%27%20viewBox%3D%270%200%20750%20274%27%3E%3Crect%20width%3D%27750%27%20height%3D%27274%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-07-142150-200x73.png 200w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-07-142150-400x146.png 400w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-07-142150-600x219.png 600w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-07-142150.png 750w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 640px) 100vw, 300px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-8\" style=\"--awb-font-size:20px;--awb-line-height:1.6;--awb-letter-spacing:var(--awb-typography4-letter-spacing);--awb-text-transform:var(--awb-typography4-text-transform);--awb-text-color:var(--awb-color5);--awb-text-font-family:var(--awb-typography4-font-family);--awb-text-font-weight:var(--awb-typography4-font-weight);--awb-text-font-style:var(--awb-typography4-font-style);\"><p>O trabalho do modelador de escolhas \u00e9 formular uma fun\u00e7\u00e3o de utilidade adequada \ud835\udc48 (.) dependendo do contexto. No Choice-Learn, o usu\u00e1rio pode parametrizar modelos predefinidos ou especificar livremente uma fun\u00e7\u00e3o de utilidade personalizada. Para declarar um modelo personalizado, \u00e9 preciso herdar a classe ChoiceModel e sobrescrever o m\u00e9todo compute_batch_utility, conforme mostrado na documenta\u00e7\u00e3o.<\/p>\n<\/div><div class=\"fusion-title title fusion-title-5 fusion-sep-none fusion-title-text fusion-title-size-three\" style=\"--awb-text-color:var(--awb-color6);--awb-margin-bottom-small:8px;--awb-font-size:30px;\"><h3 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"font-family:&quot;PT Serif&quot;;font-style:normal;font-weight:700;margin:0;letter-spacing:1.6px;font-size:1em;--fontSize:30;line-height:1.47;\">Biblioteca de modelos tradicionais de utilidade aleat\u00f3ria e modelos baseados em aprendizado de m\u00e1quina<\/h3><\/div><div class=\"fusion-text fusion-text-9\" style=\"--awb-font-size:20px;--awb-line-height:1.6;--awb-letter-spacing:var(--awb-typography4-letter-spacing);--awb-text-transform:var(--awb-typography4-text-transform);--awb-text-color:var(--awb-color5);--awb-text-font-family:var(--awb-typography4-font-family);--awb-text-font-weight:var(--awb-typography4-font-weight);--awb-text-font-style:var(--awb-typography4-font-style);\"><p>Os modelos de escolha param\u00e9tricos tradicionais, incluindo o Logit condicional (Train et al., 1987), geralmente especificam a fun\u00e7\u00e3o de utilidade em uma forma linear. Isso fornece coeficientes interpret\u00e1veis, mas limita a capacidade de previs\u00e3o do modelo. Trabalhos recentes prop\u00f5em a estimativa de modelos mais complexos, com abordagens de redes neurais (Aouad &amp; D\u00e9sir, 2022; Han et al., 2022) e modelos baseados em \u00e1rvores (Aouad et al., 2023; Salvad\u00e9 &amp; Hillel, 2024). Embora as bibliotecas de escolha existentes (Bierlaire, 2023; Brathwaite &amp; Walker, 2018; Du et al., 2023) muitas vezes n\u00e3o sejam projetadas para integrar essas abordagens baseadas em aprendizado de m\u00e1quina, a Choice-Learn prop\u00f5e uma cole\u00e7\u00e3o que inclui os dois tipos de modelos.<\/p>\n<\/div><div class=\"fusion-title title fusion-title-6 fusion-sep-none fusion-title-text fusion-title-size-three\" style=\"--awb-text-color:var(--awb-color6);--awb-margin-bottom-small:8px;--awb-font-size:30px;\"><h3 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"font-family:&quot;PT Serif&quot;;font-style:normal;font-weight:700;margin:0;letter-spacing:1.6px;font-size:1em;--fontSize:30;line-height:1.47;\">Opera\u00e7\u00f5es downstream: Otimiza\u00e7\u00e3o de sortimento e pre\u00e7os<\/h3><\/div><div class=\"fusion-text fusion-text-10\" style=\"--awb-font-size:20px;--awb-line-height:1.6;--awb-letter-spacing:var(--awb-typography4-letter-spacing);--awb-text-transform:var(--awb-typography4-text-transform);--awb-text-color:var(--awb-color5);--awb-text-font-family:var(--awb-typography4-font-family);--awb-text-font-weight:var(--awb-typography4-font-weight);--awb-text-font-style:var(--awb-typography4-font-style);\"><p>O Choice-Learn oferece ferramentas adicionais para opera\u00e7\u00f5es downstream, que normalmente n\u00e3o s\u00e3o integradas em bibliotecas de modelagem de escolha. Em particular, a otimiza\u00e7\u00e3o de sortimento \u00e9 um caso de uso comum que aproveita um modelo de escolha para determinar o subconjunto ideal de alternativas para oferecer aos clientes, maximizando um determinado objetivo, como a receita esperada, a taxa de convers\u00e3o ou o bem-estar social. Essa estrutura capta uma variedade de aplica\u00e7\u00f5es, como planejamento de sortimento, otimiza\u00e7\u00e3o do local de exibi\u00e7\u00e3o e precifica\u00e7\u00e3o. Fornecemos implementa\u00e7\u00f5es baseadas na formula\u00e7\u00e3o de programa\u00e7\u00e3o inteira mista descrita em (M\u00e9ndez-D\u00edaz et al., 2014), com a op\u00e7\u00e3o de escolher o solucionador entre Gurobi (Gurobi Optimization, LLC, 2023) e OR-Tools (Perron &amp; Furnon,2024).<\/p>\n<\/div><div class=\"fusion-title title fusion-title-7 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-text-color:var(--awb-color6);--awb-margin-bottom-small:8px;--awb-font-size:30px;\"><h2 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"font-family:&quot;PT Serif&quot;;font-style:normal;font-weight:700;margin:0;letter-spacing:1.6px;font-size:1em;--fontSize:30;line-height:1.47;\"><strong>Uso da mem\u00f3ria: um estudo de caso<\/strong><\/h2><\/div><div class=\"fusion-text fusion-text-11\" style=\"--awb-font-size:20px;--awb-line-height:1.6;--awb-letter-spacing:var(--awb-typography4-letter-spacing);--awb-text-transform:var(--awb-typography4-text-transform);--awb-text-color:var(--awb-color5);--awb-text-font-family:var(--awb-typography4-font-family);--awb-text-font-weight:var(--awb-typography4-font-weight);--awb-text-font-style:var(--awb-typography4-font-style);\"><p>Na Figura 3 (a), apresentamos exemplos num\u00e9ricos de uso de mem\u00f3ria para demonstrar a efici\u00eancia do FeaturesStorage. Consideramos um recurso repetido em um dataset, como uma codifica\u00e7\u00e3o one-hot para locais, representado por uma matriz de forma (#locations, #locations) em que cada linha se refere a<br \/>\npara um \u00fanico local.<br \/>\nComparamos quatro m\u00e9todos de tratamento de data no Expedia dataset (Ben Hamner et al., 2013): pandas.DataFrames (The pandas development team, 2020) em formato longo e largo, ambos usados em pacotes de modelagem de escolha, Torch-Choice e Choice-Learn. A Figura 3 (b) mostra o<br \/>\nresultados para v\u00e1rios tamanhos de amostra.<br \/>\nPor fim, na Figura 3 (c) e (d), observamos ganhos de uso de mem\u00f3ria em um dataset propriet\u00e1rio no varejo de tijolo e argamassa que consiste na agrega\u00e7\u00e3o de mais de 4 bilh\u00f5es de compras em supermercados Konzum na Cro\u00e1cia. Concentrando-se na subcategoria de caf\u00e9, o dataset especifica, para cada compra, quais produtos estavam dispon\u00edveis, seus pre\u00e7os, bem como uma representa\u00e7\u00e3o de um \u00fanico ponto do supermercado.<\/p>\n<\/div><div class=\"fusion-image-element\" style=\"text-align:center;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\"fusion-imageframe imageframe-none imageframe-6 hover-type-none\"><img decoding=\"async\" width=\"1010\" height=\"882\" title=\"ram_usage_comparison\" src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/ram_usage_comparison.png\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/ram_usage_comparison.png\" alt class=\"lazyload img-responsive wp-image-142722\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%271010%27%20height%3D%27882%27%20viewBox%3D%270%200%201010%20882%27%3E%3Crect%20width%3D%271010%27%20height%3D%27882%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/ram_usage_comparison-200x175.png 200w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/ram_usage_comparison-400x349.png 400w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/ram_usage_comparison-600x524.png 600w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/ram_usage_comparison-800x699.png 800w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/10\/ram_usage_comparison.png 1010w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 640px) 100vw, 1010px\" \/><\/span><\/div><\/div><\/div><\/div><\/article><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-3 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-margin-top:40px;--awb-margin-bottom:40px;--awb-background-color:var(--awb-color1);--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-justify-content-center fusion-flex-content-wrap\" style=\"max-width:calc( 1440px + 20px );margin-left: calc(-20px \/ 2 );margin-right: calc(-20px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_1_1 1_1 fusion-flex-column fusion-flex-align-self-center fusion-column-inner-bg-wrapper\" style=\"--awb-padding-top:40px;--awb-padding-right:40px;--awb-padding-bottom:40px;--awb-padding-left:40px;--awb-overflow:hidden;--awb-inner-bg-position:left center;--awb-inner-bg-size:cover;--awb-border-color:rgba(10,17,40,0.1);--awb-border-style:solid;--awb-border-radius:4px 4px 4px 4px;--awb-inner-bg-border-radius:4px 4px 4px 4px;--awb-inner-bg-overflow:hidden;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:10px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:10px;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:10px;--awb-spacing-left-medium:10px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:10px;--awb-spacing-left-small:10px;\" data-scroll-devices=\"small-visibility,medium-visibility,large-visibility\"><span class=\"fusion-column-inner-bg hover-type-none\"><a class=\"fusion-column-anchor\" href=\"https:\/\/medium.com\/artefact-engineering-and-data-science\/modeling-customers-decisions-in-python-with-the-choice-learn-package-37752cb7932e\" target=\"_blank\" rel=\"noopener\"><span class=\"fusion-column-inner-bg-image lazyload\" data-bg=\"https:\/\/artefact.com\/\/wp-content\/uploads\/2021\/03\/background.jpg\"><\/span><\/a><\/span><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-column fusion-column-has-bg-image\" data-bg-url=\"https:\/\/artefact.com\/\/wp-content\/uploads\/2021\/03\/background.jpg\"><div class=\"fusion-image-element\" style=\"text-align:center;--awb-margin-right:20px;--awb-margin-left:20px;--awb-max-width:150px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\"fusion-imageframe imageframe-none imageframe-7 hover-type-none\"><img decoding=\"async\" width=\"72\" height=\"41\" title=\"m\u00e9dio\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2772%27%20height%3D%2741%27%20viewBox%3D%270%200%2072%2041%27%3E%3Crect%20width%3D%2772%27%20height%3D%2741%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-orig-src=\"https:\/\/artefact.com\/\/wp-content\/uploads\/2021\/03\/medium.png\" alt class=\"lazyload img-responsive wp-image-60927\"\/><\/span><\/div><div class=\"fusion-title title fusion-title-8 fusion-sep-none fusion-title-center fusion-title-text fusion-title-size-three\" style=\"--awb-margin-top:20px;--awb-margin-bottom:0px;--awb-margin-bottom-small:8px;\"><h3 class=\"fusion-title-heading title-heading-center fusion-responsive-typography-calculated\" style=\"margin:0;--fontSize:20;line-height:1.2;\">M\u00e9dia Blog por Artefact.<\/h3><\/div><div class=\"fusion-text fusion-text-12\" style=\"--awb-content-alignment:center;\"><p>Este artigo foi publicado inicialmente no Medium.com.<br \/>\nSiga-nos em nosso Medium Blog !<\/p>\n<\/div><div style=\"text-align:center;\"><a class=\"fusion-button button-flat button-medium button-default fusion-button-default button-2 fusion-button-default-span fusion-button-default-type\" style=\"--button_text_transform:var(--awb-custom_typography_2-text-transform);--button_typography-letter-spacing:var(--awb-custom_typography_2-letter-spacing);--button_typography-font-family:var(--awb-custom_typography_2-font-family);--button_typography-font-weight:var(--awb-custom_typography_2-font-weight);--button_typography-font-style:var(--awb-custom_typography_2-font-style);\" target=\"_blank\" rel=\"noopener noreferrer\" data-hover=\"text_slide_down\" href=\"https:\/\/medium.com\/artefact-engineering-and-data-science\/modeling-customers-decisions-in-python-with-the-choice-learn-package-37752cb7932e\"><div class=\"awb-button-text-transition  awb-button__hover-content--centered\"><span class=\"fusion-button-text awb-button__text awb-button__text--default\">Leia nosso artigo<\/span><span class=\"fusion-button-text awb-button__text awb-button__text--default\">Leia nosso artigo<\/span><\/div><\/a><\/div><\/div><\/div><\/div><\/div><\/p>","protected":false},"excerpt":{"rendered":"<p>Os modelos de escolha discreta visam prever as decis\u00f5es de escolha tomadas por indiv\u00edduos em um menu de alternativas, chamado de sortimento. Casos de uso bem conhecidos incluem a previs\u00e3o da escolha do modo de transporte de um viajante ou das compras de um cliente.<\/p>","protected":false},"featured_media":143200,"parent":0,"template":"","meta":{"_acf_changed":false,"ep_exclude_from_search":false},"blog-category":[21939],"blog-language":[2991,2993],"class_list":["post-132194","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog-category-medium","blog-language-en","blog-language-fr"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.artefact.com\/br\/wp-json\/wp\/v2\/blog\/132194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.artefact.com\/br\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.artefact.com\/br\/wp-json\/wp\/v2\/types\/blog"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.artefact.com\/br\/wp-json\/wp\/v2\/media\/143200"}],"wp:attachment":[{"href":"https:\/\/www.artefact.com\/br\/wp-json\/wp\/v2\/media?parent=132194"}],"wp:term":[{"taxonomy":"blog-category","embeddable":true,"href":"https:\/\/www.artefact.com\/br\/wp-json\/wp\/v2\/blog-category?post=132194"},{"taxonomy":"blog-language","embeddable":true,"href":"https:\/\/www.artefact.com\/br\/wp-json\/wp\/v2\/blog-language?post=132194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}