Last active
April 8, 2016 14:23
-
-
Save nzw0301/c22ae9aa0917498701f313d4e56280f1 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"n = 100\n", | |
"n_i = 85\n", | |
"n_ii = 14\n", | |
"n_exist = n_i+n_ii\n", | |
"n_new = n-n_i-n_ii" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"- データ数100\n", | |
"- クラス1に85\n", | |
"- クラス2に14\n", | |
"\n", | |
"としたときに未割り当てのCの数を増加させてにどのクラスに属するかをαの挙動によって確認" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"def demo(alpha=1.0):\n", | |
" c = 100\n", | |
" print(\"alpha=\", alpha)\n", | |
" for i in range(15):\n", | |
" print(c, \"new class\", (c-n_new)/c*alpha/(n-1+alpha), \"class1\", (n_i+alpha/c)/(n-1+alpha), \"class2\", (n_ii+alpha/c)/(n-1+alpha))\n", | |
" c *= 10" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"alpha= 1.0\n", | |
"100 new class 0.009899999999999999 class1 0.8501000000000001 class2 0.1401\n", | |
"1000 new class 0.00999 class1 0.85001 class2 0.14001\n", | |
"10000 new class 0.009999000000000001 class1 0.850001 class2 0.140001\n", | |
"100000 new class 0.0099999 class1 0.8500001 class2 0.1400001\n", | |
"1000000 new class 0.00999999 class1 0.85000001 class2 0.14000000999999998\n", | |
"10000000 new class 0.009999999 class1 0.850000001 class2 0.14000000099999999\n", | |
"100000000 new class 0.009999999899999999 class1 0.8500000001 class2 0.14000000010000002\n", | |
"1000000000 new class 0.009999999990000001 class1 0.8500000000100001 class2 0.14000000001000001\n", | |
"10000000000 new class 0.009999999999 class1 0.8500000000010001 class2 0.140000000001\n", | |
"100000000000 new class 0.0099999999999 class1 0.8500000000001 class2 0.1400000000001\n", | |
"1000000000000 new class 0.00999999999999 class1 0.85000000000001 class2 0.14000000000001\n", | |
"10000000000000 new class 0.009999999999999 class1 0.850000000000001 class2 0.14000000000000098\n", | |
"100000000000000 new class 0.0099999999999999 class1 0.8500000000000001 class2 0.1400000000000001\n", | |
"1000000000000000 new class 0.00999999999999999 class1 0.85 class2 0.14\n", | |
"10000000000000000 new class 0.009999999999999998 class1 0.85 class2 0.14\n" | |
] | |
} | |
], | |
"source": [ | |
"demo(1.) # 頻度に近い" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"alpha= 1e-200\n", | |
"100 new class 9.999999999999999e-203 class1 0.8585858585858586 class2 0.1414141414141414\n", | |
"1000 new class 1.0090909090909092e-202 class1 0.8585858585858586 class2 0.1414141414141414\n", | |
"10000 new class 1.01e-202 class1 0.8585858585858586 class2 0.1414141414141414\n", | |
"100000 new class 1.0100909090909092e-202 class1 0.8585858585858586 class2 0.1414141414141414\n", | |
"1000000 new class 1.0100999999999999e-202 class1 0.8585858585858586 class2 0.1414141414141414\n", | |
"10000000 new class 1.0101009090909091e-202 class1 0.8585858585858586 class2 0.1414141414141414\n", | |
"100000000 new class 1.0101009999999999e-202 class1 0.8585858585858586 class2 0.1414141414141414\n", | |
"1000000000 new class 1.0101010090909091e-202 class1 0.8585858585858586 class2 0.1414141414141414\n", | |
"10000000000 new class 1.0101010099999999e-202 class1 0.8585858585858586 class2 0.1414141414141414\n", | |
"100000000000 new class 1.010101010090909e-202 class1 0.8585858585858586 class2 0.1414141414141414\n", | |
"1000000000000 new class 1.0101010101000001e-202 class1 0.8585858585858586 class2 0.1414141414141414\n", | |
"10000000000000 new class 1.010101010100909e-202 class1 0.8585858585858586 class2 0.1414141414141414\n", | |
"100000000000000 new class 1.010101010101e-202 class1 0.8585858585858586 class2 0.1414141414141414\n", | |
"1000000000000000 new class 1.010101010101009e-202 class1 0.8585858585858586 class2 0.1414141414141414\n", | |
"10000000000000000 new class 1.0101010101010099e-202 class1 0.8585858585858586 class2 0.1414141414141414\n" | |
] | |
} | |
], | |
"source": [ | |
"demo(1e-200) # 新しいクラスに当てられる確率が小さくなる" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"alpha= 200.0\n", | |
"100 new class 0.6622073578595318 class1 0.2909698996655518 class2 0.05351170568561873\n", | |
"1000 new class 0.668227424749164 class1 0.28494983277591973 class2 0.04749163879598662\n", | |
"10000 new class 0.668829431438127 class1 0.2843478260869565 class2 0.04688963210702341\n", | |
"100000 new class 0.6688896321070235 class1 0.2842876254180602 class2 0.046829431438127095\n", | |
"1000000 new class 0.668895652173913 class1 0.2842816053511706 class2 0.04682341137123746\n", | |
"10000000 new class 0.6688962541806021 class1 0.28428100334448164 class2 0.046822809364548496\n", | |
"100000000 new class 0.6688963143812708 class1 0.2842809431438127 class2 0.0468227491638796\n", | |
"1000000000 new class 0.6688963204013378 class1 0.2842809371237458 class2 0.04682274314381271\n", | |
"10000000000 new class 0.6688963210033444 class1 0.28428093652173914 class2 0.04682274254180602\n", | |
"100000000000 new class 0.6688963210635451 class1 0.28428093646153846 class2 0.04682274248160535\n", | |
"1000000000000 new class 0.6688963210695652 class1 0.2842809364555184 class2 0.04682274247558529\n", | |
"10000000000000 new class 0.6688963210701672 class1 0.28428093645491637 class2 0.046822742474983275\n", | |
"100000000000000 new class 0.6688963210702275 class1 0.2842809364548562 class2 0.04682274247492308\n", | |
"1000000000000000 new class 0.6688963210702334 class1 0.28428093645485014 class2 0.04682274247491706\n", | |
"10000000000000000 new class 0.668896321070234 class1 0.28428093645484953 class2 0.046822742474916454\n" | |
] | |
} | |
], | |
"source": [ | |
"demo(200.) # 新しいクラスに当てられやすくなる" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.5.1" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 0 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment