p= 5 num clusters= 3
linkage completed in  10.737144947052002
silhouette_score of the clusters 0.0023222431733978116
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.24575
Learned cluster center of cluster 3:  {1: 2, 2: 2, 3: 0, 4: 0, 5: 2, 6: 2, 7: 3, 8: 0, 9: 2, 11: 2, 14: 3, 24: 4, 100: 1} [3, 4, 8, 100, 1, 2, 5, 6, 9, 11, 7, 14, 24]
#cluster  1 with weight 0.658
Learned cluster center of cluster 1:  {1: 0, 5: 0, 12: 0, 100: 0} [1, 5, 12, 100]
#cluster  2 with weight 0.09625
Learned cluster center of cluster 2:  {2: 0, 5: 5, 6: 1, 7: 1, 8: 1, 10: 1, 11: 2, 17: 4, 18: 6, 100: 2} [2, 6, 7, 8, 10, 11, 100, 17, 5, 18]
#  Learning probs for MM model, A = [2, 3, 4, 59, 40, 84]
#cluster  3 with weight 0.24575
Learned cluster center of cluster 3:  {1: 3, 2: 2, 3: 0, 4: 0, 5: 2, 6: 2, 8: 1, 9: 2, 11: 3, 12: 4, 14: 3, 100: 0} [3, 4, 100, 8, 2, 5, 6, 9, 1, 11, 14, 12]
#cluster  1 with weight 0.658
Learned cluster center of cluster 1:  {1: 0, 5: 0, 6: 0, 10: 0, 13: 0} [1, 5, 6, 10, 13]
#cluster  2 with weight 0.09625
Learned cluster center of cluster 2:  {1: 4, 2: 0, 5: 5, 6: 1, 7: 1, 8: 1, 10: 1, 11: 3, 14: 6, 17: 6, 100: 1} [2, 6, 7, 8, 10, 100, 11, 1, 5, 14, 17]
empirical probabilities from test set: {2: 0.269, 3: 0.246, 4: 0.252, 59: 0.079, 40: 0.074, 84: 0.046, 0: 0.034}
results for assortment [2, 3, 4, 59, 40, 84] :

beta is  0.025 

learned probs for this beta: {2: np.float64(0.2679521741062857), 3: np.float64(0.17900281975811874), 4: np.float64(0.17690469159812844), 59: np.float64(0.0940350786343667), 40: np.float64(0.0940350786343667), 84: np.float64(0.0940350786343667), 0: np.float64(0.0940350786343667)}
err dic= {2: np.float64(0.001047825893714327), 3: np.float64(0.06699718024188125), 4: np.float64(0.07509530840187156), 59: np.float64(0.015035078634366705), 40: np.float64(0.02003507863436671), 84: np.float64(0.04803507863436671), 0: np.float64(0.060035078634366704)} 

err list= [np.float64(0.001047825893714327), np.float64(0.06699718024188125), np.float64(0.07509530840187156), np.float64(0.015035078634366705), np.float64(0.02003507863436671), np.float64(0.04803507863436671), np.float64(0.060035078634366704)]
results for assortment [2, 3, 4, 59, 40, 84] :

beta is  0.05 

learned probs for this beta: {2: np.float64(0.2641432118920397), 3: np.float64(0.18207615551377668), 4: np.float64(0.17778063073691833), 59: np.float64(0.09400000046431634), 40: np.float64(0.09400000046431634), 84: np.float64(0.09400000046431634), 0: np.float64(0.09400000046431634)}
err dic= {2: np.float64(0.004856788107960308), 3: np.float64(0.06392384448622332), 4: np.float64(0.07421936926308167), 59: np.float64(0.015000000464316335), 40: np.float64(0.02000000046431634), 84: np.float64(0.048000000464316336), 0: np.float64(0.06000000046431633)} 

err list= [np.float64(0.004856788107960308), np.float64(0.06392384448622332), np.float64(0.07421936926308167), np.float64(0.015000000464316335), np.float64(0.02000000046431634), np.float64(0.048000000464316336), np.float64(0.06000000046431633)]
results for assortment [2, 3, 4, 59, 40, 84] :

beta is  0.1 

learned probs for this beta: {2: np.float64(0.2564975712139765), 3: np.float64(0.18823503921458298), 4: np.float64(0.17926738957144067), 59: np.float64(0.094), 40: np.float64(0.094), 84: np.float64(0.094), 0: np.float64(0.094)}
err dic= {2: np.float64(0.012502428786023534), 3: np.float64(0.05776496078541701), 4: np.float64(0.07273261042855933), 59: np.float64(0.015), 40: np.float64(0.020000000000000004), 84: np.float64(0.048), 0: np.float64(0.06)} 

err list= [np.float64(0.012502428786023534), np.float64(0.05776496078541701), np.float64(0.07273261042855933), np.float64(0.015), np.float64(0.020000000000000004), np.float64(0.048), np.float64(0.06)]
results for assortment [2, 3, 4, 59, 40, 84] :

beta is  0.25 

learned probs for this beta: {2: np.float64(0.23630128663970376), 3: np.float64(0.20626592390828727), 4: np.float64(0.1814327894520089), 59: np.float64(0.094), 40: np.float64(0.094), 84: np.float64(0.094), 0: np.float64(0.094)}
err dic= {2: np.float64(0.032698713360296255), 3: np.float64(0.03973407609171273), 4: np.float64(0.07056721054799109), 59: np.float64(0.015), 40: np.float64(0.020000000000000004), 84: np.float64(0.048), 0: np.float64(0.06)} 

err list= [np.float64(0.032698713360296255), np.float64(0.03973407609171273), np.float64(0.07056721054799109), np.float64(0.015), np.float64(0.020000000000000004), np.float64(0.048), np.float64(0.06)]
results for assortment [2, 3, 4, 59, 40, 84] :

beta is  0.5 

learned probs for this beta: {2: np.float64(0.21276989910604077), 3: np.float64(0.23295165930657646), 4: np.float64(0.1782784415873829), 59: np.float64(0.094), 40: np.float64(0.094), 84: np.float64(0.094), 0: np.float64(0.094)}
err dic= {2: np.float64(0.056230100893959245), 3: np.float64(0.013048340693423532), 4: np.float64(0.0737215584126171), 59: np.float64(0.015), 40: np.float64(0.020000000000000004), 84: np.float64(0.048), 0: np.float64(0.06)} 

err list= [np.float64(0.056230100893959245), np.float64(0.013048340693423532), np.float64(0.0737215584126171), np.float64(0.015), np.float64(0.020000000000000004), np.float64(0.048), np.float64(0.06)]
results for assortment [2, 3, 4, 59, 40, 84] :

beta is  0.75 

learned probs for this beta: {2: np.float64(0.20012568653213375), 3: np.float64(0.25420080938999434), 4: np.float64(0.169673504077872), 59: np.float64(0.094), 40: np.float64(0.094), 84: np.float64(0.094), 0: np.float64(0.094)}
err dic= {2: np.float64(0.06887431346786627), 3: np.float64(0.008200809389994346), 4: np.float64(0.08232649592212801), 59: np.float64(0.015), 40: np.float64(0.020000000000000004), 84: np.float64(0.048), 0: np.float64(0.06)} 

err list= [np.float64(0.06887431346786627), np.float64(0.008200809389994346), np.float64(0.08232649592212801), np.float64(0.015), np.float64(0.020000000000000004), np.float64(0.048), np.float64(0.06)]
results for assortment [2, 3, 4, 59, 40, 84] :

beta is  1 

learned probs for this beta: {2: np.float64(0.19426985308438272), 3: np.float64(0.2707188976161534), 4: np.float64(0.15901124929946386), 59: np.float64(0.094), 40: np.float64(0.094), 84: np.float64(0.094), 0: np.float64(0.094)}
err dic= {2: np.float64(0.0747301469156173), 3: np.float64(0.024718897616153424), 4: np.float64(0.09298875070053614), 59: np.float64(0.015), 40: np.float64(0.020000000000000004), 84: np.float64(0.048), 0: np.float64(0.06)} 

err list= [np.float64(0.0747301469156173), np.float64(0.024718897616153424), np.float64(0.09298875070053614), np.float64(0.015), np.float64(0.020000000000000004), np.float64(0.048), np.float64(0.06)]
results for assortment [2, 3, 4, 59, 40, 84] :

beta is  1.25 

learned probs for this beta: {2: np.float64(0.19181275460570674), 3: np.float64(0.28380671194561424), 4: np.float64(0.14838053344867883), 59: np.float64(0.094), 40: np.float64(0.094), 84: np.float64(0.094), 0: np.float64(0.094)}
err dic= {2: np.float64(0.07718724539429328), 3: np.float64(0.037806711945614246), 4: np.float64(0.10361946655132118), 59: np.float64(0.015), 40: np.float64(0.020000000000000004), 84: np.float64(0.048), 0: np.float64(0.06)} 

err list= [np.float64(0.07718724539429328), np.float64(0.037806711945614246), np.float64(0.10361946655132118), np.float64(0.015), np.float64(0.020000000000000004), np.float64(0.048), np.float64(0.06)]
results for assortment [2, 3, 4, 59, 40, 84] :

err MNL dic= {2: 0.269, 3: 0.246, 4: 0.252, 59: 0.079, 40: 0.074, 84: 0.046, 0: np.float64(0.4175213208369749)} 

err MNL list= [0.269, 0.246, 0.252, 0.079, 0.074, 0.046, np.float64(0.4175213208369749)]
sampled assortment [5, 8, 6, 18, 32, 89] number: 1
#  Learning probs for MM model, A = [5, 8, 6, 18, 32, 89]
#cluster  3 with weight 0.24575
Learned cluster center of cluster 3:  {2: 2, 3: 0, 4: 0, 5: 2, 6: 2, 8: 0, 9: 2, 11: 3, 12: 3, 14: 2, 100: 0} [3, 4, 8, 100, 2, 5, 6, 9, 14, 11, 12]
#cluster  1 with weight 0.658
Learned cluster center of cluster 1:  {1: 0, 5: 0, 10: 0, 11: 0} [1, 5, 10, 11]
#cluster  2 with weight 0.09625
Learned cluster center of cluster 2:  {1: 4, 2: 0, 6: 1, 7: 1, 8: 1, 10: 1, 11: 2, 17: 5, 100: 2} [2, 6, 7, 8, 10, 11, 100, 1, 17]
#  Learning probs for MM model, A = [5, 8, 6, 18, 32, 89]
#cluster  3 with weight 0.24575
Learned cluster center of cluster 3:  {2: 2, 3: 0, 4: 0, 5: 2, 6: 2, 8: 0, 9: 2, 12: 3, 20: 3, 100: 0} [3, 4, 8, 100, 2, 5, 6, 9, 12, 20]
#cluster  1 with weight 0.658
Learned cluster center of cluster 1:  {1: 0, 5: 0, 6: 0, 100: 0} [1, 5, 6, 100]
#cluster  2 with weight 0.09625
Learned cluster center of cluster 2:  {2: 0, 5: 5, 6: 1, 7: 1, 8: 1, 10: 1, 11: 2, 16: 6, 17: 4, 19: 5, 100: 1} [2, 6, 7, 8, 10, 100, 11, 17, 5, 19, 16]
empirical probabilities from test set: {5: 0.197, 8: 0.235, 6: 0.241, 18: 0.161, 32: 0.094, 89: 0.045, 0: 0.027}
results for assortment [5, 8, 6, 18, 32, 89] :

beta is  0.025 

learned probs for this beta: {5: np.float64(0.4434460758977608), 8: np.float64(0.11867977799087631), 6: np.float64(0.4378001008174503), 18: np.float64(1.8511323478153043e-05), 32: np.float64(1.8511323478153043e-05), 89: np.float64(1.8511323478153043e-05), 0: np.float64(1.8511323478153043e-05)}
err dic= {5: np.float64(0.2464460758977608), 8: np.float64(0.11632022200912367), 6: np.float64(0.1968001008174503), 18: np.float64(0.16098148867652184), 32: np.float64(0.09398148867652184), 89: np.float64(0.044981488676521846), 0: np.float64(0.026981488676521847)} 

err list= [np.float64(0.2464460758977608), np.float64(0.11632022200912367), np.float64(0.1968001008174503), np.float64(0.16098148867652184), np.float64(0.09398148867652184), np.float64(0.044981488676521846), np.float64(0.026981488676521847)]
results for assortment [5, 8, 6, 18, 32, 89] :

