p= 1.25 num clusters= 3
linkage completed in  10.674094676971436
silhouette_score of the clusters -0.014775012390179218
sampled assortment [2, 3, 4, 59, 40, 84] number: 0
#  Learning probs for MM model, A = [2, 3, 4, 59, 40, 84]
#cluster  3 with weight 0.098
Learned cluster center of cluster 3:  {2: 3, 3: 1, 4: 0, 5: 1, 6: 1, 7: 1, 8: 1, 9: 1, 14: 5, 16: 6, 19: 5, 100: 4} [4, 3, 5, 6, 7, 8, 9, 2, 100, 14, 19, 16]
#cluster  1 with weight 0.65075
Learned cluster center of cluster 1:  {2: 0, 6: 0, 7: 0, 10: 0, 100: 0} [2, 6, 7, 10, 100]
#cluster  2 with weight 0.25125
Learned cluster center of cluster 2:  {1: 0, 2: 1, 3: 1, 4: 1, 5: 1, 7: 1, 8: 1, 11: 1, 100: 1} [1, 2, 3, 4, 5, 7, 8, 11, 100]
#  Learning probs for MM model, A = [2, 3, 4, 59, 40, 84]
#cluster  3 with weight 0.098
Learned cluster center of cluster 3:  {2: 4, 3: 1, 4: 0, 5: 1, 6: 1, 7: 1, 8: 1, 9: 1, 13: 7, 14: 5, 16: 6, 100: 3} [4, 3, 5, 6, 7, 8, 9, 100, 2, 14, 16, 13]
#cluster  1 with weight 0.65075
Learned cluster center of cluster 1:  {2: 0, 6: 0, 7: 0, 8: 0, 10: 0, 11: 0, 100: 0} [2, 6, 7, 8, 10, 11, 100]
#cluster  2 with weight 0.25125
Learned cluster center of cluster 2:  {1: 0, 2: 1, 3: 1, 4: 1, 5: 1, 7: 1, 8: 1, 11: 1, 12: 1, 13: 1, 17: 2, 100: 1} [1, 2, 3, 4, 5, 7, 8, 11, 12, 13, 100, 17]
empirical probabilities from test set: {2: 0.255, 3: 0.239, 4: 0.257, 59: 0.068, 40: 0.079, 84: 0.056, 0: 0.046}
results for assortment [2, 3, 4, 59, 40, 84] :

beta is  0.025 

learned probs for this beta: {2: np.float64(0.3911888212477888), 3: np.float64(0.16154032417485653), 4: np.float64(0.16049113620151123), 59: np.float64(0.07169492959396133), 40: np.float64(0.07169492959396133), 84: np.float64(0.07169492959396133), 0: np.float64(0.07169492959396133)}
err dic= {2: np.float64(0.1361888212477888), 3: np.float64(0.07745967582514346), 4: np.float64(0.09650886379848878), 59: np.float64(0.003694929593961324), 40: np.float64(0.007305070406038672), 84: np.float64(0.015694929593961328), 0: np.float64(0.02569492959396133)} 

err list= [np.float64(0.1361888212477888), np.float64(0.07745967582514346), np.float64(0.09650886379848878), np.float64(0.003694929593961324), np.float64(0.007305070406038672), np.float64(0.015694929593961328), np.float64(0.02569492959396133)]
results for assortment [2, 3, 4, 59, 40, 84] :

beta is  0.05 

learned probs for this beta: {2: np.float64(0.6745421078299443), 3: np.float64(0.13168142574801617), 4: np.float64(0.12942187042388947), 59: np.float64(0.016088648999537745), 40: np.float64(0.016088648999537745), 84: np.float64(0.016088648999537745), 0: np.float64(0.016088648999537745)}
err dic= {2: np.float64(0.4195421078299443), 3: np.float64(0.10731857425198382), 4: np.float64(0.12757812957611053), 59: np.float64(0.051911351000462264), 40: np.float64(0.06291135100046226), 84: np.float64(0.03991135100046225), 0: np.float64(0.029911351000462254)} 

err list= [np.float64(0.4195421078299443), np.float64(0.10731857425198382), np.float64(0.12757812957611053), np.float64(0.051911351000462264), np.float64(0.06291135100046226), np.float64(0.03991135100046225), np.float64(0.029911351000462254)]
results for assortment [2, 3, 4, 59, 40, 84] :

beta is  0.1 

learned probs for this beta: {2: np.float64(0.7634953713465873), 3: np.float64(0.1201618110492099), 4: np.float64(0.11607188207196045), 59: np.float64(6.773388306064446e-05), 40: np.float64(6.773388306064446e-05), 84: np.float64(6.773388306064446e-05), 0: np.float64(6.773388306064446e-05)}
err dic= {2: np.float64(0.5084953713465873), 3: np.float64(0.1188381889507901), 4: np.float64(0.14092811792803955), 59: np.float64(0.06793226611693937), 40: np.float64(0.07893226611693936), 84: np.float64(0.055932266116939355), 0: np.float64(0.04593226611693935)} 

err list= [np.float64(0.5084953713465873), np.float64(0.1188381889507901), np.float64(0.14092811792803955), np.float64(0.06793226611693937), np.float64(0.07893226611693936), np.float64(0.055932266116939355), np.float64(0.04593226611693935)]
results for assortment [2, 3, 4, 59, 40, 84] :

beta is  0.25 

learned probs for this beta: {2: np.float64(0.7651019167496635), 3: np.float64(0.12098933232391945), 4: np.float64(0.11390875092324243), 59: np.float64(7.935534483271751e-13), 40: np.float64(7.935534483271751e-13), 84: np.float64(7.935534483271751e-13), 0: np.float64(7.935534483271751e-13)}
err dic= {2: np.float64(0.5101019167496635), 3: np.float64(0.11801066767608054), 4: np.float64(0.14309124907675758), 59: np.float64(0.06799999999920645), 40: np.float64(0.07899999999920644), 84: np.float64(0.05599999999920645), 0: np.float64(0.045999999999206446)} 

err list= [np.float64(0.5101019167496635), np.float64(0.11801066767608054), np.float64(0.14309124907675758), np.float64(0.06799999999920645), np.float64(0.07899999999920644), np.float64(0.05599999999920645), np.float64(0.045999999999206446)]
results for assortment [2, 3, 4, 59, 40, 84] :

beta is  0.5 

learned probs for this beta: {2: np.float64(0.7796179512033335), 3: np.float64(0.11357231692007752), 4: np.float64(0.10680973187658904), 59: np.float64(4.740411295117916e-26), 40: np.float64(4.740411295117916e-26), 84: np.float64(4.740411295117916e-26), 0: np.float64(4.740411295117916e-26)}
err dic= {2: np.float64(0.5246179512033335), 3: np.float64(0.12542768307992247), 4: np.float64(0.15019026812341096), 59: np.float64(0.068), 40: np.float64(0.079), 84: np.float64(0.056), 0: np.float64(0.046)} 

err list= [np.float64(0.5246179512033335), np.float64(0.12542768307992247), np.float64(0.15019026812341096), np.float64(0.068), np.float64(0.079), np.float64(0.056), np.float64(0.046)]
results for assortment [2, 3, 4, 59, 40, 84] :

beta is  0.75 

learned probs for this beta: {2: np.float64(0.799173761185298), 3: np.float64(0.10136284449114721), 4: np.float64(0.09946339432355472), 59: np.float64(2.8493745217279796e-39), 40: np.float64(2.8493745217279796e-39), 84: np.float64(2.8493745217279796e-39), 0: np.float64(2.8493745217279796e-39)}
err dic= {2: np.float64(0.544173761185298), 3: np.float64(0.13763715550885278), 4: np.float64(0.15753660567644528), 59: np.float64(0.068), 40: np.float64(0.079), 84: np.float64(0.056), 0: np.float64(0.046)} 

err list= [np.float64(0.544173761185298), np.float64(0.13763715550885278), np.float64(0.15753660567644528), np.float64(0.068), np.float64(0.079), np.float64(0.056), np.float64(0.046)]
results for assortment [2, 3, 4, 59, 40, 84] :

beta is  1 

learned probs for this beta: {2: np.float64(0.8179245029281104), 3: np.float64(0.08783548982262225), 4: np.float64(0.09424000724926751), 59: np.float64(1.7472604796651764e-52), 40: np.float64(1.7472604796651764e-52), 84: np.float64(1.7472604796651764e-52), 0: np.float64(1.7472604796651764e-52)}
err dic= {2: np.float64(0.5629245029281104), 3: np.float64(0.15116451017737775), 4: np.float64(0.1627599927507325), 59: np.float64(0.068), 40: np.float64(0.079), 84: np.float64(0.056), 0: np.float64(0.046)} 

err list= [np.float64(0.5629245029281104), np.float64(0.15116451017737775), np.float64(0.1627599927507325), np.float64(0.068), np.float64(0.079), np.float64(0.056), np.float64(0.046)]
results for assortment [2, 3, 4, 59, 40, 84] :

beta is  1.25 

learned probs for this beta: {2: np.float64(0.8343375761919911), 3: np.float64(0.07442107142216017), 4: np.float64(0.09124135238584849), 59: np.float64(1.1099553623360035e-65), 40: np.float64(1.1099553623360035e-65), 84: np.float64(1.1099553623360035e-65), 0: np.float64(1.1099553623360035e-65)}
err dic= {2: np.float64(0.5793375761919911), 3: np.float64(0.16457892857783982), 4: np.float64(0.16575864761415152), 59: np.float64(0.068), 40: np.float64(0.079), 84: np.float64(0.056), 0: np.float64(0.046)} 

err list= [np.float64(0.5793375761919911), np.float64(0.16457892857783982), np.float64(0.16575864761415152), np.float64(0.068), np.float64(0.079), np.float64(0.056), np.float64(0.046)]
results for assortment [2, 3, 4, 59, 40, 84] :

err MNL dic= {2: 0.255, 3: 0.239, 4: 0.257, 59: 0.068, 40: 0.079, 84: 0.056, 0: np.float64(0.41014562775526364)} 

err MNL list= [0.255, 0.239, 0.257, 0.068, 0.079, 0.056, np.float64(0.41014562775526364)]
sampled assortment [7, 8, 9, 92, 34, 23] number: 1
#  Learning probs for MM model, A = [7, 8, 9, 92, 34, 23]
#cluster  3 with weight 0.098
Learned cluster center of cluster 3:  {3: 1, 4: 0, 5: 1, 6: 1, 7: 1, 8: 1, 9: 1, 11: 5, 13: 6, 100: 2} [4, 3, 5, 6, 7, 8, 9, 100, 11, 13]
#cluster  1 with weight 0.65075
Learned cluster center of cluster 1:  {2: 0, 3: 0, 5: 0, 6: 0, 7: 0, 10: 0, 100: 0} [2, 3, 5, 6, 7, 10, 100]
#cluster  2 with weight 0.25125
Learned cluster center of cluster 2:  {1: 0, 2: 1, 3: 1, 4: 1, 5: 1, 7: 1, 8: 1, 15: 1, 100: 1} [1, 2, 3, 4, 5, 7, 8, 15, 100]
#  Learning probs for MM model, A = [7, 8, 9, 92, 34, 23]
#cluster  3 with weight 0.098
Learned cluster center of cluster 3:  {2: 3, 3: 1, 4: 0, 5: 1, 6: 1, 7: 1, 8: 1, 9: 1, 14: 5, 15: 5, 16: 6, 17: 6} [4, 3, 5, 6, 7, 8, 9, 2, 14, 15, 16, 17]
#cluster  1 with weight 0.65075
Learned cluster center of cluster 1:  {2: 0, 3: 0, 5: 0, 6: 0, 7: 0, 10: 0, 100: 0} [2, 3, 5, 6, 7, 10, 100]
#cluster  2 with weight 0.25125
Learned cluster center of cluster 2:  {1: 0, 2: 1, 3: 1, 4: 1, 5: 1, 8: 1, 10: 1, 11: 1, 12: 1, 13: 1, 100: 1} [1, 2, 3, 4, 5, 8, 10, 11, 12, 13, 100]
empirical probabilities from test set: {7: 0.205, 8: 0.258, 9: 0.217, 92: 0.055, 34: 0.097, 23: 0.128, 0: 0.04}
results for assortment [7, 8, 9, 92, 34, 23] :

beta is  0.025 

