{"id":30936,"date":"2019-10-31T21:38:20","date_gmt":"2019-10-31T18:38:20","guid":{"rendered":"https:\/\/prohoster.info\/blog\/mashinnoe-obuchenie-bez-python-anaconda-i-prochih-presmykayushhihsya\/"},"modified":"2019-10-31T21:38:20","modified_gmt":"2019-10-31T18:38:20","slug":"mashinnoe-obuchenie-bez-python-anaconda-i-prochih-presmykayushhihsya","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/mashinnoe-obuchenie-bez-python-anaconda-i-prochih-presmykayushhihsya","title":{"rendered":"Machine learning without Python, Anaconda, and other dependencies","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>No, of course, I'm not serious. There must be a limit to how far one can simplify a subject. However, for the initial stages, understanding basic concepts and quickly getting into the topic, it might be acceptable. As for how to title this material (options: \"Machine Learning for Dummies,\" \"Data Analysis from Scratch,\" \"Algorithms for the Littlest Ones\"), we will discuss that at the end. <\/p>\n<p>To the point. I've written several practical programs in MS Excel for visualizing and clearly presenting the processes that occur in various machine learning methods during data analysis. Seeing is believing, after all, as the saying goes in the culture that developed most of these methods (by the way, not all of them. The powerful \"support vector machine\" method, or SVM, was invented by our compatriot Vladimir Vapnik, from the Moscow Institute of Management. 1963, by the way! He now teaches and works in the USA).<\/p>\n<p>Three files for review<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>1. K-means clustering<\/h2>\n<p>\nThese tasks fall under \"unsupervised learning,\" where we need to divide the initial data into a predetermined number of categories, but we have no quantity of \"correct answers\"; we must extract them from the data itself. The fundamental classical problem of finding subspecies of iris flowers (Ronald Fisher, 1936!) is precisely of such nature.<\/p>\n<p>The method is quite simple. We have a set of objects represented as vectors (sets of N numbers). For irises, this consists of sets of 4 numbers that characterize the flower: the length and width of the outer and inner tepals, respectively (<noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%98%D1%80%D0%B8%D1%81%D1%8B_%D0%A4%D0%B8%D1%88%D0%B5%D1%80%D0%B0\">Fisher's Irises - Wikipedia<\/a><\/noindex>). The distance, or measure of proximity between objects, is the usual Euclidean metric.<\/p>\n<p>Next, cluster centers are chosen arbitrarily (or not arbitrarily, see below), and distances from each object to the cluster centers are calculated. At this step of the iteration, each object is marked as belonging to the nearest center. Then the center of each cluster is moved to the arithmetic mean of its members' coordinates (akin to physics, it is also referred to as the \"center of mass\"), and the procedure is repeated.<\/p>\n<p>The process converges quite quickly. In the 2D visualizations, it looks like this:<\/p>\n<p>1. Initial random distribution of points on the plane and number of clusters<\/p>\n<p><img decoding=\"async\" alt=\"Machine learning without Python, Anaconda, and other dependencies\" src=\"\/wp-content\/uploads\/2019\/04\/98afc213ffcfa702527d1977b5160428.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n2. Defining the centers of the clusters and assigning points to their respective clusters<\/p>\n<p><img decoding=\"async\" alt=\"Machine learning without Python, Anaconda, and other dependencies\" src=\"\/wp-content\/uploads\/2019\/04\/268dbf902b225ea700e401ab6ef06c2d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n3. Moving the coordinates of the cluster centers and recalculating point membership until the centers stabilize. The trajectory of the cluster center's movement to its final position is visible.<\/p>\n<p><img decoding=\"async\" alt=\"Machine learning without Python, Anaconda, and other dependencies\" src=\"\/wp-content\/uploads\/2019\/04\/59393621525594066943e444d98b81b3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAt any moment, new cluster centers can be set (without generating a new point distribution!) and you can see that the partitioning process is not always unambiguous. Mathematically, this means that for the optimized function (the sum of squares of distances from points to the centers of their clusters), we find a local minimum rather than a global one. This problem can be overcome by either non-randomly selecting the initial cluster centers or by iterating through possible centers (sometimes it is beneficial to place them exactly at one of the points, guaranteeing that we do not get empty clusters). In any case, a finite set always has a precise lower bound. <\/p>\n<p><noindex><a rel=\"nofollow\" href=\"http:\/\/wit.ru\/habr\/K-means.zip\">You can experiment with this file via this link<\/a><\/noindex> (don\u2019t forget to enable macro support. The files have been checked for viruses)<\/p>\n<p>Description of the method on Wikipedia \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_k-%D1%81%D1%80%D0%B5%D0%B4%D0%BD%D0%B8%D1%85\">k-means method<\/a><\/noindex><\/p>\n<h2>2. Polynomial approximation and data partitioning. Overfitting<\/h2>\n<p>\nThe remarkable scientist and popularizer of data science K.V. Vorontsov succinctly describes machine learning methods as 'the science of drawing curves through points.' In this example, we will find patterns in the data using the least squares method. <\/p>\n<p>The technique of partitioning the original data into 'training' and 'test' sets is shown, as well as the phenomenon of overfitting, or 'fine-tuning' to the data. With proper approximation, we will have a certain error on the training data and a somewhat larger one on the test data. With improper approximation, there will be an exact fit to the training data and a huge error on the test data.<\/p>\n<p>(It is a well-known fact that through N points, a unique N-1 degree curve can be drawn, and this method does not generally yield the desired result. <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BF%D0%BE%D0%BB%D1%8F%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%D1%87%D0%BB%D0%B5%D0%BD_%D0%9B%D0%B0%D0%B3%D1%80%D0%B0%D0%BD%D0%B6%D0%B0\">Lagrange interpolation polynomial on Wikipedia<\/a><\/noindex>)<\/p>\n<p>1. We set the initial distribution<\/p>\n<p><img decoding=\"async\" alt=\"Machine learning without Python, Anaconda, and other dependencies\" src=\"\/wp-content\/uploads\/2019\/04\/617cd8456d91a4294803f979f98a3ef0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n2. We divide the points into 'training' and 'test' sets in a 70 to 30 ratio.<\/p>\n<p><img decoding=\"async\" alt=\"Machine learning without Python, Anaconda, and other dependencies\" src=\"\/wp-content\/uploads\/2019\/04\/5211af73ace8c254b44a234a2812b586.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n3. We draw an approximating curve based on the training points and see the error it produces on the test data.<\/p>\n<p><img decoding=\"async\" alt=\"Machine learning without Python, Anaconda, and other dependencies\" src=\"\/wp-content\/uploads\/2019\/04\/c26e0bed0959aeb30723f67bafc3b58c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n4. We draw an exact curve through the training points and observe a huge error on the test data (and zero on the training data, but what good is that?).<\/p>\n<p><img decoding=\"async\" alt=\"Machine learning without Python, Anaconda, and other dependencies\" src=\"\/wp-content\/uploads\/2019\/04\/dbc34251e6444093805b10c56ee62eae.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nThe simplest case is shown with a single split into 'training' and 'test' subsets; in general, this is done repeatedly for optimal coefficient tuning.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"http:\/\/wit.ru\/habr\/Lagrange.Approximation.zip\">The file is available here and has been checked by antivirus.<\/a><\/noindex> Enable macros for proper operation.<\/p>\n<h2>3. Gradient descent and the dynamics of error changes.<\/h2>\n<p>\nHere we will have a 4-dimensional case and linear regression. The coefficients of linear regression will be determined stepwise using the gradient descent method, initially all coefficients will be zeros. A separate graph shows the dynamics of error reduction as the coefficients are tuned more accurately. There is an option to view all four 2-dimensional projections.<\/p>\n<p>If the step of gradient descent is set too large, we will consistently skip the minimum and take more steps to reach the result, although eventually we will arrive (unless we set the step too high, in which case the algorithm will 'run wild'). The graph of the error dependency on the iteration step will not be smooth but 'jerky'.<\/p>\n<p>1. Generating data, setting the step for gradient descent.<\/p>\n<p><img decoding=\"async\" alt=\"Machine learning without Python, Anaconda, and other dependencies\" src=\"\/wp-content\/uploads\/2019\/04\/0bb3db030accff0003e6c49c328817c5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n2. With the correct choice of the gradient descent step, we smoothly and quickly reach the minimum.<\/p>\n<p><img decoding=\"async\" alt=\"Machine learning without Python, Anaconda, and other dependencies\" src=\"\/wp-content\/uploads\/2019\/04\/ecaaf01cff37d60f10174edbe1dbf0f2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n3. With an incorrect choice of the gradient descent step, we skip the maximum, the error graph is 'jerky', and convergence takes more steps.<\/p>\n<p><img decoding=\"async\" alt=\"Machine learning without Python, Anaconda, and other dependencies\" src=\"\/wp-content\/uploads\/2019\/04\/4adc84919a263a034a5ef0913c08266e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nand<\/p>\n<p><img decoding=\"async\" alt=\"Machine learning without Python, Anaconda, and other dependencies\" src=\"\/wp-content\/uploads\/2019\/04\/9d2befa6c9c6ac10211635c95ad82040.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n4. With a completely incorrect choice of the gradient descent step, we move away from the minimum.<\/p>\n<p><img decoding=\"async\" alt=\"Machine learning without Python, Anaconda, and other dependencies\" src=\"\/wp-content\/uploads\/2019\/04\/6ed347695683d0403778f32052ace050.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n(To reproduce the process with the values shown in the pictures for the step of gradient descent, check the 'reference data' option.)<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"http:\/\/wit.ru\/habr\/Linear.Regerssion.zip\">The file is available at this link, you need to enable macros; there are no viruses.<\/a><\/noindex><\/p>\n<p><b>Does the respected community consider this simplification and the method of presenting the material acceptable? Is it worth translating the article into English? <\/b><br \/>\n<br \/>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/446150\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0435\u0442, \u043d\u0443 \u044f, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435 \u0432\u0441\u0435\u0440\u044c\u0435\u0437. \u0414\u043e\u043b\u0436\u0435\u043d \u0436\u0435 \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u0434\u0435\u043b, \u0434\u043e \u043a\u0430\u043a\u043e\u0439 \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u0442\u044c \u043f\u0440\u0435\u0434\u043c\u0435\u0442. \u041d\u043e \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u044b\u0445 \u044d\u0442\u0430\u043f\u043e\u0432, \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0439 \u0438 \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u00ab\u0432\u044a\u0435\u0437\u0436\u0430\u043d\u0438\u044f\u00bb \u0432 \u0442\u0435\u043c\u0443, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u0438 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e. \u0410 \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043f\u043e\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b (\u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b: \u00ab\u041c\u0430\u0448\u0438\u043d\u043d\u043e\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0447\u0430\u0439\u043d\u0438\u043a\u043e\u0432\u00bb, \u00ab\u0410\u043d\u0430\u043b\u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u043f\u0435\u043b\u0435\u043d\u043e\u043a\u00bb, \u00ab\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u0434\u043b\u044f \u0441\u0430\u043c\u044b\u0445 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0445\u00bb), \u043e\u0431\u0441\u0443\u0434\u0438\u043c \u0432 \u043a\u043e\u043d\u0446\u0435. \u041a [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":22912,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-30936","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041d\u0435\u0442, \u043d\u0443 \u044f, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435 \u0432\u0441\u0435\u0440\u044c\u0435\u0437. \u0414\u043e\u043b\u0436\u0435\u043d \u0436\u0435 \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u0434\u0435\u043b, \u0434\u043e \u043a\u0430\u043a\u043e\u0439 \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u0442\u044c \u043f\u0440\u0435\u0434\u043c\u0435\u0442. \u041d\u043e \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u044b\u0445 \u044d\u0442\u0430\u043f\u043e\u0432, \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0439 \u0438 \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u00ab\u0432\u044a\u0435\u0437\u0436\u0430\u043d\u0438\u044f\u00bb \u0432 \u0442\u0435\u043c\u0443, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u0438 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/mashinnoe-obuchenie-bez-python-anaconda-i-prochih-presmykayushhihsya\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041c\u0430\u0448\u0438\u043d\u043d\u043e\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0431\u0435\u0437 Python, Anaconda \u0438 \u043f\u0440\u043e\u0447\u0438\u0445 \u043f\u0440\u0435\u0441\u043c\u044b\u043a\u0430\u044e\u0449\u0438\u0445\u0441\u044f | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0435\u0442, \u043d\u0443 \u044f, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435 \u0432\u0441\u0435\u0440\u044c\u0435\u0437. \u0414\u043e\u043b\u0436\u0435\u043d \u0436\u0435 \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u0434\u0435\u043b, \u0434\u043e \u043a\u0430\u043a\u043e\u0439 \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u0442\u044c \u043f\u0440\u0435\u0434\u043c\u0435\u0442. \u041d\u043e \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u044b\u0445 \u044d\u0442\u0430\u043f\u043e\u0432, \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0439 \u0438 \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u00ab\u0432\u044a\u0435\u0437\u0436\u0430\u043d\u0438\u044f\u00bb \u0432 \u0442\u0435\u043c\u0443, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u0438 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/mashinnoe-obuchenie-bez-python-anaconda-i-prochih-presmykayushhihsya\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:38:20+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:38:20+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Machine Learning Without Python, Anaconda, and Other Reptiles | ProHoster","description":"Well, I'm not being serious, of course. There must be a limit to how much one can simplify the subject. But for the initial stages, understanding the basic concepts, and quickly 'getting into' the topic, maybe it's acceptable.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/mashinnoe-obuchenie-bez-python-anaconda-i-prochih-presmykayushhihsya","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041c\u0430\u0448\u0438\u043d\u043d\u043e\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0431\u0435\u0437 Python, Anaconda \u0438 \u043f\u0440\u043e\u0447\u0438\u0445 \u043f\u0440\u0435\u0441\u043c\u044b\u043a\u0430\u044e\u0449\u0438\u0445\u0441\u044f | ProHoster","og:description":"\u041d\u0435\u0442, \u043d\u0443 \u044f, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435 \u0432\u0441\u0435\u0440\u044c\u0435\u0437. \u0414\u043e\u043b\u0436\u0435\u043d \u0436\u0435 \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u0434\u0435\u043b, \u0434\u043e \u043a\u0430\u043a\u043e\u0439 \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u0442\u044c \u043f\u0440\u0435\u0434\u043c\u0435\u0442. \u041d\u043e \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u044b\u0445 \u044d\u0442\u0430\u043f\u043e\u0432, \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0439 \u0438 \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u00ab\u0432\u044a\u0435\u0437\u0436\u0430\u043d\u0438\u044f\u00bb \u0432 \u0442\u0435\u043c\u0443, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u0438 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/mashinnoe-obuchenie-bez-python-anaconda-i-prochih-presmykayushhihsya","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:38:20+00:00","article:modified_time":"2019-10-31T18:38:20+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30936","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 03:45:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:27:05","updated":"2026-01-21 03:45:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/30936","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=30936"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/30936\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media\/22912"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=30936"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=30936"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=30936"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}