p= 0.1 num clusters= 2
linkage completed in  10.657784938812256
silhouette_score of the clusters 0.006287393358176328
sampled assortment [2, 3, 4, 59, 40, 84] number: 0
#  Learning probs for MM model, A = [2, 3, 4, 59, 40, 84]
#cluster  2 with weight 0.264
Learned cluster center of cluster 2:  {1: 1, 2: 1, 3: 1, 6: 1, 7: 1, 8: 0, 10: 1, 13: 1, 100: 1} [8, 1, 2, 3, 6, 7, 10, 13, 100]
#cluster  1 with weight 0.736
Learned cluster center of cluster 1:  {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 9: 0, 11: 0, 12: 0, 100: 0} [1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 100]
#  Learning probs for MM model, A = [2, 3, 4, 59, 40, 84]
#cluster  2 with weight 0.264
Learned cluster center of cluster 2:  {1: 1, 2: 2, 3: 1, 5: 2, 6: 1, 7: 1, 8: 0, 10: 1, 13: 1, 100: 1} [8, 1, 3, 6, 7, 10, 13, 100, 2, 5]
#cluster  1 with weight 0.736
Learned cluster center of cluster 1:  {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 9: 0, 10: 0, 11: 0, 100: 0} [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 100]
empirical probabilities from test set: {2: 0.266, 3: 0.242, 4: 0.254, 59: 0.074, 40: 0.063, 84: 0.052, 0: 0.049}
results for assortment [2, 3, 4, 59, 40, 84] :

beta is  0.025 

learned probs for this beta: {2: np.float64(0.11797563504386648), 3: np.float64(0.1197998162028439), 4: np.float64(0.1282050114156418), 59: np.float64(0.158504884334413), 40: np.float64(0.158504884334413), 84: np.float64(0.158504884334413), 0: np.float64(0.158504884334413)}
err dic= {2: np.float64(0.14802436495613353), 3: np.float64(0.1222001837971561), 4: np.float64(0.1257949885843582), 59: np.float64(0.08450488433441301), 40: np.float64(0.09550488433441301), 84: np.float64(0.10650488433441302), 0: np.float64(0.10950488433441301)} 

err list= [np.float64(0.14802436495613353), np.float64(0.1222001837971561), np.float64(0.1257949885843582), np.float64(0.08450488433441301), np.float64(0.09550488433441301), np.float64(0.10650488433441302), np.float64(0.10950488433441301)]
results for assortment [2, 3, 4, 59, 40, 84] :

beta is  0.05 

learned probs for this beta: {2: np.float64(0.16272421088932146), 3: np.float64(0.1673077116715545), 4: np.float64(0.15385019634762803), 59: np.float64(0.12902947027287676), 40: np.float64(0.12902947027287676), 84: np.float64(0.12902947027287676), 0: np.float64(0.12902947027287676)}
err dic= {2: np.float64(0.10327578911067856), 3: np.float64(0.07469228832844549), 4: np.float64(0.10014980365237197), 59: np.float64(0.05502947027287676), 40: np.float64(0.06602947027287676), 84: np.float64(0.07702947027287677), 0: np.float64(0.08002947027287675)} 

err list= [np.float64(0.10327578911067856), np.float64(0.07469228832844549), np.float64(0.10014980365237197), np.float64(0.05502947027287676), np.float64(0.06602947027287676), np.float64(0.07702947027287677), np.float64(0.08002947027287675)]
results for assortment [2, 3, 4, 59, 40, 84] :

beta is  0.1 

learned probs for this beta: {2: np.float64(0.25072570787852666), 3: np.float64(0.2642865777987687), 4: np.float64(0.19439905052842893), 59: np.float64(0.0726471659485694), 40: np.float64(0.0726471659485694), 84: np.float64(0.0726471659485694), 0: np.float64(0.0726471659485694)}
err dic= {2: np.float64(0.015274292121473354), 3: np.float64(0.022286577798768692), 4: np.float64(0.059600949471571074), 59: np.float64(0.001352834051430593), 40: np.float64(0.009647165948569403), 84: np.float64(0.020647165948569406), 0: np.float64(0.0236471659485694)} 

err list= [np.float64(0.015274292121473354), np.float64(0.022286577798768692), np.float64(0.059600949471571074), np.float64(0.001352834051430593), np.float64(0.009647165948569403), np.float64(0.020647165948569406), np.float64(0.0236471659485694)]
results for assortment [2, 3, 4, 59, 40, 84] :

beta is  0.25 

learned probs for this beta: {2: np.float64(0.35896409079807184), 3: np.float64(0.41362121631698345), 4: np.float64(0.1908923177148623), 59: np.float64(0.009130593792520842), 40: np.float64(0.009130593792520842), 84: np.float64(0.009130593792520842), 0: np.float64(0.009130593792520842)}
err dic= {2: np.float64(0.09296409079807183), 3: np.float64(0.17162121631698346), 4: np.float64(0.06310768228513772), 59: np.float64(0.06486940620747915), 40: np.float64(0.05386940620747916), 84: np.float64(0.04286940620747916), 0: np.float64(0.03986940620747916)} 

err list= [np.float64(0.09296409079807183), np.float64(0.17162121631698346), np.float64(0.06310768228513772), np.float64(0.06486940620747915), np.float64(0.05386940620747916), np.float64(0.04286940620747916), np.float64(0.03986940620747916)]
results for assortment [2, 3, 4, 59, 40, 84] :

beta is  0.5 

learned probs for this beta: {2: np.float64(0.3978674469443757), 3: np.float64(0.4637927017325355), 4: np.float64(0.13730348366872563), 59: np.float64(0.00025909191359088624), 40: np.float64(0.00025909191359088624), 84: np.float64(0.00025909191359088624), 0: np.float64(0.00025909191359088624)}
err dic= {2: np.float64(0.1318674469443757), 3: np.float64(0.2217927017325355), 4: np.float64(0.11669651633127437), 59: np.float64(0.07374090808640911), 40: np.float64(0.06274090808640911), 84: np.float64(0.05174090808640911), 0: np.float64(0.048740908086409115)} 

err list= [np.float64(0.1318674469443757), np.float64(0.2217927017325355), np.float64(0.11669651633127437), np.float64(0.07374090808640911), np.float64(0.06274090808640911), np.float64(0.05174090808640911), np.float64(0.048740908086409115)]
results for assortment [2, 3, 4, 59, 40, 84] :

beta is  0.75 

learned probs for this beta: {2: np.float64(0.4421325584130987), 3: np.float64(0.46098550017001544), 4: np.float64(0.09686263699413657), 59: np.float64(4.826105687369559e-06), 40: np.float64(4.826105687369559e-06), 84: np.float64(4.826105687369559e-06), 0: np.float64(4.826105687369559e-06)}
err dic= {2: np.float64(0.17613255841309866), 3: np.float64(0.21898550017001545), 4: np.float64(0.15713736300586345), 59: np.float64(0.07399517389431262), 40: np.float64(0.06299517389431263), 84: np.float64(0.05199517389431263), 0: np.float64(0.048995173894312634)} 

err list= [np.float64(0.17613255841309866), np.float64(0.21898550017001545), np.float64(0.15713736300586345), np.float64(0.07399517389431262), np.float64(0.06299517389431263), np.float64(0.05199517389431263), np.float64(0.048995173894312634)]
results for assortment [2, 3, 4, 59, 40, 84] :

beta is  1 

learned probs for this beta: {2: np.float64(0.4918667033135119), 3: np.float64(0.44187043995948194), 4: np.float64(0.06626256659715873), 59: np.float64(7.253246190438808e-08), 40: np.float64(7.253246190438808e-08), 84: np.float64(7.253246190438808e-08), 0: np.float64(7.253246190438808e-08)}
err dic= {2: np.float64(0.22586670331351189), 3: np.float64(0.19987043995948195), 4: np.float64(0.18773743340284127), 59: np.float64(0.0739999274675381), 40: np.float64(0.0629999274675381), 84: np.float64(0.05199992746753809), 0: np.float64(0.0489999274675381)} 

err list= [np.float64(0.22586670331351189), np.float64(0.19987043995948195), np.float64(0.18773743340284127), np.float64(0.0739999274675381), np.float64(0.0629999274675381), np.float64(0.05199992746753809), np.float64(0.0489999274675381)]
results for assortment [2, 3, 4, 59, 40, 84] :

beta is  1.25 

learned probs for this beta: {2: np.float64(0.5383635261567341), 3: np.float64(0.41749281125653204), 4: np.float64(0.04414365834995613), 59: np.float64(1.0591943268430739e-09), 40: np.float64(1.0591943268430739e-09), 84: np.float64(1.0591943268430739e-09), 0: np.float64(1.0591943268430739e-09)}
err dic= {2: np.float64(0.2723635261567341), 3: np.float64(0.17549281125653204), 4: np.float64(0.20985634165004388), 59: np.float64(0.07399999894080567), 40: np.float64(0.06299999894080567), 84: np.float64(0.05199999894080567), 0: np.float64(0.04899999894080567)} 

err list= [np.float64(0.2723635261567341), np.float64(0.17549281125653204), np.float64(0.20985634165004388), np.float64(0.07399999894080567), np.float64(0.06299999894080567), np.float64(0.05199999894080567), np.float64(0.04899999894080567)]
results for assortment [2, 3, 4, 59, 40, 84] :

err MNL dic= {2: 0.266, 3: 0.242, 4: 0.254, 59: 0.074, 40: 0.063, 84: 0.052, 0: np.float64(0.3441038062664357)} 

err MNL list= [0.266, 0.242, 0.254, 0.074, 0.063, 0.052, np.float64(0.3441038062664357)]
sampled assortment [8, 2, 4, 92, 64, 62] number: 1
#  Learning probs for MM model, A = [8, 2, 4, 92, 64, 62]
#cluster  2 with weight 0.264
Learned cluster center of cluster 2:  {1: 1, 2: 2, 3: 1, 6: 1, 7: 1, 8: 0, 10: 1, 13: 1, 17: 2, 20: 2, 100: 1} [8, 1, 3, 6, 7, 10, 13, 100, 2, 17, 20]
#cluster  1 with weight 0.736
Learned cluster center of cluster 1:  {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 7: 0, 9: 0, 12: 0, 100: 0} [1, 2, 3, 4, 5, 7, 9, 12, 100]
#  Learning probs for MM model, A = [8, 2, 4, 92, 64, 62]
#cluster  2 with weight 0.264
Learned cluster center of cluster 2:  {1: 1, 3: 1, 5: 2, 6: 1, 7: 1, 8: 0, 10: 1, 100: 1} [8, 1, 3, 6, 7, 10, 100, 5]
#cluster  1 with weight 0.736
Learned cluster center of cluster 1:  {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 9: 0, 10: 0, 11: 0, 12: 0} [1, 2, 3, 4, 5, 6, 9, 10, 11, 12]
empirical probabilities from test set: {8: 0.251, 2: 0.253, 4: 0.265, 92: 0.058, 64: 0.067, 62: 0.059, 0: 0.047}
results for assortment [8, 2, 4, 92, 64, 62] :

beta is  0.025 

learned probs for this beta: {8: np.float64(0.1398696255822747), 2: np.float64(0.1264572786418871), 4: np.float64(0.12235266146665451), 92: np.float64(0.1528301085772961), 64: np.float64(0.1528301085772961), 62: np.float64(0.1528301085772961), 0: np.float64(0.1528301085772961)}
err dic= {8: np.float64(0.1111303744177253), 2: np.float64(0.1265427213581129), 4: np.float64(0.1426473385333455), 92: np.float64(0.0948301085772961), 64: np.float64(0.08583010857729609), 62: np.float64(0.0938301085772961), 0: np.float64(0.10583010857729609)} 

err list= [np.float64(0.1111303744177253), np.float64(0.1265427213581129), np.float64(0.1426473385333455), np.float64(0.0948301085772961), np.float64(0.08583010857729609), np.float64(0.0938301085772961), np.float64(0.10583010857729609)]
results for assortment [8, 2, 4, 92, 64, 62] :

beta is  0.05 

learned probs for this beta: {8: np.float64(0.13862798571240292), 2: np.float64(0.1643371963780985), 4: np.float64(0.15278692224063742), 92: np.float64(0.1360619739172174), 64: np.float64(0.1360619739172174), 62: np.float64(0.1360619739172174), 0: np.float64(0.1360619739172174)}
err dic= {8: np.float64(0.11237201428759708), 2: np.float64(0.08866280362190151), 4: np.float64(0.1122130777593626), 92: np.float64(0.07806197391721739), 64: np.float64(0.06906197391721738), 62: np.float64(0.07706197391721739), 0: np.float64(0.08906197391721739)} 

err list= [np.float64(0.11237201428759708), np.float64(0.08866280362190151), np.float64(0.1122130777593626), np.float64(0.07806197391721739), np.float64(0.06906197391721738), np.float64(0.07706197391721739), np.float64(0.08906197391721739)]
results for assortment [8, 2, 4, 92, 64, 62] :

beta is  0.1 

learned probs for this beta: {8: np.float64(0.14336987284563774), 2: np.float64(0.25465170410615373), 4: np.float64(0.21712334332344166), 92: np.float64(0.09621376993119185), 64: np.float64(0.09621376993119185), 62: np.float64(0.09621376993119185), 0: np.float64(0.09621376993119185)}
err dic= {8: np.float64(0.10763012715436227), 2: np.float64(0.0016517041061537285), 4: np.float64(0.047876656676558355), 92: np.float64(0.03821376993119185), 64: np.float64(0.029213769931191846), 62: np.float64(0.037213769931191854), 0: np.float64(0.04921376993119185)} 

err list= [np.float64(0.10763012715436227), np.float64(0.0016517041061537285), np.float64(0.047876656676558355), np.float64(0.03821376993119185), np.float64(0.029213769931191846), np.float64(0.037213769931191854), np.float64(0.04921376993119185)]
results for assortment [8, 2, 4, 92, 64, 62] :

beta is  0.25 

learned probs for this beta: {8: np.float64(0.21171830461887978), 2: np.float64(0.4298851886391921), 4: np.float64(0.28509387467486924), 92: np.float64(0.01832565801676482), 64: np.float64(0.01832565801676482), 62: np.float64(0.01832565801676482), 0: np.float64(0.01832565801676482)}
err dic= {8: np.float64(0.039281695381120224), 2: np.float64(0.17688518863919211), 4: np.float64(0.020093874674869228), 92: np.float64(0.03967434198323518), 64: np.float64(0.048674341983235184), 62: np.float64(0.04067434198323518), 0: np.float64(0.02867434198323518)} 

err list= [np.float64(0.039281695381120224), np.float64(0.17688518863919211), np.float64(0.020093874674869228), np.float64(0.03967434198323518), np.float64(0.048674341983235184), np.float64(0.04067434198323518), np.float64(0.02867434198323518)]
results for assortment [8, 2, 4, 92, 64, 62] :

beta is  0.5 

learned probs for this beta: {8: np.float64(0.26054071725118705), 2: np.float64(0.5135759957054432), 4: np.float64(0.22282417988127373), 92: np.float64(0.0007647767905243981), 64: np.float64(0.0007647767905243981), 62: np.float64(0.0007647767905243981), 0: np.float64(0.0007647767905243981)}
err dic= {8: np.float64(0.009540717251187047), 2: np.float64(0.2605759957054432), 4: np.float64(0.04217582011872628), 92: np.float64(0.057235223209475605), 64: np.float64(0.0662352232094756), 62: np.float64(0.0582352232094756), 0: np.float64(0.0462352232094756)} 

err list= [np.float64(0.009540717251187047), np.float64(0.2605759957054432), np.float64(0.04217582011872628), np.float64(0.057235223209475605), np.float64(0.0662352232094756), np.float64(0.0582352232094756), np.float64(0.0462352232094756)]
results for assortment [8, 2, 4, 92, 64, 62] :

beta is  0.75 

learned probs for this beta: {8: np.float64(0.26391655210270826), 2: np.float64(0.5733617814827652), 4: np.float64(0.1626541448470833), 92: np.float64(1.688039186083064e-05), 64: np.float64(1.688039186083064e-05), 62: np.float64(1.688039186083064e-05), 0: np.float64(1.688039186083064e-05)}
err dic= {8: np.float64(0.012916552102708256), 2: np.float64(0.3203617814827652), 4: np.float64(0.10234585515291672), 92: np.float64(0.05798311960813917), 64: np.float64(0.06698311960813917), 62: np.float64(0.058983119608139165), 0: np.float64(0.04698311960813917)} 

err list= [np.float64(0.012916552102708256), np.float64(0.3203617814827652), np.float64(0.10234585515291672), np.float64(0.05798311960813917), np.float64(0.06698311960813917), np.float64(0.058983119608139165), np.float64(0.04698311960813917)]
results for assortment [8, 2, 4, 92, 64, 62] :

beta is  1 

learned probs for this beta: {8: np.float64(0.26399874707273685), 2: np.float64(0.6212958305747286), 4: np.float64(0.11470445596873328), 92: np.float64(2.4159595036972836e-07), 64: np.float64(2.4159595036972836e-07), 62: np.float64(2.4159595036972836e-07), 0: np.float64(2.4159595036972836e-07)}
err dic= {8: np.float64(0.01299874707273685), 2: np.float64(0.3682958305747286), 4: np.float64(0.15029554403126671), 92: np.float64(0.05799975840404963), 64: np.float64(0.06699975840404963), 62: np.float64(0.058999758404049626), 0: np.float64(0.04699975840404963)} 

err list= [np.float64(0.01299874707273685), np.float64(0.3682958305747286), np.float64(0.15029554403126671), np.float64(0.05799975840404963), np.float64(0.06699975840404963), np.float64(0.058999758404049626), np.float64(0.04699975840404963)]
results for assortment [8, 2, 4, 92, 64, 62] :

beta is  1.25 

learned probs for this beta: {8: np.float64(0.26399998226362814), 2: np.float64(0.6575434856546385), 4: np.float64(0.07845651883999545), 92: np.float64(3.310434415578767e-09), 64: np.float64(3.310434415578767e-09), 62: np.float64(3.310434415578767e-09), 0: np.float64(3.310434415578767e-09)}
err dic= {8: np.float64(0.01299998226362814), 2: np.float64(0.4045434856546385), 4: np.float64(0.18654348116000458), 92: np.float64(0.05799999668956559), 64: np.float64(0.06699999668956559), 62: np.float64(0.058999996689565584), 0: np.float64(0.04699999668956559)} 

err list= [np.float64(0.01299998226362814), np.float64(0.4045434856546385), np.float64(0.18654348116000458), np.float64(0.05799999668956559), np.float64(0.06699999668956559), np.float64(0.058999996689565584), np.float64(0.04699999668956559)]
results for assortment [8, 2, 4, 92, 64, 62] :

err MNL dic= {8: 0.251, 2: 0.253, 4: 0.265, 92: 0.058, 64: 0.067, 62: 0.059, 0: np.float64(0.3469432450131567)} 

err MNL list= [0.251, 0.253, 0.265, 0.058, 0.067, 0.059, np.float64(0.3469432450131567)]
sampled assortment [9, 7, 1, 30, 28, 62] number: 2
#  Learning probs for MM model, A = [9, 7, 1, 30, 28, 62]
#cluster  2 with weight 0.264
Learned cluster center of cluster 2:  {1: 1, 3: 1, 6: 1, 7: 1, 8: 0, 10: 1, 13: 1, 14: 2, 100: 1} [8, 1, 3, 6, 7, 10, 13, 100, 14]
#cluster  1 with weight 0.736
Learned cluster center of cluster 1:  {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 7: 0, 9: 0, 11: 0, 12: 0, 100: 0} [1, 2, 3, 4, 5, 7, 9, 11, 12, 100]
#  Learning probs for MM model, A = [9, 7, 1, 30, 28, 62]
#cluster  2 with weight 0.264
Learned cluster center of cluster 2:  {1: 1, 3: 1, 5: 2, 6: 1, 7: 1, 8: 0, 10: 1, 13: 1, 100: 1} [8, 1, 3, 6, 7, 10, 13, 100, 5]
#cluster  1 with weight 0.736
Learned cluster center of cluster 1:  {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 9: 0, 11: 0, 100: 0} [1, 2, 3, 4, 5, 9, 11, 100]
empirical probabilities from test set: {9: 0.229, 7: 0.211, 1: 0.255, 30: 0.097, 28: 0.121, 62: 0.057, 0: 0.03}
results for assortment [9, 7, 1, 30, 28, 62] :

beta is  0.025 

learned probs for this beta: {9: np.float64(0.10659768673858977), 7: np.float64(0.1461052335702678), 1: np.float64(0.10150140336969354), 30: np.float64(0.16144891908036305), 28: np.float64(0.16144891908036305), 62: np.float64(0.16144891908036305), 0: np.float64(0.16144891908036305)}
err dic= {9: np.float64(0.12240231326141024), 7: np.float64(0.06489476642973219), 1: np.float64(0.15349859663030646), 30: np.float64(0.06444891908036304), 28: np.float64(0.04044891908036305), 62: np.float64(0.10444891908036305), 0: np.float64(0.13144891908036305)} 

err list= [np.float64(0.12240231326141024), np.float64(0.06489476642973219), np.float64(0.15349859663030646), np.float64(0.06444891908036304), np.float64(0.04044891908036305), np.float64(0.10444891908036305), np.float64(0.13144891908036305)]
results for assortment [9, 7, 1, 30, 28, 62] :

beta is  0.05 

learned probs for this beta: {9: np.float64(0.1223256293921299), 7: np.float64(0.144585360075505), 1: np.float64(0.14901474925600422), 30: np.float64(0.1460185653190905), 28: np.float64(0.1460185653190905), 62: np.float64(0.1460185653190905), 0: np.float64(0.1460185653190905)}
err dic= {9: np.float64(0.1066743706078701), 7: np.float64(0.066414639924495), 1: np.float64(0.10598525074399578), 30: np.float64(0.04901856531909049), 28: np.float64(0.025018565319090497), 62: np.float64(0.0890185653190905), 0: np.float64(0.1160185653190905)} 

err list= [np.float64(0.1066743706078701), np.float64(0.066414639924495), np.float64(0.10598525074399578), np.float64(0.04901856531909049), np.float64(0.025018565319090497), np.float64(0.0890185653190905), np.float64(0.1160185653190905)]
results for assortment [9, 7, 1, 30, 28, 62] :

beta is  0.1 

learned probs for this beta: {9: np.float64(0.15505886237503122), 7: np.float64(0.1377989273574901), 1: np.float64(0.27605493065129316), 30: np.float64(0.10777181990404631), 28: np.float64(0.10777181990404631), 62: np.float64(0.10777181990404631), 0: np.float64(0.10777181990404631)}
err dic= {9: np.float64(0.07394113762496879), 7: np.float64(0.07320107264250988), 1: np.float64(0.021054930651293158), 30: np.float64(0.010771819904046312), 28: np.float64(0.013228180095953682), 62: np.float64(0.05077181990404631), 0: np.float64(0.07777181990404632)} 

err list= [np.float64(0.07394113762496879), np.float64(0.07320107264250988), np.float64(0.021054930651293158), np.float64(0.010771819904046312), np.float64(0.013228180095953682), np.float64(0.05077181990404631), np.float64(0.07777181990404632)]
results for assortment [9, 7, 1, 30, 28, 62] :

beta is  0.25 

learned probs for this beta: {9: np.float64(0.18308575595044158), 7: np.float64(0.10180930845848143), 1: np.float64(0.6304188027558033), 30: np.float64(0.021171533208818344), 28: np.float64(0.021171533208818344), 62: np.float64(0.021171533208818344), 0: np.float64(0.021171533208818344)}
err dic= {9: np.float64(0.045914244049558434), 7: np.float64(0.10919069154151856), 1: np.float64(0.3754188027558033), 30: np.float64(0.07582846679118166), 28: np.float64(0.09982846679118165), 62: np.float64(0.03582846679118166), 0: np.float64(0.008828466791181655)} 