learned probs for this beta: {7: np.float64(0.32659247975580386), 8: np.float64(0.20925598798536904), 9: np.float64(0.11174515821210791), 92: np.float64(0.08810159351167998), 34: np.float64(0.08810159351167998), 23: np.float64(0.08810159351167998), 0: np.float64(0.08810159351167998)}
err dic= {7: np.float64(0.12159247975580387), 8: np.float64(0.048744012014630966), 9: np.float64(0.10525484178789209), 92: np.float64(0.03310159351167998), 34: np.float64(0.008898406488320021), 23: np.float64(0.03989840648832002), 0: np.float64(0.04810159351167998)} 

err list= [np.float64(0.12159247975580387), np.float64(0.048744012014630966), np.float64(0.10525484178789209), np.float64(0.03310159351167998), np.float64(0.008898406488320021), np.float64(0.03989840648832002), np.float64(0.04810159351167998)]
results for assortment [7, 8, 9, 92, 34, 23] :

beta is  0.05 

learned probs for this beta: {7: np.float64(0.5867829832229802), 8: np.float64(0.26238768081251956), 9: np.float64(0.05429013107221721), 92: np.float64(0.024134801223070806), 34: np.float64(0.024134801223070806), 23: np.float64(0.024134801223070806), 0: np.float64(0.024134801223070806)}
err dic= {7: np.float64(0.3817829832229802), 8: np.float64(0.0043876808125195566), 9: np.float64(0.16270986892778277), 92: np.float64(0.030865198776929195), 34: np.float64(0.0728651987769292), 23: np.float64(0.1038651987769292), 0: np.float64(0.015865198776929195)} 

err list= [np.float64(0.3817829832229802), np.float64(0.0043876808125195566), np.float64(0.16270986892778277), np.float64(0.030865198776929195), np.float64(0.0728651987769292), np.float64(0.1038651987769292), np.float64(0.015865198776929195)]
results for assortment [7, 8, 9, 92, 34, 23] :

beta is  0.1 

learned probs for this beta: {7: np.float64(0.6862489108808782), 8: np.float64(0.283630776110618), 9: np.float64(0.029588113127920257), 92: np.float64(0.00013304997014590173), 34: np.float64(0.00013304997014590173), 23: np.float64(0.00013304997014590173), 0: np.float64(0.00013304997014590173)}
err dic= {7: np.float64(0.4812489108808783), 8: np.float64(0.02563077611061798), 9: np.float64(0.18741188687207974), 92: np.float64(0.054866950029854096), 34: np.float64(0.0968669500298541), 23: np.float64(0.1278669500298541), 0: np.float64(0.0398669500298541)} 

err list= [np.float64(0.4812489108808783), np.float64(0.02563077611061798), np.float64(0.18741188687207974), np.float64(0.054866950029854096), np.float64(0.0968669500298541), np.float64(0.1278669500298541), np.float64(0.0398669500298541)]
results for assortment [7, 8, 9, 92, 34, 23] :

beta is  0.25 

learned probs for this beta: {7: np.float64(0.6918344372483655), 8: np.float64(0.2832465919029399), 9: np.float64(0.02491897083676518), 92: np.float64(2.982241899734395e-12), 34: np.float64(2.982241899734395e-12), 23: np.float64(2.982241899734395e-12), 0: np.float64(2.982241899734395e-12)}
err dic= {7: np.float64(0.4868344372483655), 8: np.float64(0.025246591902939874), 9: np.float64(0.19208102916323483), 92: np.float64(0.05499999999701776), 34: np.float64(0.09699999999701776), 23: np.float64(0.12799999999701775), 0: np.float64(0.03999999999701776)} 

err list= [np.float64(0.4868344372483655), np.float64(0.025246591902939874), np.float64(0.19208102916323483), np.float64(0.05499999999701776), np.float64(0.09699999999701776), np.float64(0.12799999999701775), np.float64(0.03999999999701776)]
results for assortment [7, 8, 9, 92, 34, 23] :

beta is  0.5 

learned probs for this beta: {7: np.float64(0.7003850783234541), 8: np.float64(0.2813551968004129), 9: np.float64(0.01825972487613307), 92: np.float64(5.756441495413085e-25), 34: np.float64(5.756441495413085e-25), 23: np.float64(5.756441495413085e-25), 0: np.float64(5.756441495413085e-25)}
err dic= {7: np.float64(0.49538507832345413), 8: np.float64(0.02335519680041287), 9: np.float64(0.19874027512386694), 92: np.float64(0.055), 34: np.float64(0.097), 23: np.float64(0.128), 0: np.float64(0.04)} 

err list= [np.float64(0.49538507832345413), np.float64(0.02335519680041287), np.float64(0.19874027512386694), np.float64(0.055), np.float64(0.097), np.float64(0.128), np.float64(0.04)]
results for assortment [7, 8, 9, 92, 34, 23] :

beta is  0.75 

learned probs for this beta: {7: np.float64(0.7085501710383676), 8: np.float64(0.2785528675412348), 9: np.float64(0.012896961420397608), 92: np.float64(1.20445973333685e-37), 34: np.float64(1.20445973333685e-37), 23: np.float64(1.20445973333685e-37), 0: np.float64(1.20445973333685e-37)}
err dic= {7: np.float64(0.5035501710383676), 8: np.float64(0.02055286754123481), 9: np.float64(0.20410303857960238), 92: np.float64(0.055), 34: np.float64(0.097), 23: np.float64(0.128), 0: np.float64(0.04)} 

err list= [np.float64(0.5035501710383676), np.float64(0.02055286754123481), np.float64(0.20410303857960238), np.float64(0.055), np.float64(0.097), np.float64(0.128), np.float64(0.04)]
results for assortment [7, 8, 9, 92, 34, 23] :

beta is  1 

learned probs for this beta: {7: np.float64(0.7159436136659326), 8: np.float64(0.27523339016337023), 9: np.float64(0.008822996170697288), 92: np.float64(2.6746060873073845e-50), 34: np.float64(2.6746060873073845e-50), 23: np.float64(2.6746060873073845e-50), 0: np.float64(2.6746060873073845e-50)}
err dic= {7: np.float64(0.5109436136659327), 8: np.float64(0.01723339016337022), 9: np.float64(0.2081770038293027), 92: np.float64(0.055), 34: np.float64(0.097), 23: np.float64(0.128), 0: np.float64(0.04)} 

err list= [np.float64(0.5109436136659327), np.float64(0.01723339016337022), np.float64(0.2081770038293027), np.float64(0.055), np.float64(0.097), np.float64(0.128), np.float64(0.04)]
results for assortment [7, 8, 9, 92, 34, 23] :

beta is  1.25 

learned probs for this beta: {7: np.float64(0.7223565546618634), 8: np.float64(0.27176562139725524), 9: np.float64(0.005877823940881197), 92: np.float64(6.207156319716756e-63), 34: np.float64(6.207156319716756e-63), 23: np.float64(6.207156319716756e-63), 0: np.float64(6.207156319716756e-63)}
err dic= {7: np.float64(0.5173565546618635), 8: np.float64(0.013765621397255234), 9: np.float64(0.21112217605911882), 92: np.float64(0.055), 34: np.float64(0.097), 23: np.float64(0.128), 0: np.float64(0.04)} 

err list= [np.float64(0.5173565546618635), np.float64(0.013765621397255234), np.float64(0.21112217605911882), np.float64(0.055), np.float64(0.097), np.float64(0.128), np.float64(0.04)]
results for assortment [7, 8, 9, 92, 34, 23] :

err MNL dic= {7: 0.205, 8: 0.258, 9: 0.217, 92: 0.055, 34: 0.097, 23: 0.128, 0: np.float64(0.41175663047289013)} 

err MNL list= [0.205, 0.258, 0.217, 0.055, 0.097, 0.128, np.float64(0.41175663047289013)]
sampled assortment [5, 7, 4, 58, 73, 43] number: 2
#  Learning probs for MM model, A = [5, 7, 4, 58, 73, 43]
#cluster  3 with weight 0.098
Learned cluster center of cluster 3:  {3: 1, 4: 0, 5: 1, 6: 1, 7: 1, 8: 1, 9: 1, 11: 4, 14: 5, 16: 6, 20: 6, 24: 7, 100: 3} [4, 3, 5, 6, 7, 8, 9, 100, 11, 14, 16, 20, 24]
#cluster  1 with weight 0.65075
Learned cluster center of cluster 1:  {2: 0, 6: 0, 7: 0, 9: 0, 10: 0, 100: 0} [2, 6, 7, 9, 10, 100]
#cluster  2 with weight 0.25125
Learned cluster center of cluster 2:  {1: 0, 2: 1, 3: 1, 4: 1, 5: 1, 8: 1, 10: 1, 11: 1, 14: 1, 100: 1} [1, 2, 3, 4, 5, 8, 10, 11, 14, 100]
#  Learning probs for MM model, A = [5, 7, 4, 58, 73, 43]
#cluster  3 with weight 0.098
Learned cluster center of cluster 3:  {1: 6, 3: 1, 4: 0, 5: 1, 6: 1, 7: 1, 8: 1, 9: 0, 12: 6, 14: 5, 16: 5, 100: 3} [4, 9, 3, 5, 6, 7, 8, 100, 14, 16, 1, 12]
#cluster  1 with weight 0.65075
Learned cluster center of cluster 1:  {2: 0, 3: 0, 5: 0, 6: 0, 7: 0, 10: 0, 11: 0, 16: 0, 100: 0} [2, 3, 5, 6, 7, 10, 11, 16, 100]
#cluster  2 with weight 0.25125
Learned cluster center of cluster 2:  {1: 0, 2: 1, 3: 1, 4: 1, 5: 1, 8: 1, 10: 1, 11: 1, 14: 1, 100: 1} [1, 2, 3, 4, 5, 8, 10, 11, 14, 100]
empirical probabilities from test set: {5: 0.266, 7: 0.205, 4: 0.238, 58: 0.069, 73: 0.075, 43: 0.102, 0: 0.045}
results for assortment [5, 7, 4, 58, 73, 43] :

beta is  0.025 

learned probs for this beta: {5: np.float64(0.3539110873346722), 7: np.float64(0.2672174068486871), 4: np.float64(0.15890948598948215), 58: np.float64(0.05499050495678973), 73: np.float64(0.05499050495678973), 43: np.float64(0.05499050495678973), 0: np.float64(0.05499050495678973)}
err dic= {5: np.float64(0.08791108733467218), 7: np.float64(0.06221740684868712), 4: np.float64(0.07909051401051784), 58: np.float64(0.014009495043210272), 73: np.float64(0.020009495043210264), 43: np.float64(0.04700949504321026), 0: np.float64(0.009990504956789735)} 

err list= [np.float64(0.08791108733467218), np.float64(0.06221740684868712), np.float64(0.07909051401051784), np.float64(0.014009495043210272), np.float64(0.020009495043210264), np.float64(0.04700949504321026), np.float64(0.009990504956789735)]
results for assortment [5, 7, 4, 58, 73, 43] :

beta is  0.05 

learned probs for this beta: {5: np.float64(0.4789151807553307), 7: np.float64(0.33283239131482883), 4: np.float64(0.16451637572650946), 58: np.float64(0.005934013050832821), 73: np.float64(0.005934013050832821), 43: np.float64(0.005934013050832821), 0: np.float64(0.005934013050832821)}
err dic= {5: np.float64(0.21291518075533067), 7: np.float64(0.12783239131482885), 4: np.float64(0.07348362427349053), 58: np.float64(0.06306598694916718), 73: np.float64(0.06906598694916717), 43: np.float64(0.09606598694916717), 0: np.float64(0.03906598694916718)} 

err list= [np.float64(0.21291518075533067), np.float64(0.12783239131482885), np.float64(0.07348362427349053), np.float64(0.06306598694916718), np.float64(0.06906598694916717), np.float64(0.09606598694916717), np.float64(0.03906598694916718)]
results for assortment [5, 7, 4, 58, 73, 43] :

beta is  0.1 

learned probs for this beta: {5: np.float64(0.5031553731393412), 7: np.float64(0.32462721241687376), 4: np.float64(0.17213536543845592), 58: np.float64(2.0512251332395267e-05), 73: np.float64(2.0512251332395267e-05), 43: np.float64(2.0512251332395267e-05), 0: np.float64(2.0512251332395267e-05)}
err dic= {5: np.float64(0.2371553731393412), 7: np.float64(0.11962721241687377), 4: np.float64(0.06586463456154407), 58: np.float64(0.0689794877486676), 73: np.float64(0.0749794877486676), 43: np.float64(0.1019794877486676), 0: np.float64(0.044979487748667606)} 