beta is  0.05 

learned probs for this beta: {5: np.float64(0.44396113902788664), 8: np.float64(0.12335254047333902), 6: np.float64(0.4326863197516559), 18: np.float64(1.8677962785165707e-10), 32: np.float64(1.8677962785165707e-10), 89: np.float64(1.8677962785165707e-10), 0: np.float64(1.8677962785165707e-10)}
err dic= {5: np.float64(0.24696113902788663), 8: np.float64(0.11164745952666097), 6: np.float64(0.1916863197516559), 18: np.float64(0.16099999981322038), 32: np.float64(0.09399999981322037), 89: np.float64(0.04499999981322037), 0: np.float64(0.026999999813220373)} 

err list= [np.float64(0.24696113902788663), np.float64(0.11164745952666097), np.float64(0.1916863197516559), np.float64(0.16099999981322038), np.float64(0.09399999981322037), np.float64(0.04499999981322037), np.float64(0.026999999813220373)]
results for assortment [5, 8, 6, 18, 32, 89] :

beta is  0.1 

learned probs for this beta: {5: np.float64(0.4449935722848505), 8: np.float64(0.13256091500343373), 6: np.float64(0.4224455127117161), 18: np.float64(2.3343718051154886e-20), 32: np.float64(2.3343718051154886e-20), 89: np.float64(2.3343718051154886e-20), 0: np.float64(2.3343718051154886e-20)}
err dic= {5: np.float64(0.24799357228485047), 8: np.float64(0.10243908499656626), 6: np.float64(0.1814455127117161), 18: np.float64(0.161), 32: np.float64(0.094), 89: np.float64(0.045), 0: np.float64(0.027)} 

err list= [np.float64(0.24799357228485047), np.float64(0.10243908499656626), np.float64(0.1814455127117161), np.float64(0.161), np.float64(0.094), np.float64(0.045), np.float64(0.027)]
results for assortment [5, 8, 6, 18, 32, 89] :

beta is  0.25 

learned probs for this beta: {5: np.float64(0.4493340622069493), 8: np.float64(0.15861758458568218), 6: np.float64(0.39204835320736797), 18: np.float64(7.836217954962617e-50), 32: np.float64(7.836217954962617e-50), 89: np.float64(7.836217954962617e-50), 0: np.float64(7.836217954962617e-50)}
err dic= {5: np.float64(0.2523340622069493), 8: np.float64(0.07638241541431781), 6: np.float64(0.15104835320736798), 18: np.float64(0.161), 32: np.float64(0.094), 89: np.float64(0.045), 0: np.float64(0.027)} 

err list= [np.float64(0.2523340622069493), np.float64(0.07638241541431781), np.float64(0.15104835320736798), np.float64(0.161), np.float64(0.094), np.float64(0.045), np.float64(0.027)]
results for assortment [5, 8, 6, 18, 32, 89] :

beta is  0.5 

learned probs for this beta: {5: np.float64(0.461995026284323), 8: np.float64(0.1944829190519925), 6: np.float64(0.3435220546636848), 18: np.float64(7.507791614071332e-99), 32: np.float64(7.507791614071332e-99), 89: np.float64(7.507791614071332e-99), 0: np.float64(7.507791614071332e-99)}
err dic= {5: np.float64(0.264995026284323), 8: np.float64(0.04051708094800749), 6: np.float64(0.1025220546636848), 18: np.float64(0.161), 32: np.float64(0.094), 89: np.float64(0.045), 0: np.float64(0.027)} 

err list= [np.float64(0.264995026284323), np.float64(0.04051708094800749), np.float64(0.1025220546636848), np.float64(0.161), np.float64(0.094), np.float64(0.045), np.float64(0.027)]
results for assortment [5, 8, 6, 18, 32, 89] :

beta is  0.75 

learned probs for this beta: {5: np.float64(0.47973328635261303), 8: np.float64(0.21945441043798952), 6: np.float64(0.30081230320939734), 18: np.float64(7.948160454275217e-148), 32: np.float64(7.948160454275217e-148), 89: np.float64(7.948160454275217e-148), 0: np.float64(7.948160454275217e-148)}
err dic= {5: np.float64(0.282733286352613), 8: np.float64(0.015545589562010464), 6: np.float64(0.059812303209397344), 18: np.float64(0.161), 32: np.float64(0.094), 89: np.float64(0.045), 0: np.float64(0.027)} 

err list= [np.float64(0.282733286352613), np.float64(0.015545589562010464), np.float64(0.059812303209397344), np.float64(0.161), np.float64(0.094), np.float64(0.045), np.float64(0.027)]
results for assortment [5, 8, 6, 18, 32, 89] :

beta is  1 

learned probs for this beta: {5: np.float64(0.5003699718847179), 8: np.float64(0.23445027929274107), 6: np.float64(0.2651797488225412), 18: np.float64(9.17981191089747e-197), 32: np.float64(9.17981191089747e-197), 89: np.float64(9.17981191089747e-197), 0: np.float64(9.17981191089747e-197)}
err dic= {5: np.float64(0.30336997188471787), 8: np.float64(0.0005497207072589216), 6: np.float64(0.024179748822541203), 18: np.float64(0.161), 32: np.float64(0.094), 89: np.float64(0.045), 0: np.float64(0.027)} 

err list= [np.float64(0.30336997188471787), np.float64(0.0005497207072589216), np.float64(0.024179748822541203), np.float64(0.161), np.float64(0.094), np.float64(0.045), np.float64(0.027)]
results for assortment [5, 8, 6, 18, 32, 89] :

beta is  1.25 

learned probs for this beta: {5: np.float64(0.5222265728089768), 8: np.float64(0.24218957982587366), 6: np.float64(0.23558384736514928), 18: np.float64(1.1359408411031627e-245), 32: np.float64(1.1359408411031627e-245), 89: np.float64(1.1359408411031627e-245), 0: np.float64(1.1359408411031627e-245)}
err dic= {5: np.float64(0.32522657280897677), 8: np.float64(0.0071895798258736765), 6: np.float64(0.005416152634850707), 18: np.float64(0.161), 32: np.float64(0.094), 89: np.float64(0.045), 0: np.float64(0.027)} 

err list= [np.float64(0.32522657280897677), np.float64(0.0071895798258736765), np.float64(0.005416152634850707), np.float64(0.161), np.float64(0.094), np.float64(0.045), np.float64(0.027)]
results for assortment [5, 8, 6, 18, 32, 89] :

err MNL dic= {5: 0.197, 8: 0.235, 6: 0.241, 18: 0.161, 32: 0.094, 89: 0.045, 0: np.float64(0.42081760350807296)} 

err MNL list= [0.197, 0.235, 0.241, 0.161, 0.094, 0.045, np.float64(0.42081760350807296)]
sampled assortment [1, 5, 4, 29, 76, 40] number: 2
#  Learning probs for MM model, A = [1, 5, 4, 29, 76, 40]
#cluster  3 with weight 0.24575
Learned cluster center of cluster 3:  {1: 2, 2: 2, 3: 0, 4: 0, 5: 2, 6: 2, 7: 3, 8: 0, 9: 2, 12: 3, 14: 3, 16: 4, 100: 0} [3, 4, 8, 100, 1, 2, 5, 6, 9, 7, 12, 14, 16]
#cluster  1 with weight 0.658
Learned cluster center of cluster 1:  {1: 0, 5: 0, 6: 0, 9: 0, 10: 0, 11: 0, 12: 0, 100: 0} [1, 5, 6, 9, 10, 11, 12, 100]
#cluster  2 with weight 0.09625
Learned cluster center of cluster 2:  {2: 0, 6: 1, 7: 1, 8: 1, 10: 1, 11: 2, 17: 5, 100: 1} [2, 6, 7, 8, 10, 100, 11, 17]
#  Learning probs for MM model, A = [1, 5, 4, 29, 76, 40]
#cluster  3 with weight 0.24575
Learned cluster center of cluster 3:  {1: 2, 2: 2, 3: 0, 4: 0, 5: 2, 6: 2, 7: 3, 8: 0, 9: 2, 11: 2, 14: 3, 100: 0} [3, 4, 8, 100, 1, 2, 5, 6, 9, 11, 7, 14]
#cluster  1 with weight 0.658
Learned cluster center of cluster 1:  {1: 0, 5: 0, 6: 0, 7: 0, 9: 0, 10: 0, 11: 0, 12: 0, 100: 0} [1, 5, 6, 7, 9, 10, 11, 12, 100]
#cluster  2 with weight 0.09625
Learned cluster center of cluster 2:  {2: 0, 5: 5, 6: 1, 7: 1, 8: 1, 10: 1, 11: 2, 14: 6, 17: 5, 100: 2} [2, 6, 7, 8, 10, 11, 100, 5, 17, 14]
empirical probabilities from test set: {1: 0.246, 5: 0.247, 4: 0.246, 29: 0.101, 76: 0.063, 40: 0.067, 0: 0.03}
results for assortment [1, 5, 4, 29, 76, 40] :

beta is  0.025 

learned probs for this beta: {1: np.float64(0.41440231602253613), 5: np.float64(0.49876529768672856), 4: np.float64(0.086598282668798), 29: np.float64(5.852590548430978e-05), 76: np.float64(5.852590548430978e-05), 40: np.float64(5.852590548430978e-05), 0: np.float64(5.852590548430978e-05)}
err dic= {1: np.float64(0.16840231602253614), 5: np.float64(0.25176529768672856), 4: np.float64(0.159401717331202), 29: np.float64(0.10094147409451569), 76: np.float64(0.06294147409451568), 40: np.float64(0.06694147409451569), 0: np.float64(0.02994147409451569)} 

err list= [np.float64(0.16840231602253614), np.float64(0.25176529768672856), np.float64(0.159401717331202), np.float64(0.10094147409451569), np.float64(0.06294147409451568), np.float64(0.06694147409451569), np.float64(0.02994147409451569)]
results for assortment [1, 5, 4, 29, 76, 40] :

beta is  0.05 

learned probs for this beta: {1: np.float64(0.41784596338658486), 5: np.float64(0.49086277845420284), 4: np.float64(0.0912912552381947), 29: np.float64(7.302544286990613e-10), 76: np.float64(7.302544286990613e-10), 40: np.float64(7.302544286990613e-10), 0: np.float64(7.302544286990613e-10)}
err dic= {1: np.float64(0.17184596338658487), 5: np.float64(0.24386277845420284), 4: np.float64(0.1547087447618053), 29: np.float64(0.10099999926974558), 76: np.float64(0.06299999926974557), 40: np.float64(0.06699999926974558), 0: np.float64(0.02999999926974557)} 

err list= [np.float64(0.17184596338658487), np.float64(0.24386277845420284), np.float64(0.1547087447618053), np.float64(0.10099999926974558), np.float64(0.06299999926974557), np.float64(0.06699999926974558), np.float64(0.02999999926974557)]
results for assortment [1, 5, 4, 29, 76, 40] :

beta is  0.1 

learned probs for this beta: {1: np.float64(0.4242423176579905), 5: np.float64(0.4748510587210751), 4: np.float64(0.10090662362093482), 29: np.float64(1.1853984621027308e-19), 76: np.float64(1.1853984621027308e-19), 40: np.float64(1.1853984621027308e-19), 0: np.float64(1.1853984621027308e-19)}
err dic= {1: np.float64(0.17824231765799048), 5: np.float64(0.22785105872107508), 4: np.float64(0.14509337637906516), 29: np.float64(0.101), 76: np.float64(0.063), 40: np.float64(0.067), 0: np.float64(0.03)} 

err list= [np.float64(0.17824231765799048), np.float64(0.22785105872107508), np.float64(0.14509337637906516), np.float64(0.101), np.float64(0.063), np.float64(0.067), np.float64(0.03)]
results for assortment [1, 5, 4, 29, 76, 40] :

beta is  0.25 

learned probs for this beta: {1: np.float64(0.4405686521266117), 5: np.float64(0.4294323388322778), 4: np.float64(0.12999900904111034), 29: np.float64(6.825133044893024e-49), 76: np.float64(6.825133044893024e-49), 40: np.float64(6.825133044893024e-49), 0: np.float64(6.825133044893024e-49)}
err dic= {1: np.float64(0.19456865212661173), 5: np.float64(0.18243233883227783), 4: np.float64(0.11600099095888966), 29: np.float64(0.101), 76: np.float64(0.063), 40: np.float64(0.067), 0: np.float64(0.03)} 

err list= [np.float64(0.19456865212661173), np.float64(0.18243233883227783), np.float64(0.11600099095888966), np.float64(0.101), np.float64(0.063), np.float64(0.067), np.float64(0.03)]
results for assortment [1, 5, 4, 29, 76, 40] :

beta is  0.5 

learned probs for this beta: {1: np.float64(0.46152173647053246), 5: np.float64(0.36532847691941595), 4: np.float64(0.17314978661005198), 29: np.float64(1.8308927967339243e-97), 76: np.float64(1.8308927967339243e-97), 40: np.float64(1.8308927967339243e-97), 0: np.float64(1.8308927967339243e-97)}
err dic= {1: np.float64(0.21552173647053247), 5: np.float64(0.11832847691941595), 4: np.float64(0.07285021338994802), 29: np.float64(0.101), 76: np.float64(0.063), 40: np.float64(0.067), 0: np.float64(0.03)} 

err list= [np.float64(0.21552173647053247), np.float64(0.11832847691941595), np.float64(0.07285021338994802), np.float64(0.101), np.float64(0.063), np.float64(0.067), np.float64(0.03)]
results for assortment [1, 5, 4, 29, 76, 40] :

beta is  0.75 

learned probs for this beta: {1: np.float64(0.4805017761361894), 5: np.float64(0.315516416648266), 4: np.float64(0.20398180721554474), 29: np.float64(5.594963174338029e-146), 76: np.float64(5.594963174338029e-146), 40: np.float64(5.594963174338029e-146), 0: np.float64(5.594963174338029e-146)}
err dic= {1: np.float64(0.2345017761361894), 5: np.float64(0.06851641664826602), 4: np.float64(0.04201819278445526), 29: np.float64(0.101), 76: np.float64(0.063), 40: np.float64(0.067), 0: np.float64(0.03)} 

err list= [np.float64(0.2345017761361894), np.float64(0.06851641664826602), np.float64(0.04201819278445526), np.float64(0.101), np.float64(0.063), np.float64(0.067), np.float64(0.03)]
results for assortment [1, 5, 4, 29, 76, 40] :

beta is  1 

learned probs for this beta: {1: np.float64(0.5008600062904847), 5: np.float64(0.2761228918138324), 4: np.float64(0.22301710189568302), 29: np.float64(1.8390066195172437e-194), 76: np.float64(1.8390066195172437e-194), 40: np.float64(1.8390066195172437e-194), 0: np.float64(1.8390066195172437e-194)}
err dic= {1: np.float64(0.25486000629048466), 5: np.float64(0.02912289181383243), 4: np.float64(0.022982898104316973), 29: np.float64(0.101), 76: np.float64(0.063), 40: np.float64(0.067), 0: np.float64(0.03)} 

err list= [np.float64(0.25486000629048466), np.float64(0.02912289181383243), np.float64(0.022982898104316973), np.float64(0.101), np.float64(0.063), np.float64(0.067), np.float64(0.03)]
results for assortment [1, 5, 4, 29, 76, 40] :

beta is  1.25 

learned probs for this beta: {1: np.float64(0.5224356531242648), 5: np.float64(0.24375401521874995), 4: np.float64(0.233810331656985), 29: np.float64(6.354549568409019e-243), 76: np.float64(6.354549568409019e-243), 40: np.float64(6.354549568409019e-243), 0: np.float64(6.354549568409019e-243)}
err dic= {1: np.float64(0.27643565312426477), 5: np.float64(0.003245984781250044), 4: np.float64(0.012189668343014992), 29: np.float64(0.101), 76: np.float64(0.063), 40: np.float64(0.067), 0: np.float64(0.03)} 

err list= [np.float64(0.27643565312426477), np.float64(0.003245984781250044), np.float64(0.012189668343014992), np.float64(0.101), np.float64(0.063), np.float64(0.067), np.float64(0.03)]
results for assortment [1, 5, 4, 29, 76, 40] :

err MNL dic= {1: 0.246, 5: 0.247, 4: 0.246, 29: 0.101, 76: 0.063, 40: 0.067, 0: np.float64(0.4184378867886107)} 

err MNL list= [0.246, 0.247, 0.246, 0.101, 0.063, 0.067, np.float64(0.4184378867886107)]
sampled assortment [2, 3, 9, 53, 77, 65] number: 3
#  Learning probs for MM model, A = [2, 3, 9, 53, 77, 65]
#cluster  3 with weight 0.24575
Learned cluster center of cluster 3:  {2: 2, 3: 0, 4: 0, 5: 2, 6: 2, 8: 0, 9: 2, 12: 3, 14: 3, 100: 0} [3, 4, 8, 100, 2, 5, 6, 9, 12, 14]
#cluster  1 with weight 0.658
Learned cluster center of cluster 1:  {1: 0, 5: 0, 6: 0, 10: 0, 12: 0, 100: 0} [1, 5, 6, 10, 12, 100]
#cluster  2 with weight 0.09625
Learned cluster center of cluster 2:  {1: 3, 2: 0, 6: 1, 7: 1, 8: 1, 10: 1, 11: 2, 19: 5, 100: 1} [2, 6, 7, 8, 10, 100, 11, 1, 19]
#  Learning probs for MM model, A = [2, 3, 9, 53, 77, 65]
#cluster  3 with weight 0.24575
Learned cluster center of cluster 3:  {1: 3, 2: 2, 3: 0, 4: 0, 5: 2, 6: 2, 7: 3, 8: 0, 9: 2, 11: 2, 14: 3, 19: 3, 100: 0} [3, 4, 8, 100, 2, 5, 6, 9, 11, 1, 7, 14, 19]
#cluster  1 with weight 0.658
Learned cluster center of cluster 1:  {1: 0, 5: 0, 9: 0, 10: 0, 11: 0, 12: 0} [1, 5, 9, 10, 11, 12]
#cluster  2 with weight 0.09625
Learned cluster center of cluster 2:  {1: 3, 2: 0, 6: 1, 7: 1, 8: 1, 10: 1, 23: 7, 100: 1} [2, 6, 7, 8, 10, 100, 1, 23]
empirical probabilities from test set: {2: 0.275, 3: 0.238, 9: 0.241, 53: 0.071, 77: 0.047, 65: 0.076, 0: 0.052}
results for assortment [2, 3, 9, 53, 77, 65] :

beta is  0.025 

learned probs for this beta: {2: np.float64(0.17751231701012044), 3: np.float64(0.0882271744648182), 9: np.float64(0.7337634074445323), 53: np.float64(0.00012427527013222266), 77: np.float64(0.00012427527013222266), 65: np.float64(0.00012427527013222266), 0: np.float64(0.00012427527013222266)}
err dic= {2: np.float64(0.09748768298987959), 3: np.float64(0.14977282553518179), 9: np.float64(0.4927634074445323), 53: np.float64(0.07087572472986776), 77: np.float64(0.04687572472986778), 65: np.float64(0.07587572472986777), 0: np.float64(0.051875724729867775)} 

err list= [np.float64(0.09748768298987959), np.float64(0.14977282553518179), np.float64(0.4927634074445323), np.float64(0.07087572472986776), np.float64(0.04687572472986778), np.float64(0.07587572472986777), np.float64(0.051875724729867775)]
results for assortment [2, 3, 9, 53, 77, 65] :

beta is  0.05 

learned probs for this beta: {2: np.float64(0.1766608759732058), 3: np.float64(0.09445918705296331), 9: np.float64(0.728879932573651), 53: np.float64(1.1000450092308404e-09), 77: np.float64(1.1000450092308404e-09), 65: np.float64(1.1000450092308404e-09), 0: np.float64(1.1000450092308404e-09)}
err dic= {2: np.float64(0.09833912402679423), 3: np.float64(0.1435408129470367), 9: np.float64(0.48787993257365103), 53: np.float64(0.07099999889995498), 77: np.float64(0.046999998899954994), 65: np.float64(0.07599999889995498), 0: np.float64(0.05199999889995499)} 

err list= [np.float64(0.09833912402679423), np.float64(0.1435408129470367), np.float64(0.48787993257365103), np.float64(0.07099999889995498), np.float64(0.046999998899954994), np.float64(0.07599999889995498), np.float64(0.05199999889995499)]
results for assortment [2, 3, 9, 53, 77, 65] :

beta is  0.1 

learned probs for this beta: {2: np.float64(0.17423279869766212), 3: np.float64(0.10732328090469803), 9: np.float64(0.7184439203976398), 53: np.float64(9.762674442369154e-20), 77: np.float64(9.762674442369154e-20), 65: np.float64(9.762674442369154e-20), 0: np.float64(9.762674442369154e-20)}
err dic= {2: np.float64(0.1007672013023379), 3: np.float64(0.13067671909530196), 9: np.float64(0.47744392039763983), 53: np.float64(0.071), 77: np.float64(0.047), 65: np.float64(0.076), 0: np.float64(0.052)} 

err list= [np.float64(0.1007672013023379), np.float64(0.13067671909530196), np.float64(0.47744392039763983), np.float64(0.071), np.float64(0.047), np.float64(0.076), np.float64(0.052)]
results for assortment [2, 3, 9, 53, 77, 65] :

beta is  0.25 

learned probs for this beta: {2: np.float64(0.16254206751945927), 3: np.float64(0.145064291297437), 9: np.float64(0.6923936411831035), 53: np.float64(2.8478450650875943e-49), 77: np.float64(2.8478450650875943e-49), 65: np.float64(2.8478450650875943e-49), 0: np.float64(2.8478450650875943e-49)}
err dic= {2: np.float64(0.11245793248054076), 3: np.float64(0.09293570870256299), 9: np.float64(0.45139364118310354), 53: np.float64(0.071), 77: np.float64(0.047), 65: np.float64(0.076), 0: np.float64(0.052)} 

err list= [np.float64(0.11245793248054076), np.float64(0.09293570870256299), np.float64(0.45139364118310354), np.float64(0.071), np.float64(0.047), np.float64(0.076), np.float64(0.052)]
results for assortment [2, 3, 9, 53, 77, 65] :

beta is  0.5 

learned probs for this beta: {2: np.float64(0.13754083441249237), 3: np.float64(0.19399371009769256), 9: np.float64(0.6684654554898152), 53: np.float64(7.941319136009285e-98), 77: np.float64(7.941319136009285e-98), 65: np.float64(7.941319136009285e-98), 0: np.float64(7.941319136009285e-98)}
err dic= {2: np.float64(0.13745916558750765), 3: np.float64(0.04400628990230743), 9: np.float64(0.4274654554898152), 53: np.float64(0.071), 77: np.float64(0.047), 65: np.float64(0.076), 0: np.float64(0.052)} 

err list= [np.float64(0.13745916558750765), np.float64(0.04400628990230743), np.float64(0.4274654554898152), np.float64(0.071), np.float64(0.047), np.float64(0.076), np.float64(0.052)]
results for assortment [2, 3, 9, 53, 77, 65] :

beta is  0.75 

learned probs for this beta: {2: np.float64(0.11769320630634131), 3: np.float64(0.22175044827771984), 9: np.float64(0.6605563454159389), 53: np.float64(2.374304126605473e-146), 77: np.float64(2.374304126605473e-146), 65: np.float64(2.374304126605473e-146), 0: np.float64(2.374304126605473e-146)}
err dic= {2: np.float64(0.15730679369365871), 3: np.float64(0.016249551722280153), 9: np.float64(0.4195563454159389), 53: np.float64(0.071), 77: np.float64(0.047), 65: np.float64(0.076), 0: np.float64(0.052)} 

err list= [np.float64(0.15730679369365871), np.float64(0.016249551722280153), np.float64(0.4195563454159389), np.float64(0.071), np.float64(0.047), np.float64(0.076), np.float64(0.052)]
results for assortment [2, 3, 9, 53, 77, 65] :

beta is  1 