err list= [np.float64(0.045914244049558434), np.float64(0.10919069154151856), np.float64(0.3754188027558033), np.float64(0.07582846679118166), np.float64(0.09982846679118165), np.float64(0.03582846679118166), np.float64(0.008828466791181655)]
results for assortment [9, 7, 1, 30, 28, 62] :

beta is  0.5 

learned probs for this beta: {9: np.float64(0.09725503472278911), 7: np.float64(0.062462186976424666), 1: np.float64(0.8380655922218591), 30: np.float64(0.0005542965197319015), 28: np.float64(0.0005542965197319015), 62: np.float64(0.0005542965197319015), 0: np.float64(0.0005542965197319015)}
err dic= {9: np.float64(0.1317449652772109), 7: np.float64(0.14853781302357533), 1: np.float64(0.583065592221859), 30: np.float64(0.0964457034802681), 28: np.float64(0.12044570348026809), 62: np.float64(0.0564457034802681), 0: np.float64(0.029445703480268096)} 

err list= [np.float64(0.1317449652772109), np.float64(0.14853781302357533), np.float64(0.583065592221859), np.float64(0.0964457034802681), np.float64(0.12044570348026809), np.float64(0.0564457034802681), np.float64(0.029445703480268096)]
results for assortment [9, 7, 1, 30, 28, 62] :

beta is  0.75 

learned probs for this beta: {9: np.float64(0.039016706019051495), 7: np.float64(0.03798738267037134), 1: np.float64(0.9229519048607517), 30: np.float64(1.100161245633239e-05), 28: np.float64(1.100161245633239e-05), 62: np.float64(1.100161245633239e-05), 0: np.float64(1.100161245633239e-05)}
err dic= {9: np.float64(0.18998329398094851), 7: np.float64(0.17301261732962864), 1: np.float64(0.6679519048607517), 30: np.float64(0.09698899838754367), 28: np.float64(0.12098899838754366), 62: np.float64(0.05698899838754367), 0: np.float64(0.029988998387543667)} 

err list= [np.float64(0.18998329398094851), np.float64(0.17301261732962864), np.float64(0.6679519048607517), np.float64(0.09698899838754367), np.float64(0.12098899838754366), np.float64(0.05698899838754367), np.float64(0.029988998387543667)]
results for assortment [9, 7, 1, 30, 28, 62] :

beta is  1 

learned probs for this beta: {9: np.float64(0.013990442597025863), 7: np.float64(0.021795322177702806), 1: np.float64(0.9642135762674167), 30: np.float64(1.6473946374595252e-07), 28: np.float64(1.6473946374595252e-07), 62: np.float64(1.6473946374595252e-07), 0: np.float64(1.6473946374595252e-07)}
err dic= {9: np.float64(0.21500955740297414), 7: np.float64(0.1892046778222972), 1: np.float64(0.7092135762674167), 30: np.float64(0.09699983526053625), 28: np.float64(0.12099983526053625), 62: np.float64(0.05699983526053626), 0: np.float64(0.02999983526053625)} 

err list= [np.float64(0.21500955740297414), np.float64(0.1892046778222972), np.float64(0.7092135762674167), np.float64(0.09699983526053625), np.float64(0.12099983526053625), np.float64(0.05699983526053626), np.float64(0.02999983526053625)]
results for assortment [9, 7, 1, 30, 28, 62] :

beta is  1.25 

learned probs for this beta: {9: np.float64(0.00467403938914833), 7: np.float64(0.011911109419916284), 1: np.float64(0.9834148418397662), 30: np.float64(2.337792235652703e-09), 28: np.float64(2.337792235652703e-09), 62: np.float64(2.337792235652703e-09), 0: np.float64(2.337792235652703e-09)}
err dic= {9: np.float64(0.22432596061085167), 7: np.float64(0.19908889058008372), 1: np.float64(0.7284148418397662), 30: np.float64(0.09699999766220777), 28: np.float64(0.12099999766220776), 62: np.float64(0.056999997662207764), 0: np.float64(0.029999997662207765)} 

err list= [np.float64(0.22432596061085167), np.float64(0.19908889058008372), np.float64(0.7284148418397662), np.float64(0.09699999766220777), np.float64(0.12099999766220776), np.float64(0.056999997662207764), np.float64(0.029999997662207765)]
results for assortment [9, 7, 1, 30, 28, 62] :

err MNL dic= {9: 0.229, 7: 0.211, 1: 0.255, 30: 0.097, 28: 0.121, 62: 0.057, 0: np.float64(0.3585948675396885)} 

err MNL list= [0.229, 0.211, 0.255, 0.097, 0.121, 0.057, np.float64(0.3585948675396885)]
sampled assortment [7, 5, 2, 54, 64, 100] number: 3
#  Learning probs for MM model, A = [7, 5, 2, 54, 64, 100]
#cluster  2 with weight 0.264
Learned cluster center of cluster 2:  {1: 1, 3: 1, 6: 1, 7: 1, 8: 0, 10: 1, 13: 1, 15: 1, 100: 1} [8, 1, 3, 6, 7, 10, 13, 15, 100]
#cluster  1 with weight 0.736
Learned cluster center of cluster 1:  {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 9: 0, 100: 0} [1, 2, 3, 4, 5, 6, 7, 9, 100]
#  Learning probs for MM model, A = [7, 5, 2, 54, 64, 100]
#cluster  2 with weight 0.264
Learned cluster center of cluster 2:  {1: 1, 3: 1, 4: 2, 6: 1, 7: 1, 8: 0, 10: 1, 13: 1, 100: 1} [8, 1, 3, 6, 7, 10, 13, 100, 4]
#cluster  1 with weight 0.736
Learned cluster center of cluster 1:  {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 9: 0, 11: 0, 12: 0, 100: 0} [1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 100]
empirical probabilities from test set: {7: 0.175, 5: 0.208, 2: 0.248, 54: 0.052, 64: 0.047, 100: 0.249, 0: 0.021}
results for assortment [7, 5, 2, 54, 64, 100] :

beta is  0.025 

learned probs for this beta: {7: np.float64(0.10690088010275461), 5: np.float64(0.12662928121086253), 2: np.float64(0.1328657510344004), 54: np.float64(0.17862027296355512), 64: np.float64(0.17862027296355512), 100: np.float64(0.09774326876131628), 0: np.float64(0.17862027296355512)}
err dic= {7: np.float64(0.06809911989724537), 5: np.float64(0.08137071878913746), 2: np.float64(0.1151342489655996), 54: np.float64(0.12662027296355513), 64: np.float64(0.1316202729635551), 100: np.float64(0.15125673123868372), 0: np.float64(0.15762027296355513)} 

err list= [np.float64(0.06809911989724537), np.float64(0.08137071878913746), np.float64(0.1151342489655996), np.float64(0.12662027296355513), np.float64(0.1316202729635551), np.float64(0.15125673123868372), np.float64(0.15762027296355513)]
results for assortment [7, 5, 2, 54, 64, 100] :

beta is  0.05 

learned probs for this beta: {7: np.float64(0.1373073771480624), 5: np.float64(0.14954644256032684), 2: np.float64(0.16616519172764505), 54: np.float64(0.14394040788758034), 64: np.float64(0.14394040788758034), 100: np.float64(0.11515976490122776), 0: np.float64(0.14394040788758034)}
err dic= {7: np.float64(0.037692622851937585), 5: np.float64(0.05845355743967315), 2: np.float64(0.08183480827235495), 54: np.float64(0.09194040788758034), 64: np.float64(0.09694040788758033), 100: np.float64(0.13384023509877224), 0: np.float64(0.12294040788758033)} 

err list= [np.float64(0.037692622851937585), np.float64(0.05845355743967315), np.float64(0.08183480827235495), np.float64(0.09194040788758034), np.float64(0.09694040788758033), np.float64(0.13384023509877224), np.float64(0.12294040788758033)]
results for assortment [7, 5, 2, 54, 64, 100] :

beta is  0.1 

learned probs for this beta: {7: np.float64(0.1918988818092546), 5: np.float64(0.18765658713066596), 2: np.float64(0.23567904156621597), 54: np.float64(0.08262802283291354), 64: np.float64(0.08262802283291354), 100: np.float64(0.13688142099512512), 0: np.float64(0.08262802283291354)}
err dic= {7: np.float64(0.016898881809254612), 5: np.float64(0.020343412869334027), 2: np.float64(0.01232095843378403), 54: np.float64(0.03062802283291354), 64: np.float64(0.03562802283291354), 100: np.float64(0.11211857900487487), 0: np.float64(0.061628022832913534)} 

err list= [np.float64(0.016898881809254612), np.float64(0.020343412869334027), np.float64(0.01232095843378403), np.float64(0.03062802283291354), np.float64(0.03562802283291354), np.float64(0.11211857900487487), np.float64(0.061628022832913534)]
results for assortment [7, 5, 2, 54, 64, 100] :

beta is  0.25 

learned probs for this beta: {7: np.float64(0.26044450796539337), 5: np.float64(0.20422297722109675), 2: np.float64(0.37046237386547615), 54: np.float64(0.014155869678943826), 64: np.float64(0.014155869678943826), 100: np.float64(0.12240253191120115), 0: np.float64(0.014155869678943826)}
err dic= {7: np.float64(0.08544450796539338), 5: np.float64(0.0037770227789032385), 2: np.float64(0.12246237386547615), 54: np.float64(0.03784413032105617), 64: np.float64(0.032844130321056174), 100: np.float64(0.12659746808879885), 0: np.float64(0.006844130321056175)} 

err list= [np.float64(0.08544450796539338), np.float64(0.0037770227789032385), np.float64(0.12246237386547615), np.float64(0.03784413032105617), np.float64(0.032844130321056174), np.float64(0.12659746808879885), np.float64(0.006844130321056175)]
results for assortment [7, 5, 2, 54, 64, 100] :

beta is  0.5 

learned probs for this beta: {7: np.float64(0.26063874889654354), 5: np.float64(0.1538189719206893), 2: np.float64(0.5133132142377319), 54: np.float64(0.0006789442561011854), 64: np.float64(0.0006789442561011854), 100: np.float64(0.07019223217673257), 0: np.float64(0.0006789442561011854)}
err dic= {7: np.float64(0.08563874889654355), 5: np.float64(0.05418102807931069), 2: np.float64(0.2653132142377319), 54: np.float64(0.051321055743898815), 64: np.float64(0.04632105574389882), 100: np.float64(0.17880776782326743), 0: np.float64(0.020321055743898815)} 

err list= [np.float64(0.08563874889654355), np.float64(0.05418102807931069), np.float64(0.2653132142377319), np.float64(0.051321055743898815), np.float64(0.04632105574389882), np.float64(0.17880776782326743), np.float64(0.020321055743898815)]
results for assortment [7, 5, 2, 54, 64, 100] :

beta is  0.75 

learned probs for this beta: {7: np.float64(0.2503259353346106), 5: np.float64(0.10039623744071796), 2: np.float64(0.6099775682322083), 54: np.float64(2.0406431388347987e-05), 64: np.float64(2.0406431388347987e-05), 100: np.float64(0.039239039698297985), 0: np.float64(2.0406431388347987e-05)}
err dic= {7: np.float64(0.07532593533461063), 5: np.float64(0.10760376255928203), 2: np.float64(0.3619775682322083), 54: np.float64(0.05197959356861165), 64: np.float64(0.04697959356861165), 100: np.float64(0.20976096030170202), 0: np.float64(0.020979593568611652)} 

err list= [np.float64(0.07532593533461063), np.float64(0.10760376255928203), np.float64(0.3619775682322083), np.float64(0.05197959356861165), np.float64(0.04697959356861165), np.float64(0.20976096030170202), np.float64(0.020979593568611652)]
results for assortment [7, 5, 2, 54, 64, 100] :

beta is  1 