err list= [np.float64(0.2371553731393412), np.float64(0.11962721241687377), np.float64(0.06586463456154407), np.float64(0.0689794877486676), np.float64(0.0749794877486676), np.float64(0.1019794877486676), np.float64(0.044979487748667606)]
results for assortment [5, 7, 4, 58, 73, 43] :

beta is  0.25 

learned probs for this beta: {5: np.float64(0.5304367935466616), 7: np.float64(0.27647545364215526), 4: np.float64(0.19308775280991108), 58: np.float64(3.17969030789588e-13), 73: np.float64(3.17969030789588e-13), 43: np.float64(3.17969030789588e-13), 0: np.float64(3.17969030789588e-13)}
err dic= {5: np.float64(0.2644367935466616), 7: np.float64(0.07147545364215527), 4: np.float64(0.044912247190088905), 58: np.float64(0.06899999999968204), 73: np.float64(0.07499999999968203), 43: np.float64(0.10199999999968203), 0: np.float64(0.04499999999968203)} 

err list= [np.float64(0.2644367935466616), np.float64(0.07147545364215527), np.float64(0.044912247190088905), np.float64(0.06899999999968204), np.float64(0.07499999999968203), np.float64(0.10199999999968203), np.float64(0.04499999999968203)]
results for assortment [5, 7, 4, 58, 73, 43] :

beta is  0.5 

learned probs for this beta: {5: np.float64(0.5695976232933431), 7: np.float64(0.20496092818457148), 4: np.float64(0.22544144852208592), 58: np.float64(3.207623547948658e-26), 73: np.float64(3.207623547948658e-26), 43: np.float64(3.207623547948658e-26), 0: np.float64(3.207623547948658e-26)}
err dic= {5: np.float64(0.30359762329334306), 7: np.float64(3.907181542850413e-05), 4: np.float64(0.01255855147791407), 58: np.float64(0.069), 73: np.float64(0.075), 43: np.float64(0.102), 0: np.float64(0.045)} 

err list= [np.float64(0.30359762329334306), np.float64(3.907181542850413e-05), np.float64(0.01255855147791407), np.float64(0.069), np.float64(0.075), np.float64(0.102), np.float64(0.045)]
results for assortment [5, 7, 4, 58, 73, 43] :

beta is  0.75 

learned probs for this beta: {5: np.float64(0.6009517279491399), 7: np.float64(0.14706091235863422), 4: np.float64(0.251987359692226), 58: np.float64(3.3613748703658256e-39), 73: np.float64(3.3613748703658256e-39), 43: np.float64(3.3613748703658256e-39), 0: np.float64(3.3613748703658256e-39)}
err dic= {5: np.float64(0.33495172794913985), 7: np.float64(0.057939087641365766), 4: np.float64(0.013987359692226031), 58: np.float64(0.069), 73: np.float64(0.075), 43: np.float64(0.102), 0: np.float64(0.045)} 

err list= [np.float64(0.33495172794913985), np.float64(0.057939087641365766), np.float64(0.013987359692226031), np.float64(0.069), np.float64(0.075), np.float64(0.102), np.float64(0.045)]
results for assortment [5, 7, 4, 58, 73, 43] :

beta is  1 

learned probs for this beta: {5: np.float64(0.6248085036302058), 7: np.float64(0.10257843648177507), 4: np.float64(0.2726130598880194), 58: np.float64(3.663154528754244e-52), 73: np.float64(3.663154528754244e-52), 43: np.float64(3.663154528754244e-52), 0: np.float64(3.663154528754244e-52)}
err dic= {5: np.float64(0.3588085036302058), 7: np.float64(0.10242156351822491), 4: np.float64(0.03461305988801944), 58: np.float64(0.069), 73: np.float64(0.075), 43: np.float64(0.102), 0: np.float64(0.045)} 

err list= [np.float64(0.3588085036302058), np.float64(0.10242156351822491), np.float64(0.03461305988801944), np.float64(0.069), np.float64(0.075), np.float64(0.102), np.float64(0.045)]
results for assortment [5, 7, 4, 58, 73, 43] :

beta is  1.25 

learned probs for this beta: {5: np.float64(0.6417099615160858), 7: np.float64(0.06975474031744736), 4: np.float64(0.2885352981664667), 58: np.float64(4.169738416375929e-65), 73: np.float64(4.169738416375929e-65), 43: np.float64(4.169738416375929e-65), 0: np.float64(4.169738416375929e-65)}
err dic= {5: np.float64(0.3757099615160858), 7: np.float64(0.13524525968255263), 4: np.float64(0.050535298166466736), 58: np.float64(0.069), 73: np.float64(0.075), 43: np.float64(0.102), 0: np.float64(0.045)} 

err list= [np.float64(0.3757099615160858), np.float64(0.13524525968255263), np.float64(0.050535298166466736), np.float64(0.069), np.float64(0.075), np.float64(0.102), np.float64(0.045)]
results for assortment [5, 7, 4, 58, 73, 43] :

err MNL dic= {5: 0.266, 7: 0.205, 4: 0.238, 58: 0.069, 73: 0.075, 43: 0.102, 0: np.float64(0.4126623739160255)} 

err MNL list= [0.266, 0.205, 0.238, 0.069, 0.075, 0.102, np.float64(0.4126623739160255)]
sampled assortment [1, 6, 8, 62, 47, 34] number: 3
#  Learning probs for MM model, A = [1, 6, 8, 62, 47, 34]
#cluster  3 with weight 0.098
Learned cluster center of cluster 3:  {2: 4, 3: 1, 4: 0, 5: 1, 6: 1, 7: 2, 8: 1, 9: 0, 16: 5, 100: 3} [4, 9, 3, 5, 6, 8, 7, 100, 2, 16]
#cluster  1 with weight 0.65075
Learned cluster center of cluster 1:  {2: 0, 3: 0, 6: 0, 7: 0, 8: 0, 10: 0, 16: 0, 100: 0} [2, 3, 6, 7, 8, 10, 16, 100]
#cluster  2 with weight 0.25125
Learned cluster center of cluster 2:  {1: 0, 2: 1, 3: 1, 4: 1, 5: 1, 7: 1, 8: 1, 11: 1, 13: 1, 100: 1} [1, 2, 3, 4, 5, 7, 8, 11, 13, 100]
#  Learning probs for MM model, A = [1, 6, 8, 62, 47, 34]
#cluster  3 with weight 0.098
Learned cluster center of cluster 3:  {2: 4, 3: 1, 4: 0, 5: 1, 6: 1, 7: 1, 8: 1, 9: 1, 12: 6, 100: 3} [4, 3, 5, 6, 7, 8, 9, 100, 2, 12]
#cluster  1 with weight 0.65075
Learned cluster center of cluster 1:  {2: 0, 3: 0, 6: 0, 7: 0, 100: 0} [2, 3, 6, 7, 100]
#cluster  2 with weight 0.25125
Learned cluster center of cluster 2:  {1: 0, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1, 8: 1, 9: 1, 10: 1, 11: 1, 100: 1} [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 100]
empirical probabilities from test set: {1: 0.231, 6: 0.244, 8: 0.249, 62: 0.05, 47: 0.084, 34: 0.09, 0: 0.052}
results for assortment [1, 6, 8, 62, 47, 34] :

beta is  0.025 

learned probs for this beta: {1: np.float64(0.1489933823099159), 6: np.float64(0.3594207398516898), 8: np.float64(0.16840988583403108), 62: np.float64(0.08079399800109094), 47: np.float64(0.08079399800109094), 34: np.float64(0.08079399800109094), 0: np.float64(0.08079399800109094)}
err dic= {1: np.float64(0.0820066176900841), 6: np.float64(0.11542073985168982), 8: np.float64(0.08059011416596892), 62: np.float64(0.030793998001090936), 47: np.float64(0.0032060019989090666), 34: np.float64(0.009206001998909058), 0: np.float64(0.02879399800109094)} 

err list= [np.float64(0.0820066176900841), np.float64(0.11542073985168982), np.float64(0.08059011416596892), np.float64(0.030793998001090936), np.float64(0.0032060019989090666), np.float64(0.009206001998909058), np.float64(0.02879399800109094)]
results for assortment [1, 6, 8, 62, 47, 34] :

beta is  0.05 

learned probs for this beta: {1: np.float64(0.11288651476807084), 6: np.float64(0.6762261838773681), 8: np.float64(0.13666108927946374), 62: np.float64(0.018556553018774253), 47: np.float64(0.018556553018774253), 34: np.float64(0.018556553018774253), 0: np.float64(0.018556553018774253)}
err dic= {1: np.float64(0.11811348523192917), 6: np.float64(0.4322261838773681), 8: np.float64(0.11233891072053626), 62: np.float64(0.03144344698122575), 47: np.float64(0.06544344698122576), 34: np.float64(0.07144344698122575), 0: np.float64(0.03344344698122574)} 

err list= [np.float64(0.11811348523192917), np.float64(0.4322261838773681), np.float64(0.11233891072053626), np.float64(0.03144344698122575), np.float64(0.06544344698122576), np.float64(0.07144344698122575), np.float64(0.03344344698122574)]
results for assortment [1, 6, 8, 62, 47, 34] :

beta is  0.1 

learned probs for this beta: {1: np.float64(0.11007934465397677), 6: np.float64(0.7775550715551576), 8: np.float64(0.11207054970710253), 62: np.float64(7.375852094083541e-05), 47: np.float64(7.375852094083541e-05), 34: np.float64(7.375852094083541e-05), 0: np.float64(7.375852094083541e-05)}
err dic= {1: np.float64(0.12092065534602324), 6: np.float64(0.5335550715551576), 8: np.float64(0.13692945029289746), 62: np.float64(0.04992624147905917), 47: np.float64(0.08392624147905917), 34: np.float64(0.08992624147905916), 0: np.float64(0.051926241479059165)} 

err list= [np.float64(0.12092065534602324), np.float64(0.5335550715551576), np.float64(0.13692945029289746), np.float64(0.04992624147905917), np.float64(0.08392624147905917), np.float64(0.08992624147905916), np.float64(0.051926241479059165)]
results for assortment [1, 6, 8, 62, 47, 34] :

beta is  0.25 

learned probs for this beta: {1: np.float64(0.15022610916862075), 6: np.float64(0.7666154267851797), 8: np.float64(0.08315846404201957), 62: np.float64(1.0449173854037447e-12), 47: np.float64(1.0449173854037447e-12), 34: np.float64(1.0449173854037447e-12), 0: np.float64(1.0449173854037447e-12)}
err dic= {1: np.float64(0.08077389083137926), 6: np.float64(0.5226154267851797), 8: np.float64(0.16584153595798043), 62: np.float64(0.04999999999895509), 47: np.float64(0.08399999999895509), 34: np.float64(0.08999999999895508), 0: np.float64(0.05199999999895508)} 

err list= [np.float64(0.08077389083137926), np.float64(0.5226154267851797), np.float64(0.16584153595798043), np.float64(0.04999999999895509), np.float64(0.08399999999895509), np.float64(0.08999999999895508), np.float64(0.05199999999895508)]
results for assortment [1, 6, 8, 62, 47, 34] :

beta is  0.5 

learned probs for this beta: {1: np.float64(0.20382019668288093), 6: np.float64(0.748647462641349), 8: np.float64(0.04753234067577039), 62: np.float64(8.765361081652302e-26), 47: np.float64(8.765361081652302e-26), 34: np.float64(8.765361081652302e-26), 0: np.float64(8.765361081652302e-26)}
err dic= {1: np.float64(0.027179803317119083), 6: np.float64(0.504647462641349), 8: np.float64(0.2014676593242296), 62: np.float64(0.05), 47: np.float64(0.084), 34: np.float64(0.09), 0: np.float64(0.052)} 

err list= [np.float64(0.027179803317119083), np.float64(0.504647462641349), np.float64(0.2014676593242296), np.float64(0.05), np.float64(0.084), np.float64(0.09), np.float64(0.052)]
results for assortment [1, 6, 8, 62, 47, 34] :

beta is  0.75 

learned probs for this beta: {1: np.float64(0.23285887216174556), 6: np.float64(0.7395845593803355), 8: np.float64(0.02755656845791893), 62: np.float64(7.491438623710888e-39), 47: np.float64(7.491438623710888e-39), 34: np.float64(7.491438623710888e-39), 0: np.float64(7.491438623710888e-39)}
err dic= {1: np.float64(0.001858872161745545), 6: np.float64(0.4955845593803355), 8: np.float64(0.22144343154208107), 62: np.float64(0.05), 47: np.float64(0.084), 34: np.float64(0.09), 0: np.float64(0.052)} 