learned probs for this beta: {2: np.float64(0.1061824673498761), 3: np.float64(0.23526872260309498), 9: np.float64(0.658548810047029), 53: np.float64(7.066359076489031e-195), 77: np.float64(7.066359076489031e-195), 65: np.float64(7.066359076489031e-195), 0: np.float64(7.066359076489031e-195)}
err dic= {2: np.float64(0.16881753265012392), 3: np.float64(0.002731277396905013), 9: np.float64(0.41754881004702904), 53: np.float64(0.071), 77: np.float64(0.047), 65: np.float64(0.076), 0: np.float64(0.052)} 

err list= [np.float64(0.16881753265012392), np.float64(0.002731277396905013), np.float64(0.41754881004702904), np.float64(0.071), np.float64(0.047), np.float64(0.076), np.float64(0.052)]
results for assortment [2, 3, 9, 53, 77, 65] :

beta is  1.25 

learned probs for this beta: {2: np.float64(0.10053123998742602), 3: np.float64(0.24135935525137733), 9: np.float64(0.6581094047611966), 53: np.float64(2.0927979380668223e-243), 77: np.float64(2.0927979380668223e-243), 65: np.float64(2.0927979380668223e-243), 0: np.float64(2.0927979380668223e-243)}
err dic= {2: np.float64(0.174468760012574), 3: np.float64(0.003359355251377344), 9: np.float64(0.4171094047611966), 53: np.float64(0.071), 77: np.float64(0.047), 65: np.float64(0.076), 0: np.float64(0.052)} 

err list= [np.float64(0.174468760012574), np.float64(0.003359355251377344), np.float64(0.4171094047611966), np.float64(0.071), np.float64(0.047), np.float64(0.076), np.float64(0.052)]
results for assortment [2, 3, 9, 53, 77, 65] :

err MNL dic= {2: 0.275, 3: 0.238, 9: 0.241, 53: 0.071, 77: 0.047, 65: 0.076, 0: np.float64(0.4017121989136106)} 

err MNL list= [0.275, 0.238, 0.241, 0.071, 0.047, 0.076, np.float64(0.4017121989136106)]
sampled assortment [1, 4, 2, 100, 43, 24] number: 4
#  Learning probs for MM model, A = [1, 4, 2, 100, 43, 24]
#cluster  3 with weight 0.24575
Learned cluster center of cluster 3:  {2: 2, 3: 0, 4: 0, 5: 2, 6: 2, 7: 3, 8: 0, 9: 2, 12: 3, 100: 0} [3, 4, 8, 100, 2, 5, 6, 9, 7, 12]
#cluster  1 with weight 0.658
Learned cluster center of cluster 1:  {1: 0, 5: 0, 6: 0, 9: 0, 12: 0, 100: 0} [1, 5, 6, 9, 12, 100]
#cluster  2 with weight 0.09625
Learned cluster center of cluster 2:  {1: 3, 2: 0, 5: 6, 6: 1, 7: 1, 8: 1, 10: 1, 11: 2, 14: 5, 17: 5, 100: 1} [2, 6, 7, 8, 10, 100, 11, 1, 14, 17, 5]
#  Learning probs for MM model, A = [1, 4, 2, 100, 43, 24]
#cluster  3 with weight 0.24575
Learned cluster center of cluster 3:  {1: 3, 2: 2, 3: 0, 4: 0, 5: 2, 6: 2, 8: 0, 9: 2, 14: 2, 16: 4, 100: 1} [3, 4, 8, 100, 2, 5, 6, 9, 14, 1, 16]
#cluster  1 with weight 0.658
Learned cluster center of cluster 1:  {1: 0, 5: 0, 6: 0, 10: 0, 12: 0} [1, 5, 6, 10, 12]
#cluster  2 with weight 0.09625
Learned cluster center of cluster 2:  {1: 3, 2: 0, 4: 6, 5: 6, 6: 1, 7: 1, 8: 1, 10: 1, 11: 3, 20: 5, 100: 2} [2, 6, 7, 8, 10, 100, 1, 11, 20, 4, 5]
empirical probabilities from test set: {1: 0.207, 4: 0.2, 2: 0.223, 100: 0.196, 43: 0.068, 24: 0.089, 0: 0.017}
results for assortment [1, 4, 2, 100, 43, 24] :

beta is  0.025 

learned probs for this beta: {1: np.float64(0.7362909547860337), 4: np.float64(0.087988313624743), 2: np.float64(0.08826678464454356), 100: np.float64(0.0871776913553022), 43: np.float64(9.208519645918034e-05), 24: np.float64(9.208519645918034e-05), 0: np.float64(9.208519645918034e-05)}
err dic= {1: np.float64(0.5292909547860337), 4: np.float64(0.112011686375257), 2: np.float64(0.13473321535545646), 100: np.float64(0.1088223086446978), 43: np.float64(0.06790791480354083), 24: np.float64(0.08890791480354082), 0: np.float64(0.01690791480354082)} 

err list= [np.float64(0.5292909547860337), np.float64(0.112011686375257), np.float64(0.13473321535545646), np.float64(0.1088223086446978), np.float64(0.06790791480354083), np.float64(0.08890791480354082), np.float64(0.01690791480354082)]
results for assortment [1, 4, 2, 100, 43, 24] :

beta is  0.05 

learned probs for this beta: {1: np.float64(0.7303516258918422), 4: np.float64(0.09045407325176166), 2: np.float64(0.09078456890692231), 100: np.float64(0.08840972982772044), 43: np.float64(7.07251134766879e-10), 24: np.float64(7.07251134766879e-10), 0: np.float64(7.07251134766879e-10)}
err dic= {1: np.float64(0.5233516258918423), 4: np.float64(0.10954592674823835), 2: np.float64(0.1322154310930777), 100: np.float64(0.10759027017227957), 43: np.float64(0.06799999929274887), 24: np.float64(0.08899999929274886), 0: np.float64(0.016999999292748865)} 

err list= [np.float64(0.5233516258918423), np.float64(0.10954592674823835), np.float64(0.1322154310930777), np.float64(0.10759027017227957), np.float64(0.06799999929274887), np.float64(0.08899999929274886), np.float64(0.016999999292748865)]
results for assortment [1, 4, 2, 100, 43, 24] :

beta is  0.1 

learned probs for this beta: {1: np.float64(0.7184095038128622), 4: np.float64(0.09586316004686725), 2: np.float64(0.09562047360972589), 100: np.float64(0.09010686253054487), 43: np.float64(5.059305282913712e-20), 24: np.float64(5.059305282913712e-20), 0: np.float64(5.059305282913712e-20)}
err dic= {1: np.float64(0.5114095038128622), 4: np.float64(0.10413683995313276), 2: np.float64(0.1273795263902741), 100: np.float64(0.10589313746945514), 43: np.float64(0.068), 24: np.float64(0.089), 0: np.float64(0.017)} 

err list= [np.float64(0.5114095038128622), np.float64(0.10413683995313276), np.float64(0.1273795263902741), np.float64(0.10589313746945514), np.float64(0.068), np.float64(0.089), np.float64(0.017)]
results for assortment [1, 4, 2, 100, 43, 24] :

beta is  0.25 

learned probs for this beta: {1: np.float64(0.6908279993292279), 4: np.float64(0.11395332166072125), 2: np.float64(0.10680675811609217), 100: np.float64(0.08841192089395836), 43: np.float64(1.0887705240187336e-49), 24: np.float64(1.0887705240187336e-49), 0: np.float64(1.0887705240187336e-49)}
err dic= {1: np.float64(0.48382799932922793), 4: np.float64(0.08604667833927876), 2: np.float64(0.11619324188390784), 100: np.float64(0.10758807910604165), 43: np.float64(0.068), 24: np.float64(0.089), 0: np.float64(0.017)} 

err list= [np.float64(0.48382799932922793), np.float64(0.08604667833927876), np.float64(0.11619324188390784), np.float64(0.10758807910604165), np.float64(0.068), np.float64(0.089), np.float64(0.017)]
results for assortment [1, 4, 2, 100, 43, 24] :

beta is  0.5 

learned probs for this beta: {1: np.float64(0.6681807531124494), 4: np.float64(0.14580357687127746), 2: np.float64(0.11397475827262088), 100: np.float64(0.07204091174365243), 43: np.float64(1.3383294652309808e-98), 24: np.float64(1.3383294652309808e-98), 0: np.float64(1.3383294652309808e-98)}
err dic= {1: np.float64(0.46118075311244944), 4: np.float64(0.054196423128722554), 2: np.float64(0.10902524172737912), 100: np.float64(0.12395908825634758), 43: np.float64(0.068), 24: np.float64(0.089), 0: np.float64(0.017)} 

err list= [np.float64(0.46118075311244944), np.float64(0.054196423128722554), np.float64(0.10902524172737912), np.float64(0.12395908825634758), np.float64(0.068), np.float64(0.089), np.float64(0.017)]
results for assortment [1, 4, 2, 100, 43, 24] :

beta is  0.75 

learned probs for this beta: {1: np.float64(0.6608412510496344), 4: np.float64(0.17433067928789314), 2: np.float64(0.11180533477799608), 100: np.float64(0.053022734884476286), 43: np.float64(1.7019398613397256e-147), 24: np.float64(1.7019398613397256e-147), 0: np.float64(1.7019398613397256e-147)}
err dic= {1: np.float64(0.45384125104963446), 4: np.float64(0.02566932071210687), 2: np.float64(0.11119466522200393), 100: np.float64(0.14297726511552372), 43: np.float64(0.068), 24: np.float64(0.089), 0: np.float64(0.017)} 

err list= [np.float64(0.45384125104963446), np.float64(0.02566932071210687), np.float64(0.11119466522200393), np.float64(0.14297726511552372), np.float64(0.068), np.float64(0.089), np.float64(0.017)]
results for assortment [1, 4, 2, 100, 43, 24] :

beta is  1 

learned probs for this beta: {1: np.float64(0.6587436380964877), 4: np.float64(0.19693101192892729), 2: np.float64(0.10691675852379783), 100: np.float64(0.03740859145078727), 43: np.float64(2.205177861080316e-196), 24: np.float64(2.205177861080316e-196), 0: np.float64(2.205177861080316e-196)}
err dic= {1: np.float64(0.45174363809648777), 4: np.float64(0.0030689880710727258), 2: np.float64(0.11608324147620218), 100: np.float64(0.15859140854921275), 43: np.float64(0.068), 24: np.float64(0.089), 0: np.float64(0.017)} 

err list= [np.float64(0.45174363809648777), np.float64(0.0030689880710727258), np.float64(0.11608324147620218), np.float64(0.15859140854921275), np.float64(0.068), np.float64(0.089), np.float64(0.017)]
results for assortment [1, 4, 2, 100, 43, 24] :

beta is  1.25 

learned probs for this beta: {1: np.float64(0.6581861583897953), 4: np.float64(0.2134788255315001), 2: np.float64(0.10265949017057334), 100: np.float64(0.02567552590813108), 43: np.float64(2.9066608332317424e-245), 24: np.float64(2.9066608332317424e-245), 0: np.float64(2.9066608332317424e-245)}
err dic= {1: np.float64(0.45118615838979537), 4: np.float64(0.013478825531500094), 2: np.float64(0.12034050982942666), 100: np.float64(0.17032447409186893), 43: np.float64(0.068), 24: np.float64(0.089), 0: np.float64(0.017)} 

err list= [np.float64(0.45118615838979537), np.float64(0.013478825531500094), np.float64(0.12034050982942666), np.float64(0.17032447409186893), np.float64(0.068), np.float64(0.089), np.float64(0.017)]
results for assortment [1, 4, 2, 100, 43, 24] :

err MNL dic= {1: 0.207, 4: 0.2, 2: 0.223, 100: 0.196, 43: 0.068, 24: 0.089, 0: np.float64(0.4232866988378336)} 