learned probs for this beta: {7: np.float64(0.25091097395745704), 5: np.float64(0.05934472814769773), 2: np.float64(0.667783714438933), 54: np.float64(6.163610292964556e-07), 64: np.float64(6.163610292964556e-07), 100: np.float64(0.021958734372824473), 0: np.float64(6.163610292964556e-07)}
err dic= {7: np.float64(0.07591097395745705), 5: np.float64(0.14865527185230226), 2: np.float64(0.41978371443893303), 54: np.float64(0.0519993836389707), 64: np.float64(0.0469993836389707), 100: np.float64(0.22704126562717553), 0: np.float64(0.020999383638970706)} 

err list= [np.float64(0.07591097395745705), np.float64(0.14865527185230226), np.float64(0.41978371443893303), np.float64(0.0519993836389707), np.float64(0.0469993836389707), np.float64(0.22704126562717553), np.float64(0.020999383638970706)]
results for assortment [7, 5, 2, 54, 64, 100] :

beta is  1.25 

learned probs for this beta: {7: np.float64(0.25498557979687847), 5: np.float64(0.032858915560196406), 2: np.float64(0.7002245597354336), 54: np.float64(1.8865083201419667e-08), 64: np.float64(1.8865083201419667e-08), 100: np.float64(0.011930888312241407), 0: np.float64(1.8865083201419667e-08)}
err dic= {7: np.float64(0.07998557979687848), 5: np.float64(0.17514108443980358), 2: np.float64(0.45222455973543363), 54: np.float64(0.051999981134916794), 64: np.float64(0.046999981134916796), 100: np.float64(0.2370691116877586), 0: np.float64(0.0209999811349168)} 

err list= [np.float64(0.07998557979687848), np.float64(0.17514108443980358), np.float64(0.45222455973543363), np.float64(0.051999981134916794), np.float64(0.046999981134916796), np.float64(0.2370691116877586), np.float64(0.0209999811349168)]
results for assortment [7, 5, 2, 54, 64, 100] :

err MNL dic= {7: 0.175, 5: 0.208, 2: 0.248, 54: 0.052, 64: 0.047, 100: 0.249, 0: np.float64(0.36376737313768237)} 

err MNL list= [0.175, 0.208, 0.248, 0.052, 0.047, 0.249, np.float64(0.36376737313768237)]
sampled assortment [5, 1, 8, 46, 76, 45] number: 4
#  Learning probs for MM model, A = [5, 1, 8, 46, 76, 45]
#cluster  2 with weight 0.264
Learned cluster center of cluster 2:  {1: 1, 3: 1, 5: 2, 6: 1, 7: 1, 8: 0, 10: 1, 13: 1, 100: 1} [8, 1, 3, 6, 7, 10, 13, 100, 5]
#cluster  1 with weight 0.736
Learned cluster center of cluster 1:  {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 10: 0, 100: 0} [1, 2, 3, 4, 5, 6, 7, 10, 100]
#  Learning probs for MM model, A = [5, 1, 8, 46, 76, 45]
#cluster  2 with weight 0.264
Learned cluster center of cluster 2:  {1: 1, 3: 1, 5: 2, 6: 1, 7: 1, 8: 0, 10: 1, 13: 1, 15: 2, 100: 1} [8, 1, 3, 6, 7, 10, 13, 100, 5, 15]
#cluster  1 with weight 0.736
Learned cluster center of cluster 1:  {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 7: 0, 9: 0, 10: 0, 11: 0, 12: 0, 100: 0} [1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 100]
empirical probabilities from test set: {5: 0.242, 1: 0.24, 8: 0.263, 46: 0.073, 76: 0.058, 45: 0.078, 0: 0.046}
results for assortment [5, 1, 8, 46, 76, 45] :

beta is  0.025 

learned probs for this beta: {5: np.float64(0.1135214298689792), 1: np.float64(0.12688034055565722), 8: np.float64(0.14152384917843752), 46: np.float64(0.15451859509923213), 76: np.float64(0.15451859509923213), 45: np.float64(0.15451859509923213), 0: np.float64(0.15451859509923213)}
err dic= {5: np.float64(0.1284785701310208), 1: np.float64(0.11311965944434277), 8: np.float64(0.12147615082156249), 46: np.float64(0.08151859509923214), 76: np.float64(0.09651859509923214), 45: np.float64(0.07651859509923213), 0: np.float64(0.10851859509923213)} 

err list= [np.float64(0.1284785701310208), np.float64(0.11311965944434277), np.float64(0.12147615082156249), np.float64(0.08151859509923214), np.float64(0.09651859509923214), np.float64(0.07651859509923213), np.float64(0.10851859509923213)]
results for assortment [5, 1, 8, 46, 76, 45] :

beta is  0.05 

learned probs for this beta: {5: np.float64(0.1514631379993766), 1: np.float64(0.18779448678173866), 8: np.float64(0.13941439122340002), 46: np.float64(0.13033199599887293), 76: np.float64(0.13033199599887293), 45: np.float64(0.13033199599887293), 0: np.float64(0.13033199599887293)}
err dic= {5: np.float64(0.09053686200062339), 1: np.float64(0.052205513218261335), 8: np.float64(0.12358560877659999), 46: np.float64(0.05733199599887294), 76: np.float64(0.07233199599887294), 45: np.float64(0.052331995998872935), 0: np.float64(0.08433199599887294)} 

err list= [np.float64(0.09053686200062339), np.float64(0.052205513218261335), np.float64(0.12358560877659999), np.float64(0.05733199599887294), np.float64(0.07233199599887294), np.float64(0.052331995998872935), np.float64(0.08433199599887294)]
results for assortment [5, 1, 8, 46, 76, 45] :

beta is  0.1 

learned probs for this beta: {5: np.float64(0.22120315378127203), 1: np.float64(0.3294520383635469), 8: np.float64(0.13544661717172152), 46: np.float64(0.07847454767086494), 76: np.float64(0.07847454767086494), 45: np.float64(0.07847454767086494), 0: np.float64(0.07847454767086494)}
err dic= {5: np.float64(0.02079684621872796), 1: np.float64(0.08945203836354693), 8: np.float64(0.1275533828282785), 46: np.float64(0.005474547670864943), 76: np.float64(0.020474547670864936), 45: np.float64(0.00047454767086493876), 0: np.float64(0.03247454767086494)} 

err list= [np.float64(0.02079684621872796), np.float64(0.08945203836354693), np.float64(0.1275533828282785), np.float64(0.005474547670864943), np.float64(0.020474547670864936), np.float64(0.00047454767086493876), np.float64(0.03247454767086494)]
results for assortment [5, 1, 8, 46, 76, 45] :

beta is  0.25 

learned probs for this beta: {5: np.float64(0.24749417859841333), 1: np.float64(0.5847952588703106), 8: np.float64(0.13793090439202726), 46: np.float64(0.007444914534812201), 76: np.float64(0.007444914534812201), 45: np.float64(0.007444914534812201), 0: np.float64(0.007444914534812201)}
err dic= {5: np.float64(0.005494178598413335), 1: np.float64(0.3447952588703106), 8: np.float64(0.12506909560797275), 46: np.float64(0.06555508546518779), 76: np.float64(0.050555085465187805), 45: np.float64(0.0705550854651878), 0: np.float64(0.0385550854651878)} 

err list= [np.float64(0.005494178598413335), np.float64(0.3447952588703106), np.float64(0.12506909560797275), np.float64(0.06555508546518779), np.float64(0.050555085465187805), np.float64(0.0705550854651878), np.float64(0.0385550854651878)]
results for assortment [5, 1, 8, 46, 76, 45] :

beta is  0.5 

learned probs for this beta: {5: np.float64(0.1359252377329159), 1: np.float64(0.7019589202956947), 8: np.float64(0.16164881475787687), 46: np.float64(0.00011675680337823968), 76: np.float64(0.00011675680337823968), 45: np.float64(0.00011675680337823968), 0: np.float64(0.00011675680337823968)}
err dic= {5: np.float64(0.1060747622670841), 1: np.float64(0.46195892029569474), 8: np.float64(0.10135118524212314), 46: np.float64(0.07288324319662176), 76: np.float64(0.05788324319662176), 45: np.float64(0.07788324319662177), 0: np.float64(0.04588324319662176)} 

err list= [np.float64(0.1060747622670841), np.float64(0.46195892029569474), np.float64(0.10135118524212314), np.float64(0.07288324319662176), np.float64(0.05788324319662176), np.float64(0.07788324319662177), np.float64(0.04588324319662176)]
results for assortment [5, 1, 8, 46, 76, 45] :

beta is  0.75 

learned probs for this beta: {5: np.float64(0.06626099383587028), 1: np.float64(0.7548641986931687), 8: np.float64(0.17886952678883195), 46: np.float64(1.3201705323067482e-06), 76: np.float64(1.3201705323067482e-06), 45: np.float64(1.3201705323067482e-06), 0: np.float64(1.3201705323067482e-06)}
err dic= {5: np.float64(0.1757390061641297), 1: np.float64(0.5148641986931687), 8: np.float64(0.08413047321116807), 46: np.float64(0.07299867982946769), 76: np.float64(0.05799867982946769), 45: np.float64(0.07799867982946769), 0: np.float64(0.04599867982946769)} 

err list= [np.float64(0.1757390061641297), np.float64(0.5148641986931687), np.float64(0.08413047321116807), np.float64(0.07299867982946769), np.float64(0.05799867982946769), np.float64(0.07799867982946769), np.float64(0.04599867982946769)]
results for assortment [5, 1, 8, 46, 76, 45] :

beta is  1 

learned probs for this beta: {5: np.float64(0.03005153802692208), 1: np.float64(0.7770133814287444), 8: np.float64(0.19293504077910847), 46: np.float64(9.941306370210422e-09), 76: np.float64(9.941306370210422e-09), 45: np.float64(9.941306370210422e-09), 0: np.float64(9.941306370210422e-09)}
err dic= {5: np.float64(0.21194846197307793), 1: np.float64(0.5370133814287444), 8: np.float64(0.07006495922089154), 46: np.float64(0.07299999005869362), 76: np.float64(0.057999990058693635), 45: np.float64(0.07799999005869362), 0: np.float64(0.04599999005869363)} 

err list= [np.float64(0.21194846197307793), np.float64(0.5370133814287444), np.float64(0.07006495922089154), np.float64(0.07299999005869362), np.float64(0.057999990058693635), np.float64(0.07799999005869362), np.float64(0.04599999005869363)]
results for assortment [5, 1, 8, 46, 76, 45] :

beta is  1.25 

learned probs for this beta: {5: np.float64(0.012865242419304507), 1: np.float64(0.7819369015199138), 8: np.float64(0.2051978557715786), 46: np.float64(7.230073697553421e-11), 76: np.float64(7.230073697553421e-11), 45: np.float64(7.230073697553421e-11), 0: np.float64(7.230073697553421e-11)}
err dic= {5: np.float64(0.2291347575806955), 1: np.float64(0.5419369015199138), 8: np.float64(0.05780214422842142), 46: np.float64(0.07299999992769926), 76: np.float64(0.05799999992769927), 45: np.float64(0.07799999992769927), 0: np.float64(0.045999999927699264)} 

err list= [np.float64(0.2291347575806955), np.float64(0.5419369015199138), np.float64(0.05780214422842142), np.float64(0.07299999992769926), np.float64(0.05799999992769927), np.float64(0.07799999992769927), np.float64(0.045999999927699264)]
results for assortment [5, 1, 8, 46, 76, 45] :

err MNL dic= {5: 0.242, 1: 0.24, 8: 0.263, 46: 0.073, 76: 0.058, 45: 0.078, 0: np.float64(0.344976058224923)} 