err list= [np.float64(0.001858872161745545), np.float64(0.4955845593803355), np.float64(0.22144343154208107), np.float64(0.05), np.float64(0.084), np.float64(0.09), np.float64(0.052)]
results for assortment [1, 6, 8, 62, 47, 34] :

beta is  1 

learned probs for this beta: {1: np.float64(0.2449404163068833), 6: np.float64(0.7380895520759316), 8: np.float64(0.01697003161718498), 62: np.float64(6.559624400139504e-52), 47: np.float64(6.559624400139504e-52), 34: np.float64(6.559624400139504e-52), 0: np.float64(6.559624400139504e-52)}
err dic= {1: np.float64(0.01394041630688328), 6: np.float64(0.49408955207593164), 8: np.float64(0.23202996838281503), 62: np.float64(0.05), 47: np.float64(0.084), 34: np.float64(0.09), 0: np.float64(0.052)} 

err list= [np.float64(0.01394041630688328), np.float64(0.49408955207593164), np.float64(0.23202996838281503), np.float64(0.05), np.float64(0.084), np.float64(0.09), np.float64(0.052)]
results for assortment [1, 6, 8, 62, 47, 34] :

beta is  1.25 

learned probs for this beta: {1: np.float64(0.2492367633112041), 6: np.float64(0.7398682329245754), 8: np.float64(0.010895003764220467), 62: np.float64(5.953102322661543e-65), 47: np.float64(5.953102322661543e-65), 34: np.float64(5.953102322661543e-65), 0: np.float64(5.953102322661543e-65)}
err dic= {1: np.float64(0.01823676331120408), 6: np.float64(0.4958682329245754), 8: np.float64(0.23810499623577952), 62: np.float64(0.05), 47: np.float64(0.084), 34: np.float64(0.09), 0: np.float64(0.052)} 

err list= [np.float64(0.01823676331120408), np.float64(0.4958682329245754), np.float64(0.23810499623577952), np.float64(0.05), np.float64(0.084), np.float64(0.09), np.float64(0.052)]
results for assortment [1, 6, 8, 62, 47, 34] :

err MNL dic= {1: 0.231, 6: 0.244, 8: 0.249, 62: 0.05, 47: 0.084, 34: 0.09, 0: np.float64(0.40241250655808497)} 

err MNL list= [0.231, 0.244, 0.249, 0.05, 0.084, 0.09, np.float64(0.40241250655808497)]
sampled assortment [2, 9, 5, 20, 19, 16] number: 4
#  Learning probs for MM model, A = [2, 9, 5, 20, 19, 16]
#cluster  3 with weight 0.098
Learned cluster center of cluster 3:  {3: 1, 4: 0, 5: 1, 6: 1, 7: 1, 8: 1, 9: 1, 16: 5, 19: 3} [4, 3, 5, 6, 7, 8, 9, 19, 16]
#cluster  1 with weight 0.65075
Learned cluster center of cluster 1:  {2: 0, 3: 0, 6: 0, 7: 0, 10: 0, 100: 0} [2, 3, 6, 7, 10, 100]
#cluster  2 with weight 0.25125
Learned cluster center of cluster 2:  {1: 0, 2: 1, 3: 1, 4: 1, 5: 1, 8: 1, 10: 1, 11: 1, 12: 1, 17: 2, 100: 1} [1, 2, 3, 4, 5, 8, 10, 11, 12, 100, 17]
#  Learning probs for MM model, A = [2, 9, 5, 20, 19, 16]
#cluster  3 with weight 0.098
Learned cluster center of cluster 3:  {2: 3, 3: 1, 4: 0, 5: 1, 6: 1, 7: 1, 8: 1, 9: 0, 10: 5, 12: 6, 100: 3} [4, 9, 3, 5, 6, 7, 8, 2, 100, 10, 12]
#cluster  1 with weight 0.65075
Learned cluster center of cluster 1:  {2: 0, 3: 0, 7: 0, 8: 0, 10: 0, 100: 0} [2, 3, 7, 8, 10, 100]
#cluster  2 with weight 0.25125
Learned cluster center of cluster 2:  {1: 0, 2: 1, 3: 1, 4: 1, 5: 1, 8: 1, 10: 1, 11: 1, 13: 1, 17: 2, 100: 1} [1, 2, 3, 4, 5, 8, 10, 11, 13, 100, 17]
empirical probabilities from test set: {2: 0.204, 9: 0.181, 5: 0.173, 20: 0.137, 19: 0.164, 16: 0.111, 0: 0.03}
results for assortment [2, 9, 5, 20, 19, 16] :

beta is  0.025 

learned probs for this beta: {2: np.float64(0.399359060131917), 9: np.float64(0.10500850252636076), 5: np.float64(0.17967238933118906), 20: np.float64(0.07899001200263339), 19: np.float64(0.07899001200263339), 16: np.float64(0.07899001200263339), 0: np.float64(0.07899001200263339)}
err dic= {2: np.float64(0.19535906013191703), 9: np.float64(0.07599149747363923), 5: np.float64(0.006672389331189077), 20: np.float64(0.05800998799736662), 19: np.float64(0.08500998799736662), 16: np.float64(0.03200998799736661), 0: np.float64(0.04899001200263339)} 

err list= [np.float64(0.19535906013191703), np.float64(0.07599149747363923), np.float64(0.006672389331189077), np.float64(0.05800998799736662), np.float64(0.08500998799736662), np.float64(0.03200998799736661), np.float64(0.04899001200263339)]
results for assortment [2, 9, 5, 20, 19, 16] :

beta is  0.05 

learned probs for this beta: {2: np.float64(0.7162432130177182), 9: np.float64(0.05260586206357657), 5: np.float64(0.16263905821618438), 20: np.float64(0.0171279666756302), 19: np.float64(0.0171279666756302), 16: np.float64(0.0171279666756302), 0: np.float64(0.0171279666756302)}
err dic= {2: np.float64(0.5122432130177182), 9: np.float64(0.12839413793642343), 5: np.float64(0.010360941783815608), 20: np.float64(0.11987203332436981), 19: np.float64(0.14687203332436982), 16: np.float64(0.0938720333243698), 0: np.float64(0.0128720333243698)} 

err list= [np.float64(0.5122432130177182), np.float64(0.12839413793642343), np.float64(0.010360941783815608), np.float64(0.11987203332436981), np.float64(0.14687203332436982), np.float64(0.0938720333243698), np.float64(0.0128720333243698)]
results for assortment [2, 9, 5, 20, 19, 16] :

beta is  0.1 

learned probs for this beta: {2: np.float64(0.8148208059290498), 9: np.float64(0.04013587689759441), 5: np.float64(0.14477731923629697), 20: np.float64(6.649948426473033e-05), 19: np.float64(6.649948426473033e-05), 16: np.float64(6.649948426473033e-05), 0: np.float64(6.649948426473033e-05)}
err dic= {2: np.float64(0.6108208059290499), 9: np.float64(0.1408641231024056), 5: np.float64(0.028222680763703017), 20: np.float64(0.13693350051573527), 19: np.float64(0.16393350051573527), 16: np.float64(0.11093350051573526), 0: np.float64(0.02993350051573527)} 

err list= [np.float64(0.6108208059290499), np.float64(0.1408641231024056), np.float64(0.028222680763703017), np.float64(0.13693350051573527), np.float64(0.16393350051573527), np.float64(0.11093350051573526), np.float64(0.02993350051573527)]
results for assortment [2, 9, 5, 20, 19, 16] :

beta is  0.25 

learned probs for this beta: {2: np.float64(0.8262505335811715), 9: np.float64(0.05073504459767061), 5: np.float64(0.12301442181808149), 20: np.float64(7.690669113398435e-13), 19: np.float64(7.690669113398435e-13), 16: np.float64(7.690669113398435e-13), 0: np.float64(7.690669113398435e-13)}
err dic= {2: np.float64(0.6222505335811715), 9: np.float64(0.13026495540232938), 5: np.float64(0.0499855781819185), 20: np.float64(0.13699999999923093), 19: np.float64(0.16399999999923093), 16: np.float64(0.11099999999923094), 0: np.float64(0.029999999999230934)} 

err list= [np.float64(0.6222505335811715), np.float64(0.13026495540232938), np.float64(0.0499855781819185), np.float64(0.13699999999923093), np.float64(0.16399999999923093), np.float64(0.11099999999923094), np.float64(0.029999999999230934)]
results for assortment [2, 9, 5, 20, 19, 16] :

beta is  0.5 

learned probs for this beta: {2: np.float64(0.847551576658889), 9: np.float64(0.06521621587839148), 5: np.float64(0.08723220746271962), 20: np.float64(4.5837652186193806e-26), 19: np.float64(4.5837652186193806e-26), 16: np.float64(4.5837652186193806e-26), 0: np.float64(4.5837652186193806e-26)}
err dic= {2: np.float64(0.6435515766588891), 9: np.float64(0.11578378412160852), 5: np.float64(0.08576779253728037), 20: np.float64(0.137), 19: np.float64(0.164), 16: np.float64(0.111), 0: np.float64(0.03)} 

err list= [np.float64(0.6435515766588891), np.float64(0.11578378412160852), np.float64(0.08576779253728037), np.float64(0.137), np.float64(0.164), np.float64(0.111), np.float64(0.03)]
results for assortment [2, 9, 5, 20, 19, 16] :

beta is  0.75 

learned probs for this beta: {2: np.float64(0.8671879152719137), 9: np.float64(0.07536548935215433), 5: np.float64(0.05744659537593208), 20: np.float64(2.813941511985461e-39), 19: np.float64(2.813941511985461e-39), 16: np.float64(2.813941511985461e-39), 0: np.float64(2.813941511985461e-39)}
err dic= {2: np.float64(0.6631879152719138), 9: np.float64(0.10563451064784567), 5: np.float64(0.1155534046240679), 20: np.float64(0.137), 19: np.float64(0.164), 16: np.float64(0.111), 0: np.float64(0.03)} 

err list= [np.float64(0.6631879152719138), np.float64(0.10563451064784567), np.float64(0.1155534046240679), np.float64(0.137), np.float64(0.164), np.float64(0.111), np.float64(0.03)]
results for assortment [2, 9, 5, 20, 19, 16] :

beta is  1 

learned probs for this beta: {2: np.float64(0.8815986326383153), 9: np.float64(0.08245749963515155), 5: np.float64(0.035943867726533206), 20: np.float64(1.821106226532305e-52), 19: np.float64(1.821106226532305e-52), 16: np.float64(1.821106226532305e-52), 0: np.float64(1.821106226532305e-52)}
err dic= {2: np.float64(0.6775986326383153), 9: np.float64(0.09854250036484845), 5: np.float64(0.13705613227346677), 20: np.float64(0.137), 19: np.float64(0.164), 16: np.float64(0.111), 0: np.float64(0.03)} 

err list= [np.float64(0.6775986326383153), np.float64(0.09854250036484845), np.float64(0.13705613227346677), np.float64(0.137), np.float64(0.164), np.float64(0.111), np.float64(0.03)]
results for assortment [2, 9, 5, 20, 19, 16] :

beta is  1.25 

learned probs for this beta: {2: np.float64(0.8907471459775976), 9: np.float64(0.08748394764612323), 5: np.float64(0.021768906376279012), 20: np.float64(1.2641141951070463e-65), 19: np.float64(1.2641141951070463e-65), 16: np.float64(1.2641141951070463e-65), 0: np.float64(1.2641141951070463e-65)}
err dic= {2: np.float64(0.6867471459775977), 9: np.float64(0.09351605235387676), 5: np.float64(0.15123109362372097), 20: np.float64(0.137), 19: np.float64(0.164), 16: np.float64(0.111), 0: np.float64(0.03)} 

err list= [np.float64(0.6867471459775977), np.float64(0.09351605235387676), np.float64(0.15123109362372097), np.float64(0.137), np.float64(0.164), np.float64(0.111), np.float64(0.03)]
results for assortment [2, 9, 5, 20, 19, 16] :

err MNL dic= {2: 0.204, 9: 0.181, 5: 0.173, 20: 0.137, 19: 0.164, 16: 0.111, 0: np.float64(0.412457278185031)} 