err MNL list= [0.207, 0.2, 0.223, 0.196, 0.068, 0.089, np.float64(0.4232866988378336)]
sampled assortment [4, 1, 3, 81, 29, 39] number: 5
#  Learning probs for MM model, A = [4, 1, 3, 81, 29, 39]
#cluster  3 with weight 0.24575
Learned cluster center of cluster 3:  {2: 2, 3: 0, 4: 0, 5: 2, 6: 2, 8: 0, 9: 2, 11: 2, 14: 3, 20: 3, 100: 0} [3, 4, 8, 100, 2, 5, 6, 9, 11, 14, 20]
#cluster  1 with weight 0.658
Learned cluster center of cluster 1:  {1: 0, 5: 0, 6: 0, 9: 0, 10: 0, 12: 0, 100: 0} [1, 5, 6, 9, 10, 12, 100]
#cluster  2 with weight 0.09625
Learned cluster center of cluster 2:  {1: 4, 2: 0, 6: 1, 7: 1, 8: 1, 10: 1, 11: 3, 13: 5, 15: 6, 17: 5, 19: 5, 100: 2} [2, 6, 7, 8, 10, 100, 11, 1, 13, 17, 19, 15]
#  Learning probs for MM model, A = [4, 1, 3, 81, 29, 39]
#cluster  3 with weight 0.24575
Learned cluster center of cluster 3:  {1: 2, 3: 0, 4: 0, 5: 2, 6: 2, 7: 3, 8: 0, 9: 2, 12: 4, 14: 3, 100: 0} [3, 4, 8, 100, 1, 5, 6, 9, 7, 14, 12]
#cluster  1 with weight 0.658
Learned cluster center of cluster 1:  {1: 0, 10: 0, 12: 0, 100: 0} [1, 10, 12, 100]
#cluster  2 with weight 0.09625
Learned cluster center of cluster 2:  {1: 3, 2: 0, 5: 4, 6: 1, 7: 1, 8: 1, 10: 1, 11: 2, 15: 5, 16: 5, 17: 5, 100: 2} [2, 6, 7, 8, 10, 11, 100, 1, 5, 15, 16, 17]
empirical probabilities from test set: {4: 0.24, 1: 0.236, 3: 0.245, 81: 0.045, 29: 0.099, 39: 0.091, 0: 0.044}
results for assortment [4, 1, 3, 81, 29, 39] :

beta is  0.025 

learned probs for this beta: {4: np.float64(0.08298661002370536), 1: np.float64(0.8314769513956981), 3: np.float64(0.08508479753678863), 81: np.float64(0.00011291026095194232), 29: np.float64(0.00011291026095194232), 39: np.float64(0.00011291026095194232), 0: np.float64(0.00011291026095194232)}
err dic= {4: np.float64(0.15701338997629463), 1: np.float64(0.5954769513956981), 3: np.float64(0.15991520246321136), 81: np.float64(0.04488708973904806), 29: np.float64(0.09888708973904806), 39: np.float64(0.09088708973904805), 0: np.float64(0.043887089739048056)} 

err list= [np.float64(0.15701338997629463), np.float64(0.5954769513956981), np.float64(0.15991520246321136), np.float64(0.04488708973904806), np.float64(0.09888708973904806), np.float64(0.09088708973904805), np.float64(0.043887089739048056)]
results for assortment [4, 1, 3, 81, 29, 39] :

beta is  0.05 

learned probs for this beta: {4: np.float64(0.08378063144892064), 1: np.float64(0.8281432079565831), 3: np.float64(0.08807615622828065), 81: np.float64(1.0915538815328188e-09), 29: np.float64(1.0915538815328188e-09), 39: np.float64(1.0915538815328188e-09), 0: np.float64(1.0915538815328188e-09)}
err dic= {4: np.float64(0.15621936855107935), 1: np.float64(0.5921432079565832), 3: np.float64(0.15692384377171936), 81: np.float64(0.044999998908446116), 29: np.float64(0.09899999890844613), 39: np.float64(0.09099999890844612), 0: np.float64(0.043999998908446115)} 

err list= [np.float64(0.15621936855107935), np.float64(0.5921432079565832), np.float64(0.15692384377171936), np.float64(0.044999998908446116), np.float64(0.09899999890844613), np.float64(0.09099999890844612), np.float64(0.043999998908446115)]
results for assortment [4, 1, 3, 81, 29, 39] :

beta is  0.1 

learned probs for this beta: {4: np.float64(0.08526738957144066), 1: np.float64(0.8204975712139766), 3: np.float64(0.09423503921458296), 81: np.float64(1.7664012295086066e-19), 29: np.float64(1.7664012295086066e-19), 39: np.float64(1.7664012295086066e-19), 0: np.float64(1.7664012295086066e-19)}
err dic= {4: np.float64(0.15473261042855935), 1: np.float64(0.5844975712139766), 3: np.float64(0.15076496078541704), 81: np.float64(0.045), 29: np.float64(0.099), 39: np.float64(0.091), 0: np.float64(0.044)} 

err list= [np.float64(0.15473261042855935), np.float64(0.5844975712139766), np.float64(0.15076496078541704), np.float64(0.045), np.float64(0.099), np.float64(0.091), np.float64(0.044)]
results for assortment [4, 1, 3, 81, 29, 39] :

beta is  0.25 

learned probs for this beta: {4: np.float64(0.08743278945200889), 1: np.float64(0.8003012866397037), 3: np.float64(0.11226592390828728), 81: np.float64(2.9820372063767707e-48), 29: np.float64(2.9820372063767707e-48), 39: np.float64(2.9820372063767707e-48), 0: np.float64(2.9820372063767707e-48)}
err dic= {4: np.float64(0.1525672105479911), 1: np.float64(0.5643012866397037), 3: np.float64(0.13273407609171273), 81: np.float64(0.045), 29: np.float64(0.099), 39: np.float64(0.091), 0: np.float64(0.044)} 

err list= [np.float64(0.1525672105479911), np.float64(0.5643012866397037), np.float64(0.13273407609171273), np.float64(0.045), np.float64(0.099), np.float64(0.091), np.float64(0.044)]
results for assortment [4, 1, 3, 81, 29, 39] :

beta is  0.5 

learned probs for this beta: {4: np.float64(0.08427844158738289), 1: np.float64(0.7767698991060409), 3: np.float64(0.13895165930657644), 81: np.float64(4.874725501458579e-96), 29: np.float64(4.874725501458579e-96), 39: np.float64(4.874725501458579e-96), 0: np.float64(4.874725501458579e-96)}
err dic= {4: np.float64(0.1557215584126171), 1: np.float64(0.5407698991060409), 3: np.float64(0.10604834069342356), 81: np.float64(0.045), 29: np.float64(0.099), 39: np.float64(0.091), 0: np.float64(0.044)} 

err list= [np.float64(0.1557215584126171), np.float64(0.5407698991060409), np.float64(0.10604834069342356), np.float64(0.045), np.float64(0.099), np.float64(0.091), np.float64(0.044)]
results for assortment [4, 1, 3, 81, 29, 39] :

beta is  0.75 

learned probs for this beta: {4: np.float64(0.07567350407787198), 1: np.float64(0.7641256865321339), 3: np.float64(0.1602008093899943), 81: np.float64(8.301488529049958e-144), 29: np.float64(8.301488529049958e-144), 39: np.float64(8.301488529049958e-144), 0: np.float64(8.301488529049958e-144)}
err dic= {4: np.float64(0.164326495922128), 1: np.float64(0.5281256865321339), 3: np.float64(0.08479919061000571), 81: np.float64(0.045), 29: np.float64(0.099), 39: np.float64(0.091), 0: np.float64(0.044)} 

err list= [np.float64(0.164326495922128), np.float64(0.5281256865321339), np.float64(0.08479919061000571), np.float64(0.045), np.float64(0.099), np.float64(0.091), np.float64(0.044)]
results for assortment [4, 1, 3, 81, 29, 39] :

beta is  1 

learned probs for this beta: {4: np.float64(0.06501124929946388), 1: np.float64(0.7582698530843828), 3: np.float64(0.17671889761615345), 81: np.float64(1.4167289243595222e-191), 29: np.float64(1.4167289243595222e-191), 39: np.float64(1.4167289243595222e-191), 0: np.float64(1.4167289243595222e-191)}
err dic= {4: np.float64(0.1749887507005361), 1: np.float64(0.5222698530843828), 3: np.float64(0.06828110238384655), 81: np.float64(0.045), 29: np.float64(0.099), 39: np.float64(0.091), 0: np.float64(0.044)} 

err list= [np.float64(0.1749887507005361), np.float64(0.5222698530843828), np.float64(0.06828110238384655), np.float64(0.045), np.float64(0.099), np.float64(0.091), np.float64(0.044)]
results for assortment [4, 1, 3, 81, 29, 39] :

beta is  1.25 

learned probs for this beta: {4: np.float64(0.054380533448678846), 1: np.float64(0.7558127546057066), 3: np.float64(0.1898067119456143), 81: np.float64(2.4120350992241433e-239), 29: np.float64(2.4120350992241433e-239), 39: np.float64(2.4120350992241433e-239), 0: np.float64(2.4120350992241433e-239)}
err dic= {4: np.float64(0.18561946655132114), 1: np.float64(0.5198127546057066), 3: np.float64(0.0551932880543857), 81: np.float64(0.045), 29: np.float64(0.099), 39: np.float64(0.091), 0: np.float64(0.044)} 

err list= [np.float64(0.18561946655132114), np.float64(0.5198127546057066), np.float64(0.0551932880543857), np.float64(0.045), np.float64(0.099), np.float64(0.091), np.float64(0.044)]
results for assortment [4, 1, 3, 81, 29, 39] :

err MNL dic= {4: 0.24, 1: 0.236, 3: 0.245, 81: 0.045, 29: 0.099, 39: 0.091, 0: np.float64(0.40402409654772653)} 

err MNL list= [0.24, 0.236, 0.245, 0.045, 0.099, 0.091, np.float64(0.40402409654772653)]
sampled assortment [9, 8, 4, 97, 71, 45] number: 6
#  Learning probs for MM model, A = [9, 8, 4, 97, 71, 45]
#cluster  3 with weight 0.24575
Learned cluster center of cluster 3:  {1: 3, 2: 2, 3: 0, 4: 0, 5: 2, 6: 2, 7: 3, 8: 0, 9: 2, 14: 3, 15: 3, 19: 2, 100: 0} [3, 4, 8, 100, 2, 5, 6, 9, 19, 1, 7, 14, 15]
#cluster  1 with weight 0.658
Learned cluster center of cluster 1:  {1: 0, 5: 0, 6: 0, 10: 0} [1, 5, 6, 10]
#cluster  2 with weight 0.09625
Learned cluster center of cluster 2:  {1: 3, 2: 0, 3: 7, 5: 6, 6: 1, 7: 1, 8: 1, 10: 1, 11: 2, 17: 5, 100: 1} [2, 6, 7, 8, 10, 100, 11, 1, 17, 5, 3]
#  Learning probs for MM model, A = [9, 8, 4, 97, 71, 45]
#cluster  3 with weight 0.24575
Learned cluster center of cluster 3:  {1: 2, 2: 2, 3: 0, 4: 0, 5: 2, 6: 2, 7: 3, 8: 0, 9: 2, 14: 3, 16: 3, 100: 0} [3, 4, 8, 100, 1, 2, 5, 6, 9, 7, 14, 16]
#cluster  1 with weight 0.658
Learned cluster center of cluster 1:  {1: 0, 5: 0, 6: 0, 7: 0, 9: 0, 10: 0} [1, 5, 6, 7, 9, 10]
#cluster  2 with weight 0.09625
Learned cluster center of cluster 2:  {1: 3, 2: 0, 5: 6, 6: 1, 7: 1, 8: 1, 10: 1, 11: 2, 17: 5, 24: 6, 100: 1} [2, 6, 7, 8, 10, 100, 11, 1, 17, 5, 24]
empirical probabilities from test set: {9: 0.23, 8: 0.263, 4: 0.239, 97: 0.05, 71: 0.071, 45: 0.096, 0: 0.051}
results for assortment [9, 8, 4, 97, 71, 45] :

beta is  0.025 

learned probs for this beta: {9: np.float64(0.7322896557319964), 8: np.float64(0.18054768139438132), 4: np.float64(0.08661344433936383), 97: np.float64(0.00013730463356460192), 71: np.float64(0.00013730463356460192), 45: np.float64(0.00013730463356460192), 0: np.float64(0.00013730463356460192)}
err dic= {9: np.float64(0.5022896557319965), 8: np.float64(0.08245231860561869), 4: np.float64(0.15238655566063616), 97: np.float64(0.0498626953664354), 71: np.float64(0.07086269536643539), 45: np.float64(0.0958626953664354), 0: np.float64(0.050862695366435395)} 

err list= [np.float64(0.5022896557319965), np.float64(0.08245231860561869), np.float64(0.15238655566063616), np.float64(0.0498626953664354), np.float64(0.07086269536643539), np.float64(0.0958626953664354), np.float64(0.050862695366435395)]
results for assortment [9, 8, 4, 97, 71, 45] :