err MNL list= [0.242, 0.24, 0.263, 0.073, 0.058, 0.078, np.float64(0.344976058224923)]
sampled assortment [7, 3, 1, 10, 37, 35] number: 5
#  Learning probs for MM model, A = [7, 3, 1, 10, 37, 35]
#cluster  2 with weight 0.264
Learned cluster center of cluster 2:  {1: 1, 3: 1, 4: 2, 6: 1, 7: 1, 8: 0, 10: 1, 13: 1, 15: 1, 100: 1} [8, 1, 3, 6, 7, 10, 13, 15, 100, 4]
#cluster  1 with weight 0.736
Learned cluster center of cluster 1:  {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 11: 0, 100: 0} [1, 2, 3, 4, 5, 6, 7, 11, 100]
#  Learning probs for MM model, A = [7, 3, 1, 10, 37, 35]
#cluster  2 with weight 0.264
Learned cluster center of cluster 2:  {1: 1, 3: 1, 4: 2, 6: 1, 7: 1, 8: 0, 10: 1, 100: 1} [8, 1, 3, 6, 7, 10, 100, 4]
#cluster  1 with weight 0.736
Learned cluster center of cluster 1:  {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 9: 0, 10: 0, 11: 0, 100: 0} [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 100]
empirical probabilities from test set: {7: 0.174, 3: 0.208, 1: 0.225, 10: 0.191, 37: 0.099, 35: 0.07, 0: 0.033}
results for assortment [7, 3, 1, 10, 37, 35] :

beta is  0.025 

learned probs for this beta: {7: np.float64(0.10248504229089737), 3: np.float64(0.11155185237710913), 1: np.float64(0.1164792337996805), 10: np.float64(0.09815954554498059), 37: np.float64(0.19044144199577734), 35: np.float64(0.19044144199577734), 0: np.float64(0.19044144199577734)}
err dic= {7: np.float64(0.07151495770910261), 3: np.float64(0.09644814762289086), 1: np.float64(0.1085207662003195), 10: np.float64(0.09284045445501941), 37: np.float64(0.09144144199577733), 35: np.float64(0.12044144199577733), 0: np.float64(0.15744144199577734)} 

err list= [np.float64(0.07151495770910261), np.float64(0.09644814762289086), np.float64(0.1085207662003195), np.float64(0.09284045445501941), np.float64(0.09144144199577733), np.float64(0.12044144199577733), np.float64(0.15744144199577734)]
results for assortment [7, 3, 1, 10, 37, 35] :

beta is  0.05 

learned probs for this beta: {7: np.float64(0.12771956962586573), 3: np.float64(0.15080989290467867), 1: np.float64(0.164235784249649), 10: np.float64(0.1172958148453329), 37: np.float64(0.14664631279149237), 35: np.float64(0.14664631279149237), 0: np.float64(0.14664631279149237)}
err dic= {7: np.float64(0.04628043037413426), 3: np.float64(0.057190107095321324), 1: np.float64(0.060764215750351014), 10: np.float64(0.0737041851546671), 37: np.float64(0.04764631279149237), 35: np.float64(0.07664631279149237), 0: np.float64(0.11364631279149237)} 

err list= [np.float64(0.04628043037413426), np.float64(0.057190107095321324), np.float64(0.060764215750351014), np.float64(0.0737041851546671), np.float64(0.04764631279149237), np.float64(0.07664631279149237), np.float64(0.11364631279149237)]
results for assortment [7, 3, 1, 10, 37, 35] :

beta is  0.1 

learned probs for this beta: {7: np.float64(0.16284988676213205), 3: np.float64(0.22362087814273185), 1: np.float64(0.26360677505505675), 10: np.float64(0.1380352219028894), 37: np.float64(0.07062907937906354), 35: np.float64(0.07062907937906354), 0: np.float64(0.07062907937906354)}
err dic= {7: np.float64(0.011150113237867937), 3: np.float64(0.015620878142731859), 1: np.float64(0.03860677505505675), 10: np.float64(0.052964778097110615), 37: np.float64(0.028370920620936463), 35: np.float64(0.0006290793790635352), 0: np.float64(0.03762907937906354)} 

err list= [np.float64(0.011150113237867937), np.float64(0.015620878142731859), np.float64(0.03860677505505675), np.float64(0.052964778097110615), np.float64(0.028370920620936463), np.float64(0.0006290793790635352), np.float64(0.03762907937906354)]
results for assortment [7, 3, 1, 10, 37, 35] :

beta is  0.25 

learned probs for this beta: {7: np.float64(0.14327944023573913), 3: np.float64(0.3016477882277964), 1: np.float64(0.44543694670753303), 10: np.float64(0.09680979477837313), 37: np.float64(0.004275343350186178), 35: np.float64(0.004275343350186178), 0: np.float64(0.004275343350186178)}
err dic= {7: np.float64(0.030720559764260857), 3: np.float64(0.09364778822779643), 1: np.float64(0.22043694670753303), 10: np.float64(0.09419020522162687), 37: np.float64(0.09472465664981383), 35: np.float64(0.06572465664981383), 0: np.float64(0.028724656649813822)} 

err list= [np.float64(0.030720559764260857), np.float64(0.09364778822779643), np.float64(0.22043694670753303), np.float64(0.09419020522162687), np.float64(0.09472465664981383), np.float64(0.06572465664981383), np.float64(0.028724656649813822)]
results for assortment [7, 3, 1, 10, 37, 35] :

beta is  0.5 

learned probs for this beta: {7: np.float64(0.06684276836252057), 3: np.float64(0.2866031880195887), 1: np.float64(0.6136056817098524), 10: np.float64(0.03259268360061148), 37: np.float64(0.00011855943580913368), 35: np.float64(0.00011855943580913368), 0: np.float64(0.00011855943580913368)}
err dic= {7: np.float64(0.10715723163747942), 3: np.float64(0.07860318801958868), 1: np.float64(0.38860568170985244), 10: np.float64(0.15840731639938851), 37: np.float64(0.09888144056419088), 35: np.float64(0.06988144056419088), 0: np.float64(0.032881440564190866)} 

err list= [np.float64(0.10715723163747942), np.float64(0.07860318801958868), np.float64(0.38860568170985244), np.float64(0.15840731639938851), np.float64(0.09888144056419088), np.float64(0.06988144056419088), np.float64(0.032881440564190866)]
results for assortment [7, 3, 1, 10, 37, 35] :

beta is  0.75 

learned probs for this beta: {7: np.float64(0.028941256722076914), 3: np.float64(0.23511090137981533), 1: np.float64(0.7247225511944059), 10: np.float64(0.011218006200713556), 37: np.float64(2.4281676628209135e-06), 35: np.float64(2.4281676628209135e-06), 0: np.float64(2.4281676628209135e-06)}
err dic= {7: np.float64(0.14505874327792306), 3: np.float64(0.02711090137981534), 1: np.float64(0.4997225511944059), 10: np.float64(0.17978199379928644), 37: np.float64(0.09899757183233718), 35: np.float64(0.06999757183233718), 0: np.float64(0.03299757183233718)} 

err list= [np.float64(0.14505874327792306), np.float64(0.02711090137981534), np.float64(0.4997225511944059), np.float64(0.17978199379928644), np.float64(0.09899757183233718), np.float64(0.06999757183233718), np.float64(0.03299757183233718)]
results for assortment [7, 3, 1, 10, 37, 35] :

beta is  1 

learned probs for this beta: {7: np.float64(0.012905775541976926), 3: np.float64(0.18128627678849496), 1: np.float64(0.8016532504607848), 10: np.float64(0.004154584650261606), 37: np.float64(3.751949400004983e-08), 35: np.float64(3.751949400004983e-08), 0: np.float64(3.751949400004983e-08)}
err dic= {7: np.float64(0.16109422445802307), 3: np.float64(0.02671372321150503), 1: np.float64(0.5766532504607849), 10: np.float64(0.1868454153497384), 37: np.float64(0.098999962480506), 35: np.float64(0.06999996248050601), 0: np.float64(0.032999962480506004)} 

err list= [np.float64(0.16109422445802307), np.float64(0.02671372321150503), np.float64(0.5766532504607849), np.float64(0.1868454153497384), np.float64(0.098999962480506), np.float64(0.06999996248050601), np.float64(0.032999962480506004)]
results for assortment [7, 3, 1, 10, 37, 35] :

beta is  1.25 

learned probs for this beta: {7: np.float64(0.005975094023138799), 3: np.float64(0.13560546034751494), 1: np.float64(0.8568348352954167), 10: np.float64(0.0015846085171426216), 37: np.float64(6.055955518610592e-10), 35: np.float64(6.055955518610592e-10), 0: np.float64(6.055955518610592e-10)}
err dic= {7: np.float64(0.16802490597686118), 3: np.float64(0.07239453965248505), 1: np.float64(0.6318348352954167), 10: np.float64(0.18941539148285738), 37: np.float64(0.09899999939440446), 35: np.float64(0.06999999939440446), 0: np.float64(0.03299999939440445)} 

err list= [np.float64(0.16802490597686118), np.float64(0.07239453965248505), np.float64(0.6318348352954167), np.float64(0.18941539148285738), np.float64(0.09899999939440446), np.float64(0.06999999939440446), np.float64(0.03299999939440445)]
results for assortment [7, 3, 1, 10, 37, 35] :

err MNL dic= {7: 0.174, 3: 0.208, 1: 0.225, 10: 0.191, 37: 0.099, 35: 0.07, 0: np.float64(0.34751488845395684)} 

err MNL list= [0.174, 0.208, 0.225, 0.191, 0.099, 0.07, np.float64(0.34751488845395684)]
sampled assortment [7, 4, 9, 32, 55, 78] number: 6
#  Learning probs for MM model, A = [7, 4, 9, 32, 55, 78]
#cluster  2 with weight 0.264
Learned cluster center of cluster 2:  {1: 1, 3: 1, 4: 2, 5: 2, 6: 1, 7: 1, 8: 0, 13: 1, 16: 3, 20: 2, 100: 1} [8, 1, 3, 6, 7, 13, 100, 4, 5, 20, 16]
#cluster  1 with weight 0.736
Learned cluster center of cluster 1:  {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 9: 0, 10: 0, 11: 0, 100: 0} [1, 2, 3, 4, 5, 9, 10, 11, 100]
#  Learning probs for MM model, A = [7, 4, 9, 32, 55, 78]
#cluster  2 with weight 0.264
Learned cluster center of cluster 2:  {1: 1, 3: 1, 6: 1, 7: 1, 8: 0, 10: 1, 100: 1} [8, 1, 3, 6, 7, 10, 100]
#cluster  1 with weight 0.736
Learned cluster center of cluster 1:  {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 9: 0, 100: 0} [1, 2, 3, 4, 5, 6, 9, 100]
empirical probabilities from test set: {7: 0.229, 4: 0.244, 9: 0.25, 32: 0.119, 55: 0.062, 78: 0.057, 0: 0.039}
results for assortment [7, 4, 9, 32, 55, 78] :

beta is  0.025 

learned probs for this beta: {7: np.float64(0.14222231208860053), 4: np.float64(0.1087927319945719), 9: np.float64(0.10400216237653923), 32: np.float64(0.16124569838507247), 55: np.float64(0.16124569838507247), 78: np.float64(0.16124569838507247), 0: np.float64(0.16124569838507247)}
err dic= {7: np.float64(0.08677768791139948), 4: np.float64(0.1352072680054281), 9: np.float64(0.14599783762346077), 32: np.float64(0.04224569838507247), 55: np.float64(0.09924569838507247), 78: np.float64(0.10424569838507247), 0: np.float64(0.12224569838507246)} 

err list= [np.float64(0.08677768791139948), np.float64(0.1352072680054281), np.float64(0.14599783762346077), np.float64(0.04224569838507247), np.float64(0.09924569838507247), np.float64(0.10424569838507247), np.float64(0.12224569838507246)]
results for assortment [7, 4, 9, 32, 55, 78] :

beta is  0.05 

learned probs for this beta: {7: np.float64(0.14085296351632257), 4: np.float64(0.13409550311253465), 9: np.float64(0.12138806125104311), 32: np.float64(0.15091586803002477), 55: np.float64(0.15091586803002477), 78: np.float64(0.15091586803002477), 0: np.float64(0.15091586803002477)}
err dic= {7: np.float64(0.08814703648367744), 4: np.float64(0.10990449688746534), 9: np.float64(0.12861193874895688), 32: np.float64(0.031915868030024774), 55: np.float64(0.08891586803002477), 78: np.float64(0.09391586803002477), 0: np.float64(0.11191586803002476)} 