err MNL list= [0.204, 0.181, 0.173, 0.137, 0.164, 0.111, np.float64(0.412457278185031)]
sampled assortment [9, 6, 2, 38, 88, 79] number: 5
#  Learning probs for MM model, A = [9, 6, 2, 38, 88, 79]
#cluster  3 with weight 0.098
Learned cluster center of cluster 3:  {2: 4, 3: 1, 4: 0, 5: 1, 6: 1, 7: 1, 8: 1, 9: 0, 16: 5, 17: 6, 100: 3} [4, 9, 3, 5, 6, 7, 8, 100, 2, 16, 17]
#cluster  1 with weight 0.65075
Learned cluster center of cluster 1:  {2: 0, 3: 0, 6: 0, 7: 0, 10: 0, 100: 0} [2, 3, 6, 7, 10, 100]
#cluster  2 with weight 0.25125
Learned cluster center of cluster 2:  {1: 0, 2: 1, 3: 1, 4: 1, 5: 1, 8: 1, 10: 1, 11: 1, 13: 1, 100: 1} [1, 2, 3, 4, 5, 8, 10, 11, 13, 100]
#  Learning probs for MM model, A = [9, 6, 2, 38, 88, 79]
#cluster  3 with weight 0.098
Learned cluster center of cluster 3:  {3: 1, 4: 0, 5: 1, 6: 1, 7: 1, 8: 1, 9: 1, 13: 7, 14: 5, 16: 6, 100: 3} [4, 3, 5, 6, 7, 8, 9, 100, 14, 16, 13]
#cluster  1 with weight 0.65075
Learned cluster center of cluster 1:  {2: 0, 6: 0, 7: 0, 9: 0, 10: 0, 100: 0} [2, 6, 7, 9, 10, 100]
#cluster  2 with weight 0.25125
Learned cluster center of cluster 2:  {1: 0, 2: 1, 3: 1, 4: 1, 5: 1, 8: 1, 10: 1, 11: 1, 100: 1} [1, 2, 3, 4, 5, 8, 10, 11, 100]
empirical probabilities from test set: {9: 0.23, 6: 0.248, 2: 0.266, 38: 0.074, 88: 0.063, 79: 0.074, 0: 0.045}
results for assortment [9, 6, 2, 38, 88, 79] :

beta is  0.025 

learned probs for this beta: {9: np.float64(0.22722154363062366), 6: np.float64(0.23742269305977923), 2: np.float64(0.3077422857206448), 38: np.float64(0.05690336939723807), 88: np.float64(0.05690336939723807), 79: np.float64(0.05690336939723807), 0: np.float64(0.05690336939723807)}
err dic= {9: np.float64(0.0027784563693763475), 6: np.float64(0.010577306940220771), 2: np.float64(0.04174228572064481), 38: np.float64(0.017096630602761925), 88: np.float64(0.006096630602761929), 79: np.float64(0.017096630602761925), 0: np.float64(0.011903369397238073)} 

err list= [np.float64(0.0027784563693763475), np.float64(0.010577306940220771), np.float64(0.04174228572064481), np.float64(0.017096630602761925), np.float64(0.006096630602761929), np.float64(0.017096630602761925), np.float64(0.011903369397238073)]
results for assortment [9, 6, 2, 38, 88, 79] :

beta is  0.05 

learned probs for this beta: {9: np.float64(0.24906151049978598), 6: np.float64(0.2728810002647758), 2: np.float64(0.4459180807709663), 38: np.float64(0.008034852116118003), 88: np.float64(0.008034852116118003), 79: np.float64(0.008034852116118003), 0: np.float64(0.008034852116118003)}
err dic= {9: np.float64(0.019061510499785966), 6: np.float64(0.0248810002647758), 2: np.float64(0.17991808077096627), 38: np.float64(0.065965147883882), 88: np.float64(0.054965147883882), 79: np.float64(0.065965147883882), 0: np.float64(0.036965147883882)} 

err list= [np.float64(0.019061510499785966), np.float64(0.0248810002647758), np.float64(0.17991808077096627), np.float64(0.065965147883882), np.float64(0.054965147883882), np.float64(0.065965147883882), np.float64(0.036965147883882)]
results for assortment [9, 6, 2, 38, 88, 79] :

beta is  0.1 

learned probs for this beta: {9: np.float64(0.22870926817906492), 6: np.float64(0.2757643012496341), 2: np.float64(0.4953800765083872), 38: np.float64(3.658851572846404e-05), 88: np.float64(3.658851572846404e-05), 79: np.float64(3.658851572846404e-05), 0: np.float64(3.658851572846404e-05)}
err dic= {9: np.float64(0.001290731820935087), 6: np.float64(0.027764301249634082), 2: np.float64(0.2293800765083872), 38: np.float64(0.07396341148427153), 88: np.float64(0.06296341148427154), 79: np.float64(0.07396341148427153), 0: np.float64(0.044963411484271534)} 

err list= [np.float64(0.001290731820935087), np.float64(0.027764301249634082), np.float64(0.2293800765083872), np.float64(0.07396341148427153), np.float64(0.06296341148427154), np.float64(0.07396341148427153), np.float64(0.044963411484271534)]
results for assortment [9, 6, 2, 38, 88, 79] :

beta is  0.25 

learned probs for this beta: {9: np.float64(0.1777566374574153), 6: np.float64(0.2853720002187411), 2: np.float64(0.5368713623217485), 38: np.float64(5.236776313636973e-13), 88: np.float64(5.236776313636973e-13), 79: np.float64(5.236776313636973e-13), 0: np.float64(5.236776313636973e-13)}
err dic= {9: np.float64(0.052243362542584715), 6: np.float64(0.0373720002187411), 2: np.float64(0.27087136232174847), 38: np.float64(0.07399999999947632), 88: np.float64(0.06299999999947632), 79: np.float64(0.07399999999947632), 0: np.float64(0.04499999999947632)} 

err list= [np.float64(0.052243362542584715), np.float64(0.0373720002187411), np.float64(0.27087136232174847), np.float64(0.07399999999947632), np.float64(0.06299999999947632), np.float64(0.07399999999947632), np.float64(0.04499999999947632)]
results for assortment [9, 6, 2, 38, 88, 79] :

beta is  0.5 

learned probs for this beta: {9: np.float64(0.1094595157941327), 6: np.float64(0.2879885414935645), 2: np.float64(0.602551942712303), 38: np.float64(4.597113547127572e-26), 88: np.float64(4.597113547127572e-26), 79: np.float64(4.597113547127572e-26), 0: np.float64(4.597113547127572e-26)}
err dic= {9: np.float64(0.12054048420586731), 6: np.float64(0.03998854149356451), 2: np.float64(0.33655194271230293), 38: np.float64(0.074), 88: np.float64(0.063), 79: np.float64(0.074), 0: np.float64(0.045)} 

err list= [np.float64(0.12054048420586731), np.float64(0.03998854149356451), np.float64(0.33655194271230293), np.float64(0.074), np.float64(0.063), np.float64(0.074), np.float64(0.045)]
results for assortment [9, 6, 2, 38, 88, 79] :

beta is  0.75 

learned probs for this beta: {9: np.float64(0.06279561774498096), 6: np.float64(0.2770524815027639), 2: np.float64(0.660151900752255), 38: np.float64(4.279653413380165e-39), 88: np.float64(4.279653413380165e-39), 79: np.float64(4.279653413380165e-39), 0: np.float64(4.279653413380165e-39)}
err dic= {9: np.float64(0.16720438225501905), 6: np.float64(0.029052481502763905), 2: np.float64(0.39415190075225504), 38: np.float64(0.074), 88: np.float64(0.063), 79: np.float64(0.074), 0: np.float64(0.045)} 

err list= [np.float64(0.16720438225501905), np.float64(0.029052481502763905), np.float64(0.39415190075225504), np.float64(0.074), np.float64(0.063), np.float64(0.074), np.float64(0.045)]
results for assortment [9, 6, 2, 38, 88, 79] :

beta is  1 

learned probs for this beta: {9: np.float64(0.034058344257245694), 6: np.float64(0.2579391917145466), 2: np.float64(0.7080024640282077), 38: np.float64(4.29256303475433e-52), 88: np.float64(4.29256303475433e-52), 79: np.float64(4.29256303475433e-52), 0: np.float64(4.29256303475433e-52)}
err dic= {9: np.float64(0.19594165574275432), 6: np.float64(0.009939191714546602), 2: np.float64(0.44200246402820764), 38: np.float64(0.074), 88: np.float64(0.063), 79: np.float64(0.074), 0: np.float64(0.045)} 

err list= [np.float64(0.19594165574275432), np.float64(0.009939191714546602), np.float64(0.44200246402820764), np.float64(0.074), np.float64(0.063), np.float64(0.074), np.float64(0.045)]
results for assortment [9, 6, 2, 38, 88, 79] :

beta is  1.25 

learned probs for this beta: {9: np.float64(0.01771649446862495), 6: np.float64(0.23553978121945843), 2: np.float64(0.7467437243119166), 38: np.float64(4.7202564986026685e-65), 88: np.float64(4.7202564986026685e-65), 79: np.float64(4.7202564986026685e-65), 0: np.float64(4.7202564986026685e-65)}
err dic= {9: np.float64(0.21228350553137507), 6: np.float64(0.012460218780541571), 2: np.float64(0.4807437243119166), 38: np.float64(0.074), 88: np.float64(0.063), 79: np.float64(0.074), 0: np.float64(0.045)} 

err list= [np.float64(0.21228350553137507), np.float64(0.012460218780541571), np.float64(0.4807437243119166), np.float64(0.074), np.float64(0.063), np.float64(0.074), np.float64(0.045)]
results for assortment [9, 6, 2, 38, 88, 79] :

err MNL dic= {9: 0.23, 6: 0.248, 2: 0.266, 38: 0.074, 88: 0.063, 79: 0.074, 0: np.float64(0.4117318920206357)} 

err MNL list= [0.23, 0.248, 0.266, 0.074, 0.063, 0.074, np.float64(0.4117318920206357)]
sampled assortment [4, 5, 3, 25, 97, 62] number: 6
#  Learning probs for MM model, A = [4, 5, 3, 25, 97, 62]
#cluster  3 with weight 0.098
Learned cluster center of cluster 3:  {2: 5, 3: 1, 4: 0, 5: 1, 6: 1, 7: 1, 8: 1, 9: 1, 100: 2} [4, 3, 5, 6, 7, 8, 9, 100, 2]
#cluster  1 with weight 0.65075
Learned cluster center of cluster 1:  {2: 0, 6: 0, 7: 0, 10: 0, 12: 0, 100: 0} [2, 6, 7, 10, 12, 100]
#cluster  2 with weight 0.25125
Learned cluster center of cluster 2:  {1: 0, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1, 7: 1, 8: 1, 9: 1, 11: 1, 100: 1} [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 100]
#  Learning probs for MM model, A = [4, 5, 3, 25, 97, 62]
#cluster  3 with weight 0.098
Learned cluster center of cluster 3:  {2: 5, 3: 1, 4: 0, 5: 1, 6: 1, 7: 1, 9: 1, 14: 5, 16: 6, 100: 3} [4, 3, 5, 6, 7, 9, 100, 2, 14, 16]
#cluster  1 with weight 0.65075
Learned cluster center of cluster 1:  {2: 0, 6: 0, 7: 0, 10: 0, 100: 0} [2, 6, 7, 10, 100]
#cluster  2 with weight 0.25125
Learned cluster center of cluster 2:  {1: 0, 2: 1, 3: 1, 4: 1, 5: 1, 8: 1, 9: 1, 10: 1, 11: 1, 12: 1, 100: 1} [1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 100]
empirical probabilities from test set: {4: 0.239, 5: 0.242, 3: 0.251, 25: 0.142, 97: 0.046, 62: 0.049, 0: 0.031}
results for assortment [4, 5, 3, 25, 97, 62] :

beta is  0.025 

learned probs for this beta: {4: np.float64(0.19358531341409407), 5: np.float64(0.19040722484326666), 3: np.float64(0.19469192234398874), 25: np.float64(0.10532888484966266), 97: np.float64(0.10532888484966266), 62: np.float64(0.10532888484966266), 0: np.float64(0.10532888484966266)}
err dic= {4: np.float64(0.04541468658590592), 5: np.float64(0.05159277515673333), 3: np.float64(0.05630807765601126), 25: np.float64(0.03667111515033733), 97: np.float64(0.05932888484966266), 62: np.float64(0.056328884849662655), 0: np.float64(0.07432888484966266)} 