beta is  0.05 

learned probs for this beta: {9: np.float64(0.7261320097977396), 8: np.float64(0.18283922875208167), 4: np.float64(0.0910287559928669), 97: np.float64(1.3643279576759786e-09), 71: np.float64(1.3643279576759786e-09), 45: np.float64(1.3643279576759786e-09), 0: np.float64(1.3643279576759786e-09)}
err dic= {9: np.float64(0.49613200979773964), 8: np.float64(0.08016077124791834), 4: np.float64(0.14797124400713307), 97: np.float64(0.04999999863567205), 71: np.float64(0.07099999863567204), 45: np.float64(0.09599999863567205), 0: np.float64(0.05099999863567204)} 

err list= [np.float64(0.49613200979773964), np.float64(0.08016077124791834), np.float64(0.14797124400713307), np.float64(0.04999999863567205), np.float64(0.07099999863567204), np.float64(0.09599999863567205), np.float64(0.05099999863567204)]
results for assortment [9, 8, 4, 97, 71, 45] :

beta is  0.1 

learned probs for this beta: {9: np.float64(0.7136380093001919), 8: np.float64(0.1865571522922191), 4: np.float64(0.09980483840758907), 97: np.float64(1.5918818595943058e-19), 71: np.float64(1.5918818595943058e-19), 45: np.float64(1.5918818595943058e-19), 0: np.float64(1.5918818595943058e-19)}
err dic= {9: np.float64(0.48363800930019196), 8: np.float64(0.07644284770778093), 4: np.float64(0.1391951615924109), 97: np.float64(0.05), 71: np.float64(0.071), 45: np.float64(0.096), 0: np.float64(0.051)} 

err list= [np.float64(0.48363800930019196), np.float64(0.07644284770778093), np.float64(0.1391951615924109), np.float64(0.05), np.float64(0.071), np.float64(0.096), np.float64(0.051)]
results for assortment [9, 8, 4, 97, 71, 45] :

beta is  0.25 

learned probs for this beta: {9: np.float64(0.6853340067923055), 8: np.float64(0.1918776544086963), 4: np.float64(0.12278833879899766), 97: np.float64(7.165195930334744e-49), 71: np.float64(7.165195930334744e-49), 45: np.float64(7.165195930334744e-49), 0: np.float64(7.165195930334744e-49)}
err dic= {9: np.float64(0.4553340067923055), 8: np.float64(0.0711223455913037), 4: np.float64(0.11621166120100233), 97: np.float64(0.05), 71: np.float64(0.071), 45: np.float64(0.096), 0: np.float64(0.051)} 

err list= [np.float64(0.4553340067923055), np.float64(0.0711223455913037), np.float64(0.11621166120100233), np.float64(0.05), np.float64(0.071), np.float64(0.096), np.float64(0.051)]
results for assortment [9, 8, 4, 97, 71, 45] :

beta is  0.5 

learned probs for this beta: {9: np.float64(0.6643886043473005), 8: np.float64(0.18661866139917774), 4: np.float64(0.14899273425352189), 97: np.float64(1.8034196699331833e-97), 71: np.float64(1.8034196699331833e-97), 45: np.float64(1.8034196699331833e-97), 0: np.float64(1.8034196699331833e-97)}
err dic= {9: np.float64(0.43438860434730053), 8: np.float64(0.07638133860082227), 4: np.float64(0.0900072657464781), 97: np.float64(0.05), 71: np.float64(0.071), 45: np.float64(0.096), 0: np.float64(0.051)} 

err list= [np.float64(0.43438860434730053), np.float64(0.07638133860082227), np.float64(0.0900072657464781), np.float64(0.05), np.float64(0.071), np.float64(0.096), np.float64(0.051)]
results for assortment [9, 8, 4, 97, 71, 45] :

beta is  0.75 

learned probs for this beta: {9: np.float64(0.6592347719395479), 8: np.float64(0.1746956935377797), 4: np.float64(0.16606953452267234), 97: np.float64(4.785957090302054e-146), 71: np.float64(4.785957090302054e-146), 45: np.float64(4.785957090302054e-146), 0: np.float64(4.785957090302054e-146)}
err dic= {9: np.float64(0.42923477193954795), 8: np.float64(0.08830430646222032), 4: np.float64(0.07293046547732765), 97: np.float64(0.05), 71: np.float64(0.071), 45: np.float64(0.096), 0: np.float64(0.051)} 

err list= [np.float64(0.42923477193954795), np.float64(0.08830430646222032), np.float64(0.07293046547732765), np.float64(0.05), np.float64(0.071), np.float64(0.096), np.float64(0.051)]
results for assortment [9, 8, 4, 97, 71, 45] :

beta is  1 

learned probs for this beta: {9: np.float64(0.6582215574955353), 8: np.float64(0.16228276831391192), 4: np.float64(0.17949567419055287), 97: np.float64(1.3249981134544747e-194), 71: np.float64(1.3249981134544747e-194), 45: np.float64(1.3249981134544747e-194), 0: np.float64(1.3249981134544747e-194)}
err dic= {9: np.float64(0.42822155749553537), 8: np.float64(0.1007172316860881), 4: np.float64(0.05950432580944712), 97: np.float64(0.05), 71: np.float64(0.071), 45: np.float64(0.096), 0: np.float64(0.051)} 

err list= [np.float64(0.42822155749553537), np.float64(0.1007172316860881), np.float64(0.05950432580944712), np.float64(0.05), np.float64(0.071), np.float64(0.096), np.float64(0.051)]
results for assortment [9, 8, 4, 97, 71, 45] :

beta is  1.25 

learned probs for this beta: {9: np.float64(0.6580388328681085), 8: np.float64(0.15096991103120083), 4: np.float64(0.1909912561006904), 97: np.float64(3.865106459181987e-243), 71: np.float64(3.865106459181987e-243), 45: np.float64(3.865106459181987e-243), 0: np.float64(3.865106459181987e-243)}
err dic= {9: np.float64(0.4280388328681085), 8: np.float64(0.11203008896879918), 4: np.float64(0.04800874389930959), 97: np.float64(0.05), 71: np.float64(0.071), 45: np.float64(0.096), 0: np.float64(0.051)} 

err list= [np.float64(0.4280388328681085), np.float64(0.11203008896879918), np.float64(0.04800874389930959), np.float64(0.05), np.float64(0.071), np.float64(0.096), np.float64(0.051)]
results for assortment [9, 8, 4, 97, 71, 45] :

err MNL dic= {9: 0.23, 8: 0.263, 4: 0.239, 97: 0.05, 71: 0.071, 45: 0.096, 0: np.float64(0.40677447491311103)} 

err MNL list= [0.23, 0.263, 0.239, 0.05, 0.071, 0.096, np.float64(0.40677447491311103)]
sampled assortment [6, 1, 3, 16, 55, 87] number: 7
#  Learning probs for MM model, A = [6, 1, 3, 16, 55, 87]
#cluster  3 with weight 0.24575
Learned cluster center of cluster 3:  {1: 3, 2: 2, 3: 0, 4: 0, 5: 2, 7: 3, 8: 0, 9: 2, 12: 3, 14: 3, 100: 0} [3, 4, 8, 100, 2, 5, 9, 1, 7, 12, 14]
#cluster  1 with weight 0.658
Learned cluster center of cluster 1:  {1: 0, 5: 0, 6: 0, 11: 0, 15: 0, 100: 0} [1, 5, 6, 11, 15, 100]
#cluster  2 with weight 0.09625
Learned cluster center of cluster 2:  {1: 3, 2: 0, 6: 1, 7: 1, 8: 1, 10: 1, 11: 2, 13: 5, 14: 5, 15: 6, 20: 5, 100: 1} [2, 6, 7, 8, 10, 100, 11, 1, 13, 14, 20, 15]
#  Learning probs for MM model, A = [6, 1, 3, 16, 55, 87]
#cluster  3 with weight 0.24575
Learned cluster center of cluster 3:  {2: 2, 3: 0, 4: 0, 5: 2, 6: 2, 7: 3, 8: 0, 9: 2, 12: 3, 15: 2, 100: 0} [3, 4, 8, 100, 2, 5, 6, 9, 15, 7, 12]
#cluster  1 with weight 0.658
Learned cluster center of cluster 1:  {1: 0, 5: 0, 10: 0, 12: 0, 13: 0, 100: 0} [1, 5, 10, 12, 13, 100]
#cluster  2 with weight 0.09625
Learned cluster center of cluster 2:  {1: 4, 2: 0, 6: 1, 7: 1, 8: 0, 10: 1, 11: 2, 100: 1} [2, 8, 6, 7, 10, 100, 11, 1]
empirical probabilities from test set: {6: 0.241, 1: 0.23, 3: 0.245, 16: 0.139, 55: 0.061, 87: 0.053, 0: 0.031}
results for assortment [6, 1, 3, 16, 55, 87] :

beta is  0.025 

learned probs for this beta: {6: np.float64(0.16660884560149397), 1: np.float64(0.7033748079514559), 3: np.float64(0.1295866164462041), 16: np.float64(0.00010743250021155268), 55: np.float64(0.00010743250021155268), 87: np.float64(0.00010743250021155268), 0: np.float64(0.00010743250021155268)}
err dic= {6: np.float64(0.07439115439850602), 1: np.float64(0.4733748079514559), 3: np.float64(0.1154133835537959), 16: np.float64(0.13889256749978846), 55: np.float64(0.06089256749978845), 87: np.float64(0.05289256749978845), 0: np.float64(0.030892567499788446)} 

err list= [np.float64(0.07439115439850602), np.float64(0.4733748079514559), np.float64(0.1154133835537959), np.float64(0.13889256749978846), np.float64(0.06089256749978845), np.float64(0.05289256749978845), np.float64(0.030892567499788446)]
results for assortment [6, 1, 3, 16, 55, 87] :

beta is  0.05 

learned probs for this beta: {6: np.float64(0.1621357836874746), 1: np.float64(0.7017247191658301), 3: np.float64(0.13613949352092558), 16: np.float64(9.06442442693079e-10), 55: np.float64(9.06442442693079e-10), 87: np.float64(9.06442442693079e-10), 0: np.float64(9.06442442693079e-10)}
err dic= {6: np.float64(0.07886421631252538), 1: np.float64(0.47172471916583014), 3: np.float64(0.10886050647907441), 16: np.float64(0.13899999909355756), 55: np.float64(0.06099999909355756), 87: np.float64(0.05299999909355756), 0: np.float64(0.030999999093557558)} 

err list= [np.float64(0.07886421631252538), np.float64(0.47172471916583014), np.float64(0.10886050647907441), np.float64(0.13899999909355756), np.float64(0.06099999909355756), np.float64(0.05299999909355756), np.float64(0.030999999093557558)]
results for assortment [6, 1, 3, 16, 55, 87] :

beta is  0.1 

learned probs for this beta: {6: np.float64(0.15348274837208725), 1: np.float64(0.6973908054654313), 3: np.float64(0.14912644616248158), 16: np.float64(7.351093199681156e-20), 55: np.float64(7.351093199681156e-20), 87: np.float64(7.351093199681156e-20), 0: np.float64(7.351093199681156e-20)}
err dic= {6: np.float64(0.08751725162791274), 1: np.float64(0.4673908054654313), 3: np.float64(0.09587355383751842), 16: np.float64(0.139), 55: np.float64(0.061), 87: np.float64(0.053), 0: np.float64(0.031)} 

err list= [np.float64(0.08751725162791274), np.float64(0.4673908054654313), np.float64(0.09587355383751842), np.float64(0.139), np.float64(0.061), np.float64(0.053), np.float64(0.031)]
results for assortment [6, 1, 3, 16, 55, 87] :

beta is  0.25 

learned probs for this beta: {6: np.float64(0.13056532838552115), 1: np.float64(0.6853787063291911), 3: np.float64(0.1840559652852877), 16: np.float64(1.4563968707790699e-49), 55: np.float64(1.4563968707790699e-49), 87: np.float64(1.4563968707790699e-49), 0: np.float64(1.4563968707790699e-49)}
err dic= {6: np.float64(0.11043467161447884), 1: np.float64(0.4553787063291911), 3: np.float64(0.0609440347147123), 16: np.float64(0.139), 55: np.float64(0.061), 87: np.float64(0.053), 0: np.float64(0.031)} 

err list= [np.float64(0.11043467161447884), np.float64(0.4553787063291911), np.float64(0.0609440347147123), np.float64(0.139), np.float64(0.061), np.float64(0.053), np.float64(0.031)]
results for assortment [6, 1, 3, 16, 55, 87] :

beta is  0.5 

learned probs for this beta: {6: np.float64(0.10716539387928586), 1: np.float64(0.670777502258841), 3: np.float64(0.22205710386187325), 16: np.float64(1.6143624213335113e-98), 55: np.float64(1.6143624213335113e-98), 87: np.float64(1.6143624213335113e-98), 0: np.float64(1.6143624213335113e-98)}
err dic= {6: np.float64(0.13383460612071413), 1: np.float64(0.44077750225884105), 3: np.float64(0.02294289613812675), 16: np.float64(0.139), 55: np.float64(0.061), 87: np.float64(0.053), 0: np.float64(0.031)} 

err list= [np.float64(0.13383460612071413), np.float64(0.44077750225884105), np.float64(0.02294289613812675), np.float64(0.139), np.float64(0.061), np.float64(0.053), np.float64(0.031)]
results for assortment [6, 1, 3, 16, 55, 87] :

beta is  0.75 

learned probs for this beta: {6: np.float64(0.09863658206893107), 1: np.float64(0.6631029822837005), 3: np.float64(0.2382604356473685), 16: np.float64(1.8052128522977934e-147), 55: np.float64(1.8052128522977934e-147), 87: np.float64(1.8052128522977934e-147), 0: np.float64(1.8052128522977934e-147)}
err dic= {6: np.float64(0.14236341793106894), 1: np.float64(0.4331029822837005), 3: np.float64(0.006739564352631483), 16: np.float64(0.139), 55: np.float64(0.061), 87: np.float64(0.053), 0: np.float64(0.031)} 

err list= [np.float64(0.14236341793106894), np.float64(0.4331029822837005), np.float64(0.006739564352631483), np.float64(0.139), np.float64(0.061), np.float64(0.053), np.float64(0.031)]
results for assortment [6, 1, 3, 16, 55, 87] :

beta is  1 

learned probs for this beta: {6: np.float64(0.09651430810208152), 1: np.float64(0.6598295974418312), 3: np.float64(0.24365609445608744), 16: np.float64(1.9715675798673283e-196), 55: np.float64(1.9715675798673283e-196), 87: np.float64(1.9715675798673283e-196), 0: np.float64(1.9715675798673283e-196)}
err dic= {6: np.float64(0.1444856918979185), 1: np.float64(0.42982959744183125), 3: np.float64(0.0013439055439125602), 16: np.float64(0.139), 55: np.float64(0.061), 87: np.float64(0.053), 0: np.float64(0.031)} 

err list= [np.float64(0.1444856918979185), np.float64(0.42982959744183125), np.float64(0.0013439055439125602), np.float64(0.139), np.float64(0.061), np.float64(0.053), np.float64(0.031)]
results for assortment [6, 1, 3, 16, 55, 87] :

beta is  1.25 

learned probs for this beta: {6: np.float64(0.0961820929158637), 1: np.float64(0.6586112449936601), 3: np.float64(0.24520666209047615), 16: np.float64(2.136162624668973e-245), 55: np.float64(2.136162624668973e-245), 87: np.float64(2.136162624668973e-245), 0: np.float64(2.136162624668973e-245)}
err dic= {6: np.float64(0.14481790708413628), 1: np.float64(0.4286112449936601), 3: np.float64(0.0002066620904761507), 16: np.float64(0.139), 55: np.float64(0.061), 87: np.float64(0.053), 0: np.float64(0.031)} 

err list= [np.float64(0.14481790708413628), np.float64(0.4286112449936601), np.float64(0.0002066620904761507), np.float64(0.139), np.float64(0.061), np.float64(0.053), np.float64(0.031)]
results for assortment [6, 1, 3, 16, 55, 87] :

err MNL dic= {6: 0.241, 1: 0.23, 3: 0.245, 16: 0.139, 55: 0.061, 87: 0.053, 0: np.float64(0.41825828785073915)} 

err MNL list= [0.241, 0.23, 0.245, 0.139, 0.061, 0.053, np.float64(0.41825828785073915)]
sampled assortment [2, 6, 7, 48, 12, 98] number: 8
#  Learning probs for MM model, A = [2, 6, 7, 48, 12, 98]
#cluster  3 with weight 0.24575
Learned cluster center of cluster 3:  {2: 2, 3: 0, 4: 0, 5: 2, 6: 2, 7: 3, 8: 0, 9: 2, 11: 2, 12: 3, 100: 0} [3, 4, 8, 100, 2, 5, 6, 9, 11, 7, 12]
#cluster  1 with weight 0.658
Learned cluster center of cluster 1:  {1: 0, 5: 0, 6: 0, 10: 0, 100: 0} [1, 5, 6, 10, 100]
#cluster  2 with weight 0.09625
Learned cluster center of cluster 2:  {1: 2, 2: 0, 4: 6, 6: 1, 7: 1, 8: 1, 10: 1, 11: 3, 16: 7, 17: 5, 24: 8, 100: 1} [2, 6, 7, 8, 10, 100, 1, 11, 17, 4, 16, 24]
#  Learning probs for MM model, A = [2, 6, 7, 48, 12, 98]
#cluster  3 with weight 0.24575
Learned cluster center of cluster 3:  {3: 0, 4: 0, 5: 2, 6: 2, 8: 0, 9: 2, 11: 2, 12: 3, 15: 2, 100: 0} [3, 4, 8, 100, 5, 6, 9, 11, 15, 12]
#cluster  1 with weight 0.658
Learned cluster center of cluster 1:  {1: 0, 5: 0, 9: 0, 10: 0, 12: 0, 100: 0} [1, 5, 9, 10, 12, 100]
#cluster  2 with weight 0.09625
Learned cluster center of cluster 2:  {1: 3, 2: 0, 6: 1, 7: 1, 8: 1, 10: 1, 11: 3, 16: 6, 17: 4, 100: 2} [2, 6, 7, 8, 10, 100, 1, 11, 17, 16]
empirical probabilities from test set: {2: 0.254, 6: 0.256, 7: 0.184, 48: 0.074, 12: 0.153, 98: 0.043, 0: 0.036}
results for assortment [2, 6, 7, 48, 12, 98] :

beta is  0.025 

learned probs for this beta: {2: np.float64(0.032996127816278364), 6: np.float64(0.15962538669504503), 7: np.float64(0.03139232362029295), 48: np.float64(0.00011439075398486259), 12: np.float64(0.7756429896064291), 98: np.float64(0.00011439075398486259), 0: np.float64(0.00011439075398486259)}
err dic= {2: np.float64(0.22100387218372164), 6: np.float64(0.09637461330495498), 7: np.float64(0.15260767637970704), 48: np.float64(0.07388560924601513), 12: np.float64(0.622642989606429), 98: np.float64(0.04288560924601514), 0: np.float64(0.03588560924601514)} 

err list= [np.float64(0.22100387218372164), np.float64(0.09637461330495498), np.float64(0.15260767637970704), np.float64(0.07388560924601513), np.float64(0.622642989606429), np.float64(0.04288560924601514), np.float64(0.03588560924601514)]
results for assortment [2, 6, 7, 48, 12, 98] :

beta is  0.05 

learned probs for this beta: {2: np.float64(0.033700192606776695), 6: np.float64(0.16413152522582175), 7: np.float64(0.030493195359717756), 48: np.float64(1.021822499514911e-09), 12: np.float64(0.7716750837422164), 98: np.float64(1.021822499514911e-09), 0: np.float64(1.021822499514911e-09)}
err dic= {2: np.float64(0.2202998073932233), 6: np.float64(0.09186847477417825), 7: np.float64(0.15350680464028224), 48: np.float64(0.0739999989781775), 12: np.float64(0.6186750837422164), 98: np.float64(0.042999998978177495), 0: np.float64(0.035999998978177496)} 

err list= [np.float64(0.2202998073932233), np.float64(0.09186847477417825), np.float64(0.15350680464028224), np.float64(0.0739999989781775), np.float64(0.6186750837422164), np.float64(0.042999998978177495), np.float64(0.035999998978177496)]
results for assortment [2, 6, 7, 48, 12, 98] :

beta is  0.1 

learned probs for this beta: {2: np.float64(0.03533966985692658), 6: np.float64(0.17315788911417476), 7: np.float64(0.028933674515488762), 48: np.float64(8.689392250890854e-20), 12: np.float64(0.7625687665134099), 98: np.float64(8.689392250890854e-20), 0: np.float64(8.689392250890854e-20)}
err dic= {2: np.float64(0.21866033014307343), 6: np.float64(0.08284211088582524), 7: np.float64(0.15506632548451124), 48: np.float64(0.074), 12: np.float64(0.6095687665134099), 98: np.float64(0.043), 0: np.float64(0.036)} 

err list= [np.float64(0.21866033014307343), np.float64(0.08284211088582524), np.float64(0.15506632548451124), np.float64(0.074), np.float64(0.6095687665134099), np.float64(0.043), np.float64(0.036)]
results for assortment [2, 6, 7, 48, 12, 98] :

beta is  0.25 

learned probs for this beta: {2: np.float64(0.0403507865924334), 6: np.float64(0.19849805819147587), 7: np.float64(0.024473989211832314), 48: np.float64(1.27270340133031e-49), 12: np.float64(0.7366771660042578), 98: np.float64(1.27270340133031e-49), 0: np.float64(1.27270340133031e-49)}
err dic= {2: np.float64(0.2136492134075666), 6: np.float64(0.05750194180852414), 7: np.float64(0.1595260107881677), 48: np.float64(0.074), 12: np.float64(0.5836771660042578), 98: np.float64(0.043), 0: np.float64(0.036)} 

err list= [np.float64(0.2136492134075666), np.float64(0.05750194180852414), np.float64(0.1595260107881677), np.float64(0.074), np.float64(0.5836771660042578), np.float64(0.043), np.float64(0.036)]
results for assortment [2, 6, 7, 48, 12, 98] :

beta is  0.5 

learned probs for this beta: {2: np.float64(0.04874873763910672), 6: np.float64(0.23134233181082992), 7: np.float64(0.017933658360487836), 48: np.float64(1.3878756467054814e-98), 12: np.float64(0.7019752721895757), 98: np.float64(1.3878756467054814e-98), 0: np.float64(1.3878756467054814e-98)}
err dic= {2: np.float64(0.20525126236089328), 6: np.float64(0.02465766818917009), 7: np.float64(0.16606634163951217), 48: np.float64(0.074), 12: np.float64(0.5489752721895756), 98: np.float64(0.043), 0: np.float64(0.036)} 

err list= [np.float64(0.20525126236089328), np.float64(0.02465766818917009), np.float64(0.16606634163951217), np.float64(0.074), np.float64(0.5489752721895756), np.float64(0.043), np.float64(0.036)]
results for assortment [2, 6, 7, 48, 12, 98] :

beta is  0.75 

learned probs for this beta: {2: np.float64(0.05676802512696822), 6: np.float64(0.2506537469717856), 7: np.float64(0.01266665853789051), 48: np.float64(2.0418695564213166e-147), 12: np.float64(0.6799115693633556), 98: np.float64(2.0418695564213166e-147), 0: np.float64(2.0418695564213166e-147)}
err dic= {2: np.float64(0.1972319748730318), 6: np.float64(0.005346253028214398), 7: np.float64(0.1713333414621095), 48: np.float64(0.074), 12: np.float64(0.5269115693633556), 98: np.float64(0.043), 0: np.float64(0.036)} 

err list= [np.float64(0.1972319748730318), np.float64(0.005346253028214398), np.float64(0.1713333414621095), np.float64(0.074), np.float64(0.5269115693633556), np.float64(0.043), np.float64(0.036)]
results for assortment [2, 6, 7, 48, 12, 98] :

beta is  1 