err list= [np.float64(0.08814703648367744), np.float64(0.10990449688746534), np.float64(0.12861193874895688), np.float64(0.031915868030024774), np.float64(0.08891586803002477), np.float64(0.09391586803002477), np.float64(0.11191586803002476)]
results for assortment [7, 4, 9, 32, 55, 78] :

beta is  0.1 

learned probs for this beta: {7: np.float64(0.13931255206586296), 4: np.float64(0.19905451879498023), 9: np.float64(0.15927563515882842), 32: np.float64(0.12558932349508195), 55: np.float64(0.12558932349508195), 78: np.float64(0.12558932349508195), 0: np.float64(0.12558932349508195)}
err dic= {7: np.float64(0.08968744793413705), 4: np.float64(0.04494548120501976), 9: np.float64(0.09072436484117158), 32: np.float64(0.006589323495081956), 55: np.float64(0.06358932349508195), 78: np.float64(0.06858932349508196), 0: np.float64(0.08658932349508194)} 

err list= [np.float64(0.08968744793413705), np.float64(0.04494548120501976), np.float64(0.09072436484117158), np.float64(0.006589323495081956), np.float64(0.06358932349508195), np.float64(0.06858932349508196), np.float64(0.08658932349508194)]
results for assortment [7, 4, 9, 32, 55, 78] :

beta is  0.25 

learned probs for this beta: {7: np.float64(0.1592049095677521), 4: np.float64(0.40416368431064964), 9: np.float64(0.2253376387595476), 32: np.float64(0.05282344184051278), 55: np.float64(0.05282344184051278), 78: np.float64(0.05282344184051278), 0: np.float64(0.05282344184051278)}
err dic= {7: np.float64(0.06979509043224791), 4: np.float64(0.16016368431064965), 9: np.float64(0.024662361240452402), 32: np.float64(0.06617655815948721), 55: np.float64(0.009176558159487216), 78: np.float64(0.004176558159487219), 0: np.float64(0.013823441840512783)} 

err list= [np.float64(0.06979509043224791), np.float64(0.16016368431064965), np.float64(0.024662361240452402), np.float64(0.06617655815948721), np.float64(0.009176558159487216), np.float64(0.004176558159487219), np.float64(0.013823441840512783)]
results for assortment [7, 4, 9, 32, 55, 78] :

beta is  0.5 

learned probs for this beta: {7: np.float64(0.23240046730296768), 4: np.float64(0.5628117416800941), 9: np.float64(0.176392843065834), 32: np.float64(0.00709873698777613), 55: np.float64(0.00709873698777613), 78: np.float64(0.00709873698777613), 0: np.float64(0.00709873698777613)}
err dic= {7: np.float64(0.003400467302967669), 4: np.float64(0.3188117416800941), 9: np.float64(0.073607156934166), 32: np.float64(0.11190126301222386), 55: np.float64(0.054901263012223867), 78: np.float64(0.049901263012223876), 0: np.float64(0.031901263012223874)} 

err list= [np.float64(0.003400467302967669), np.float64(0.3188117416800941), np.float64(0.073607156934166), np.float64(0.11190126301222386), np.float64(0.054901263012223867), np.float64(0.049901263012223876), np.float64(0.031901263012223874)]
results for assortment [7, 4, 9, 32, 55, 78] :

beta is  0.75 

learned probs for this beta: {7: np.float64(0.2613412318303152), 4: np.float64(0.6303724558878973), 9: np.float64(0.10628457799035165), 32: np.float64(0.0005004335728589099), 55: np.float64(0.0005004335728589099), 78: np.float64(0.0005004335728589099), 0: np.float64(0.0005004335728589099)}
err dic= {7: np.float64(0.032341231830315204), 4: np.float64(0.38637245588789726), 9: np.float64(0.14371542200964835), 32: np.float64(0.11849956642714109), 55: np.float64(0.06149956642714109), 78: np.float64(0.056499566427141094), 0: np.float64(0.03849956642714109)} 

err list= [np.float64(0.032341231830315204), np.float64(0.38637245588789726), np.float64(0.14371542200964835), np.float64(0.11849956642714109), np.float64(0.06149956642714109), np.float64(0.056499566427141094), np.float64(0.03849956642714109)]
results for assortment [7, 4, 9, 32, 55, 78] :

beta is  1 

learned probs for this beta: {7: np.float64(0.26386578988587317), 4: np.float64(0.6752538114537096), 9: np.float64(0.06078383411524005), 32: np.float64(2.4141136294304176e-05), 55: np.float64(2.4141136294304176e-05), 78: np.float64(2.4141136294304176e-05), 0: np.float64(2.4141136294304176e-05)}
err dic= {7: np.float64(0.03486578988587316), 4: np.float64(0.43125381145370956), 9: np.float64(0.18921616588475995), 32: np.float64(0.1189758588637057), 55: np.float64(0.06197585886370569), 78: np.float64(0.056975858863705695), 0: np.float64(0.03897585886370569)} 

err list= [np.float64(0.03486578988587316), np.float64(0.43125381145370956), np.float64(0.18921616588475995), np.float64(0.1189758588637057), np.float64(0.06197585886370569), np.float64(0.056975858863705695), np.float64(0.03897585886370569)]
results for assortment [7, 4, 9, 32, 55, 78] :

beta is  1.25 

learned probs for this beta: {7: np.float64(0.2639935683879273), 4: np.float64(0.7027941517151017), 9: np.float64(0.033207777035626995), 32: np.float64(1.1257153359350845e-06), 55: np.float64(1.1257153359350845e-06), 78: np.float64(1.1257153359350845e-06), 0: np.float64(1.1257153359350845e-06)}
err dic= {7: np.float64(0.034993568387927304), 4: np.float64(0.45879415171510174), 9: np.float64(0.216792222964373), 32: np.float64(0.11899887428466406), 55: np.float64(0.061998874284664066), 78: np.float64(0.05699887428466407), 0: np.float64(0.038998874284664066)} 

err list= [np.float64(0.034993568387927304), np.float64(0.45879415171510174), np.float64(0.216792222964373), np.float64(0.11899887428466406), np.float64(0.061998874284664066), np.float64(0.05699887428466407), np.float64(0.038998874284664066)]
results for assortment [7, 4, 9, 32, 55, 78] :

err MNL dic= {7: 0.229, 4: 0.244, 9: 0.25, 32: 0.119, 55: 0.062, 78: 0.057, 0: np.float64(0.35503928754817277)} 

err MNL list= [0.229, 0.244, 0.25, 0.119, 0.062, 0.057, np.float64(0.35503928754817277)]
sampled assortment [2, 9, 1, 80, 48, 46] number: 7
#  Learning probs for MM model, A = [2, 9, 1, 80, 48, 46]
#cluster  2 with weight 0.264
Learned cluster center of cluster 2:  {1: 1, 3: 1, 5: 1, 6: 1, 7: 1, 8: 0, 10: 1, 100: 1} [8, 1, 3, 5, 6, 7, 10, 100]
#cluster  1 with weight 0.736
Learned cluster center of cluster 1:  {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 9: 0, 11: 0, 12: 0, 100: 0} [1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 100]
#  Learning probs for MM model, A = [2, 9, 1, 80, 48, 46]
#cluster  2 with weight 0.264
Learned cluster center of cluster 2:  {1: 1, 3: 1, 6: 1, 7: 1, 8: 0, 10: 1, 13: 1, 100: 1} [8, 1, 3, 6, 7, 10, 13, 100]
#cluster  1 with weight 0.736
Learned cluster center of cluster 1:  {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 9: 0, 10: 0, 11: 0, 100: 0} [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 100]
empirical probabilities from test set: {2: 0.272, 9: 0.217, 1: 0.257, 80: 0.06, 48: 0.079, 46: 0.075, 0: 0.04}
results for assortment [2, 9, 1, 80, 48, 46] :

beta is  0.025 

learned probs for this beta: {2: np.float64(0.1310980479409987), 9: np.float64(0.11903366275367899), 1: np.float64(0.11976403315398973), 80: np.float64(0.15752606403783348), 48: np.float64(0.15752606403783348), 46: np.float64(0.15752606403783348), 0: np.float64(0.15752606403783348)}
err dic= {2: np.float64(0.14090195205900133), 9: np.float64(0.097966337246321), 1: np.float64(0.13723596684601028), 80: np.float64(0.09752606403783348), 48: np.float64(0.07852606403783348), 46: np.float64(0.08252606403783348), 0: np.float64(0.11752606403783347)} 

err list= [np.float64(0.14090195205900133), np.float64(0.097966337246321), np.float64(0.13723596684601028), np.float64(0.09752606403783348), np.float64(0.07852606403783348), np.float64(0.08252606403783348), np.float64(0.11752606403783347)]
results for assortment [2, 9, 1, 80, 48, 46] :

beta is  0.05 

learned probs for this beta: {2: np.float64(0.16681540377213316), 9: np.float64(0.13559631876709288), 1: np.float64(0.1740715092614769), 80: np.float64(0.1308791920498247), 48: np.float64(0.1308791920498247), 46: np.float64(0.1308791920498247), 0: np.float64(0.1308791920498247)}
err dic= {2: np.float64(0.10518459622786686), 9: np.float64(0.08140368123290712), 1: np.float64(0.0829284907385231), 80: np.float64(0.07087919204982471), 48: np.float64(0.051879192049824704), 46: np.float64(0.05587919204982471), 0: np.float64(0.0908791920498247)} 

err list= [np.float64(0.10518459622786686), np.float64(0.08140368123290712), np.float64(0.0829284907385231), np.float64(0.07087919204982471), np.float64(0.051879192049824704), np.float64(0.05587919204982471), np.float64(0.0908791920498247)]
results for assortment [2, 9, 1, 80, 48, 46] :

beta is  0.1 

learned probs for this beta: {2: np.float64(0.23510169398438685), 9: np.float64(0.15188287736071265), 1: np.float64(0.2973932970672884), 80: np.float64(0.07890553289690289), 48: np.float64(0.07890553289690289), 46: np.float64(0.07890553289690289), 0: np.float64(0.07890553289690289)}
err dic= {2: np.float64(0.03689830601561317), 9: np.float64(0.06511712263928734), 1: np.float64(0.04039329706728839), 80: np.float64(0.018905532896902888), 48: np.float64(9.446710309711503e-05), 46: np.float64(0.0039055328969028885), 0: np.float64(0.038905532896902885)} 

err list= [np.float64(0.03689830601561317), np.float64(0.06511712263928734), np.float64(0.04039329706728839), np.float64(0.018905532896902888), np.float64(9.446710309711503e-05), np.float64(0.0039055328969028885), np.float64(0.038905532896902885)]
results for assortment [2, 9, 1, 80, 48, 46] :

beta is  0.25 

learned probs for this beta: {2: np.float64(0.29421788951539335), 9: np.float64(0.09215374968674521), 1: np.float64(0.5540091374979431), 80: np.float64(0.014904805824979711), 48: np.float64(0.014904805824979711), 46: np.float64(0.014904805824979711), 0: np.float64(0.014904805824979711)}
err dic= {2: np.float64(0.02221788951539333), 9: np.float64(0.12484625031325479), 1: np.float64(0.2970091374979431), 80: np.float64(0.04509519417502029), 48: np.float64(0.06409519417502028), 46: np.float64(0.06009519417502029), 0: np.float64(0.02509519417502029)} 

err list= [np.float64(0.02221788951539333), np.float64(0.12484625031325479), np.float64(0.2970091374979431), np.float64(0.04509519417502029), np.float64(0.06409519417502028), np.float64(0.06009519417502029), np.float64(0.02509519417502029)]
results for assortment [2, 9, 1, 80, 48, 46] :

beta is  0.5 