err list= [np.float64(0.04541468658590592), np.float64(0.05159277515673333), np.float64(0.05630807765601126), np.float64(0.03667111515033733), np.float64(0.05932888484966266), np.float64(0.056328884849662655), np.float64(0.07432888484966266)]
results for assortment [4, 5, 3, 25, 97, 62] :

beta is  0.05 

learned probs for this beta: {4: np.float64(0.20931271533398466), 5: np.float64(0.20206691905910465), 3: np.float64(0.21188935852667018), 25: np.float64(0.09418275177006005), 97: np.float64(0.09418275177006005), 62: np.float64(0.09418275177006005), 0: np.float64(0.09418275177006005)}
err dic= {4: np.float64(0.029687284666015334), 5: np.float64(0.039933080940895344), 3: np.float64(0.03911064147332982), 25: np.float64(0.047817248229939935), 97: np.float64(0.04818275177006005), 62: np.float64(0.04518275177006005), 0: np.float64(0.06318275177006005)} 

err list= [np.float64(0.029687284666015334), np.float64(0.039933080940895344), np.float64(0.03911064147332982), np.float64(0.047817248229939935), np.float64(0.04818275177006005), np.float64(0.04518275177006005), np.float64(0.06318275177006005)]
results for assortment [4, 5, 3, 25, 97, 62] :

beta is  0.1 

learned probs for this beta: {4: np.float64(0.21241038159246256), 5: np.float64(0.19794544081386614), 3: np.float64(0.21776458179162222), 25: np.float64(0.09296989895051232), 97: np.float64(0.09296989895051232), 62: np.float64(0.09296989895051232), 0: np.float64(0.09296989895051232)}
err dic= {4: np.float64(0.02658961840753743), 5: np.float64(0.04405455918613385), 3: np.float64(0.033235418208377776), 25: np.float64(0.04903010104948767), 97: np.float64(0.04696989895051232), 62: np.float64(0.043969898950512315), 0: np.float64(0.06196989895051232)} 

err list= [np.float64(0.02658961840753743), np.float64(0.04405455918613385), np.float64(0.033235418208377776), np.float64(0.04903010104948767), np.float64(0.04696989895051232), np.float64(0.043969898950512315), np.float64(0.06196989895051232)]
results for assortment [4, 5, 3, 25, 97, 62] :

beta is  0.25 

learned probs for this beta: {4: np.float64(0.2160808017166418), 5: np.float64(0.18176990371142943), 3: np.float64(0.23029215171448542), 25: np.float64(0.09296428571436086), 97: np.float64(0.09296428571436086), 62: np.float64(0.09296428571436086), 0: np.float64(0.09296428571436086)}
err dic= {4: np.float64(0.0229191982833582), 5: np.float64(0.06023009628857057), 3: np.float64(0.020707848285514585), 25: np.float64(0.04903571428563913), 97: np.float64(0.04696428571436086), 62: np.float64(0.043964285714360854), 0: np.float64(0.061964285714360856)} 

err list= [np.float64(0.0229191982833582), np.float64(0.06023009628857057), np.float64(0.020707848285514585), np.float64(0.04903571428563913), np.float64(0.04696428571436086), np.float64(0.043964285714360854), np.float64(0.061964285714360856)]
results for assortment [4, 5, 3, 25, 97, 62] :

beta is  0.5 

learned probs for this beta: {4: np.float64(0.2197823303245126), 5: np.float64(0.158037846050913), 3: np.float64(0.2503226807674317), 25: np.float64(0.09296428571428572), 97: np.float64(0.09296428571428572), 62: np.float64(0.09296428571428572), 0: np.float64(0.09296428571428572)}
err dic= {4: np.float64(0.01921766967548738), 5: np.float64(0.08396215394908699), 3: np.float64(0.0006773192325683075), 25: np.float64(0.049035714285714266), 97: np.float64(0.04696428571428572), 62: np.float64(0.04396428571428572), 0: np.float64(0.06196428571428572)} 

err list= [np.float64(0.01921766967548738), np.float64(0.08396215394908699), np.float64(0.0006773192325683075), np.float64(0.049035714285714266), np.float64(0.04696428571428572), np.float64(0.04396428571428572), np.float64(0.06196428571428572)]
results for assortment [4, 5, 3, 25, 97, 62] :

beta is  0.75 

learned probs for this beta: {4: np.float64(0.22076287991321697), 5: np.float64(0.13892616098034558), 3: np.float64(0.26845381624929465), 25: np.float64(0.09296428571428572), 97: np.float64(0.09296428571428572), 62: np.float64(0.09296428571428572), 0: np.float64(0.09296428571428572)}
err dic= {4: np.float64(0.01823712008678302), 5: np.float64(0.10307383901965442), 3: np.float64(0.01745381624929465), 25: np.float64(0.049035714285714266), 97: np.float64(0.04696428571428572), 62: np.float64(0.04396428571428572), 0: np.float64(0.06196428571428572)} 

err list= [np.float64(0.01823712008678302), np.float64(0.10307383901965442), np.float64(0.01745381624929465), np.float64(0.049035714285714266), np.float64(0.04696428571428572), np.float64(0.04396428571428572), np.float64(0.06196428571428572)]
results for assortment [4, 5, 3, 25, 97, 62] :

beta is  1 

learned probs for this beta: {4: np.float64(0.2196459277327362), 5: np.float64(0.1244074633940411), 3: np.float64(0.2840894660160799), 25: np.float64(0.09296428571428572), 97: np.float64(0.09296428571428572), 62: np.float64(0.09296428571428572), 0: np.float64(0.09296428571428572)}
err dic= {4: np.float64(0.019354072267263794), 5: np.float64(0.11759253660595889), 3: np.float64(0.03308946601607987), 25: np.float64(0.049035714285714266), 97: np.float64(0.04696428571428572), 62: np.float64(0.04396428571428572), 0: np.float64(0.06196428571428572)} 

err list= [np.float64(0.019354072267263794), np.float64(0.11759253660595889), np.float64(0.03308946601607987), np.float64(0.049035714285714266), np.float64(0.04696428571428572), np.float64(0.04396428571428572), np.float64(0.06196428571428572)]
results for assortment [4, 5, 3, 25, 97, 62] :

beta is  1.25 

learned probs for this beta: {4: np.float64(0.21716828809105118), 5: np.float64(0.11391153072808938), 3: np.float64(0.2970630383237165), 25: np.float64(0.09296428571428572), 97: np.float64(0.09296428571428572), 62: np.float64(0.09296428571428572), 0: np.float64(0.09296428571428572)}
err dic= {4: np.float64(0.02183171190894881), 5: np.float64(0.12808846927191062), 3: np.float64(0.0460630383237165), 25: np.float64(0.049035714285714266), 97: np.float64(0.04696428571428572), 62: np.float64(0.04396428571428572), 0: np.float64(0.06196428571428572)} 

err list= [np.float64(0.02183171190894881), np.float64(0.12808846927191062), np.float64(0.0460630383237165), np.float64(0.049035714285714266), np.float64(0.04696428571428572), np.float64(0.04396428571428572), np.float64(0.06196428571428572)]
results for assortment [4, 5, 3, 25, 97, 62] :

err MNL dic= {4: 0.239, 5: 0.242, 3: 0.251, 25: 0.142, 97: 0.046, 62: 0.049, 0: np.float64(0.42420379722193524)} 

err MNL list= [0.239, 0.242, 0.251, 0.142, 0.046, 0.049, np.float64(0.42420379722193524)]
sampled assortment [3, 4, 2, 46, 30, 53] number: 7
#  Learning probs for MM model, A = [3, 4, 2, 46, 30, 53]
#cluster  3 with weight 0.098
Learned cluster center of cluster 3:  {3: 1, 4: 0, 5: 1, 6: 1, 7: 2, 8: 1, 9: 0, 10: 6, 14: 5, 19: 5, 100: 3} [4, 9, 3, 5, 6, 8, 7, 100, 14, 19, 10]
#cluster  1 with weight 0.65075
Learned cluster center of cluster 1:  {2: 0, 3: 0, 6: 0, 7: 0, 10: 0, 100: 0} [2, 3, 6, 7, 10, 100]
#cluster  2 with weight 0.25125
Learned cluster center of cluster 2:  {1: 0, 2: 1, 3: 1, 5: 1, 6: 1, 8: 1, 11: 1, 14: 1, 100: 1} [1, 2, 3, 5, 6, 8, 11, 14, 100]
#  Learning probs for MM model, A = [3, 4, 2, 46, 30, 53]
#cluster  3 with weight 0.098
Learned cluster center of cluster 3:  {2: 3, 3: 1, 4: 0, 5: 1, 6: 1, 7: 1, 8: 1, 9: 1, 11: 5, 15: 5} [4, 3, 5, 6, 7, 8, 9, 2, 11, 15]
#cluster  1 with weight 0.65075
Learned cluster center of cluster 1:  {2: 0, 3: 0, 7: 0, 10: 0, 100: 0} [2, 3, 7, 10, 100]
#cluster  2 with weight 0.25125
Learned cluster center of cluster 2:  {1: 0, 2: 1, 3: 1, 4: 1, 5: 1, 8: 1, 10: 1, 11: 1, 100: 1} [1, 2, 3, 4, 5, 8, 10, 11, 100]
empirical probabilities from test set: {3: 0.228, 4: 0.226, 2: 0.252, 46: 0.071, 30: 0.104, 53: 0.074, 0: 0.045}
results for assortment [3, 4, 2, 46, 30, 53] :

beta is  0.025 

learned probs for this beta: {3: np.float64(0.3090544464658591), 4: np.float64(0.14436498482989815), 2: np.float64(0.3127615174185455), 46: np.float64(0.05845476282142432), 30: np.float64(0.05845476282142432), 53: np.float64(0.05845476282142432), 0: np.float64(0.05845476282142432)}
err dic= {3: np.float64(0.0810544464658591), 4: np.float64(0.08163501517010185), 2: np.float64(0.06076151741854552), 46: np.float64(0.012545237178575676), 30: np.float64(0.04554523717857568), 53: np.float64(0.015545237178575678), 0: np.float64(0.01345476282142432)} 

err list= [np.float64(0.0810544464658591), np.float64(0.08163501517010185), np.float64(0.06076151741854552), np.float64(0.012545237178575676), np.float64(0.04554523717857568), np.float64(0.015545237178575678), np.float64(0.01345476282142432)]
results for assortment [3, 4, 2, 46, 30, 53] :

beta is  0.05 

learned probs for this beta: {3: np.float64(0.42615084968510303), 4: np.float64(0.11759010376001154), 2: np.float64(0.43897476530591295), 46: np.float64(0.004321070312243106), 30: np.float64(0.004321070312243106), 53: np.float64(0.004321070312243106), 0: np.float64(0.004321070312243106)}
err dic= {3: np.float64(0.19815084968510302), 4: np.float64(0.10840989623998847), 2: np.float64(0.18697476530591295), 46: np.float64(0.06667892968775689), 30: np.float64(0.09967892968775689), 53: np.float64(0.0696789296877569), 0: np.float64(0.040678929687756896)} 

err list= [np.float64(0.19815084968510302), np.float64(0.10840989623998847), np.float64(0.18697476530591295), np.float64(0.06667892968775689), np.float64(0.09967892968775689), np.float64(0.0696789296877569), np.float64(0.040678929687756896)]
results for assortment [3, 4, 2, 46, 30, 53] :

beta is  0.1 

learned probs for this beta: {3: np.float64(0.42858293083233395), 4: np.float64(0.11532816252714542), 2: np.float64(0.4560454841244591), 46: np.float64(1.0855629015419575e-05), 30: np.float64(1.0855629015419575e-05), 53: np.float64(1.0855629015419575e-05), 0: np.float64(1.0855629015419575e-05)}
err dic= {3: np.float64(0.20058293083233394), 4: np.float64(0.11067183747285458), 2: np.float64(0.2040454841244591), 46: np.float64(0.07098914437098458), 30: np.float64(0.10398914437098458), 53: np.float64(0.07398914437098458), 0: np.float64(0.04498914437098458)} 

err list= [np.float64(0.20058293083233394), np.float64(0.11067183747285458), np.float64(0.2040454841244591), np.float64(0.07098914437098458), np.float64(0.10398914437098458), np.float64(0.07398914437098458), np.float64(0.04498914437098458)]
results for assortment [3, 4, 2, 46, 30, 53] :

beta is  0.25 

