Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.63 KB | None | 0 0
  1. {
  2. "cells": [
  3. {
  4. "cell_type": "code",
  5. "execution_count": 1,
  6. "metadata": {
  7. "collapsed": true
  8. },
  9. "outputs": [],
  10. "source": [
  11. "from atm import ATM"
  12. ]
  13. },
  14. {
  15. "cell_type": "code",
  16. "execution_count": 199,
  17. "metadata": {
  18. "collapsed": false
  19. },
  20. "outputs": [],
  21. "source": [
  22. "# データ生成\n",
  23. "vocab = {'computer':0, 'banana':1, 'apple':2}\n",
  24. "authors = {'Yamada':0, 'Suzuki':1}\n",
  25. "\n",
  26. "V = len(vocab)\n",
  27. "S = len(authors)\n",
  28. "\n",
  29. "W = [] # words\n",
  30. "A = [] # authors\n",
  31. "\n",
  32. "W.append(map(lambda v:vocab[v], ['computer', 'computer']))\n",
  33. "A.append(map(lambda a:authors[a], ['Yamada']))\n",
  34. "W.append(map(lambda v:vocab[v], ['banana', 'banana']))\n",
  35. "A.append(map(lambda a:authors[a], ['Suzuki']))\n",
  36. "W.append(map(lambda v:vocab[v], ['computer', 'computer', 'apple']))\n",
  37. "A.append(map(lambda a:authors[a], ['Yamada']))\n",
  38. "W.append(map(lambda v:vocab[v], ['banana', 'banana', 'apple']))\n",
  39. "A.append(map(lambda a:authors[a], ['Suzuki']))\n",
  40. "W.append(map(lambda v:vocab[v], ['apple']))\n",
  41. "A.append(map(lambda a:authors[a], ['Yamada']))\n",
  42. "W.append(map(lambda v:vocab[v], ['apple']))\n",
  43. "A.append(map(lambda a:authors[a], ['Suzuki']))\n",
  44. "W.append(map(lambda v:vocab[v], ['computer', 'computer']))\n",
  45. "A.append(map(lambda a:authors[a], ['Suzuki', 'Yamada']))"
  46. ]
  47. },
  48. {
  49. "cell_type": "code",
  50. "execution_count": 200,
  51. "metadata": {
  52. "collapsed": false
  53. },
  54. "outputs": [],
  55. "source": [
  56. "# モデル定義\n",
  57. "K = 2\n",
  58. "alpha = 0.01\n",
  59. "beta= 0.01\n",
  60. "max_iter = 1000\n",
  61. "\n",
  62. "atm = ATM(K=K, alpha=alpha, beta=beta, max_iter=max_iter)"
  63. ]
  64. },
  65. {
  66. "cell_type": "code",
  67. "execution_count": 201,
  68. "metadata": {
  69. "collapsed": false
  70. },
  71. "outputs": [
  72. {
  73. "data": {
  74. "text/plain": [
  75. "<atm.ATM instance at 0x10e8a0638>"
  76. ]
  77. },
  78. "execution_count": 201,
  79. "metadata": {},
  80. "output_type": "execute_result"
  81. }
  82. ],
  83. "source": [
  84. "# Author Topic Model のフィッティング\n",
  85. "atm.fit(W,A,V,S)"
  86. ]
  87. },
  88. {
  89. "cell_type": "code",
  90. "execution_count": 202,
  91. "metadata": {
  92. "collapsed": false
  93. },
  94. "outputs": [
  95. {
  96. "name": "stdout",
  97. "output_type": "stream",
  98. "text": [
  99. "[array([0, 0]), array([1, 1]), array([0, 0, 0]), array([1, 1, 1]), array([0]), array([1]), array([0, 0])]\n",
  100. "[array([0, 0]), array([0, 0]), array([0, 0, 0]), array([0, 0, 0]), array([0]), array([0]), array([1, 1])]\n"
  101. ]
  102. }
  103. ],
  104. "source": [
  105. "# 正しくトピックが割り当てられている\n",
  106. "# 5番目の文書の \"apple\" はコンピューターの話題ばかり書く山田に書かれたので、コンピュータトピックが割り当てられている\n",
  107. "# 6番目の文書の \"apple\" は食べ物の話題ばかり書く鈴木に書かれたので、食べ物トピックが割り当てられている\n",
  108. "# 7番目の文書は二人の共著になっているが、鈴木は食べ物の話題しか書けないので、明らかに山田だけで書いたことが分かる\n",
  109. "print atm.max_Z\n",
  110. "print atm.max_Y"
  111. ]
  112. }
  113. ],
  114. "metadata": {
  115. "kernelspec": {
  116. "display_name": "Python 2",
  117. "language": "python",
  118. "name": "python2"
  119. },
  120. "language_info": {
  121. "codemirror_mode": {
  122. "name": "ipython",
  123. "version": 2
  124. },
  125. "file_extension": ".py",
  126. "mimetype": "text/x-python",
  127. "name": "python",
  128. "nbconvert_exporter": "python",
  129. "pygments_lexer": "ipython2",
  130. "version": "2.7.11"
  131. }
  132. },
  133. "nbformat": 4,
  134. "nbformat_minor": 0
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement