├── .DS_Store ├── PointsCoordinates.csv ├── README.md ├── Section-7-word2vec_model.bin ├── Section_2_1_unsupervised.ipynb ├── Section_2_2_DBSCANvsk-Means.ipynb ├── Section_3_1-Supervised-Learning.py ├── Section_3_2-Gradient-Descent-Small-Step.py ├── Section_3_3-Gradient-Descent-Big-Step.py ├── Section_3_4_SVM.ipynb ├── Section_6-TicTactoe ├── .DS_Store ├── Game.jpg ├── Game.py ├── Play Dumb Agent.py ├── Play Q-Learning.py ├── QLearning.py ├── README.md ├── Readme.txt ├── Train.py ├── player1states └── player2states ├── Section_7-Word-Embedding-3D.py ├── Section_7-Word-Embeddings.ipynb └── Section_7-Word2Vec.py /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbarto2/AIML-Algorithms-Training/4d8daf7a378f58ff7b3e47504b7c3761b36c103a/.DS_Store -------------------------------------------------------------------------------- /PointsCoordinates.csv: -------------------------------------------------------------------------------- 1 | Shape Name,Center X,Center Y 2 | Oval 4,194.5258,297.6739 3 | Oval 5,221.3741,406.0962 4 | Oval 6,256.5606,248.1152 5 | Oval 7,267.4167,253.2322 6 | Oval 8,271.9066,248.1152 7 | Oval 9,278.7228,245.95 8 | Oval 10,239.1838,393.42 9 | Oval 11,246.8677,365.775 10 | Oval 12,249.194,353.9753 11 | Oval 13,267.9001,334.8935 12 | Oval 14,274.3933,329.4432 13 | Oval 15,281.0491,335.1558 14 | Oval 16,261.6967,352.8928 15 | Oval 17,256.8146,350.8774 16 | Oval 18,272.3218,294.0628 17 | Oval 19,272.7131,302.5286 18 | Oval 20,270.2218,365.726 19 | Oval 21,273.7727,367.2584 20 | Oval 22,276.8045,368.7908 21 | Oval 23,281.9763,371.2182 22 | Oval 24,283.8144,349.0555 23 | Oval 25,292.0991,358.83 24 | Oval 26,286.3121,364.6177 25 | Oval 27,267.4167,395.487 26 | Oval 28,281.9763,398.2527 27 | Oval 29,279.65,403.4066 28 | Oval 30,274.4782,412.9363 29 | Oval 31,299.9237,403.4066 30 | Oval 32,296.7516,406.0962 31 | Oval 33,292.8745,401.1091 32 | Oval 34,294.4254,410.9509 33 | Oval 35,304.5764,386.0987 34 | Oval 36,305.0198,391.3665 35 | Oval 37,316.9721,395.8841 36 | Oval 38,315.3231,388.526 37 | Oval 39,315.4881,381.711 38 | Oval 40,297.5974,373.1844 39 | Oval 41,303.3864,367.6555 40 | Oval 42,292.0991,337.5194 41 | Oval 43,301.3309,349.7333 42 | Oval 44,316.5211,347.3818 43 | Oval 45,305.2245,353.4259 44 | Oval 46,317.6859,364.6177 45 | Oval 47,325.7565,362.2403 46 | Oval 48,332.4338,368.3297 47 | Oval 49,327.7812,375.6118 48 | Oval 50,216.6979,453.3619 49 | Oval 51,258.8633,445.3986 50 | Oval 52,303.6572,454.4445 51 | Oval 53,306.0122,431.1167 52 | Oval 54,301.9053,446.7493 53 | Oval 55,301.7006,441.2393 54 | Oval 56,315.6225,410.4041 55 | Oval 57,311.8685,419.7925 56 | Oval 58,317.6859,422.7141 57 | Oval 59,313.7828,442.9712 58 | Oval 60,334.7602,444.2314 59 | Oval 61,325.6603,444.2314 60 | Oval 62,325.455,461.7011 61 | Oval 63,341.6745,466.2038 62 | Oval 64,326.1121,420.2719 63 | Oval 65,329.061,426.262 64 | Oval 66,333.6398,423.9317 65 | Oval 67,347.7356,449.912 66 | Oval 68,360.5498,446.6587 67 | Oval 69,353.9947,449.8829 68 | Oval 70,351.7995,436.3845 69 | Oval 71,405.3248,468.6311 70 | Oval 72,381.4155,481.8091 71 | Oval 73,386.0681,479.704 72 | Oval 74,374.5059,440.1919 73 | Oval 75,380.7457,451.2568 74 | Oval 76,373.8128,452.6452 75 | Oval 77,372.1796,459.2737 76 | Oval 78,340.7199,414.1104 77 | Oval 79,333.2341,414.1104 78 | Oval 80,340.3558,419.077 79 | Oval 81,326.3224,401.2421 80 | Oval 82,332.9103,404.0165 81 | Oval 83,340.3558,409.1437 82 | Oval 84,330.1075,384.1013 83 | Oval 85,328.1628,389.4101 84 | Oval 86,333.4267,392.5907 85 | Oval 87,337.7887,391.8586 86 | Oval 88,344.3384,395.257 87 | Oval 89,358.7986,407.9767 88 | Oval 90,369.8533,423.8347 89 | Oval 91,394.7828,437.7645 90 | Oval 92,425.8002,479.704 91 | Oval 93,441.309,474.6173 92 | Oval 94,441.309,486.3119 93 | Oval 95,458.2393,470.4786 94 | Oval 96,466.362,477.499 95 | Oval 97,428.5517,458.2166 96 | Oval 98,448.1469,464.2456 97 | Oval 99,305.5764,328.8101 98 | Oval 100,297.7513,323.1573 99 | Oval 101,302.2788,336.6659 100 | Oval 102,388.3945,422.7141 101 | Oval 103,391.385,426.262 102 | Oval 104,292.9033,288.4395 103 | Oval 105,294.5792,279.7856 104 | Oval 106,304.2317,318.0323 105 | Oval 107,306.558,321.5575 106 | Oval 108,316.5211,319.8595 107 | Oval 109,327.5685,323.1573 108 | Oval 110,328.5147,330.049 109 | Oval 111,340.8542,384.9154 110 | Oval 112,299.4298,275.6598 111 | Oval 113,299.4298,300.7245 112 | Oval 114,308.3385,311.0182 113 | Oval 115,326.1121,311.7204 114 | Oval 116,337.9106,330.0388 115 | Oval 117,342.8602,331.8705 116 | Oval 118,334.0376,348.8384 117 | Oval 119,360.8294,405.5493 118 | Oval 120,335.5604,354.7435 119 | Oval 121,349.7103,371.6595 120 | Oval 122,305.5068,293.477 121 | Oval 123,341.3839,358.2212 122 | Oval 124,344.7142,355.4899 123 | Oval 125,350.1722,351.1623 124 | Oval 126,344.3384,376.2097 125 | Oval 127,347.8459,374.0868 126 | Oval 128,305.7387,299.2159 127 | Oval 129,314.7997,300.3108 128 | Oval 130,315.3231,293.8366 129 | Oval 131,319.2984,291.6354 130 | Oval 132,321.9035,300.1012 131 | Oval 133,325.455,296.4435 132 | Oval 134,295.2008,264.2908 133 | Oval 135,299.0779,267.2104 134 | Oval 136,304.2317,273.8878 135 | Oval 137,306.3301,279.6981 136 | Oval 138,375.789,317.4322 137 | Oval 139,360.397,362.5589 138 | Oval 140,358.2235,388.065 139 | Oval 141,356.5516,393.0892 140 | Oval 142,362.0768,374.0868 141 | Oval 143,375.9795,403.1075 142 | Oval 144,371.0161,405.5493 143 | Oval 145,363.1953,401.2835 144 | Oval 146,366.6409,391.8586 145 | Oval 147,368.4493,407.0655 146 | Oval 148,364.1124,370.7973 147 | Oval 149,365.8961,381.244 148 | Oval 150,368.5362,374.8761 149 | Oval 151,373.6423,381.244 150 | Oval 152,377.685,375.6118 151 | Oval 153,382.8852,399.8819 152 | Oval 154,340.9798,322.6322 153 | Oval 155,345.1698,325.8021 154 | Oval 156,347.0405,331.1712 155 | Oval 157,304.4185,238.1819 156 | Oval 158,307.2849,242.7688 157 | Oval 159,304.0825,250.8544 158 | Oval 160,328.9872,304.9153 159 | Oval 161,332.1635,302.2241 160 | Oval 162,338.0646,315.5327 161 | Oval 163,342.3879,313.4187 162 | Oval 164,303.3864,250.2765 163 | Oval 165,315.3231,270.8051 164 | Oval 166,320.6495,282.6422 165 | Oval 167,336.7195,303.8926 166 | Oval 168,339.2332,306.8657 167 | Oval 169,358.2235,328.8101 168 | Oval 170,352.3367,318.6414 169 | Oval 171,351.4855,315.0048 170 | Oval 172,331.3134,281.1574 171 | Oval 173,334.4038,282.6414 172 | Oval 174,344.7142,305.6429 173 | Oval 175,352.9679,308.5511 174 | Oval 176,358.6474,308.5908 175 | Oval 177,365.6869,310.6795 176 | Oval 178,316.5211,251.562 177 | Oval 179,320.8024,260.5217 178 | Oval 180,318.4354,266.6178 179 | Oval 181,322.8583,267.4882 180 | Oval 182,325.1949,271.987 181 | Oval 183,331.0691,270.8538 182 | Oval 184,342.3879,283.7414 183 | Oval 185,349.2234,294.1823 184 | Oval 186,347.384,287.497 185 | Oval 187,353.9947,287.3157 186 | Oval 188,359.6216,293.2942 187 | Oval 189,362.8761,299.2615 188 | Oval 190,327.1781,242.2493 189 | Oval 191,301.3309,211.1485 190 | Oval 192,316.8396,227.331 191 | Oval 193,302.25,115.632 192 | Oval 194,295.0612,112.3598 193 | Oval 195,333.2341,186.1181 194 | Oval 196,333.2674,147.9969 195 | Oval 197,348.4026,170.2478 196 | Oval 198,356.9097,182.2281 197 | Oval 199,360.337,194.0278 198 | Oval 200,341.8996,221.6453 199 | Oval 201,337.7887,232.7874 200 | Oval 202,337.8607,238.4267 201 | Oval 203,375.1995,159.6126 202 | Oval 204,372.1796,130.2819 203 | Oval 205,505.9598,38.37374 204 | Oval 206,441.309,45.66122 205 | Oval 207,463.2277,52.06681 206 | Oval 208,471.0146,53.41531 207 | Oval 209,499.4665,87.12878 208 | Oval 210,516.2676,132.6419 209 | Oval 211,535.0073,209.1713 210 | Oval 212,541.4693,181.2634 211 | Oval 213,544.5389,195.0117 212 | Oval 214,438.4977,54.42673 213 | Oval 215,423.4739,60.15799 214 | Oval 216,385.3983,99.70508 215 | Oval 217,396.0377,101.5069 216 | Oval 218,399.4354,97.1387 217 | Oval 219,409.9774,95.46822 218 | Oval 220,423.5706,84.48531 219 | Oval 221,452.7995,78.16035 220 | Oval 222,471.0146,70.53783 221 | Oval 223,473.4778,75.73295 222 | Oval 224,478.9705,94.40807 223 | Oval 225,490.602,112.4806 224 | Oval 226,505.7876,142.1614 225 | Oval 227,508.0493,147.8797 226 | Oval 228,503.5259,151.9253 227 | Oval 229,517.4191,164.0622 228 | Oval 230,476.1389,116.7966 229 | Oval 231,480.0161,122.1907 230 | Oval 232,476.462,105.6523 231 | Oval 233,480.3391,131.6304 232 | Oval 234,443.6673,100.9883 233 | Oval 235,454.5763,126.2363 234 | Oval 236,463.7446,123.5393 235 | Oval 237,455.913,119.4937 236 | Oval 238,443.6353,126.9106 237 | Oval 239,455.913,108.0797 238 | Oval 240,416.7672,116.1223 239 | Oval 241,436.6563,126.2363 240 | Oval 242,425.8002,134.6647 241 | Oval 243,399.4354,130.2819 242 | Oval 244,413.5315,136.6875 243 | Oval 245,406.9167,139.734 244 | Oval 246,448.1469,132.979 245 | Oval 247,443.6353,135.6761 246 | Oval 248,494.9568,144.5887 247 | Oval 249,447.7356,139.734 248 | Oval 250,471.0146,144.5887 249 | Oval 251,492.372,144.5887 250 | Oval 252,440.4453,139.734 251 | Oval 253,436.245,144.5887 252 | Oval 254,443.4943,149.1615 253 | Oval 255,455.913,147.8129 254 | Oval 256,482.162,149.4986 255 | Oval 257,471.0146,151.1842 256 | Oval 258,471.0146,157.2526 257 | Oval 259,482.162,154.2185 258 | Oval 260,499.4802,161.9726 259 | Oval 261,490.1104,167.7038 260 | Oval 262,466.362,159.2755 261 | Oval 263,461.7094,162.3096 262 | Oval 264,431.5923,148.4872 263 | Oval 265,428.5517,151.8586 264 | Oval 266,423.4739,153.207 265 | Oval 267,445.9616,153.207 266 | Oval 268,450.4732,151.1842 267 | Oval 269,450.4732,161.6354 268 | Oval 270,453.5867,158.6012 269 | Oval 271,443.6353,161.6354 270 | Oval 272,433.2043,165.681 271 | Oval 273,458.2393,173.098 272 | Oval 274,471.0146,172.4237 273 | Oval 275,504.0035,197.3716 274 | Oval 276,416.444,156.9156 275 | Oval 277,497.5417,186.1181 276 | Oval 278,502.0649,193.6631 277 | Oval 279,496.8954,192.9889 278 | Oval 280,506.9114,181.2634 279 | Oval 281,466.362,177.4808 280 | Oval 282,471.8957,181.2634 281 | Oval 283,462.8919,183.6908 282 | Oval 284,474.9247,183.6908 283 | Oval 285,479.7268,186.1181 284 | Oval 286,477.5095,191.3032 285 | Oval 287,479.8357,197.3716 286 | Oval 288,516.9275,214.2283 287 | Oval 289,486.8794,200.4059 288 | Oval 290,491.4027,206.8114 289 | Oval 291,506.2653,204.4515 290 | Oval 292,497.8647,201.0801 291 | Oval 293,490.1104,198.7202 292 | Oval 294,452.7995,183.6908 293 | Oval 295,471.0146,188.6061 294 | Oval 296,443.6353,181.2634 295 | Oval 297,468.6884,191.9774 296 | Oval 298,475.571,196.0231 297 | Oval 299,471.932,201.4172 298 | Oval 300,460.5656,196.3602 299 | Oval 301,455.913,194.0003 300 | Oval 302,460.5656,191.6404 301 | Oval 303,484.4883,207.1485 302 | Oval 304,494.3106,210.1827 303 | Oval 305,504.3267,213.8912 304 | Oval 306,386.0681,181.2634 305 | Oval 307,382.3376,186.1181 306 | Oval 308,388.3945,190.9661 307 | Oval 309,445.9616,197.3716 308 | Oval 310,464.0357,203.1029 309 | Oval 311,468.6884,201.0801 310 | Oval 312,470.9308,206.1371 311 | Oval 313,477.1865,212.5426 312 | Oval 314,404.4611,204.1143 313 | Oval 315,397.6671,190.6289 314 | Oval 316,433.2043,181.2634 315 | Oval 317,501.0957,224.6795 316 | Oval 318,462.783,209.8456 317 | Oval 319,487.8487,211.8684 318 | Oval 320,508.5269,219.9597 319 | Oval 321,519.8353,241.0953 320 | Oval 322,417.0902,171.4123 321 | Oval 323,420.7363,173.7722 322 | Oval 324,428.1265,178.155 323 | Oval 325,468.6884,214.2283 324 | Oval 326,479.0159,229.0623 325 | Oval 327,492.372,232.4336 326 | Oval 328,525.9742,250.5425 327 | Oval 329,520.4816,252.9699 328 | Oval 330,377.2787,203.7772 329 | Oval 331,400.6722,166.3553 330 | Oval 332,418.7057,178.8293 331 | Oval 333,448.1469,204.1143 332 | Oval 334,486.8794,241.0953 333 | Oval 335,466.362,220.6339 334 | Oval 336,523.3895,273.2324 335 | Oval 337,529.5283,273.2324 336 | Oval 338,518.2199,291.0496 337 | Oval 339,546.8652,295.1073 338 | Oval 340,369.1602,215.2397 339 | Oval 341,397.1091,181.2634 340 | Oval 342,418.7057,178.8293 341 | Oval 343,468.6884,227.0394 342 | Oval 344,489.7872,245.95 343 | Oval 345,465.2318,227.3766 344 | Oval 346,484.4883,246.6769 345 | Oval 347,496.2492,259.7415 346 | Oval 348,399.4354,176.8064 347 | Oval 349,405.3248,173.7722 348 | Oval 350,411.2461,174.1093 349 | Oval 351,409.9774,183.6908 350 | Oval 352,409.9774,190.6289 351 | Oval 353,416.7388,194.6745 352 | Oval 354,442.4161,208.1599 353 | Oval 355,421.1476,197.3716 354 | Oval 356,425.8002,205.8 355 | Oval 357,428.1265,210.1827 356 | Oval 358,432.4492,207.4856 357 | Oval 359,460.5656,233.1078 358 | Oval 360,436.6563,213.5541 359 | Oval 361,443.4943,214.5655 360 | Oval 362,451.7213,214.2283 361 | Oval 363,458.2393,222.6567 362 | Oval 364,438.9826,219.6225 363 | Oval 365,445.8206,220.6339 364 | Oval 366,449.072,222.9938 365 | Oval 367,468.3133,232.4336 366 | Oval 368,421.1476,209.8456 367 | Oval 369,450.4732,231.4222 368 | Oval 370,452.3676,237.1534 369 | Oval 371,474.2502,248.1152 370 | Oval 372,388.3945,209.8456 371 | Oval 373,433.2043,221.9824 372 | Oval 374,460.9543,245.6878 373 | Oval 375,463.9838,250.5425 374 | Oval 376,474.5734,252.9699 375 | Oval 377,482.162,252.9699 376 | Oval 378,484.3794,251.4642 377 | Oval 379,362.9003,229.0623 378 | Oval 380,491.6975,266.147 379 | Oval 381,489.1128,261.4271 380 | Oval 382,484.1132,258.0869 381 | Oval 383,492.6668,258.0869 382 | Oval 384,482.162,306.7016 383 | Oval 385,393.7113,222.6567 384 | Oval 386,391.385,232.4336 385 | Oval 387,379.9906,228.0508 386 | Oval 388,383.7418,231.0231 387 | Oval 389,354.8248,243.2604 388 | Oval 390,371.4865,233.445 389 | Oval 391,377.3226,236.4792 390 | Oval 392,380.7457,238.1649 391 | Oval 393,373.8128,241.0953 392 | Oval 394,372.9456,245.95 393 | Oval 395,333.1361,252.9699 394 | Oval 396,337.7887,253.5386 395 | Oval 397,339.4128,260.9238 396 | Oval 398,338.6902,266.2489 397 | Oval 399,350.7742,256.3189 398 | Oval 400,357.9507,241.0953 399 | Oval 401,365.2267,258.0869 400 | Oval 402,350.1722,265.94 401 | Oval 403,354.9198,276.2645 402 | Oval 404,360.5498,274.543 403 | Oval 405,362.9003,267.8326 404 | Oval 406,379.1585,260.7529 405 | Oval 407,376.1391,267.6129 406 | Oval 408,373.097,264.1891 407 | Oval 409,367.553,268.1698 408 | Oval 410,369.8533,275.6598 409 | Oval 411,513.022,317.3914 410 | Oval 412,390.1302,251.4729 411 | Oval 413,517.8685,264.7985 412 | Oval 414,397.3879,243.5227 413 | Oval 415,511.0835,264.4613 414 | Oval 416,402.9985,233.445 415 | Oval 417,496.8672,278.0872 416 | Oval 418,503.6522,274.9781 417 | Oval 419,507.2063,266.8213 418 | Oval 420,397.1091,258.0869 419 | Oval 421,402.9985,258.0869 420 | Oval 422,398.6804,254.5658 421 | Oval 423,403.8082,248.1152 422 | Oval 424,478.5618,290.8668 423 | Oval 425,479.8357,283.5848 424 | Oval 426,480.0498,280.5145 425 | Oval 427,484.4883,277.3582 426 | Oval 428,466.362,298.9175 427 | Oval 429,452.7995,295.9043 428 | Oval 430,468.6884,281.8482 429 | Oval 431,468.6884,288.4395 430 | Oval 432,376.8322,273.2324 431 | Oval 433,383.7418,279.7856 432 | Oval 434,378.4194,281.1193 433 | Oval 435,377.1035,286.0121 434 | Oval 436,374.5059,292.8192 435 | Oval 437,376.8322,297.6739 436 | Oval 438,377.3412,302.5286 437 | Oval 439,380.7457,297.882 438 | Oval 440,383.0721,294.0628 439 | Oval 441,400.6722,266.8213 440 | Oval 442,408.8992,267.4955 441 | Oval 443,393.7113,273.2324 442 | Oval 444,416.0927,270.8051 443 | Oval 445,413.5079,275.6598 444 | Oval 446,401.9203,282.6422 445 | Oval 447,402.6235,290.8668 446 | Oval 448,405.3248,227.7137 447 | Oval 449,417.385,266.8213 448 | Oval 450,455.913,281.7597 449 | Oval 451,445.7687,291.6354 450 | Oval 452,407.6511,245.6878 451 | Oval 453,430.878,278.0872 452 | Oval 454,440.5539,274.916 453 | Oval 455,438.9826,278.9744 454 | Oval 456,425.8002,273.2324 455 | Oval 457,423.4739,264.8851 456 | Oval 458,430.878,262.4578 457 | Oval 459,434.1217,270.8051 458 | Oval 460,407.6511,223.6681 459 | Oval 461,414.6643,255.6595 460 | Oval 462,421.3618,258.0869 461 | Oval 463,443.4424,265.4727 462 | Oval 464,416.9093,250.5425 463 | Oval 465,448.1469,273.2324 464 | Oval 466,446.681,259.0834 465 | Oval 467,456.895,270.8051 466 | Oval 468,409.9774,228.7251 467 | Oval 469,415.1234,226.028 468 | Oval 470,428.4428,251.1271 469 | Oval 471,449.1289,263.4499 470 | Oval 472,420.3173,243.5227 471 | Oval 473,421.1476,236.1421 472 | Oval 474,438.9826,250.5425 473 | Oval 475,469.9934,270.8051 474 | Oval 476,425.8002,243.5227 475 | Oval 477,453.6931,253.2322 476 | Oval 478,455.5573,245.95 477 | Oval 479,443.6353,243.5227 478 | Oval 480,445.9616,250.8048 479 | Oval 481,450.9872,252.6616 480 | Oval 482,409.9774,215.914 481 | Oval 483,425.8002,234.4564 482 | Oval 484,423.4739,223.331 483 | Oval 485,430.4528,228.7251 484 | Oval 486,413.1848,214.2283 485 | Oval 487,433.2043,234.1193 486 | Oval 488,419.9698,220.2967 487 | Oval 489,413.8309,222.3196 488 | Oval 490,427.4076,292.8192 489 | Oval 491,486.8164,319.3231 490 | Oval 492,497.8018,319.9121 491 | Oval 493,504.2638,322.212 492 | Oval 494,514.3251,380.7104 493 | Oval 495,407.9427,300.7824 494 | Oval 496,421.1476,298.3971 495 | Oval 497,425.8002,300.1012 496 | Oval 498,438.9826,304.956 497 | Oval 499,443.4943,317.4847 498 | Oval 500,407.6511,304.956 499 | Oval 501,416.3812,309.293 500 | Oval 502,422.4311,313.1776 501 | Oval 503,462.8919,323.0824 502 | Oval 504,484.3598,334.2386 503 | Oval 505,402.6439,309.3 504 | Oval 506,435.1252,308.1094 505 | Oval 507,430.878,311.0182 506 | Oval 508,433.0718,317.4322 507 | Oval 509,476.8005,337.9972 508 | Oval 510,468.6626,339.2794 509 | Oval 511,471.0146,353.0625 510 | Oval 512,480.1351,360.8712 511 | Oval 513,494.2477,372.7725 512 | Oval 514,432.0403,330.7199 513 | Oval 515,402.9985,315.6049 514 | Oval 516,397.1091,315.6049 515 | Oval 517,402.1438,321.6648 516 | Oval 518,489.0782,384.3818 517 | Oval 519,400.2347,333.6717 518 | Oval 520,423.4739,339.9468 519 | Oval 521,427.4428,339.9468 520 | Oval 522,445.8206,339.0933 521 | Oval 523,450.4732,339.9468 522 | Oval 524,453.5867,343.3163 523 | Oval 525,413.1307,342.5586 524 | Oval 526,421.1476,344.5266 525 | Oval 527,460.5656,347.489 526 | Oval 528,431.7942,350.3412 527 | Oval 529,460.5656,359.813 528 | Oval 530,458.2393,353.9753 529 | Oval 531,472.4017,378.9415 530 | Oval 532,473.3946,374.0868 531 | Oval 533,471.0683,370.7571 532 | Oval 534,382.9138,311.7204 533 | Oval 535,387.5664,313.4455 534 | Oval 536,384.3408,317.9084 535 | Oval 537,442.6364,352.4808 536 | Oval 538,450.4732,346.4111 537 | Oval 539,365.3305,319.047 538 | Oval 540,449.3107,351.0181 539 | Oval 541,449.8861,355.9416 540 | Oval 542,450.7413,360.8712 541 | Oval 543,452.7995,364.6177 542 | Oval 544,371.6614,321.5575 543 | Oval 545,427.9918,347.3059 544 | Oval 546,437.4726,359.9926 545 | Oval 547,434.0197,364.7249 546 | Oval 548,464.0357,365.726 547 | Oval 549,385.9608,325.5281 548 | Oval 550,415.3539,358.3487 549 | Oval 551,461.7094,369.525 550 | Oval 552,464.0357,371.6595 551 | Oval 553,438.1692,366.2711 552 | Oval 554,389.3503,328.817 553 | Oval 555,447.1729,365.7574 554 | Oval 556,438.9826,371.6595 555 | Oval 557,453.2139,371.4296 556 | Oval 558,479.8357,383.6713 557 | Oval 559,373.6539,328.012 558 | Oval 560,420.477,363.269 559 | Oval 561,428.4261,367.1945 560 | Oval 562,455.8111,374.0868 561 | Oval 563,460.5656,374.5647 562 | Oval 564,457.5872,378.9415 563 | Oval 565,464.2241,378.0392 564 | Oval 566,468.6884,383.6713 565 | Oval 567,475.8312,387.736 566 | Oval 568,482.162,391.8586 567 | Oval 569,484.4883,399.1618 568 | Oval 570,484.4883,395.8474 569 | Oval 571,488.7551,397.6844 570 | Oval 572,492.3091,400.2287 571 | Oval 573,500.7601,411.2865 572 | Oval 574,460.6936,382.3921 573 | Oval 575,450.3204,381.4369 574 | Oval 576,446.1455,378.0392 575 | Oval 577,450.0425,375.3819 576 | Oval 578,445.8206,370.0829 577 | Oval 579,479.8357,405.5493 578 | Oval 580,460.5656,386.1302 579 | Oval 581,420.8468,368.2059 580 | Oval 582,426.9776,372.5102 581 | Oval 583,466.362,388.1741 582 | Oval 584,353.9632,342.7182 583 | Oval 585,380.7457,393.3808 584 | Oval 586,385.7754,403.6689 585 | Oval 587,391.385,419.7925 586 | Oval 588,497.9268,410.5448 587 | Oval 589,389.8866,393.0677 588 | Oval 590,392.9124,401.302 589 | Oval 591,384.6208,394.286 590 | Oval 592,389.8866,398.2527 591 | Oval 593,386.0681,387.8766 592 | Oval 594,392.7481,386.9828 593 | Oval 595,396.0377,415.2589 594 | Oval 596,395.7912,394.7334 595 | Oval 597,398.3083,411.5711 596 | Oval 598,400.8546,405.5493 597 | Oval 599,401.4142,425.1414 598 | Oval 600,406.0668,419.077 599 | Oval 601,471.0146,392.2272 600 | Oval 602,476.4773,400.8116 601 | Oval 603,474.5387,395.257 602 | Oval 604,356.6473,347.3059 603 | Oval 605,413.8605,441.2393 604 | Oval 606,411.0684,431.1167 605 | Oval 607,410.1963,435.4541 606 | Oval 608,409.2055,440.3326 607 | Oval 609,475.6627,411.3527 608 | Oval 610,468.5535,398.6388 609 | Oval 611,464.7209,394.2649 610 | Oval 612,460.5656,390.9534 611 | Oval 613,456.7149,389.7998 612 | Oval 614,487.1741,417.791 613 | Oval 615,480.3153,413.5327 614 | Oval 616,445.6968,455.7962 615 | Oval 617,439.6518,458.2166 616 | Oval 618,433.4772,454.4445 617 | Oval 619,419.3633,440.1919 618 | Oval 620,424.0151,445.8976 619 | Oval 621,380.7457,332.6716 620 | Oval 622,469.9182,460.644 621 | Oval 623,471.0146,406.4439 622 | Oval 624,407.3476,410.4041 623 | Oval 625,460.234,455.7892 624 | Oval 626,423.32,437.7645 625 | Oval 627,430.4528,441.2393 626 | Oval 628,432.5336,445.9701 627 | Oval 629,435.7313,446.4021 628 | Oval 630,432.3687,449.8829 629 | Oval 631,493.9247,431.1167 630 | Oval 632,482.162,427.5689 631 | Oval 633,479.653,419.7925 632 | Oval 634,486.9441,432.9098 633 | Oval 635,489.5808,428.493 634 | Oval 636,450.8868,385.4313 635 | Oval 637,446.368,393.5909 636 | Oval 638,433.2043,381.711 637 | Oval 639,429.8019,376.4393 638 | Oval 640,438.5349,384.1383 639 | Oval 641,364.7587,348.4501 640 | Oval 642,366.3069,356.017 641 | Oval 643,370.1953,354.1218 642 | Oval 644,413.4909,407.9767 643 | Oval 645,414.8528,413.2212 644 | Oval 646,473.8926,456.8463 645 | Oval 647,477.7774,461.349 646 | Oval 648,456.698,445.0467 647 | Oval 649,455.913,448.316 648 | Oval 650,453.5673,452.4949 649 | Oval 651,476.021,436.3845 650 | Oval 652,476.021,440.1919 651 | Oval 653,464.0357,441.1154 652 | Oval 654,467.088,446.0941 653 | Oval 655,470.6361,448.8294 654 | Oval 656,473.9521,451.2568 655 | Oval 657,460.5656,396.7133 656 | Oval 658,474.0107,433.9572 657 | Oval 659,460.5656,400.4341 658 | Oval 660,455.913,395.8474 659 | Oval 661,466.362,406.3643 660 | Oval 662,477.4505,423.8999 661 | Oval 663,466.1669,417.3651 662 | Oval 664,452.3495,446.4021 663 | Oval 665,448.8066,449.0861 664 | Oval 666,468.2866,431.1167 665 | Oval 667,473.553,423.8347 666 | Oval 668,471.9086,419.077 667 | Oval 669,369.9813,359.813 668 | Oval 670,374.6747,363.2986 669 | Oval 671,376.8322,360.3446 670 | Oval 672,373.8128,354.7435 671 | Oval 673,378.5852,367.6555 672 | Oval 674,381.9387,364.0844 673 | Oval 675,451.4075,441.5833 674 | Oval 676,428.5517,436.054 675 | Oval 677,455.7442,439.0252 676 | Oval 678,443.6353,442.7362 677 | Oval 679,447.493,446.4042 678 | Oval 680,470.9045,426.269 679 | Oval 681,463.9009,421.5359 680 | Oval 682,465.9603,426.1382 681 | Oval 683,468.2866,421.6213 682 | Oval 684,461.7094,434.0097 683 | Oval 685,391.385,334.2386 684 | Oval 686,445.8206,438.5063 685 | Oval 687,431.6357,435.3371 686 | Oval 688,436.6563,437.7645 687 | Oval 689,437.7661,442.6193 688 | Oval 690,460.5656,415.94 689 | Oval 691,455.913,418.4837 690 | Oval 692,461.6857,430.4963 691 | Oval 693,456.1006,428.6894 692 | Oval 694,459.9491,427.0352 693 | Oval 695,422.946,428.5871 694 | Oval 696,450.3385,432.0572 695 | Oval 697,445.8206,433.4961 696 | Oval 698,440.3016,433.9572 697 | Oval 699,428.1265,432.4383 698 | Oval 700,450.6481,435.9715 699 | Oval 701,402.9985,354.7435 700 | Oval 702,454.0879,400.1118 701 | Oval 703,460.3553,406.8236 702 | Oval 704,464.0357,401.5891 703 | Oval 705,405.3248,390.9534 704 | Oval 706,391.385,378.0392 705 | Oval 707,398.701,381.711 706 | Oval 708,413.0181,397.5623 707 | Oval 709,419.5837,419.5079 708 | Oval 710,423.8991,424.6472 709 | Oval 711,442.7134,428.7209 710 | Oval 712,437.6021,431.8436 711 | Oval 713,432.4104,431.165 712 | Oval 714,428.5517,426.6518 713 | Oval 715,455.9942,405.5493 714 | Oval 716,448.0122,426.262 715 | Oval 717,452.0795,421.7588 716 | Oval 718,451.682,413.1985 717 | Oval 719,453.5673,409.2844 718 | Oval 720,447.9518,421.5044 719 | Oval 721,441.309,424.6472 720 | Oval 722,429.851,422.433 721 | Oval 723,424.7883,419.077 722 | Oval 724,421.1476,416.6497 723 | Oval 725,450.4417,401.2589 724 | Oval 726,422.3864,376.7071 725 | Oval 727,442.5777,420.5193 726 | Oval 728,447.3356,416.8 727 | Oval 729,449.8661,407.7803 728 | Oval 730,417.9831,406.7163 729 | Oval 731,435.9444,390.8865 730 | Oval 732,440.3847,394.2649 731 | Oval 733,437.7349,419.077 732 | Oval 734,433.2043,419.7925 733 | Oval 735,423.4739,411.3527 734 | Oval 736,433.2043,386.0987 735 | Oval 737,429.064,381.244 736 | Oval 738,429.4787,387.736 737 | Oval 739,448.1469,396.517 738 | Oval 740,445.8206,406.4439 739 | Oval 741,435.4262,415.3637 740 | Oval 742,442.6857,400.8386 741 | Oval 743,437.1157,398.2527 742 | Oval 744,439.9503,413.077 743 | Oval 745,443.6353,410.4041 744 | Oval 746,438.2927,404.0165 745 | Oval 747,441.309,406.4439 746 | Oval 748,430.3462,412.4195 747 | Oval 749,435.767,409.7223 748 | Oval 750,417.5889,399.4445 749 | Oval 751,432.1407,407.1671 750 | Oval 752,427.1809,408.3664 751 | Oval 753,422.2709,404.0165 752 | Oval 754,428.5517,392.2604 753 | Oval 755,425.7588,397.3012 754 | Oval 756,427.2105,401.6417 755 | Oval 757,432.4406,399.8229 756 | Oval 758,410.5805,390.1633 757 | Oval 759,421.2946,398.2527 758 | Oval 760,417.0167,392.9803 759 | Oval 761,400.3167,348.4047 760 | Oval 762,414.3116,388.0447 761 | Oval 763,423.4325,392.5907 762 | Oval 764,397.1091,344.8786 763 | Oval 765,391.0964,343.3496 764 | Oval 766,415.7991,371.6595 765 | Oval 767,370.5507,334.2349 766 | Oval 768,386.2746,338.4949 767 | Oval 769,397.4843,337.0556 768 | Oval 770,390.5417,352.1607 769 | Oval 771,404.0828,363.2986 770 | Oval 772,415.4295,384.8281 771 | Oval 773,394.5869,373.4195 772 | Oval 774,412.7788,382.0067 773 | Oval 775,417.8685,379.6684 774 | Oval 776,404.4823,373.1844 775 | Oval 777,402.9985,380.0607 776 | Oval 778,411.655,375.1508 777 | Oval 779,366.2212,336.6623 778 | Oval 780,399.4302,364.1364 779 | Oval 781,396.2202,361.1339 780 | Oval 782,385.3983,343.9837 781 | Oval 783,369.1602,346.0227 782 | Oval 784,369.1602,341.0393 783 | Oval 785,374.5059,343.3134 784 | Oval 786,380.4241,343.9837 785 | Oval 787,379.5444,348.7349 786 | Oval 788,379.7998,353.7826 787 | Oval 789,475.1696,470.4786 788 | Oval 790,486.3164,464.1284 789 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # AIML-Algorithms-Training 2 | Training scripts for the AIML Algorithms Course offered through O'Rielly / Pearson 3 | 4 | Added the PointsCoordinates.csv file 5 | -------------------------------------------------------------------------------- /Section-7-word2vec_model.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbarto2/AIML-Algorithms-Training/4d8daf7a378f58ff7b3e47504b7c3761b36c103a/Section-7-word2vec_model.bin -------------------------------------------------------------------------------- /Section_2_1_unsupervised.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": null, 6 | "id": "8f4fb93f-ebc2-4160-a446-920a0b6cf9e8", 7 | "metadata": {}, 8 | "outputs": [], 9 | "source": [ 10 | "#Plotting all the points on an animated graph\n", 11 | "%matplotlib inline\n", 12 | "import pandas as pd\n", 13 | "from IPython.display import display, HTML\n", 14 | "import matplotlib.pyplot as plt\n", 15 | "import matplotlib.animation as animation\n", 16 | "\n", 17 | "# Read the CSV file\n", 18 | "df = pd.read_csv('PointsCoordinates.csv')\n", 19 | "\n", 20 | "# Extract the second and third columns for x and y coordinates\n", 21 | "x = df.iloc[:, 1].tolist()\n", 22 | "y = df.iloc[:, 2].tolist()\n", 23 | "\n", 24 | "# Number of points\n", 25 | "n = len(x)\n", 26 | "\n", 27 | "fig, ax = plt.subplots(figsize=(10, 14))\n", 28 | "sc = ax.scatter([], [], s=5, color='blue')\n", 29 | "\n", 30 | "def init():\n", 31 | " ax.set_xlim(min(x), max(x))\n", 32 | " ax.set_ylim(min(y), max(y))\n", 33 | " return sc,\n", 34 | "\n", 35 | "x_data, y_data = [], []\n", 36 | "\n", 37 | "def update(frame):\n", 38 | " # Plot two points at a time\n", 39 | " x_data.extend([x[2*frame], x[2*frame + 1]])\n", 40 | " y_data.extend([y[2*frame], y[2*frame + 1]])\n", 41 | " sc.set_offsets(list(zip(x_data, y_data)))\n", 42 | " return sc,\n", 43 | "\n", 44 | "global ani\n", 45 | "ani = animation.FuncAnimation(fig, update, frames=n//2, init_func=init, blit=True, repeat=False, interval=2)\n", 46 | "\n", 47 | "plt.title('Points from CSV on a 2D Graph')\n", 48 | "plt.xlabel('X-axis')\n", 49 | "plt.ylabel('Y-axis')\n", 50 | "plt.close(fig) # This will prevent the static plot from displaying\n", 51 | "display(HTML(ani.to_jshtml()))\n" 52 | ] 53 | }, 54 | { 55 | "cell_type": "code", 56 | "execution_count": null, 57 | "id": "751d9f8c-2c04-4805-a30b-ea790434b866", 58 | "metadata": {}, 59 | "outputs": [], 60 | "source": [ 61 | "# plotting the progression of 3 K means clustering on the same data\n", 62 | "import pandas as pd\n", 63 | "import numpy as np\n", 64 | "import matplotlib.pyplot as plt\n", 65 | "import matplotlib.animation as animation\n", 66 | "from sklearn.cluster import KMeans\n", 67 | "from IPython.display import display, HTML\n", 68 | "\n", 69 | "# Read the CSV file\n", 70 | "df = pd.read_csv('PointsCoordinates.csv')\n", 71 | "\n", 72 | "# Extract the second and third columns for x and y coordinates\n", 73 | "data = df.iloc[:, 1:3].values\n", 74 | "\n", 75 | "fig, ax = plt.subplots(figsize=(10, 14))\n", 76 | "centroid_paths = [[], [], []]\n", 77 | "\n", 78 | "def animate(i):\n", 79 | " ax.clear()\n", 80 | " \n", 81 | " # For the initial frame, plot all points in black\n", 82 | " if i == 0:\n", 83 | " ax.scatter(data[:, 0], data[:, 1], s=5, c='black')\n", 84 | " ax.set_title('Initial State')\n", 85 | " return\n", 86 | "\n", 87 | " # Fit KMeans with an increasing number of iterations and 'random' initialization\n", 88 | " kmeans = KMeans(n_clusters=3, init='random', n_init=1, max_iter=i, random_state=42)\n", 89 | " kmeans.fit(data)\n", 90 | " labels = kmeans.labels_\n", 91 | " \n", 92 | " # Plot points based on their cluster labels\n", 93 | " ax.scatter(data[labels == 0][:, 0], data[labels == 0][:, 1], s=5, c='green', label='Cluster 1')\n", 94 | " ax.scatter(data[labels == 1][:, 0], data[labels == 1][:, 1], s=5, c='red', label='Cluster 2')\n", 95 | " ax.scatter(data[labels == 2][:, 0], data[labels == 2][:, 1], s=5, c='blue', label='Cluster 3')\n", 96 | " \n", 97 | " # Plot cluster centers and their movement\n", 98 | " centers = kmeans.cluster_centers_\n", 99 | " for j, center in enumerate(centers):\n", 100 | " centroid_paths[j].append(center)\n", 101 | " path = np.array(centroid_paths[j])\n", 102 | " ax.plot(path[:, 0], path[:, 1], 'w--', linewidth=1)\n", 103 | " ax.scatter(center[0], center[1], c='black', s=100, marker='X')\n", 104 | " \n", 105 | " ax.set_title(f'Iteration: {i}')\n", 106 | " ax.legend()\n", 107 | "\n", 108 | "# Animate for 11 frames (1 initial + 10 iterations)\n", 109 | "ani = animation.FuncAnimation(fig, animate, frames=11, repeat=False, interval=500)\n", 110 | "\n", 111 | "\n", 112 | "plt.close(fig) # This will prevent the static plot from displaying\n", 113 | "display(HTML(ani.to_jshtml()))\n" 114 | ] 115 | }, 116 | { 117 | "cell_type": "code", 118 | "execution_count": null, 119 | "id": "5abcb880-8785-4b48-be2a-cfc1d5248dfd", 120 | "metadata": {}, 121 | "outputs": [], 122 | "source": [] 123 | }, 124 | { 125 | "cell_type": "code", 126 | "execution_count": null, 127 | "id": "85ce44ea-bbf3-475f-b738-a9cf359628ae", 128 | "metadata": {}, 129 | "outputs": [], 130 | "source": [] 131 | } 132 | ], 133 | "metadata": { 134 | "kernelspec": { 135 | "display_name": "Python 3 (ipykernel)", 136 | "language": "python", 137 | "name": "python3" 138 | }, 139 | "language_info": { 140 | "codemirror_mode": { 141 | "name": "ipython", 142 | "version": 3 143 | }, 144 | "file_extension": ".py", 145 | "mimetype": "text/x-python", 146 | "name": "python", 147 | "nbconvert_exporter": "python", 148 | "pygments_lexer": "ipython3", 149 | "version": "3.9.6" 150 | } 151 | }, 152 | "nbformat": 4, 153 | "nbformat_minor": 5 154 | } 155 | -------------------------------------------------------------------------------- /Section_3_1-Supervised-Learning.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import torch.nn as nn 3 | import torch.optim as optim 4 | import numpy as np 5 | import matplotlib.pyplot as plt 6 | import matplotlib.animation as animation 7 | 8 | # Generate training data with 1000 samples 9 | np.random.seed(0) 10 | torch.manual_seed(0) 11 | x_train = torch.linspace(-4, 4, 1000).unsqueeze(1) 12 | y_train = torch.sin(x_train) - 0.1 * x_train**2 13 | 14 | # Define the neural network architecture 15 | class NeuralNetwork(nn.Module): 16 | def __init__(self): 17 | super(NeuralNetwork, self).__init__() 18 | self.layer1 = nn.Linear(1, 4) # Input to hidden layer 19 | self.layer2 = nn.Linear(4, 1) # Hidden to output layer 20 | 21 | def forward(self, x): 22 | x = torch.sigmoid(self.layer1(x)) 23 | x = self.layer2(x) 24 | return x 25 | 26 | # Implement the training loop with real-time plot 27 | def train_model_with_real_time_plot(model, x_train, y_train, num_epochs=10000, learning_rate=0.15): 28 | criterion = nn.MSELoss() 29 | optimizer = optim.SGD(model.parameters(), lr=learning_rate) 30 | 31 | fig, ax = plt.subplots(figsize=(8, 6)) 32 | ax.scatter(x_train, y_train, label='Training data', color='green', s=10) 33 | ax.plot(x_train, y_train, label='True function', color='blue') 34 | line, = ax.plot([], [], label='Trained Model', color='red') 35 | ax.set_xlabel('x') 36 | ax.set_ylabel('y') 37 | ax.set_title(f'Supervised Learning Fit: sin(x) - 0.1x^2') 38 | ax.legend() 39 | 40 | epoch_text = ax.text(-4, 0, f'Epoch 0', fontsize=12, ha='left') 41 | 42 | def update(frame, model, x_train, line, epoch_text): 43 | if frame == 0: 44 | line.set_data([], []) 45 | return line, epoch_text 46 | 47 | y_pred = model(x_train) 48 | loss = criterion(y_pred, y_train) 49 | optimizer.zero_grad() 50 | loss.backward() 51 | optimizer.step() 52 | 53 | if frame % 1 == 0: # Update the plot every 1 epochs 54 | line.set_data(x_train, y_pred.detach().numpy()[:, 0]) 55 | epoch = frame * 10 56 | epoch_text.set_text(f'Epoch {epoch}') 57 | epoch_text.set_position((-4, 0)) 58 | 59 | return line, epoch_text 60 | 61 | ani = animation.FuncAnimation(fig, update, fargs=(model, x_train, line, epoch_text), frames=num_epochs // 10 + 1, blit=True, interval=100, repeat=False) 62 | plt.show() 63 | 64 | # Create the model and train it with real-time plot 65 | model = NeuralNetwork() 66 | train_model_with_real_time_plot(model, x_train, y_train) 67 | -------------------------------------------------------------------------------- /Section_3_2-Gradient-Descent-Small-Step.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import torch.nn as nn 3 | import torch.optim as optim 4 | import numpy as np 5 | import matplotlib.pyplot as plt 6 | import matplotlib.animation as animation 7 | 8 | # Generate training data with 10000 samples 9 | np.random.seed(0) 10 | torch.manual_seed(0) 11 | x_train = torch.linspace(-4, 4, 10000).unsqueeze(1) 12 | y_train = torch.sin(x_train) - 0.1 * x_train**2 13 | 14 | # Define the neural network architecture 15 | class NeuralNetwork(nn.Module): 16 | def __init__(self): 17 | super(NeuralNetwork, self).__init__() 18 | self.layer1 = nn.Linear(1, 4) # Input to hidden layer 19 | self.layer2 = nn.Linear(4, 1) # Hidden to output layer 20 | 21 | def forward(self, x): 22 | x = torch.sigmoid(self.layer1(x)) 23 | x = self.layer2(x) 24 | return x 25 | 26 | # Implement the training loop with real-time plot 27 | def train_model_with_real_time_plot(model, x_train, y_train, num_epochs=10000, learning_rate=0.02): 28 | criterion = nn.MSELoss() 29 | optimizer = optim.SGD(model.parameters(), lr=learning_rate) 30 | 31 | fig, ax = plt.subplots(figsize=(8, 6)) 32 | ax.scatter(x_train, y_train, label='Training data', color='green', s=10) 33 | ax.plot(x_train, y_train, label='True function', color='blue') 34 | line, = ax.plot([], [], label='Trained Model', color='red') 35 | ax.set_xlabel('x') 36 | ax.set_ylabel('y') 37 | ax.set_title(f'Supervised Learning Fit: sin(x) - 0.1x^2') 38 | ax.legend() 39 | 40 | epoch_text = ax.text(-5, 0.75, f'Epoch 0', fontsize=12, ha='left') 41 | 42 | def update(frame, model, x_train, line, epoch_text): 43 | if frame == 0: 44 | line.set_data([], []) 45 | return line, epoch_text 46 | 47 | y_pred = model(x_train) 48 | loss = criterion(y_pred, y_train) 49 | optimizer.zero_grad() 50 | loss.backward() 51 | optimizer.step() 52 | 53 | if frame % 1 == 0: # Update the plot every 1 epochs 54 | line.set_data(x_train, y_pred.detach().numpy()) 55 | epoch = frame * 10 56 | epoch_text.set_text(f'Epoch {epoch}') 57 | epoch_text.set_position((-5, 0.75)) 58 | 59 | return line, epoch_text 60 | 61 | ani = animation.FuncAnimation(fig, update, fargs=(model, x_train, line, epoch_text), frames=num_epochs // 10 + 1, blit=True, interval=100, repeat=False) 62 | plt.show() 63 | 64 | # Create the model and train it with real-time plot 65 | model = NeuralNetwork() 66 | train_model_with_real_time_plot(model, x_train, y_train) 67 | -------------------------------------------------------------------------------- /Section_3_3-Gradient-Descent-Big-Step.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import torch.nn as nn 3 | import torch.optim as optim 4 | import numpy as np 5 | import matplotlib.pyplot as plt 6 | import matplotlib.animation as animation 7 | 8 | # Generate training data with 10000 samples 9 | np.random.seed(0) 10 | torch.manual_seed(0) 11 | x_train = torch.linspace(-4, 4, 10000).unsqueeze(1) 12 | y_train = torch.sin(x_train) - 0.1 * x_train**2 13 | 14 | # Define the neural network architecture 15 | class NeuralNetwork(nn.Module): 16 | def __init__(self): 17 | super(NeuralNetwork, self).__init__() 18 | self.layer1 = nn.Linear(1, 4) # Input to hidden layer 19 | self.layer2 = nn.Linear(4, 1) # Hidden to output layer 20 | 21 | def forward(self, x): 22 | x = torch.sigmoid(self.layer1(x)) 23 | x = self.layer2(x) 24 | return x 25 | 26 | # Implement the training loop with real-time plot 27 | def train_model_with_real_time_plot(model, x_train, y_train, num_epochs=10000, learning_rate=0.4): 28 | criterion = nn.MSELoss() 29 | optimizer = optim.SGD(model.parameters(), lr=learning_rate) 30 | 31 | fig, ax = plt.subplots(figsize=(8, 6)) 32 | ax.scatter(x_train, y_train, label='Training data', color='green', s=10) 33 | ax.plot(x_train, y_train, label='True function', color='blue') 34 | line, = ax.plot([], [], label='Trained Model', color='red') 35 | ax.set_xlabel('x') 36 | ax.set_ylabel('y') 37 | ax.set_title(f'Supervised Learning Fit: sin(x) - 0.1x^2') 38 | ax.legend() 39 | 40 | epoch_text = ax.text(-5, 0.75, f'Epoch 0', fontsize=12, ha='left') 41 | 42 | def update(frame, model, x_train, line, epoch_text): 43 | if frame == 0: 44 | line.set_data([], []) 45 | return line, epoch_text 46 | 47 | y_pred = model(x_train) 48 | loss = criterion(y_pred, y_train) 49 | optimizer.zero_grad() 50 | loss.backward() 51 | optimizer.step() 52 | 53 | if frame % 1 == 0: # Update the plot every 1 epochs 54 | line.set_data(x_train, y_pred.detach().numpy()) 55 | epoch = frame * 10 56 | epoch_text.set_text(f'Epoch {epoch}') 57 | epoch_text.set_position((-5, 0.75)) 58 | 59 | return line, epoch_text 60 | 61 | ani = animation.FuncAnimation(fig, update, fargs=(model, x_train, line, epoch_text), frames=num_epochs // 10 + 1, blit=True, interval=100, repeat=False) 62 | plt.show() 63 | 64 | # Create the model and train it with real-time plot 65 | model = NeuralNetwork() 66 | train_model_with_real_time_plot(model, x_train, y_train) 67 | -------------------------------------------------------------------------------- /Section_6-TicTactoe/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbarto2/AIML-Algorithms-Training/4d8daf7a378f58ff7b3e47504b7c3761b36c103a/Section_6-TicTactoe/.DS_Store -------------------------------------------------------------------------------- /Section_6-TicTactoe/Game.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbarto2/AIML-Algorithms-Training/4d8daf7a378f58ff7b3e47504b7c3761b36c103a/Section_6-TicTactoe/Game.jpg -------------------------------------------------------------------------------- /Section_6-TicTactoe/Game.py: -------------------------------------------------------------------------------- 1 | import pygame 2 | import random 3 | import time 4 | from QLearning import Qlearning 5 | 6 | #humman player 7 | class Humanplayer: 8 | pass 9 | 10 | #randomplayer player 11 | class Randomplayer: 12 | def __init__(self): 13 | pass 14 | def move(self,possiblemoves): 15 | return random.choice(possiblemoves) 16 | 17 | class TicTacToe: 18 | def __init__(self,traning=False): 19 | self.board = [' ']*9 20 | 21 | self.done = False 22 | self.humman=None 23 | self.computer=None 24 | self.humanTurn=None 25 | self.training=traning 26 | self.player1 = None 27 | self.player2 = None 28 | self.aiplayer=None 29 | self.isAI=False 30 | # if not training display 31 | if(not self.training): 32 | pygame.init() 33 | self.ttt = pygame.display.set_mode((225,250)) 34 | pygame.display.set_caption('Tic-Tac-Toe') 35 | 36 | #reset the game 37 | def reset(self): 38 | if(self.training): 39 | self.board = [' '] * 9 40 | return 41 | 42 | self.board = [' '] * 9 43 | self.humanTurn=random.choice([True,False]) 44 | 45 | self.surface = pygame.Surface(self.ttt.get_size()) 46 | self.surface = self.surface.convert() 47 | self.surface.fill((250, 250, 250)) 48 | #horizontal line 49 | pygame.draw.line(self.surface, (0, 0, 0), (75, 0), (75, 225), 2) 50 | pygame.draw.line(self.surface, (0, 0, 0), (150, 0), (150, 225), 2) 51 | # veritical line 52 | pygame.draw.line(self.surface, (0, 0, 0), (0,75), (225, 75), 2) 53 | pygame.draw.line(self.surface, (0, 0, 0), (0,150), (225, 150), 2) 54 | 55 | #evaluate function 56 | def evaluate(self, ch): 57 | # "rows checking" 58 | for i in range(3): 59 | if (ch == self.board[i * 3] == self.board[i * 3 + 1] and self.board[i * 3 + 1] == self.board[i * 3 + 2]): 60 | return 1.0, True 61 | # "col checking" 62 | for i in range(3): 63 | if (ch == self.board[i + 0] == self.board[i + 3] and self.board[i + 3] == self.board[i + 6]): 64 | return 1.0, True 65 | # diagonal checking 66 | if (ch == self.board[0] == self.board[4] and self.board[4] == self.board[8]): 67 | return 1.0, True 68 | 69 | if (ch == self.board[2] == self.board[4] and self.board[4] == self.board[6]): 70 | return 1.0, True 71 | # "if filled draw" 72 | if not any(c == ' ' for c in self.board): 73 | return 0.5, True 74 | 75 | return 0.0, False 76 | 77 | #return remaining possible moves 78 | def possible_moves(self): 79 | return [moves + 1 for moves, v in enumerate(self.board) if v == ' '] 80 | 81 | #take next step and return reward 82 | def step(self, isX, move): 83 | if(isX): 84 | ch = 'X' 85 | else: 86 | ch = '0' 87 | if(self.board[move-1]!=' '): # try to over write 88 | return -5, True 89 | 90 | self.board[move-1]= ch 91 | reward,done = self.evaluate(ch) 92 | return reward, done 93 | 94 | 95 | #draw move on window 96 | def drawMove(self, pos,isX): 97 | row=int((pos-1)/3) 98 | col=(pos-1)%3 99 | 100 | centerX = ((col) * 75) + 32 101 | centerY = ((row) * 75) + 32 102 | 103 | reward, done= self.step(isX,pos) #next step 104 | if(reward==-5): #overlap 105 | #print('Invalid move') 106 | font = pygame.font.Font(None, 24) 107 | text = font.render('Invalid move!', 1, (10, 10, 10)) 108 | self.surface.fill((250, 250, 250), (0, 300, 300, 25)) 109 | self.surface.blit(text, (10, 230)) 110 | 111 | return reward, done 112 | 113 | if (isX): #playerX so draw x 114 | font = pygame.font.Font(None, 24) 115 | text = font.render('X', 1, (10, 10, 10)) 116 | self.surface.fill((250, 250, 250), (0, 300, 300, 25)) 117 | self.surface.blit(text, (centerX, centerY)) 118 | self.board[pos-1] ='X' 119 | 120 | if(self.humman and reward==1): #if playerX is humman and won, display humman won 121 | #print('Humman won! in X') 122 | text = font.render('Humman won!', 1, (10, 10, 10)) 123 | self.surface.fill((250, 250, 250), (0, 300, 300, 25)) 124 | self.surface.blit(text, (10, 230)) 125 | 126 | 127 | elif (self.computer and reward == 1):#if playerX is computer and won, display computer won 128 | #print('computer won! in X') 129 | text = font.render('computer won!', 1, (10, 10, 10)) 130 | self.surface.fill((250, 250, 250), (0, 300, 300, 25)) 131 | self.surface.blit(text, (10, 230)) 132 | 133 | 134 | 135 | 136 | else: #playerO so draw O 137 | font = pygame.font.Font(None, 24) 138 | text = font.render('O', 1, (10, 10, 10)) 139 | 140 | self.surface.fill((250, 250, 250), (0, 300, 300, 25)) 141 | self.surface.blit(text, (centerX, centerY)) 142 | self.board[pos-1] = '0' 143 | 144 | if (not self.humman and reward == 1): #if playerO is humman and won, display humman won 145 | #print('Humman won! in O') 146 | text = font.render('Humman won!', 1, (10, 10, 10)) 147 | self.surface.fill((250, 250, 250), (0, 300, 300, 25)) 148 | self.surface.blit(text, (10, 230)) 149 | 150 | 151 | elif (not self.computer and reward == 1): #if playerO is computer and won, display computer won 152 | #print('computer won! in O') 153 | text = font.render('computer won!', 1, (10, 10, 10)) 154 | self.surface.fill((250, 250, 250), (0, 300, 300, 25)) 155 | self.surface.blit(text, (10, 230)) 156 | 157 | 158 | 159 | if (reward == 0.5): # draw, then display draw 160 | #print('Draw Game! in O') 161 | font = pygame.font.Font(None, 24) 162 | text = font.render('Draw Game!', 1, (10, 10, 10)) 163 | self.surface.fill((250, 250, 250), (0, 300, 300, 25)) 164 | self.surface.blit(text, (10, 230)) 165 | return reward, done 166 | 167 | return reward,done 168 | 169 | # mouseClick position 170 | def mouseClick(self): 171 | (mouseX, mouseY) = pygame.mouse.get_pos() 172 | if (mouseY < 75): 173 | row = 0 174 | elif (mouseY < 150): 175 | row = 1 176 | else: 177 | row = 2 178 | 179 | if (mouseX < 75): 180 | col = 0 181 | elif (mouseX < 150): 182 | col = 1 183 | else: 184 | col = 2 185 | return row * 3 + col + 1 186 | 187 | 188 | #update state 189 | def updateState(self,isX): 190 | pos=self.mouseClick() 191 | reward,done = self.drawMove(pos,isX) 192 | return reward, done 193 | 194 | #show display 195 | def showboard(self): 196 | self.ttt.blit(self.surface, (0, 0)) 197 | pygame.display.flip() 198 | 199 | 200 | #begin training 201 | def startTraining(self,player1,player2): 202 | if(isinstance(player1,Qlearning) and isinstance(player2, Qlearning)): 203 | self.training = True 204 | self.player1=player1 205 | self.player2=player2 206 | 207 | #tarin function 208 | def train(self,iterations): 209 | if(self.training): 210 | for i in range(iterations): 211 | print("trainining", i) 212 | self.player1.game_begin() 213 | self.player2.game_begin() 214 | self.reset() 215 | done = False 216 | isX = random.choice([True, False]) 217 | while not done: 218 | if isX: 219 | move = self.player1.epslion_greedy(self.board, self.possible_moves()) 220 | else: 221 | move = self.player2.epslion_greedy(self.board, self.possible_moves()) 222 | 223 | 224 | reward, done = self.step(isX, move) 225 | 226 | if (reward == 1): # won 227 | if (isX): 228 | self.player1.updateQ(reward, self.board, self.possible_moves()) 229 | self.player2.updateQ(-1 * reward, self.board, self.possible_moves()) 230 | else: 231 | self.player1.updateQ(-1 * reward, self.board, self.possible_moves()) 232 | self.player2.updateQ(reward, self.board, self.possible_moves()) 233 | 234 | elif (reward == 0.5): # draw 235 | self.player1.updateQ(reward, self.board, self.possible_moves()) 236 | self.player2.updateQ(reward, self.board, self.possible_moves()) 237 | 238 | 239 | elif (reward == -5): # illegal move 240 | if (isX): 241 | self.player1.updateQ(reward, self.board, self.possible_moves()) 242 | else: 243 | self.player2.updateQ(reward, self.board, self.possible_moves()) 244 | 245 | elif (reward == 0): 246 | if (isX): # update opposite 247 | self.player2.updateQ(reward, self.board, self.possible_moves()) 248 | else: 249 | self.player1.updateQ(reward, self.board, self.possible_moves()) 250 | 251 | isX = not isX # 252 | 253 | #save Qtables 254 | def saveStates(self): 255 | self.player1.saveQtable("player1states") 256 | self.player2.saveQtable("player2states") 257 | 258 | 259 | #start game human vs AI or human vs random 260 | def startGame(self, playerX, playerO): 261 | if (isinstance(playerX, Humanplayer)): 262 | self.humman, self.computer = True, False 263 | if (isinstance(playerO, Qlearning)): #if AI 264 | self.ai = playerO 265 | self.ai.loadQtable("player2states") # load saved Q table 266 | self.ai.epsilon = 0 #set eps to 0 so always choose greedy step 267 | self.isAI = True 268 | elif (isinstance(playerO, Randomplayer)): #if random 269 | self.ai = playerO 270 | self.isAI = False 271 | 272 | elif (isinstance(playerO, Humanplayer)): 273 | self.humman, self.computer = False, True 274 | if (isinstance(playerX, Qlearning)): #if AI 275 | self.ai = playerX 276 | self.ai.loadQtable("player1states") # load saved Q table 277 | self.ai.epsilon = 0 #set eps to 0 so always choose greedy step 278 | self.isAI = True 279 | elif(isinstance(playerX, Randomplayer)):#if random 280 | self.ai=playerX 281 | self.isAI = False 282 | 283 | 284 | def render(self): 285 | running = 1 286 | done = False 287 | pygame.event.clear() 288 | while (running == 1): 289 | if (self.humanTurn): #humman click 290 | print("Human player turn") 291 | event = pygame.event.wait() 292 | while event.type != pygame.MOUSEBUTTONDOWN: 293 | event = pygame.event.wait() 294 | self.showboard() 295 | if event.type == pygame.QUIT: 296 | running = 0 297 | print("pressed quit") 298 | break 299 | 300 | reward, done = self.updateState(self.humman) #if random 301 | self.showboard() 302 | if (done): #if done reset 303 | time.sleep(1) 304 | self.reset() 305 | else: #AI or random turn 306 | if(self.isAI): 307 | moves = self.ai.epslion_greedy(self.board, self.possible_moves()) 308 | reward, done = self.drawMove(moves, self.computer) 309 | print("computer's AI player turn") 310 | self.showboard() 311 | else: #random player 312 | moves = self.ai.move(self.possible_moves()) #random player 313 | reward, done = self.drawMove(moves, self.computer) 314 | print("computer's random player turn") 315 | self.showboard() 316 | 317 | if (done): #if done reset 318 | time.sleep(1) 319 | self.reset() 320 | 321 | self.humanTurn = not self.humanTurn 322 | 323 | 324 | 325 | 326 | -------------------------------------------------------------------------------- /Section_6-TicTactoe/Play Dumb Agent.py: -------------------------------------------------------------------------------- 1 | from Game import TicTacToe, Humanplayer, Randomplayer 2 | from QLearning import Qlearning 3 | 4 | game = TicTacToe() #game instance 5 | player1=Humanplayer() #human player 6 | player2=Randomplayer() #agent 7 | game.startGame(player1,player2)#player1 is X, player2 is 0 8 | game.reset() #reset 9 | game.render() # render display 10 | 11 | -------------------------------------------------------------------------------- /Section_6-TicTactoe/Play Q-Learning.py: -------------------------------------------------------------------------------- 1 | from Game import TicTacToe, Humanplayer, Randomplayer 2 | from QLearning import Qlearning 3 | 4 | game = TicTacToe() #game instance 5 | player1=Humanplayer() #human player 6 | player2=Qlearning() #agent 7 | game.startGame(player1,player2)#player1 is X, player2 is 0 8 | game.reset() #reset 9 | game.render() # render display -------------------------------------------------------------------------------- /Section_6-TicTactoe/QLearning.py: -------------------------------------------------------------------------------- 1 | import random 2 | import pickle 3 | 4 | class Qlearning: 5 | def __init__(self,epsilon=0.2, alpha=0.3, gamma=0.9): 6 | self.epsilon=epsilon 7 | self.alpha=alpha 8 | self.gamma=gamma 9 | self.Q = {} #Q table 10 | self.last_board=None 11 | self.q_last=0.0 12 | self.state_action_last=None 13 | 14 | def game_begin(self): 15 | self.last_board = None 16 | self.q_last = 0.0 17 | self.state_action_last = None 18 | 19 | 20 | def epslion_greedy(self, state, possible_moves): #esplion greedy algorithm 21 | #return action 22 | self.last_board = tuple(state) 23 | if(random.random() < self.epsilon): 24 | move = random.choice(possible_moves) ##action 25 | self.state_action_last=(self.last_board,move) 26 | self.q_last=self.getQ(self.last_board,move) 27 | return move 28 | else: #greedy strategy 29 | Q_list=[] 30 | for action in possible_moves: 31 | Q_list.append(self.getQ(self.last_board,action)) 32 | maxQ=max(Q_list) 33 | 34 | if Q_list.count(maxQ) > 1: 35 | # more than 1 best option; choose among them randomly 36 | best_options = [i for i in range(len(possible_moves)) if Q_list[i] == maxQ] 37 | i = random.choice(best_options) 38 | else: 39 | i = Q_list.index(maxQ) 40 | self.state_action_last = (self.last_board, possible_moves[i]) 41 | self.q_last = self.getQ(self.last_board, possible_moves[i]) 42 | return possible_moves[i] 43 | 44 | 45 | def getQ(self, state, action): #get Q states 46 | if(self.Q.get((state,action))) is None: 47 | self.Q[(state,action)] = 1.0 48 | return self.Q.get((state,action)) 49 | 50 | def updateQ(self, reward, state, possible_moves): # update Q states using Qleanning 51 | q_list=[] 52 | for moves in possible_moves: 53 | q_list.append(self.getQ(tuple(state), moves)) 54 | if q_list: 55 | max_q_next = max(q_list) 56 | else: 57 | max_q_next=0.0 58 | self.Q[self.state_action_last] = self.q_last + self.alpha * ((reward + self.gamma*max_q_next) - self.q_last) 59 | 60 | def saveQtable(self,file_name): #save table 61 | with open(file_name, 'wb') as handle: 62 | pickle.dump(self.Q, handle, protocol=pickle.HIGHEST_PROTOCOL) 63 | 64 | def loadQtable(self,file_name): # load table 65 | with open(file_name, 'rb') as handle: 66 | self.Q = pickle.load(handle) 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /Section_6-TicTactoe/README.md: -------------------------------------------------------------------------------- 1 | # Tic-Tac-Toe-Reinforcement-learning 2 | Agent learns to play Tic-Tac-Toe using Reinforcement-learning (Q-learning). The agent was trained by playing against itself. Human can also play against trained Agent. 3 | 4 | ![Alt text](https://github.com/Rohithkvsp/Tic-Tac-Toe-Reinforcement-learning/blob/master/Game.jpg)
5 | Requirements:
6 | python 3.5.2 and pygame 7 | 8 | Run Play.py to play game.
9 | ``` 10 | py -3 Play.py 11 | ``` 12 | Run Train.py to train the agent.
13 | ``` 14 | py -3 Train.py 15 | ``` 16 | 17 | Training:
18 | It took 200,000 iterations to master the game. 19 | ``` 20 | game = TicTacToe(True) #game instance, True means training 21 | player1= Qlearning() #player1 learning agent 22 | player2 =Qlearning() #player2 learning agent 23 | game.startTraining(player1,player2) #start training 24 | game.train(200000) #train for 200,000 iterations 25 | game.saveStates() #save Qtable 26 | ``` 27 | 28 | Playing
29 | 30 | Human player vs AI agent 31 | ``` 32 | game = TicTacToe() #game instance 33 | player1=Humanplayer() #human player 34 | player2=Qlearning() #agent 35 | game.startGame(player1,player2)#player1 is X, player2 is 0 36 | game.reset() #reset 37 | game.render() # render display 38 | ``` 39 | Random player instead of AI agent 40 | 41 | ``` 42 | #change player1 or player2 to Randomplayer() 43 | player2 =Randomplayer() 44 | ``` 45 | -------------------------------------------------------------------------------- /Section_6-TicTactoe/Readme.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbarto2/AIML-Algorithms-Training/4d8daf7a378f58ff7b3e47504b7c3761b36c103a/Section_6-TicTactoe/Readme.txt -------------------------------------------------------------------------------- /Section_6-TicTactoe/Train.py: -------------------------------------------------------------------------------- 1 | from Game import TicTacToe 2 | from QLearning import Qlearning 3 | 4 | game = TicTacToe(True) #game instance, True means training 5 | player1= Qlearning() #player1 learning agent 6 | player2 =Qlearning() #player2 learning agent 7 | game.startTraining(player1,player2) #start training 8 | game.train(200000) #train for 200,000 iterations 9 | game.saveStates() #save Qtable -------------------------------------------------------------------------------- /Section_6-TicTactoe/player1states: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbarto2/AIML-Algorithms-Training/4d8daf7a378f58ff7b3e47504b7c3761b36c103a/Section_6-TicTactoe/player1states -------------------------------------------------------------------------------- /Section_6-TicTactoe/player2states: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbarto2/AIML-Algorithms-Training/4d8daf7a378f58ff7b3e47504b7c3761b36c103a/Section_6-TicTactoe/player2states -------------------------------------------------------------------------------- /Section_7-Word-Embedding-3D.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import matplotlib.pyplot as plt 3 | from mpl_toolkits.mplot3d import Axes3D 4 | from sklearn.decomposition import PCA 5 | from gensim.models import Word2Vec 6 | 7 | # Load the trained Word2Vec model 8 | model = Word2Vec.load("Section-7-word2vec_model.bin") 9 | 10 | # Get word embeddings for all words in the vocabulary 11 | words = list(model.wv.key_to_index.keys()) 12 | embeddings = [model.wv[word] for word in words] 13 | 14 | # Convert embeddings list to a NumPy array 15 | embeddings = np.array(embeddings) 16 | 17 | # Perform PCA to reduce the dimensionality to 3 18 | pca = PCA(n_components=3) 19 | embeddings_3d = pca.fit_transform(embeddings) 20 | 21 | # Plot the word embeddings in 3D space 22 | fig = plt.figure(figsize=(10, 8)) 23 | ax = fig.add_subplot(111, projection='3d') 24 | 25 | # Scatter plot for each word's 3D representation 26 | ax.scatter(embeddings_3d[:, 0], embeddings_3d[:, 1], embeddings_3d[:, 2], marker='o', color='b') 27 | 28 | # Annotate each point with the corresponding word 29 | for i, word in enumerate(words): 30 | ax.text(embeddings_3d[i, 0], embeddings_3d[i, 1], embeddings_3d[i, 2], word, fontsize=8) 31 | 32 | ax.set_xlabel('PCA Component 1') 33 | ax.set_ylabel('PCA Component 2') 34 | ax.set_zlabel('PCA Component 3') 35 | ax.set_title('3D Visualization of Word Embeddings using Word2Vec') 36 | 37 | plt.show() 38 | -------------------------------------------------------------------------------- /Section_7-Word-Embeddings.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "raw", 5 | "id": "49fb0a57-515c-4df6-9c86-de6f2b03a854", 6 | "metadata": {}, 7 | "source": [ 8 | "Load the libraries" 9 | ] 10 | }, 11 | { 12 | "cell_type": "code", 13 | "execution_count": 1, 14 | "id": "78052be8-e64d-4f97-a819-109a78a455a6", 15 | "metadata": {}, 16 | "outputs": [ 17 | { 18 | "name": "stderr", 19 | "output_type": "stream", 20 | "text": [ 21 | "/Users/robbarto/Library/Python/3.9/lib/python/site-packages/urllib3/__init__.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. See: https://github.com/urllib3/urllib3/issues/3020\n", 22 | " warnings.warn(\n", 23 | "/Users/robbarto/Library/Python/3.9/lib/python/site-packages/paramiko/pkey.py:100: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from this module in 48.0.0.\n", 24 | " \"cipher\": algorithms.TripleDES,\n", 25 | "/Users/robbarto/Library/Python/3.9/lib/python/site-packages/paramiko/transport.py:259: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from this module in 48.0.0.\n", 26 | " \"class\": algorithms.TripleDES,\n" 27 | ] 28 | }, 29 | { 30 | "data": { 31 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAogAAAKSCAYAAABRBCpHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOy9d3Rb9f3//9SwZNmy5BnHK15xdshwlp2wmkDY0E8LNEAT0jLKprRQaBmhhaZAoewGCi18SxmFFmhpGWmYSYCSxPJecbwdO7YlL23p3t8f+b1vr2RtXV3pOu/HOTkHJFnve6+u7n3qNZ4vGcuyLCgUCoVCoVAolP8febw3gEKhUCgUCoWSWFCBSKFQKBQKhULxgApECoVCoVAoFIoHVCBSKBQKhUKhUDygApFCoVAoFAqF4gEViBQKhUKhUCgUD6hApFAoFAqFQqF4QAUihUKhUCgUCsUDKhApFAqFQqFQKB5QgUjxyZVXXomSkpJ4b4bP7ZDJZNixY4fo2xKvdcPhm2++QXV1NVJTUyGTyWAwGOK9SWHR1dUFmUyGl156Kd6bwnHaaadhyZIloqwV6jm2Y8cOyGQyj8dKSkpw5ZVXxmbDEgwpfBfFhh4TitBQgRgnGhsbcfHFF6OsrAwpKSnIzs7GKaecgn/+85/TXnvaaadBJpNBJpNBLpdDp9Nh/vz5+P73v4/du3cHXcvpdCI7OxsbNmzw+xqWZVFUVISVK1dGtV9S59///rdkL7JOpxMXX3wxjEYjfve73+HPf/4ziouLp73uv//9L2QyGX73u99Ne+7CCy+ETCbDn/70p2nPnXLKKSgoKIjJtofLp59+yn0nfP17/fXX472JlBnGsWPHIJPJcMstt0x77pZbboFMJsN999037bmtW7ciKSkJFotFjM3k+Oabb3DjjTdi8eLFSE1NxZw5c3DJJZegra2Ne82xY8egVCpxxRVX+H2fyclJaDQa/N///Z8Ym01JIJTx3oATle7ubkxOTmLbtm3Iz8+HxWLB3/72N1xwwQV47rnncM0113i8vrCwEDt37gQAmM1mHD58GH//+9/xyiuv4JJLLsErr7yCpKQkn2slJSXh4osvxnPPPYfu7m6fouHzzz9HX18ffvzjHwMA/vCHP4BhGIH3WhisViuUyticuv/+97/xzDPP+BSJsVxXCDo6OtDd3Y0//OEPuOqqq/y+buXKlUhJScHevXu5z5uwf/9+KJVK7Nu3D9u3b+cedzgc+Oabb3D++efHbPsj4eabb8bq1aunPV5VVRWHrYkvra2tkMtPjN/88fguzpo1CxUVFdi7d++05/bt28d9b3w9t2LFCqSkpIixmRwPPfQQ9u3bh4svvhgnnXQSBgcH8fTTT2PlypX46quvsGTJEsyaNQtnnHEG3n33XVgsFp/b+Pe//x02my2giKTMUFhKwuByudhly5ax8+fP93j81FNPZRcvXuzz9ddffz0LgL3jjjsCvvcXX3zBAmB37tzp8/lrrrmGlcvlbH9/f+Q7EAO2bdvGFhcXi7beDTfcwEr1a/HZZ5+xANg333wz6GtPP/10Njc31+OxlpYWFgB72WWXTTsH9+/fzwJgn3jiiai302w2+32us7OTBcD+6U9/Cvgen3zyScj7Gi3+vn+xAAB73333BX3dfffdJ9nzVMps376dVSgU7OTkJPfY1NQUq1Qq2csuu4zVarWsy+XinhsYGGABsD/+8Y+jXntqairg897nzr59+1i73e7xmra2NlatVrOXX34599if//xnFgD72muv+XzfM888k9Xr9azNZot84ymS5MT4uSkRFAoFioqKMDY2FvLrn3zySSxatAhPP/00xsfH/b52/fr1KCkpwauvvjrtOafTibfeegunn3468vPzAfiu/Xv99ddRWVmJtLQ06HQ6LF26FE888QT3vK+6KAB46aWXIJPJ0NXVxT327rvv4txzz0V+fj7UajXKy8vxq1/9Cm63O+h+82ttSM2av3+EL774AhdffDHmzJkDtVqNoqIi/PjHP4bVauVec+WVV+KZZ57h1vB+D181PjU1NTj77LOh0+mg1WqxceNGfPXVVz73f9++fbjtttuQk5OD1NRUfPvb38bw8HDQ/QWAjz/+GCeffDJSU1ORnp6OCy+8EM3NzR7bfuqppwIALr74YshkMpx22ml+32/Dhg0YGhrC4cOHucf27dsHnU6Ha665Bq2trRgZGfF4jvwd4dlnn8XixYuhVquRn5+PG264Ydq5S+r3Dh48iFNOOQUpKSn4+c9/DgAYGxvDlVdeCb1ej/T0dGzbti3kcz8cZDIZbrzxRrz55ptYtGgRNBoNqqqqUF9fDwB47rnnMHfuXCQnJ+O0007zOE/5HDx4ENXV1dBoNCgtLcWuXbumvcZut+O+++7D3LlzufPsjjvugN1un/a6H//4x8jJyUFaWhouuOAC9PX1+Vx37969WL16NZKTk1FeXo7nnnvO5+u8axDDOe8YhsGOHTuQn5+PlJQUnH766Whqapr2nk6nE/fffz8qKiqQnJyMrKwsbNiwIWipSzjXhgMHDmDz5s3Izs7mjvUPfvADj7/z/i6S9z98+DCuvPJKpKenQ6/XY/v27dNSu1arFTfffDOys7O5Y9/f3x9SDd+GDRvgdrs9vuNff/01XC4XfvrTn2Jqasqj7tfX9+bNN99EZWUlNBoNsrOzccUVV6C/v99jnSuvvBJarRYdHR0455xzkJaWhssvvxxA6OdOdXU1VCqVx2MVFRVYvHixx7Xj29/+NlJTU33eG44dO4Y9e/bgu9/9LtRqNbe/Z511FvR6PVJSUnDqqaf6jJz29/fjhz/8IXeNLy0txXXXXQeHw+H3+FISi8TNl50gmM1mWK1WjI+P4x//+Afef/99XHrppSH/vUKhwJYtW3DPPfdg7969OPfcc32+TiaT4bLLLsOvf/1rNDY2YvHixdxzH3zwAYxGI3cB8sXu3buxZcsWbNy4EQ899BAAoLm5Gfv27fNZkxOMl156CVqtFrfddhu0Wi0+/vhj3HvvvZiYmMAjjzwS8vvk5OTgz3/+s8djTqcTP/7xjz0ujm+++SYsFguuu+46ZGVl4b///S+eeuop9PX14c033wQAXHvttRgYGMDu3bunvacvGhsbcfLJJ0On0+GOO+5AUlISnnvuOZx22mn47LPPsHbtWo/X33TTTcjIyMB9992Hrq4uPP7447jxxhvxxhtvBFznP//5D84++2yUlZVhx44dsFqteOqpp7B+/XocOnQIJSUluPbaa1FQUIBf//rXXNo1NzfX73uSG9bevXsxd+5cAMdvZuvWrcPatWuRlJSE/fv344ILLuCeS0tLw7JlywAcvyHff//92LRpE6677jq0trbi97//Pb755hvs27fPo9xhdHQUZ599Nr73ve/hiiuuQG5uLliWxYUXXoi9e/fiRz/6ERYuXIi3334b27ZtC3rc+UxOTnoIWUJWVta0Hwj/+Mc/cMMNNwAAdu7cifPOOw933HEHnn32WVx//fUwmUx4+OGH8YMf/AAff/yxx/uZTCacc845uOSSS7Blyxb89a9/xXXXXQeVSsWJF4ZhcMEFF2Dv3r245pprsHDhQtTX1+N3v/sd2tra8M4773Dvd9VVV+GVV17BZZddhurqanz88cc+v7v19fU488wzkZOTgx07dsDlcuG+++4L+Nl6E8p5d9ddd+Hhhx/G+eefj82bN6O2thabN2+GzWbzeK8dO3Zg586duOqqq7BmzRpMTEzgwIEDOHToEM4444yQt8kfx44d4/b3zjvvRHp6Orq6uvD3v/89pL+/5JJLUFpaip07d+LQoUN44YUXMGvWLO6aBRwXX3/961/x/e9/H+vWrcNnn33m97rpDf97s2nTJgDHvxvz5s3DihUrUFhYiH379qGyspJ7jv93L730ErZv347Vq1dj586dGBoawhNPPIF9+/ahpqYG6enp3FoulwubN2/Ghg0b8Nvf/pZL/4Z67viCZVkMDQ15XP9TU1Nx4YUX4q233oLRaERmZib33BtvvAG3283dGz7++GOcffbZqKysxH333Qe5XI4//elP+Na3voUvvvgCa9asAQAMDAxgzZo1GBsbwzXXXIMFCxagv78fb731FiwWyzThSklQ4h3CPNG59tprWQAsAFYul7Pf/e53WaPR6PGaYCmut99+O6T0X2NjIwuAveuuuzwe/973vscmJyez4+Pj3GPeqd1bbrmF1el0HukTb/ylvf70pz+xANjOzk7uMYvFMu111157LZuSkuKRyvCVYkaQNNz111/PKhQK9uOPPw643s6dO1mZTMZ2d3dzjwVKMXuve9FFF7EqlYrt6OjgHhsYGGDT0tLYU045hXuM7P+mTZtYhmG4x3/84x+zCoWCHRsb87svLMuyy5cvZ2fNmsWOjo5yj9XW1rJyuZzdunUr91g4adeJiQlWoVCwP/zhD7nH5s+fz95///0sy7LsmjVr2Ntvv517Licnhz3jjDNYlmXZY8eOsSqVij3zzDNZt9vNvebpp59mAbB//OMfucdOPfVUFgC7a9cuj/XfeecdFgD78MMPc4+5XC725JNPDivF7O/f0aNHudcCYNVqtcf599xzz7EA2NmzZ7MTExPc43fddde0c5Xsw6OPPso9Zrfbuc/F4XCwLHs8VSeXy9kvvvjCY1t37drFAmD37dvHsizLGgwGFgB7/fXXe7zusssu83mOJScne5yjTU1NrEKhmHaeFhcXs9u2beP+P9TzbnBwkFUqlexFF13k8X47duxgAXi857Jly9hz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/jU++ugjnHrqqZzl09GjR/Hmm29i7969HlFkSgITl95pCvvaa6+xmzZtYnNzc1mlUslmZGSwmzZtYt99991pryU2G+SfVqtlKyoq2CuuuIL96KOPIlr/4osvDjiBxdte5q233mLPPPNMdtasWaxKpWLnzJnDXnvttR52Iix73EZi7dq13Gsee+wxnzY3+/btY9etW8dqNBo2Pz+fveOOO9gPP/yQBcB+8sknfreDZT0tLoLZnRCamprYTZs2sVqtls3Ozmavvvpqtra2dpqlisvlYm+66SY2JyeHlclkHu8BHzYShw4dYjdv3sxqtVo2JSWFPf3009n9+/d7vIbsv7flA9l2/v764z//+Q+7fv16VqPRsDqdjj3//PPZpqYmn+8XznQRYvdSUFAw7blDhw5xx3FoaGja808//TS7YMECNikpic3NzWWvu+461mQyebwmkEXT6Ogo+/3vf5/V6XSsXq9nv//977M1NTWC2NzwPycA7A033ODx92RiyyOPPOLzffnHkOzDgQMH2KqqKjY5OZktLi5mn3766Wnb5XA42IceeohdvHgxq1ar2YyMDLayspK9//77PWykrFYre/PNN7NZWVlsamoqe/7557O9vb0+z7HPPvuMraysZFUqFVtWVsbu2rXLp22MP5ubUM47l8vF3nPPPezs2bNZjUbDfutb32Kbm5vZrKws9kc/+hH3ugceeIBds2YNm56ezmo0GnbBggXsgw8+yFn9BCKUa8OhQ4fYLVu2sHPmzGHVajU7a9Ys9rzzzmMPHDjg8V7ex4kcj+HhYY/X+br2mM1m9oYbbmAzMzNZrVbLXnTRRWxraysLgP3Nb34TdD9YluWuVUqlctpkoNHRUe7a8fXXX0/72zfeeINdsWIFq1ar2czMTPbyyy9n+/r6PF6zbds2NjU11efaoZ473vcNf9dGb1avXs0CYJ999lmfz9fU1LD/93//x2ZlZbFqtZotLi5mL7nkEnbPnj0er+vu7ma3bt3K5uTksGq1mi0rK2NvuOGGadNdKImLjGVpvJdCoVAonoyNjSEjIwMPPPAAfvGLX8R7c2KKwWDAihUr8Morr4RUckOhnAjQGkQKhUI5weGPnCSQurZAIxuliL99lcvlIZXbUCgnCrQGkUKhUE5w3njjDbz00ks455xzoNVqsXfvXrz22ms488wzp9XYSZ2HH34Y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EU0hUwoatVotlRmNRqjV6klv9AgPD5fVB4DKyspb3gBi+l7eAEJElsCr9oiIplhmZia2b9+OoKAghISE4N1334Ver8eOHTsAACkpKVi6dCnefPNNAEBGRgbWrl2Ld955Bw8//DCKi4vR0NAgJYbW6/XIzc1FfHw8lixZgr6+Phw8eBBdXV1ITEyctnES0ezBAJGIaIolJSWht7cXr7/+OrRaLQICAvDNN99IB1GuXbsGK6v/X9CJiIjA0aNH8dprr+HVV1+Fj48Pjh8/jvvuuw8AYG1tjUuXLuHIkSPo6+uDs7MzgoODUVNTAz8/v2kZIxHNLsyDSEREREQy3INIRERERDIMEImIiIhIhgEiEREREckwQCQiIiIiGQaIRERERCTDAJGIiIiIZBggEhEREZEMA0QiIiIikmGASEREREQyDBCJiIiISIYBIhERERHJMEAkIiIiIhkGiEREREQkwwCRiIiIiGQYIBIRERGRDANEIiIiIpJhgEhEREREMgwQiYiIiEiGASIRERERyTBAJCIiIiIZBohEREREJMMAkYiIiIhkGCASERERkQwDRCIiIiKS+T89fGJGOuzn6wAAAABJRU5ErkJggg==", 32 | "text/plain": [ 33 | "
" 34 | ] 35 | }, 36 | "metadata": {}, 37 | "output_type": "display_data" 38 | } 39 | ], 40 | "source": [ 41 | "import numpy as np\n", 42 | "import matplotlib.pyplot as plt\n", 43 | "from mpl_toolkits.mplot3d import Axes3D\n", 44 | "from sklearn.decomposition import PCA\n", 45 | "from gensim.models import Word2Vec" 46 | ] 47 | }, 48 | { 49 | "cell_type": "raw", 50 | "id": "db2bdbba-036f-4365-b856-3ffb1289bb2b", 51 | "metadata": {}, 52 | "source": [ 53 | "Load the trained Word2Vec model, then get the word embeddings for all words.\n" 54 | ] 55 | }, 56 | { 57 | "cell_type": "code", 58 | "execution_count": null, 59 | "id": "00d68634-5789-43b5-b2fd-ff64fb2a5469", 60 | "metadata": {}, 61 | "outputs": [], 62 | "source": [ 63 | "model = Word2Vec.load(\"Section-7-word2vec_model.bin\")\n", 64 | "\n", 65 | "# Get word embeddings for all words in the vocabulary\n", 66 | "words = list(model.wv.key_to_index.keys())\n", 67 | "embeddings = [model.wv[word] for word in words]\n", 68 | "\n", 69 | "# Convert embeddings list to a NumPy array\n", 70 | "embeddings = np.array(embeddings)" 71 | ] 72 | }, 73 | { 74 | "cell_type": "raw", 75 | "id": "b1e0915c-bdfc-4362-9149-b462018f5924", 76 | "metadata": {}, 77 | "source": [ 78 | "Perform PCA to reduce the dimensionality to 3" 79 | ] 80 | }, 81 | { 82 | "cell_type": "code", 83 | "execution_count": null, 84 | "id": "d50b65a6-a353-4707-b19a-7b9aa6e032a0", 85 | "metadata": {}, 86 | "outputs": [], 87 | "source": [ 88 | "pca = PCA(n_components=3)\n", 89 | "embeddings_3d = pca.fit_transform(embeddings)" 90 | ] 91 | }, 92 | { 93 | "cell_type": "raw", 94 | "id": "93ddd2f9-2327-462c-8fb7-6322a5bee4ac", 95 | "metadata": {}, 96 | "source": [ 97 | "Plot the word embeddings in 3D space" 98 | ] 99 | }, 100 | { 101 | "cell_type": "code", 102 | "execution_count": null, 103 | "id": "c2b45bb2-3083-4243-aaf5-1c3a3832c0ca", 104 | "metadata": {}, 105 | "outputs": [], 106 | "source": [ 107 | "fig = plt.figure(figsize=(10, 8))\n", 108 | "ax = fig.add_subplot(111, projection='3d')\n", 109 | "\n", 110 | "# Scatter plot for each word's 3D representation\n", 111 | "ax.scatter(embeddings_3d[:, 0], embeddings_3d[:, 1], embeddings_3d[:, 2], marker='o', color='b')\n", 112 | "\n", 113 | "# Annotate each point with the corresponding word\n", 114 | "for i, word in enumerate(words):\n", 115 | " ax.text(embeddings_3d[i, 0], embeddings_3d[i, 1], embeddings_3d[i, 2], word, fontsize=8)\n", 116 | "\n", 117 | "ax.set_xlabel('PCA Component 1')\n", 118 | "ax.set_ylabel('PCA Component 2')\n", 119 | "ax.set_zlabel('PCA Component 3')\n", 120 | "ax.set_title('3D Visualization of Word Embeddings using Word2Vec')\n", 121 | "\n", 122 | "plt.show()" 123 | ] 124 | }, 125 | { 126 | "cell_type": "code", 127 | "execution_count": null, 128 | "id": "15423ce3-393d-4d5f-8f17-8b039d58cc44", 129 | "metadata": {}, 130 | "outputs": [], 131 | "source": [] 132 | } 133 | ], 134 | "metadata": { 135 | "kernelspec": { 136 | "display_name": "Python 3 (ipykernel)", 137 | "language": "python", 138 | "name": "python3" 139 | }, 140 | "language_info": { 141 | "codemirror_mode": { 142 | "name": "ipython", 143 | "version": 3 144 | }, 145 | "file_extension": ".py", 146 | "mimetype": "text/x-python", 147 | "name": "python", 148 | "nbconvert_exporter": "python", 149 | "pygments_lexer": "ipython3", 150 | "version": "3.9.6" 151 | } 152 | }, 153 | "nbformat": 4, 154 | "nbformat_minor": 5 155 | } 156 | -------------------------------------------------------------------------------- /Section_7-Word2Vec.py: -------------------------------------------------------------------------------- 1 | from gensim.models import Word2Vec 2 | 3 | # Sample corpus (list of sentences) 4 | corpus = [ 5 | ["The", "early", "bird", "gets", "the", "worm"], 6 | ["Success", "requires", "hard", "work"] 7 | ] 8 | 9 | # Train Word2Vec model on the corpus 10 | model = Word2Vec(sentences=corpus, vector_size=100, window=5, min_count=1, sg=0) 11 | model.save("Section-7-word2vec_model.bin") 12 | --------------------------------------------------------------------------------