learned probs for this beta: {3: np.float64(0.40508004482989557), 4: np.float64(0.11285208847484585), 2: np.float64(0.4820678666947796), 46: np.float64(1.1968848285687866e-13), 30: np.float64(1.1968848285687866e-13), 53: np.float64(1.1968848285687866e-13), 0: np.float64(1.1968848285687866e-13)}
err dic= {3: np.float64(0.17708004482989556), 4: np.float64(0.11314791152515416), 2: np.float64(0.23006786669477958), 46: np.float64(0.07099999999988031), 30: np.float64(0.10399999999988031), 53: np.float64(0.07399999999988031), 0: np.float64(0.04499999999988031)} 

err list= [np.float64(0.17708004482989556), np.float64(0.11314791152515416), np.float64(0.23006786669477958), np.float64(0.07099999999988031), np.float64(0.10399999999988031), np.float64(0.07399999999988031), np.float64(0.04499999999988031)]
results for assortment [3, 4, 2, 46, 30, 53] :

beta is  0.5 

learned probs for this beta: {3: np.float64(0.35890470327062235), 4: np.float64(0.10622904586474707), 2: np.float64(0.5348662508646307), 46: np.float64(6.486796628589736e-27), 30: np.float64(6.486796628589736e-27), 53: np.float64(6.486796628589736e-27), 0: np.float64(6.486796628589736e-27)}
err dic= {3: np.float64(0.13090470327062234), 4: np.float64(0.11977095413525293), 2: np.float64(0.2828662508646307), 46: np.float64(0.071), 30: np.float64(0.104), 53: np.float64(0.074), 0: np.float64(0.045)} 

err list= [np.float64(0.13090470327062234), np.float64(0.11977095413525293), np.float64(0.2828662508646307), np.float64(0.071), np.float64(0.104), np.float64(0.074), np.float64(0.045)]
results for assortment [3, 4, 2, 46, 30, 53] :

beta is  0.75 

learned probs for this beta: {3: np.float64(0.3100553992874458), 4: np.float64(0.09928999780587335), 2: np.float64(0.5906546029066807), 46: np.float64(3.6883802557308985e-40), 30: np.float64(3.6883802557308985e-40), 53: np.float64(3.6883802557308985e-40), 0: np.float64(3.6883802557308985e-40)}
err dic= {3: np.float64(0.08205539928744579), 4: np.float64(0.12671000219412665), 2: np.float64(0.3386546029066807), 46: np.float64(0.071), 30: np.float64(0.104), 53: np.float64(0.074), 0: np.float64(0.045)} 

err list= [np.float64(0.08205539928744579), np.float64(0.12671000219412665), np.float64(0.3386546029066807), np.float64(0.071), np.float64(0.104), np.float64(0.074), np.float64(0.045)]
results for assortment [3, 4, 2, 46, 30, 53] :

beta is  1 

learned probs for this beta: {3: np.float64(0.2628341559479573), 4: np.float64(0.0941993313388615), 2: np.float64(0.6429665127131814), 46: np.float64(2.2742355563616946e-53), 30: np.float64(2.2742355563616946e-53), 53: np.float64(2.2742355563616946e-53), 0: np.float64(2.2742355563616946e-53)}
err dic= {3: np.float64(0.034834155947957274), 4: np.float64(0.1318006686611385), 2: np.float64(0.3909665127131814), 46: np.float64(0.071), 30: np.float64(0.104), 53: np.float64(0.074), 0: np.float64(0.045)} 

err list= [np.float64(0.034834155947957274), np.float64(0.1318006686611385), np.float64(0.3909665127131814), np.float64(0.071), np.float64(0.104), np.float64(0.074), np.float64(0.045)]
results for assortment [3, 4, 2, 46, 30, 53] :

beta is  1.25 

learned probs for this beta: {3: np.float64(0.21934072798347856), 4: np.float64(0.09123277040300452), 2: np.float64(0.6894265016135168), 46: np.float64(1.5215672469271972e-66), 30: np.float64(1.5215672469271972e-66), 53: np.float64(1.5215672469271972e-66), 0: np.float64(1.5215672469271972e-66)}
err dic= {3: np.float64(0.008659272016521447), 4: np.float64(0.1347672295969955), 2: np.float64(0.4374265016135168), 46: np.float64(0.071), 30: np.float64(0.104), 53: np.float64(0.074), 0: np.float64(0.045)} 

err list= [np.float64(0.008659272016521447), np.float64(0.1347672295969955), np.float64(0.4374265016135168), np.float64(0.071), np.float64(0.104), np.float64(0.074), np.float64(0.045)]
results for assortment [3, 4, 2, 46, 30, 53] :

err MNL dic= {3: 0.228, 4: 0.226, 2: 0.252, 46: 0.071, 30: 0.104, 53: 0.074, 0: np.float64(0.4057194626876114)} 

err MNL list= [0.228, 0.226, 0.252, 0.071, 0.104, 0.074, np.float64(0.4057194626876114)]
sampled assortment [4, 1, 6, 78, 10, 30] number: 8
#  Learning probs for MM model, A = [4, 1, 6, 78, 10, 30]
#cluster  3 with weight 0.098
Learned cluster center of cluster 3:  {3: 1, 4: 0, 5: 1, 6: 1, 7: 1, 8: 1, 9: 1, 10: 6, 12: 6, 16: 6, 17: 6, 100: 3} [4, 3, 5, 6, 7, 8, 9, 100, 10, 12, 16, 17]
#cluster  1 with weight 0.65075
Learned cluster center of cluster 1:  {2: 0, 6: 0, 7: 0, 10: 0, 100: 0} [2, 6, 7, 10, 100]
#cluster  2 with weight 0.25125
Learned cluster center of cluster 2:  {1: 0, 2: 1, 3: 1, 4: 1, 5: 1, 7: 1, 8: 1, 10: 1, 11: 1, 13: 1, 18: 1, 100: 1} [1, 2, 3, 4, 5, 7, 8, 10, 11, 13, 18, 100]
#  Learning probs for MM model, A = [4, 1, 6, 78, 10, 30]
#cluster  3 with weight 0.098
Learned cluster center of cluster 3:  {3: 1, 4: 0, 5: 1, 6: 1, 7: 1, 9: 1, 12: 6} [4, 3, 5, 6, 7, 9, 12]
#cluster  1 with weight 0.65075
Learned cluster center of cluster 1:  {2: 0, 6: 0, 7: 0, 10: 0, 100: 0} [2, 6, 7, 10, 100]
#cluster  2 with weight 0.25125
Learned cluster center of cluster 2:  {1: 0, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1, 8: 1, 10: 1, 11: 1, 12: 1, 15: 1, 100: 1} [1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 15, 100]
empirical probabilities from test set: {4: 0.208, 1: 0.215, 6: 0.209, 78: 0.048, 10: 0.195, 30: 0.094, 0: 0.031}
results for assortment [4, 1, 6, 78, 10, 30] :

beta is  0.025 

learned probs for this beta: {4: np.float64(0.14082748718836213), 1: np.float64(0.11591692834448852), 6: np.float64(0.3021331904223446), 78: np.float64(0.05923193898875129), 10: np.float64(0.2634265770785522), 30: np.float64(0.05923193898875129), 0: np.float64(0.05923193898875129)}
err dic= {4: np.float64(0.06717251281163786), 1: np.float64(0.09908307165551147), 6: np.float64(0.09313319042234461), 78: np.float64(0.011231938988751286), 10: np.float64(0.06842657707855221), 30: np.float64(0.03476806101124871), 0: np.float64(0.028231938988751287)} 

err list= [np.float64(0.06717251281163786), np.float64(0.09908307165551147), np.float64(0.09313319042234461), np.float64(0.011231938988751286), np.float64(0.06842657707855221), np.float64(0.03476806101124871), np.float64(0.028231938988751287)]
results for assortment [4, 1, 6, 78, 10, 30] :

beta is  0.05 

learned probs for this beta: {4: np.float64(0.11802522070651808), 1: np.float64(0.07690510523245285), 6: np.float64(0.43342953713755944), 78: np.float64(0.004721300081135042), 10: np.float64(0.3574762366800651), 30: np.float64(0.004721300081135042), 0: np.float64(0.004721300081135042)}
err dic= {4: np.float64(0.08997477929348191), 1: np.float64(0.13809489476754716), 6: np.float64(0.22442953713755945), 78: np.float64(0.04327869991886496), 10: np.float64(0.1624762366800651), 30: np.float64(0.08927869991886496), 0: np.float64(0.02627869991886496)} 

err list= [np.float64(0.08997477929348191), np.float64(0.13809489476754716), np.float64(0.22442953713755945), np.float64(0.04327869991886496), np.float64(0.1624762366800651), np.float64(0.08927869991886496), np.float64(0.02627869991886496)]
results for assortment [4, 1, 6, 78, 10, 30] :

beta is  0.1 

learned probs for this beta: {4: np.float64(0.1204533382065336), 1: np.float64(0.08486006559541616), 6: np.float64(0.4506164219873866), 78: np.float64(1.1736843857967889e-05), 10: np.float64(0.34403496367909), 30: np.float64(1.1736843857967889e-05), 0: np.float64(1.1736843857967889e-05)}
err dic= {4: np.float64(0.08754666179346639), 1: np.float64(0.13013993440458382), 6: np.float64(0.24161642198738661), 78: np.float64(0.04798826315614203), 10: np.float64(0.14903496367908997), 30: np.float64(0.09398826315614203), 0: np.float64(0.030988263156142032)} 

err list= [np.float64(0.08754666179346639), np.float64(0.13013993440458382), np.float64(0.24161642198738661), np.float64(0.04798826315614203), np.float64(0.14903496367908997), np.float64(0.09398826315614203), np.float64(0.030988263156142032)]
results for assortment [4, 1, 6, 78, 10, 30] :

beta is  0.25 

learned probs for this beta: {4: np.float64(0.12744197216839515), 1: np.float64(0.12013145325928766), 6: np.float64(0.4682722913332493), 78: np.float64(1.4661876174727127e-13), 10: np.float64(0.28415428323862735), 30: np.float64(1.4661876174727127e-13), 0: np.float64(1.4661876174727127e-13)}
err dic= {4: np.float64(0.08055802783160484), 1: np.float64(0.09486854674071234), 6: np.float64(0.25927229133324936), 78: np.float64(0.04799999999985338), 10: np.float64(0.08915428323862734), 30: np.float64(0.09399999999985338), 0: np.float64(0.03099999999985338)} 

err list= [np.float64(0.08055802783160484), np.float64(0.09486854674071234), np.float64(0.25927229133324936), np.float64(0.04799999999985338), np.float64(0.08915428323862734), np.float64(0.09399999999985338), np.float64(0.03099999999985338)]
results for assortment [4, 1, 6, 78, 10, 30] :

beta is  0.5 

learned probs for this beta: {4: np.float64(0.12607594605361466), 1: np.float64(0.1720937935495359), 6: np.float64(0.4973751038663615), 78: np.float64(1.0047262939407052e-26), 10: np.float64(0.2044551565304881), 30: np.float64(1.0047262939407052e-26), 0: np.float64(1.0047262939407052e-26)}
err dic= {4: np.float64(0.08192405394638533), 1: np.float64(0.042906206450464085), 6: np.float64(0.28837510386636156), 78: np.float64(0.048), 10: np.float64(0.00945515653048809), 30: np.float64(0.094), 0: np.float64(0.031)} 

err list= [np.float64(0.08192405394638533), np.float64(0.042906206450464085), np.float64(0.28837510386636156), np.float64(0.048), np.float64(0.00945515653048809), np.float64(0.094), np.float64(0.031)]
results for assortment [4, 1, 6, 78, 10, 30] :

beta is  0.75 

learned probs for this beta: {4: np.float64(0.11787776325818489), 1: np.float64(0.2071435215346187), 6: np.float64(0.529284548477823), 78: np.float64(7.046749270575174e-40), 10: np.float64(0.1456941667293733), 30: np.float64(7.046749270575174e-40), 0: np.float64(7.046749270575174e-40)}
err dic= {4: np.float64(0.0901222367418151), 1: np.float64(0.00785647846538129), 6: np.float64(0.32028454847782306), 78: np.float64(0.048), 10: np.float64(0.04930583327062671), 30: np.float64(0.094), 0: np.float64(0.031)} 

err list= [np.float64(0.0901222367418151), np.float64(0.00785647846538129), np.float64(0.32028454847782306), np.float64(0.048), np.float64(0.04930583327062671), np.float64(0.094), np.float64(0.031)]
results for assortment [4, 1, 6, 78, 10, 30] :

beta is  1 