learned probs for this beta: {2: np.float64(0.27153068849424183), 9: np.float64(0.020074357554993903), 1: np.float64(0.7044163188667225), 80: np.float64(0.0009946587710104931), 48: np.float64(0.0009946587710104931), 46: np.float64(0.0009946587710104931), 0: np.float64(0.0009946587710104931)}
err dic= {2: np.float64(0.00046931150575818537), 9: np.float64(0.1969256424450061), 1: np.float64(0.4474163188667225), 80: np.float64(0.059005341228989504), 48: np.float64(0.07800534122898951), 46: np.float64(0.07400534122898951), 0: np.float64(0.03900534122898951)} 

err list= [np.float64(0.00046931150575818537), np.float64(0.1969256424450061), np.float64(0.4474163188667225), np.float64(0.059005341228989504), np.float64(0.07800534122898951), np.float64(0.07400534122898951), np.float64(0.03900534122898951)]
results for assortment [2, 9, 1, 80, 48, 46] :

beta is  0.75 

learned probs for this beta: {2: np.float64(0.2349664792100794), 9: np.float64(0.003726984093063435), 1: np.float64(0.7611888852768465), 80: np.float64(2.9412855002679983e-05), 48: np.float64(2.9412855002679983e-05), 46: np.float64(2.9412855002679983e-05), 0: np.float64(2.9412855002679983e-05)}
err dic= {2: np.float64(0.037033520789920615), 9: np.float64(0.21327301590693656), 1: np.float64(0.5041888852768465), 80: np.float64(0.05997058714499732), 48: np.float64(0.07897058714499731), 46: np.float64(0.07497058714499731), 0: np.float64(0.03997058714499732)} 

err list= [np.float64(0.037033520789920615), np.float64(0.21327301590693656), np.float64(0.5041888852768465), np.float64(0.05997058714499732), np.float64(0.07897058714499731), np.float64(0.07497058714499731), np.float64(0.03997058714499732)]
results for assortment [2, 9, 1, 80, 48, 46] :

beta is  1 

learned probs for this beta: {2: np.float64(0.19776298220118133), 9: np.float64(0.0006640995273836732), 1: np.float64(0.8015706907692619), 80: np.float64(5.568755433402734e-07), 48: np.float64(5.568755433402734e-07), 46: np.float64(5.568755433402734e-07), 0: np.float64(5.568755433402734e-07)}
err dic= {2: np.float64(0.0742370177988187), 9: np.float64(0.21633590047261633), 1: np.float64(0.5445706907692619), 80: np.float64(0.05999944312445666), 48: np.float64(0.07899944312445666), 46: np.float64(0.07499944312445665), 0: np.float64(0.03999944312445666)} 

err list= [np.float64(0.0742370177988187), np.float64(0.21633590047261633), np.float64(0.5445706907692619), np.float64(0.05999944312445666), np.float64(0.07899944312445666), np.float64(0.07499944312445665), np.float64(0.03999944312445666)]
results for assortment [2, 9, 1, 80, 48, 46] :

beta is  1.25 

learned probs for this beta: {2: np.float64(0.16388141191208302), 9: np.float64(0.00011631110200253401), 1: np.float64(0.8360022368335973), 80: np.float64(1.0038079212371984e-08), 48: np.float64(1.0038079212371984e-08), 46: np.float64(1.0038079212371984e-08), 0: np.float64(1.0038079212371984e-08)}
err dic= {2: np.float64(0.108118588087917), 9: np.float64(0.21688368889799747), 1: np.float64(0.5790022368335973), 80: np.float64(0.05999998996192078), 48: np.float64(0.07899998996192079), 46: np.float64(0.07499998996192078), 0: np.float64(0.039999989961920786)} 

err list= [np.float64(0.108118588087917), np.float64(0.21688368889799747), np.float64(0.5790022368335973), np.float64(0.05999998996192078), np.float64(0.07899998996192079), np.float64(0.07499998996192078), np.float64(0.039999989961920786)]
results for assortment [2, 9, 1, 80, 48, 46] :

err MNL dic= {2: 0.272, 9: 0.217, 1: 0.257, 80: 0.06, 48: 0.079, 46: 0.075, 0: np.float64(0.35177424991792255)} 

err MNL list= [0.272, 0.217, 0.257, 0.06, 0.079, 0.075, np.float64(0.35177424991792255)]
sampled assortment [3, 5, 7, 67, 15, 48] number: 8
#  Learning probs for MM model, A = [3, 5, 7, 67, 15, 48]
#cluster  2 with weight 0.264
Learned cluster center of cluster 2:  {1: 1, 3: 1, 4: 1, 5: 2, 6: 1, 7: 1, 8: 0, 10: 1, 12: 3, 100: 1} [8, 1, 3, 4, 6, 7, 10, 100, 5, 12]
#cluster  1 with weight 0.736
Learned cluster center of cluster 1:  {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 9: 0, 10: 0, 12: 0, 100: 0} [1, 2, 3, 4, 5, 6, 7, 9, 10, 12, 100]
#  Learning probs for MM model, A = [3, 5, 7, 67, 15, 48]
#cluster  2 with weight 0.264
Learned cluster center of cluster 2:  {1: 1, 3: 1, 4: 2, 6: 1, 7: 1, 8: 0, 10: 1, 13: 1, 100: 1} [8, 1, 3, 6, 7, 10, 13, 100, 4]
#cluster  1 with weight 0.736
Learned cluster center of cluster 1:  {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 9: 0, 10: 0, 12: 0, 100: 0} [1, 2, 3, 4, 5, 6, 7, 9, 10, 12, 100]
empirical probabilities from test set: {3: 0.245, 5: 0.239, 7: 0.173, 67: 0.044, 15: 0.186, 48: 0.084, 0: 0.029}
results for assortment [3, 5, 7, 67, 15, 48] :

beta is  0.025 

learned probs for this beta: {3: np.float64(0.1179849545332237), 5: np.float64(0.127838925047407), 7: np.float64(0.1083636862242722), 67: np.float64(0.16145310854877415), 15: np.float64(0.16145310854877415), 48: np.float64(0.16145310854877415), 0: np.float64(0.16145310854877415)}
err dic= {3: np.float64(0.12701504546677628), 5: np.float64(0.111161074952593), 7: np.float64(0.06463631377572779), 67: np.float64(0.11745310854877415), 15: np.float64(0.02454689145122585), 48: np.float64(0.07745310854877414), 0: np.float64(0.13245310854877415)} 

err list= [np.float64(0.12701504546677628), np.float64(0.111161074952593), np.float64(0.06463631377572779), np.float64(0.11745310854877415), np.float64(0.02454689145122585), np.float64(0.07745310854877414), np.float64(0.13245310854877415)]
results for assortment [3, 5, 7, 67, 15, 48] :

beta is  0.05 

learned probs for this beta: {3: np.float64(0.16657029804324414), 5: np.float64(0.15301152557106068), 7: np.float64(0.14091925099841457), 67: np.float64(0.1348747313468213), 15: np.float64(0.1348747313468213), 48: np.float64(0.1348747313468213), 0: np.float64(0.1348747313468213)}
err dic= {3: np.float64(0.07842970195675586), 5: np.float64(0.08598847442893931), 7: np.float64(0.03208074900158542), 67: np.float64(0.0908747313468213), 15: np.float64(0.05112526865317871), 48: np.float64(0.050874731346821286), 0: np.float64(0.1058747313468213)} 

err list= [np.float64(0.07842970195675586), np.float64(0.08598847442893931), np.float64(0.03208074900158542), np.float64(0.0908747313468213), np.float64(0.05112526865317871), np.float64(0.050874731346821286), np.float64(0.1058747313468213)]
results for assortment [3, 5, 7, 67, 15, 48] :

beta is  0.1 

learned probs for this beta: {3: np.float64(0.2746533189667555), 5: np.float64(0.19828508069752923), 7: np.float64(0.19940736990525693), 67: np.float64(0.08191355760761462), 15: np.float64(0.08191355760761462), 48: np.float64(0.08191355760761462), 0: np.float64(0.08191355760761462)}
err dic= {3: np.float64(0.029653318966755493), 5: np.float64(0.04071491930247076), 7: np.float64(0.02640736990525694), 67: np.float64(0.037913557607614626), 15: np.float64(0.10408644239238538), 48: np.float64(0.002086442392385382), 0: np.float64(0.052913557607614625)} 

err list= [np.float64(0.029653318966755493), np.float64(0.04071491930247076), np.float64(0.02640736990525694), np.float64(0.037913557607614626), np.float64(0.10408644239238538), np.float64(0.002086442392385382), np.float64(0.052913557607614625)]
results for assortment [3, 5, 7, 67, 15, 48] :

beta is  0.25 

learned probs for this beta: {3: np.float64(0.4912296614767585), 5: np.float64(0.23093861073828362), 7: np.float64(0.2375662619749758), 67: np.float64(0.01006636645249525), 15: np.float64(0.01006636645249525), 48: np.float64(0.01006636645249525), 0: np.float64(0.01006636645249525)}
err dic= {3: np.float64(0.2462296614767585), 5: np.float64(0.008061389261716373), 7: np.float64(0.06456626197497581), 67: np.float64(0.03393363354750475), 15: np.float64(0.17593363354750474), 48: np.float64(0.07393363354750476), 0: np.float64(0.01893363354750475)} 

err list= [np.float64(0.2462296614767585), np.float64(0.008061389261716373), np.float64(0.06456626197497581), np.float64(0.03393363354750475), np.float64(0.17593363354750474), np.float64(0.07393363354750476), np.float64(0.01893363354750475)]
results for assortment [3, 5, 7, 67, 15, 48] :

beta is  0.5 

learned probs for this beta: {3: np.float64(0.6440707703041436), 5: np.float64(0.19648407687721522), 7: np.float64(0.158347545132677), 67: np.float64(0.00027440192149119706), 15: np.float64(0.00027440192149119706), 48: np.float64(0.00027440192149119706), 0: np.float64(0.00027440192149119706)}
err dic= {3: np.float64(0.3990707703041436), 5: np.float64(0.042515923122784766), 7: np.float64(0.014652454867323), 67: np.float64(0.0437255980785088), 15: np.float64(0.1857255980785088), 48: np.float64(0.08372559807850881), 0: np.float64(0.028725598078508805)} 

err list= [np.float64(0.3990707703041436), np.float64(0.042515923122784766), np.float64(0.014652454867323), np.float64(0.0437255980785088), np.float64(0.1857255980785088), np.float64(0.08372559807850881), np.float64(0.028725598078508805)]
results for assortment [3, 5, 7, 67, 15, 48] :

beta is  0.75 

learned probs for this beta: {3: np.float64(0.7511318953346575), 5: np.float64(0.15275305329128275), 7: np.float64(0.09609130152438816), 67: np.float64(5.9374624179421715e-06), 15: np.float64(5.9374624179421715e-06), 48: np.float64(5.9374624179421715e-06), 0: np.float64(5.9374624179421715e-06)}
err dic= {3: np.float64(0.5061318953346575), 5: np.float64(0.08624694670871724), 7: np.float64(0.07690869847561183), 67: np.float64(0.043994062537582056), 15: np.float64(0.18599406253758205), 48: np.float64(0.08399406253758206), 0: np.float64(0.02899406253758206)} 

err list= [np.float64(0.5061318953346575), np.float64(0.08624694670871724), np.float64(0.07690869847561183), np.float64(0.043994062537582056), np.float64(0.18599406253758205), np.float64(0.08399406253758206), np.float64(0.02899406253758206)]
results for assortment [3, 5, 7, 67, 15, 48] :

beta is  1 

learned probs for this beta: {3: np.float64(0.8308880197711386), 5: np.float64(0.11126777540162992), 7: np.float64(0.057843829561896015), 67: np.float64(9.381633388485931e-08), 15: np.float64(9.381633388485931e-08), 48: np.float64(9.381633388485931e-08), 0: np.float64(9.381633388485931e-08)}
err dic= {3: np.float64(0.5858880197711386), 5: np.float64(0.12773222459837008), 7: np.float64(0.11515617043810397), 67: np.float64(0.043999906183666115), 15: np.float64(0.1859999061836661), 48: np.float64(0.08399990618366612), 0: np.float64(0.028999906183666116)} 