learned probs for this beta: {2: np.float64(0.06402944199332661), 6: np.float64(0.25930034606755575), 7: np.float64(0.008665442667649122), 48: np.float64(3.026627343581956e-196), 12: np.float64(0.6680047692714686), 98: np.float64(3.026627343581956e-196), 0: np.float64(3.026627343581956e-196)}
err dic= {2: np.float64(0.1899705580066734), 6: np.float64(0.0033003460675557483), 7: np.float64(0.17533455733235087), 48: np.float64(0.074), 12: np.float64(0.5150047692714685), 98: np.float64(0.043), 0: np.float64(0.036)} 

err list= [np.float64(0.1899705580066734), np.float64(0.0033003460675557483), np.float64(0.17533455733235087), np.float64(0.074), np.float64(0.5150047692714685), np.float64(0.043), np.float64(0.036)]
results for assortment [2, 6, 7, 48, 12, 98] :

beta is  1.25 

learned probs for this beta: {2: np.float64(0.07032786618575879), 6: np.float64(0.2616075717441281), 7: np.float64(0.005772862799079746), 48: np.float64(4.4134817295628104e-245), 12: np.float64(0.6622916992710333), 98: np.float64(4.4134817295628104e-245), 0: np.float64(4.4134817295628104e-245)}
err dic= {2: np.float64(0.18367213381424122), 6: np.float64(0.00560757174412807), 7: np.float64(0.17822713720092026), 48: np.float64(0.074), 12: np.float64(0.5092916992710332), 98: np.float64(0.043), 0: np.float64(0.036)} 

err list= [np.float64(0.18367213381424122), np.float64(0.00560757174412807), np.float64(0.17822713720092026), np.float64(0.074), np.float64(0.5092916992710332), np.float64(0.043), np.float64(0.036)]
results for assortment [2, 6, 7, 48, 12, 98] :

err MNL dic= {2: 0.254, 6: 0.256, 7: 0.184, 48: 0.074, 12: 0.153, 98: 0.043, 0: np.float64(0.4112375981548221)} 

err MNL list= [0.254, 0.256, 0.184, 0.074, 0.153, 0.043, np.float64(0.4112375981548221)]
sampled assortment [1, 6, 4, 72, 86, 36] number: 9
#  Learning probs for MM model, A = [1, 6, 4, 72, 86, 36]
#cluster  3 with weight 0.24575
Learned cluster center of cluster 3:  {1: 3, 2: 2, 3: 0, 4: 0, 5: 2, 6: 2, 7: 3, 8: 0, 9: 2, 12: 3, 13: 4, 14: 2, 20: 3, 100: 0} [3, 4, 8, 100, 2, 5, 6, 9, 14, 1, 7, 12, 20, 13]
#cluster  1 with weight 0.658
Learned cluster center of cluster 1:  {1: 0, 5: 0, 6: 0, 10: 0, 12: 0, 100: 0} [1, 5, 6, 10, 12, 100]
#cluster  2 with weight 0.09625
Learned cluster center of cluster 2:  {1: 4, 2: 0, 4: 5, 6: 1, 7: 1, 8: 1, 10: 1, 11: 2, 14: 6, 18: 6, 100: 1} [2, 6, 7, 8, 10, 100, 11, 1, 4, 14, 18]
#  Learning probs for MM model, A = [1, 6, 4, 72, 86, 36]
#cluster  3 with weight 0.24575
Learned cluster center of cluster 3:  {2: 2, 3: 0, 4: 0, 5: 2, 6: 2, 7: 3, 8: 0, 9: 2, 12: 4, 14: 2, 15: 3, 19: 3, 100: 0} [3, 4, 8, 100, 2, 5, 6, 9, 14, 7, 15, 19, 12]
#cluster  1 with weight 0.658
Learned cluster center of cluster 1:  {1: 0, 5: 0, 6: 0, 9: 0, 10: 0, 100: 0} [1, 5, 6, 9, 10, 100]
#cluster  2 with weight 0.09625
Learned cluster center of cluster 2:  {2: 0, 5: 5, 6: 1, 7: 1, 8: 1, 10: 1, 11: 2, 16: 6, 17: 5, 25: 6, 100: 1} [2, 6, 7, 8, 10, 100, 11, 5, 17, 16, 25]
empirical probabilities from test set: {1: 0.252, 6: 0.246, 4: 0.235, 72: 0.067, 86: 0.056, 36: 0.101, 0: 0.043}
results for assortment [1, 6, 4, 72, 86, 36] :

beta is  0.025 

learned probs for this beta: {1: np.float64(0.33586326488333523), 6: np.float64(0.5354295251840633), 4: np.float64(0.12850022589949953), 72: np.float64(5.174600827548465e-05), 86: np.float64(5.174600827548465e-05), 36: np.float64(5.174600827548465e-05), 0: np.float64(5.174600827548465e-05)}
err dic= {1: np.float64(0.08386326488333523), 6: np.float64(0.2894295251840633), 4: np.float64(0.10649977410050046), 72: np.float64(0.06694825399172452), 86: np.float64(0.05594825399172452), 36: np.float64(0.10094825399172452), 0: np.float64(0.042948253991724514)} 

err list= [np.float64(0.08386326488333523), np.float64(0.2894295251840633), np.float64(0.10649977410050046), np.float64(0.06694825399172452), np.float64(0.05594825399172452), np.float64(0.10094825399172452), np.float64(0.042948253991724514)]
results for assortment [1, 6, 4, 72, 86, 36] :

beta is  0.05 

learned probs for this beta: {1: np.float64(0.34270091281940473), 6: np.float64(0.5231890926969247), 4: np.float64(0.13410999191965983), 72: np.float64(6.410027023702585e-10), 86: np.float64(6.410027023702585e-10), 36: np.float64(6.410027023702585e-10), 0: np.float64(6.410027023702585e-10)}
err dic= {1: np.float64(0.09070091281940473), 6: np.float64(0.2771890926969247), 4: np.float64(0.10089000808034015), 72: np.float64(0.0669999993589973), 86: np.float64(0.0559999993589973), 36: np.float64(0.1009999993589973), 0: np.float64(0.042999999358997294)} 

err list= [np.float64(0.09070091281940473), np.float64(0.2771890926969247), np.float64(0.10089000808034015), np.float64(0.0669999993589973), np.float64(0.0559999993589973), np.float64(0.1009999993589973), np.float64(0.042999999358997294)]
results for assortment [1, 6, 4, 72, 86, 36] :

beta is  0.1 

learned probs for this beta: {1: np.float64(0.35635740824577783), 6: np.float64(0.4984670379166092), 4: np.float64(0.14517555383761316), 72: np.float64(1.087963774158865e-19), 86: np.float64(1.087963774158865e-19), 36: np.float64(1.087963774158865e-19), 0: np.float64(1.087963774158865e-19)}
err dic= {1: np.float64(0.10435740824577783), 6: np.float64(0.2524670379166092), 4: np.float64(0.08982444616238683), 72: np.float64(0.067), 86: np.float64(0.056), 36: np.float64(0.101), 0: np.float64(0.043)} 

err list= [np.float64(0.10435740824577783), np.float64(0.2524670379166092), np.float64(0.08982444616238683), np.float64(0.067), np.float64(0.056), np.float64(0.101), np.float64(0.043)]
results for assortment [1, 6, 4, 72, 86, 36] :

beta is  0.25 

learned probs for this beta: {1: np.float64(0.3966274226917994), 6: np.float64(0.4275271703513036), 4: np.float64(0.17584540695689663), 72: np.float64(7.257038604141818e-49), 86: np.float64(7.257038604141818e-49), 36: np.float64(7.257038604141818e-49), 0: np.float64(7.257038604141818e-49)}
err dic= {1: np.float64(0.1446274226917994), 6: np.float64(0.1815271703513036), 4: np.float64(0.05915459304310336), 72: np.float64(0.067), 86: np.float64(0.056), 36: np.float64(0.101), 0: np.float64(0.043)} 

err list= [np.float64(0.1446274226917994), np.float64(0.1815271703513036), np.float64(0.05915459304310336), np.float64(0.067), np.float64(0.056), np.float64(0.101), np.float64(0.043)]
results for assortment [1, 6, 4, 72, 86, 36] :

beta is  0.5 

learned probs for this beta: {1: np.float64(0.45908484750119233), 6: np.float64(0.3277892686557965), 4: np.float64(0.21312588384301132), 72: np.float64(2.1412098666223438e-97), 86: np.float64(2.1412098666223438e-97), 36: np.float64(2.1412098666223438e-97), 0: np.float64(2.1412098666223438e-97)}
err dic= {1: np.float64(0.20708484750119233), 6: np.float64(0.0817892686557965), 4: np.float64(0.02187411615698867), 72: np.float64(0.067), 86: np.float64(0.056), 36: np.float64(0.101), 0: np.float64(0.043)} 

err list= [np.float64(0.20708484750119233), np.float64(0.0817892686557965), np.float64(0.02187411615698867), np.float64(0.067), np.float64(0.056), np.float64(0.101), np.float64(0.043)]
results for assortment [1, 6, 4, 72, 86, 36] :

beta is  0.75 

learned probs for this beta: {1: np.float64(0.5125933948061044), 6: np.float64(0.2546857781416295), 4: np.float64(0.23272082705226613), 72: np.float64(7.1238069098931585e-146), 86: np.float64(7.1238069098931585e-146), 36: np.float64(7.1238069098931585e-146), 0: np.float64(7.1238069098931585e-146)}
err dic= {1: np.float64(0.26059339480610444), 6: np.float64(0.008685778141629519), 4: np.float64(0.0022791729477338596), 72: np.float64(0.067), 86: np.float64(0.056), 36: np.float64(0.101), 0: np.float64(0.043)} 

err list= [np.float64(0.26059339480610444), np.float64(0.008685778141629519), np.float64(0.0022791729477338596), np.float64(0.067), np.float64(0.056), np.float64(0.101), np.float64(0.043)]
results for assortment [1, 6, 4, 72, 86, 36] :

beta is  1 

learned probs for this beta: {1: np.float64(0.5554518870151791), 6: np.float64(0.20346952671292473), 4: np.float64(0.24107858627189607), 72: np.float64(2.539561137645142e-194), 86: np.float64(2.539561137645142e-194), 36: np.float64(2.539561137645142e-194), 0: np.float64(2.539561137645142e-194)}
err dic= {1: np.float64(0.3034518870151791), 6: np.float64(0.042530473287075266), 4: np.float64(0.006078586271896086), 72: np.float64(0.067), 86: np.float64(0.056), 36: np.float64(0.101), 0: np.float64(0.043)} 

err list= [np.float64(0.3034518870151791), np.float64(0.042530473287075266), np.float64(0.006078586271896086), np.float64(0.067), np.float64(0.056), np.float64(0.101), np.float64(0.043)]
results for assortment [1, 6, 4, 72, 86, 36] :

beta is  1.25 

learned probs for this beta: {1: np.float64(0.5878581690450773), 6: np.float64(0.16795249025042358), 4: np.float64(0.24418934070449905), 72: np.float64(9.358967914246013e-243), 86: np.float64(9.358967914246013e-243), 36: np.float64(9.358967914246013e-243), 0: np.float64(9.358967914246013e-243)}
err dic= {1: np.float64(0.33585816904507726), 6: np.float64(0.07804750974957642), 4: np.float64(0.00918934070449906), 72: np.float64(0.067), 86: np.float64(0.056), 36: np.float64(0.101), 0: np.float64(0.043)} 

err list= [np.float64(0.33585816904507726), np.float64(0.07804750974957642), np.float64(0.00918934070449906), np.float64(0.067), np.float64(0.056), np.float64(0.101), np.float64(0.043)]
results for assortment [1, 6, 4, 72, 86, 36] :

err MNL dic= {1: 0.252, 6: 0.246, 4: 0.235, 72: 0.067, 86: 0.056, 36: 0.101, 0: np.float64(0.4111144261852699)} 

err MNL list= [0.252, 0.246, 0.235, 0.067, 0.056, 0.101, np.float64(0.4111144261852699)]
****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.10665508 0.10588326 0.10457212 0.10172585 0.09788777 0.09439596
 0.09354472 0.09417475]
mean_std= [0.         0.00077183 0.0019584  0.00521347 0.00898151 0.01132196
 0.01068747 0.01013523]
MNL: [0.1976459  0.1991168  0.19834827 0.19281603 0.2008981  0.19428916
 0.19368207 0.19817976 0.19646251 0.19544492]
 mean error for MNL:

mean_err_MNL= 0.1966883513219539
mean_std_MNL= 0.002467828128450386