learned probs for this beta: {4: np.float64(0.11011361774409692), 1: np.float64(0.2276750364839079), 6: np.float64(0.5603852388374841), 78: np.float64(5.006888862374685e-53), 10: np.float64(0.10182610693451111), 30: np.float64(5.006888862374685e-53), 0: np.float64(5.006888862374685e-53)}
err dic= {4: np.float64(0.09788638225590307), 1: np.float64(0.012675036483907914), 6: np.float64(0.3513852388374842), 78: np.float64(0.048), 10: np.float64(0.0931738930654889), 30: np.float64(0.094), 0: np.float64(0.031)} 

err list= [np.float64(0.09788638225590307), np.float64(0.012675036483907914), np.float64(0.3513852388374842), np.float64(0.048), np.float64(0.0931738930654889), np.float64(0.094), np.float64(0.031)]
results for assortment [4, 1, 6, 78, 10, 30] :

beta is  1.25 

learned probs for this beta: {4: np.float64(0.10478677205280419), 1: np.float64(0.23897198712383377), 6: np.float64(0.5867903752756498), 78: np.float64(3.5863177714286767e-66), 10: np.float64(0.06945086554771202), 30: np.float64(3.5863177714286767e-66), 0: np.float64(3.5863177714286767e-66)}
err dic= {4: np.float64(0.1032132279471958), 1: np.float64(0.023971987123833777), 6: np.float64(0.37779037527564985), 78: np.float64(0.048), 10: np.float64(0.125549134452288), 30: np.float64(0.094), 0: np.float64(0.031)} 

err list= [np.float64(0.1032132279471958), np.float64(0.023971987123833777), np.float64(0.37779037527564985), np.float64(0.048), np.float64(0.125549134452288), np.float64(0.094), np.float64(0.031)]
results for assortment [4, 1, 6, 78, 10, 30] :

err MNL dic= {4: 0.208, 1: 0.215, 6: 0.209, 78: 0.048, 10: 0.195, 30: 0.094, 0: np.float64(0.41468198385233035)} 

err MNL list= [0.208, 0.215, 0.209, 0.048, 0.195, 0.094, np.float64(0.41468198385233035)]
sampled assortment [1, 6, 3, 19, 40, 59] number: 9
#  Learning probs for MM model, A = [1, 6, 3, 19, 40, 59]
#cluster  3 with weight 0.098
Learned cluster center of cluster 3:  {3: 1, 4: 0, 5: 1, 6: 1, 7: 1, 8: 1, 9: 1, 11: 6, 16: 6, 100: 4} [4, 3, 5, 6, 7, 8, 9, 100, 11, 16]
#cluster  1 with weight 0.65075
Learned cluster center of cluster 1:  {2: 0, 3: 0, 5: 0, 6: 0, 7: 0, 8: 0, 10: 0, 100: 0} [2, 3, 5, 6, 7, 8, 10, 100]
#cluster  2 with weight 0.25125
Learned cluster center of cluster 2:  {1: 0, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1, 8: 1, 10: 1, 11: 1, 12: 1, 13: 1, 100: 1} [1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 100]
#  Learning probs for MM model, A = [1, 6, 3, 19, 40, 59]
#cluster  3 with weight 0.098
Learned cluster center of cluster 3:  {3: 1, 4: 0, 5: 1, 6: 1, 7: 1, 8: 1, 9: 0, 11: 6, 12: 6, 14: 5} [4, 9, 3, 5, 6, 7, 8, 14, 11, 12]
#cluster  1 with weight 0.65075
Learned cluster center of cluster 1:  {2: 0, 3: 0, 5: 0, 7: 0, 100: 0} [2, 3, 5, 7, 100]
#cluster  2 with weight 0.25125
Learned cluster center of cluster 2:  {1: 0, 2: 1, 3: 1, 4: 1, 5: 1, 8: 1, 9: 1, 11: 1, 12: 1, 13: 1, 14: 1, 100: 1} [1, 2, 3, 4, 5, 8, 9, 11, 12, 13, 14, 100]
empirical probabilities from test set: {1: 0.214, 6: 0.21, 3: 0.201, 19: 0.209, 40: 0.06, 59: 0.062, 0: 0.044}
results for assortment [1, 6, 3, 19, 40, 59] :

beta is  0.025 

learned probs for this beta: {1: np.float64(0.16712361476727783), 6: np.float64(0.11270243717211728), 3: np.float64(0.3860679362438346), 19: np.float64(0.083526502954193), 40: np.float64(0.083526502954193), 59: np.float64(0.083526502954193), 0: np.float64(0.083526502954193)}
err dic= {1: np.float64(0.04687638523272217), 6: np.float64(0.09729756282788271), 3: np.float64(0.1850679362438346), 19: np.float64(0.125473497045807), 40: np.float64(0.023526502954193007), 59: np.float64(0.021526502954193005), 0: np.float64(0.03952650295419301)} 

err list= [np.float64(0.04687638523272217), np.float64(0.09729756282788271), np.float64(0.1850679362438346), np.float64(0.125473497045807), np.float64(0.023526502954193007), np.float64(0.021526502954193005), np.float64(0.03952650295419301)]
results for assortment [1, 6, 3, 19, 40, 59] :

beta is  0.05 

learned probs for this beta: {1: np.float64(0.14393152871736484), 6: np.float64(0.06329319837905095), 3: np.float64(0.7191099280861469), 19: np.float64(0.01841633620435943), 40: np.float64(0.01841633620435943), 59: np.float64(0.01841633620435943), 0: np.float64(0.01841633620435943)}
err dic= {1: np.float64(0.07006847128263516), 6: np.float64(0.14670680162094904), 3: np.float64(0.518109928086147), 19: np.float64(0.19058366379564057), 40: np.float64(0.04158366379564057), 59: np.float64(0.04358366379564057), 0: np.float64(0.025583663795640567)} 

err list= [np.float64(0.07006847128263516), np.float64(0.14670680162094904), np.float64(0.518109928086147), np.float64(0.19058366379564057), np.float64(0.04158366379564057), np.float64(0.04358366379564057), np.float64(0.025583663795640567)]
results for assortment [1, 6, 3, 19, 40, 59] :

beta is  0.1 

learned probs for this beta: {1: np.float64(0.1361182532181954), 6: np.float64(0.044987716399715466), 3: np.float64(0.8186160559453347), 19: np.float64(6.949360918863622e-05), 40: np.float64(6.949360918863622e-05), 59: np.float64(6.949360918863622e-05), 0: np.float64(6.949360918863622e-05)}
err dic= {1: np.float64(0.0778817467818046), 6: np.float64(0.16501228360028453), 3: np.float64(0.6176160559453348), 19: np.float64(0.20893050639081134), 40: np.float64(0.059930506390811364), 59: np.float64(0.061930506390811366), 0: np.float64(0.043930506390811364)} 

err list= [np.float64(0.0778817467818046), np.float64(0.16501228360028453), np.float64(0.6176160559453348), np.float64(0.20893050639081134), np.float64(0.059930506390811364), np.float64(0.061930506390811366), np.float64(0.043930506390811364)]
results for assortment [1, 6, 3, 19, 40, 59] :

beta is  0.25 

learned probs for this beta: {1: np.float64(0.1514477810815871), 6: np.float64(0.038927830663675674), 3: np.float64(0.8096243882513071), 19: np.float64(8.574435735870329e-13), 40: np.float64(8.574435735870329e-13), 59: np.float64(8.574435735870329e-13), 0: np.float64(8.574435735870329e-13)}
err dic= {1: np.float64(0.0625522189184129), 6: np.float64(0.17107216933632433), 3: np.float64(0.6086243882513072), 19: np.float64(0.20899999999914254), 40: np.float64(0.05999999999914255), 59: np.float64(0.061999999999142553), 0: np.float64(0.04399999999914255)} 

err list= [np.float64(0.0625522189184129), np.float64(0.17107216933632433), np.float64(0.6086243882513072), np.float64(0.20899999999914254), np.float64(0.05999999999914255), np.float64(0.061999999999142553), np.float64(0.04399999999914255)]
results for assortment [1, 6, 3, 19, 40, 59] :

beta is  0.5 

learned probs for this beta: {1: np.float64(0.17529645582777295), 6: np.float64(0.029625661010460724), 3: np.float64(0.7950778831617665), 19: np.float64(5.647334580323222e-26), 40: np.float64(5.647334580323222e-26), 59: np.float64(5.647334580323222e-26), 0: np.float64(5.647334580323222e-26)}
err dic= {1: np.float64(0.038703544172227045), 6: np.float64(0.18037433898953928), 3: np.float64(0.5940778831617666), 19: np.float64(0.209), 40: np.float64(0.06), 59: np.float64(0.062), 0: np.float64(0.044)} 

err list= [np.float64(0.038703544172227045), np.float64(0.18037433898953928), np.float64(0.5940778831617666), np.float64(0.209), np.float64(0.06), np.float64(0.062), np.float64(0.044)]
results for assortment [1, 6, 3, 19, 40, 59] :

beta is  0.75 

learned probs for this beta: {1: np.float64(0.1957281009802945), 6: np.float64(0.021656302901218484), 3: np.float64(0.7826155961184871), 19: np.float64(3.789175207331818e-39), 40: np.float64(3.789175207331818e-39), 59: np.float64(3.789175207331818e-39), 0: np.float64(3.789175207331818e-39)}
err dic= {1: np.float64(0.018271899019705495), 6: np.float64(0.18834369709878152), 3: np.float64(0.581615596118487), 19: np.float64(0.209), 40: np.float64(0.06), 59: np.float64(0.062), 0: np.float64(0.044)} 

err list= [np.float64(0.018271899019705495), np.float64(0.18834369709878152), np.float64(0.581615596118487), np.float64(0.209), np.float64(0.06), np.float64(0.062), np.float64(0.044)]
results for assortment [1, 6, 3, 19, 40, 59] :

beta is  1 

learned probs for this beta: {1: np.float64(0.21209314074857719), 6: np.float64(0.015273123210505222), 3: np.float64(0.7726337360409177), 19: np.float64(2.608109649404832e-52), 40: np.float64(2.608109649404832e-52), 59: np.float64(2.608109649404832e-52), 0: np.float64(2.608109649404832e-52)}
err dic= {1: np.float64(0.00190685925142281), 6: np.float64(0.19472687678949477), 3: np.float64(0.5716337360409176), 19: np.float64(0.209), 40: np.float64(0.06), 59: np.float64(0.062), 0: np.float64(0.044)} 

err list= [np.float64(0.00190685925142281), np.float64(0.19472687678949477), np.float64(0.5716337360409176), np.float64(0.209), np.float64(0.06), np.float64(0.062), np.float64(0.044)]
results for assortment [1, 6, 3, 19, 40, 59] :

beta is  1.25 

learned probs for this beta: {1: np.float64(0.22446712001911184), 6: np.float64(0.01044665567413743), 3: np.float64(0.7650862243067507), 19: np.float64(1.8584292678004183e-65), 40: np.float64(1.8584292678004183e-65), 59: np.float64(1.8584292678004183e-65), 0: np.float64(1.8584292678004183e-65)}
err dic= {1: np.float64(0.010467120019111847), 6: np.float64(0.19955334432586255), 3: np.float64(0.5640862243067506), 19: np.float64(0.209), 40: np.float64(0.06), 59: np.float64(0.062), 0: np.float64(0.044)} 

err list= [np.float64(0.010467120019111847), np.float64(0.19955334432586255), np.float64(0.5640862243067506), np.float64(0.209), np.float64(0.06), np.float64(0.062), np.float64(0.044)]
results for assortment [1, 6, 3, 19, 40, 59] :

err MNL dic= {1: 0.214, 6: 0.21, 3: 0.201, 19: 0.209, 40: 0.06, 59: 0.062, 0: np.float64(0.4057883947721806)} 

err MNL list= [0.214, 0.21, 0.201, 0.209, 0.06, 0.062, np.float64(0.4057883947721806)]
****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.07704213 0.11253677 0.13384509 0.14385699 0.1490329  0.15189006
 0.15352347 0.1548528 ]
mean_std= [0.         0.03549464 0.04180911 0.04014618 0.03737021 0.03470727
 0.03238082 0.03049299]
MNL: [0.19487795 0.19596523 0.19538034 0.19291607 0.1974939  0.19524741
 0.19902911 0.19438849 0.19766885 0.1945412 ]
 mean error for MNL:

mean_err_MNL= 0.19575085639202844
mean_std_MNL= 0.0017325659379468826