err list= [np.float64(0.5858880197711386), np.float64(0.12773222459837008), np.float64(0.11515617043810397), np.float64(0.043999906183666115), np.float64(0.1859999061836661), np.float64(0.08399990618366612), np.float64(0.028999906183666116)]
results for assortment [3, 5, 7, 67, 15, 48] :

beta is  1.25 

learned probs for this beta: {3: np.float64(0.8875348642179977), 5: np.float64(0.07733645398654593), 7: np.float64(0.03512867585899748), 67: np.float64(1.4841146950457192e-09), 15: np.float64(1.4841146950457192e-09), 48: np.float64(1.4841146950457192e-09), 0: np.float64(1.4841146950457192e-09)}
err dic= {3: np.float64(0.6425348642179977), 5: np.float64(0.16166354601345406), 7: np.float64(0.1378713241410025), 67: np.float64(0.043999998515885305), 15: np.float64(0.1859999985158853), 48: np.float64(0.08399999851588531), 0: np.float64(0.028999998515885306)} 

err list= [np.float64(0.6425348642179977), np.float64(0.16166354601345406), np.float64(0.1378713241410025), np.float64(0.043999998515885305), np.float64(0.1859999985158853), np.float64(0.08399999851588531), np.float64(0.028999998515885306)]
results for assortment [3, 5, 7, 67, 15, 48] :

err MNL dic= {3: 0.245, 5: 0.239, 7: 0.173, 67: 0.044, 15: 0.186, 48: 0.084, 0: np.float64(0.3573729642776834)} 

err MNL list= [0.245, 0.239, 0.173, 0.044, 0.186, 0.084, np.float64(0.3573729642776834)]
sampled assortment [4, 5, 6, 65, 30, 52] number: 9
#  Learning probs for MM model, A = [4, 5, 6, 65, 30, 52]
#cluster  2 with weight 0.264
Learned cluster center of cluster 2:  {1: 1, 3: 1, 6: 1, 7: 1, 8: 0, 14: 2, 100: 1} [8, 1, 3, 6, 7, 100, 14]
#cluster  1 with weight 0.736
Learned cluster center of cluster 1:  {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 9: 0, 10: 0, 11: 0, 100: 0} [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 100]
#  Learning probs for MM model, A = [4, 5, 6, 65, 30, 52]
#cluster  2 with weight 0.264
Learned cluster center of cluster 2:  {1: 1, 3: 1, 5: 1, 6: 1, 7: 1, 8: 0, 10: 1, 13: 1, 100: 1} [8, 1, 3, 5, 6, 7, 10, 13, 100]
#cluster  1 with weight 0.736
Learned cluster center of cluster 1:  {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 9: 0, 12: 0, 100: 0} [1, 2, 3, 4, 5, 6, 7, 9, 12, 100]
empirical probabilities from test set: {4: 0.25, 5: 0.228, 6: 0.254, 65: 0.051, 30: 0.106, 52: 0.069, 0: 0.042}
results for assortment [4, 5, 6, 65, 30, 52] :

beta is  0.025 

learned probs for this beta: {4: np.float64(0.12349382248497008), 5: np.float64(0.10665661885857096), 6: np.float64(0.10402325755619231), 65: np.float64(0.16645657527506666), 30: np.float64(0.16645657527506666), 52: np.float64(0.16645657527506666), 0: np.float64(0.16645657527506666)}
err dic= {4: np.float64(0.1265061775150299), 5: np.float64(0.12134338114142905), 6: np.float64(0.1499767424438077), 65: np.float64(0.11545657527506667), 30: np.float64(0.06045657527506666), 52: np.float64(0.09745657527506665), 0: np.float64(0.12445657527506665)} 

err list= [np.float64(0.1265061775150299), np.float64(0.12134338114142905), np.float64(0.1499767424438077), np.float64(0.11545657527506667), np.float64(0.06045657527506666), np.float64(0.09745657527506665), np.float64(0.12445657527506665)]
results for assortment [4, 5, 6, 65, 30, 52] :

beta is  0.05 

learned probs for this beta: {4: np.float64(0.14984461730211845), 5: np.float64(0.14450901808814673), 6: np.float64(0.1374612301111512), 65: np.float64(0.14204628362464788), 30: np.float64(0.14204628362464788), 52: np.float64(0.14204628362464788), 0: np.float64(0.14204628362464788)}
err dic= {4: np.float64(0.10015538269788155), 5: np.float64(0.08349098191185328), 6: np.float64(0.11653876988884881), 65: np.float64(0.0910462836246479), 30: np.float64(0.03604628362464789), 52: np.float64(0.07304628362464788), 0: np.float64(0.10004628362464787)} 

err list= [np.float64(0.10015538269788155), np.float64(0.08349098191185328), np.float64(0.11653876988884881), np.float64(0.0910462836246479), np.float64(0.03604628362464789), np.float64(0.07304628362464788), np.float64(0.10004628362464787)]
results for assortment [4, 5, 6, 65, 30, 52] :

beta is  0.1 

learned probs for this beta: {4: np.float64(0.20585231396942422), 5: np.float64(0.22527834387945844), 6: np.float64(0.20384027501530633), 65: np.float64(0.09125726678395316), 30: np.float64(0.09125726678395316), 52: np.float64(0.09125726678395316), 0: np.float64(0.09125726678395316)}
err dic= {4: np.float64(0.04414768603057578), 5: np.float64(0.0027216561205415657), 6: np.float64(0.05015972498469368), 65: np.float64(0.04025726678395316), 30: np.float64(0.014742733216046841), 52: np.float64(0.02225726678395315), 0: np.float64(0.04925726678395315)} 

err list= [np.float64(0.04414768603057578), np.float64(0.0027216561205415657), np.float64(0.05015972498469368), np.float64(0.04025726678395316), np.float64(0.014742733216046841), np.float64(0.02225726678395315), np.float64(0.04925726678395315)]
results for assortment [4, 5, 6, 65, 30, 52] :

beta is  0.25 

learned probs for this beta: {4: np.float64(0.3036248886788457), 5: np.float64(0.3623754253142776), 6: np.float64(0.2822182650005929), 65: np.float64(0.012945355251570827), 30: np.float64(0.012945355251570827), 52: np.float64(0.012945355251570827), 0: np.float64(0.012945355251570827)}
err dic= {4: np.float64(0.053624888678845684), 5: np.float64(0.13437542531427757), 6: np.float64(0.02821826500059288), 65: np.float64(0.03805464474842917), 30: np.float64(0.09305464474842917), 52: np.float64(0.05605464474842918), 0: np.float64(0.029054644748429177)} 

err list= [np.float64(0.053624888678845684), np.float64(0.13437542531427757), np.float64(0.02821826500059288), np.float64(0.03805464474842917), np.float64(0.09305464474842917), np.float64(0.05605464474842918), np.float64(0.029054644748429177)]
results for assortment [4, 5, 6, 65, 30, 52] :

beta is  0.5 

learned probs for this beta: {4: np.float64(0.372539145905198), 5: np.float64(0.3895281592297337), 6: np.float64(0.23626077139425794), 65: np.float64(0.0004179808677029906), 30: np.float64(0.0004179808677029906), 52: np.float64(0.0004179808677029906), 0: np.float64(0.0004179808677029906)}
err dic= {4: np.float64(0.12253914590519799), 5: np.float64(0.1615281592297337), 6: np.float64(0.017739228605742063), 65: np.float64(0.050582019132297006), 30: np.float64(0.105582019132297), 52: np.float64(0.06858201913229701), 0: np.float64(0.04158201913229701)} 

err list= [np.float64(0.12253914590519799), np.float64(0.1615281592297337), np.float64(0.017739228605742063), np.float64(0.050582019132297006), np.float64(0.105582019132297), np.float64(0.06858201913229701), np.float64(0.04158201913229701)]
results for assortment [4, 5, 6, 65, 30, 52] :

beta is  0.75 

learned probs for this beta: {4: np.float64(0.4340832319334115), 5: np.float64(0.38432770940471894), 6: np.float64(0.1815435552143575), 65: np.float64(1.1375861878041255e-05), 30: np.float64(1.1375861878041255e-05), 52: np.float64(1.1375861878041255e-05), 0: np.float64(1.1375861878041255e-05)}
err dic= {4: np.float64(0.18408323193341147), 5: np.float64(0.15632770940471893), 6: np.float64(0.0724564447856425), 65: np.float64(0.050988624138121955), 30: np.float64(0.10598862413812196), 52: np.float64(0.06898862413812197), 0: np.float64(0.04198862413812196)} 

err list= [np.float64(0.18408323193341147), np.float64(0.15632770940471893), np.float64(0.0724564447856425), np.float64(0.050988624138121955), np.float64(0.10598862413812196), np.float64(0.06898862413812197), np.float64(0.04198862413812196)]
results for assortment [4, 5, 6, 65, 30, 52] :

beta is  1 

learned probs for this beta: {4: np.float64(0.4896171898483355), 5: np.float64(0.37311906956870405), 6: np.float64(0.1372628348033434), 65: np.float64(2.2644490436412714e-07), 30: np.float64(2.2644490436412714e-07), 52: np.float64(2.2644490436412714e-07), 0: np.float64(2.2644490436412714e-07)}
err dic= {4: np.float64(0.23961718984833552), 5: np.float64(0.14511906956870405), 6: np.float64(0.11673716519665661), 65: np.float64(0.050999773555095634), 30: np.float64(0.10599977355509563), 52: np.float64(0.06899977355509564), 0: np.float64(0.04199977355509564)} 

err list= [np.float64(0.23961718984833552), np.float64(0.14511906956870405), np.float64(0.11673716519665661), np.float64(0.050999773555095634), np.float64(0.10599977355509563), np.float64(0.06899977355509564), np.float64(0.04199977355509564)]
results for assortment [4, 5, 6, 65, 30, 52] :

beta is  1.25 

learned probs for this beta: {4: np.float64(0.5377798362968789), 5: np.float64(0.3592836552085316), 6: np.float64(0.10293649065070695), 65: np.float64(4.46097062512893e-09), 30: np.float64(4.46097062512893e-09), 52: np.float64(4.46097062512893e-09), 0: np.float64(4.46097062512893e-09)}
err dic= {4: np.float64(0.28777983629687887), 5: np.float64(0.1312836552085316), 6: np.float64(0.15106350934929305), 65: np.float64(0.05099999553902937), 30: np.float64(0.10599999553902938), 52: np.float64(0.06899999553902939), 0: np.float64(0.041999995539029375)} 

err list= [np.float64(0.28777983629687887), np.float64(0.1312836552085316), np.float64(0.15106350934929305), np.float64(0.05099999553902937), np.float64(0.10599999553902938), np.float64(0.06899999553902939), np.float64(0.041999995539029375)]
results for assortment [4, 5, 6, 65, 30, 52] :

err MNL dic= {4: 0.25, 5: 0.228, 6: 0.254, 65: 0.051, 30: 0.106, 52: 0.069, 0: np.float64(0.34873967180671234)} 

err MNL list= [0.25, 0.228, 0.254, 0.051, 0.106, 0.069, np.float64(0.34873967180671234)]
****final outcomes:*****
beta range: [0.025, 0.05, 0.1, 0.25, 0.5, 0.75, 1, 1.25]
 mean error for all betas:

mean_err= [0.11366466 0.09971592 0.07712221 0.07328584 0.07486109 0.07859429
 0.08307005 0.08765285]
mean_std= [0.         0.01394874 0.03392142 0.03011893 0.02712279 0.02612895
 0.02655909 0.02764464]
MNL: [0.18501483 0.18570618 0.18979927 0.19182391 0.18556801 0.18778784
 0.18800561 0.18739632 0.18976757 0.1866771 ]
 mean error for MNL:

mean_err_MNL= 0.18775466303123337
mean_std_MNL= 0.0020646799499227
