{"id":36523,"date":"2024-11-01T09:49:13","date_gmt":"2024-11-01T09:49:13","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=36523"},"modified":"2024-11-01T11:52:51","modified_gmt":"2024-11-01T11:52:51","slug":"deep-learning-pytorch-course-decision-tree","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/36523\/","title":{"rendered":"Deep Learning PyTorch Course, Decision Tree"},"content":{"rendered":"<p>Before deep learning was called deep learning, one of the fundamentals of machine learning was the &#8220;Decision Tree&#8221; model. Decision trees have an intuitive explanation and are relatively easy to implement, making them suitable learning models for beginners. In this article, we will explore what decision trees are and how they can be implemented using PyTorch, a deep learning framework. Starting from the theoretical background to the implementation in PyTorch, we will explain it in an easily understandable way through various examples.<\/p>\n<h2>1. What is a Decision Tree?<\/h2>\n<p>A decision tree is, as the name implies, a model that classifies or predicts data through a tree-like structure. The tree starts from the &#8220;root node&#8221; and splits into several &#8220;branches&#8221; and &#8220;nodes.&#8221; Each node represents a question about a specific feature of the data, and based on the answer to the question, the data is sent to the next branch. Once it reaches a leaf node, we can obtain the classification result or prediction value of the data.<\/p>\n<p>Due to their simplicity, decision trees are highly interpretable, allowing one to clearly understand the decisions made at each stage of the model. For this reason, decision trees are often used in fields such as medical diagnosis and financial analysis, where the explanation of the decision-making process is crucial.<\/p>\n<h3>Example: Simple Classification Problem Using Decision Trees<\/h3>\n<p>For example, let&#8217;s assume we want to predict which subjects students will like. The tree can classify students through the following question:<\/p>\n<ul>\n<li>&#8220;Does the student like math?&#8221;\n<ul>\n<li>Yes: Move to science subjects<\/li>\n<li>No: Move to humanities subjects<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>By going through each question and reaching the end of the tree, we can predict which subject the student prefers.<\/p>\n<h2>2. Advantages and Disadvantages of Decision Trees<\/h2>\n<p>Decision trees have several advantages and disadvantages.<\/p>\n<h3>Advantages:<\/h3>\n<ul>\n<li><strong>Intuitive<\/strong>: Decision trees can be visually represented, making them easy to understand.<\/li>\n<li><strong>Interpretability<\/strong>: Each decision is clear, making it easy to explain the results.<\/li>\n<li><strong>Less preprocessing of data<\/strong>: Data preprocessing is relatively less required.<\/li>\n<\/ul>\n<h3>Disadvantages:<\/h3>\n<ul>\n<li><strong>Overfitting<\/strong>: As the depth of the decision tree increases, it may easily overfit the training data, which can reduce generalization ability.<\/li>\n<li><strong>Complex decision boundaries<\/strong>: For high-dimensional data, the boundaries of decision trees can become too complex.<\/li>\n<\/ul>\n<p>For these reasons, decision trees may have limitations as a single model, but when combined with techniques like ensemble learning (e.g., random forests), they can become very powerful.<\/p>\n<h2>3. Implementing Decision Trees with PyTorch<\/h2>\n<p>PyTorch is a very powerful framework for developing deep learning models, but classical machine learning models like decision trees can also be trained using PyTorch. However, PyTorch does not have a direct feature for implementing decision trees, so it requires integration with other libraries. Generally, the <code>scikit-learn<\/code> library is used for decision trees, and it can be combined with PyTorch to expand into more complex models.<\/p>\n<h3>Example: Solving the XOR Problem<\/h3>\n<pre><code>import numpy as np\nfrom sklearn.tree import DecisionTreeClassifier\nimport torch\nimport matplotlib.pyplot as plt\n\n# Generate data\nX = np.array([[0, 0], [0, 1], [1, 0], [1, 1]])\ny = np.array([0, 1, 1, 0])\n\n# Create and train the decision tree model\nmodel = DecisionTreeClassifier()\nmodel.fit(X, y)\n\n# Prediction\npredictions = model.predict(X)\nprint(\"Predictions:\", predictions)\n\n# Convert to PyTorch tensor\ntensor_X = torch.tensor(X, dtype=torch.float32)\ntensor_predictions = torch.tensor(predictions, dtype=torch.float32)\nprint(\"Tensor Predictions:\", tensor_predictions)\n\n# Visualization\nplt.figure(figsize=(8, 6))\nfor i, (x, label) in enumerate(zip(X, y)):\n    plt.scatter(x[0], x[1], c='red' if label == 0 else 'blue', label=f'Class {label}' if i &lt; 2 else \"\")\n\nplt.xlabel('Feature 1')\nplt.ylabel('Feature 2')\nplt.title('XOR Problem Visualization')\nplt.legend()\nplt.grid(True)\nplt.show()<\/code><\/pre>\n<p>In the above code, we used <code>scikit-learn<\/code>&#8216;s <code>DecisionTreeClassifier<\/code> to solve the XOR problem and then converted the results to a PyTorch tensor to create a format that can be integrated with deep learning models. We added visualizations to visually confirm each data point and class labels. This way, we can use the output of a decision tree as the input to other deep learning models and combine decision trees with PyTorch models.<\/p>\n<h3>Visualizing the Structure of Decision Trees<\/h3>\n<p>To better understand the learning results of a decision tree, it is also important to visualize the structure of the decision tree itself. Using the <code>plot_tree()<\/code> function from <code>scikit-learn<\/code>, we can easily visualize the branching process of the decision tree.<\/p>\n<pre><code>from sklearn import datasets\nfrom sklearn.tree import DecisionTreeClassifier, plot_tree\nimport matplotlib.pyplot as plt\n\n# Load dataset\niris = datasets.load_iris()\nX, y = iris.data, iris.target\n\n# Create and train the decision tree model\nmodel = DecisionTreeClassifier()\nmodel.fit(X, y)\n\n# Visualize the decision tree\nplt.figure(figsize=(12, 6))\nplot_tree(model, filled=True, feature_names=iris.feature_names, class_names=iris.target_names)\nplt.title(\"Decision Tree Visualization\")\nplt.show()<\/code><\/pre>\n<p>In the code above, we trained a decision tree using the <code>iris<\/code> dataset, and then visualized the structure of the decision tree using the <code>plot_tree()<\/code> function. This visualization allows us to clearly see the criteria by which data is split at each node and which class each leaf node belongs to. This helps us easily understand and explain the decision-making process of the decision tree model.<\/p>\n<h2>4. Combining Decision Trees and Neural Networks<\/h2>\n<p>Using decision trees together with neural networks can further enhance the performance of models. Decision trees are useful for preprocessing data or selecting features, while neural networks built with PyTorch excel in solving nonlinear problems. For instance, we could extract key features using a decision tree and then input these features into a PyTorch neural network for final predictions.<\/p>\n<h3>Example: Using Decision Tree Output as Neural Network Input<\/h3>\n<pre><code>import torch.nn as nn\nimport torch.optim as optim\n\n# Define a simple neural network\nclass SimpleNN(nn.Module):\n    def __init__(self):\n        super(SimpleNN, self).__init__()\n        self.fc1 = nn.Linear(2, 4)\n        self.fc2 = nn.Linear(4, 1)\n\n    def forward(self, x):\n        x = torch.relu(self.fc1(x))\n        x = torch.sigmoid(self.fc2(x))\n        return x\n\n# Create a neural network model\nnn_model = SimpleNN()\ncriterion = nn.BCELoss()\noptimizer = optim.SGD(nn_model.parameters(), lr=0.01)\n\n# Use decision tree predictions as training data for the neural network\ninputs = tensor_X\nlabels = tensor_predictions.unsqueeze(1)\n\n# Training process\nfor epoch in range(100):\n    optimizer.zero_grad()\n    outputs = nn_model(inputs)\n    loss = criterion(outputs, labels)\n    loss.backward()\n    optimizer.step()\n\n    if (epoch + 1) % 10 == 0:\n        print(f'Epoch [{epoch+1}\/100], Loss: {loss.item():.4f}')\n\n# Visualize training results\nplt.figure(figsize=(8, 6))\nwith torch.no_grad():\n    outputs = nn_model(inputs).squeeze().numpy()\n    for i, (x, label, output) in enumerate(zip(X, y, outputs)):\n        plt.scatter(x[0], x[1], c='red' if output &lt; 0.5 else 'blue', marker='x' if label == 0 else 'o', label=f'Predicted Class {int(output &gt;= 0.5)}' if i &lt; 2 else \"\")\n\nplt.xlabel('Feature 1')\nplt.ylabel('Feature 2')\nplt.title('Neural Network Predictions After Training')\nplt.legend()\nplt.grid(True)\nplt.show()<\/code><\/pre>\n<p>In the above example, we define a simple neural network model and use the predictions from the decision tree as input data for training the neural network. We visualize the training results to visually confirm the predicted class labels of each data point. This allows us to create a model that combines decision trees and neural networks.<\/p>\n<h2>5. Conclusion<\/h2>\n<p>Decision trees are simple yet powerful machine learning models that facilitate an easy understanding and explanation of the structure of data. When combined with deep learning frameworks like PyTorch, it allows us to leverage both the strengths of decision trees and the neural network&#8217;s ability to solve nonlinear problems. In this article, we explored the fundamental concepts of decision trees and the methods for implementing them using PyTorch. We hope that you have understood the potential for combining decision trees and PyTorch through various examples.<\/p>\n<p>The combination of decision trees and deep learning is a very interesting research topic that opens up many possibilities for practical applications in real projects. Next time, delving into ensemble learning techniques and applications of PyTorch would also be a great study opportunity.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Before deep learning was called deep learning, one of the fundamentals of machine learning was the &#8220;Decision Tree&#8221; model. Decision trees have an intuitive explanation and are relatively easy to implement, making them suitable learning models for beginners. In this article, we will explore what decision trees are and how they can be implemented using &hellip; <a href=\"https:\/\/atmokpo.com\/w\/36523\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Deep Learning PyTorch Course, Decision Tree&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[149],"tags":[],"class_list":["post-36523","post","type-post","status-publish","format-standard","hentry","category-pytorch-study"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Deep Learning PyTorch Course, Decision Tree - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/atmokpo.com\/w\/36523\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Deep Learning PyTorch Course, Decision Tree - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Before deep learning was called deep learning, one of the fundamentals of machine learning was the &#8220;Decision Tree&#8221; model. Decision trees have an intuitive explanation and are relatively easy to implement, making them suitable learning models for beginners. In this article, we will explore what decision trees are and how they can be implemented using &hellip; \ub354 \ubcf4\uae30 &quot;Deep Learning PyTorch Course, Decision Tree&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/36523\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:49:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:52:51+00:00\" \/>\n<meta name=\"author\" content=\"root\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:site\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:label1\" content=\"\uae00\uc4f4\uc774\" \/>\n\t<meta name=\"twitter:data1\" content=\"root\" \/>\n\t<meta name=\"twitter:label2\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data2\" content=\"7\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/36523\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36523\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Deep Learning PyTorch Course, Decision Tree\",\"datePublished\":\"2024-11-01T09:49:13+00:00\",\"dateModified\":\"2024-11-01T11:52:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36523\/\"},\"wordCount\":915,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"PyTorch Study\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/36523\/\",\"url\":\"https:\/\/atmokpo.com\/w\/36523\/\",\"name\":\"Deep Learning PyTorch Course, Decision Tree - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:49:13+00:00\",\"dateModified\":\"2024-11-01T11:52:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36523\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/36523\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/36523\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Deep Learning PyTorch Course, Decision Tree\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/atmokpo.com\/w\/#website\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/atmokpo.com\/w\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"contentUrl\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"width\":400,\"height\":400,\"caption\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\"},\"image\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/bebubo4\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\",\"name\":\"root\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"caption\":\"root\"},\"sameAs\":[\"http:\/\/atmokpo.com\/w\"],\"url\":\"https:\/\/atmokpo.com\/w\/author\/root\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Deep Learning PyTorch Course, Decision Tree - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/atmokpo.com\/w\/36523\/","og_locale":"ko_KR","og_type":"article","og_title":"Deep Learning PyTorch Course, Decision Tree - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Before deep learning was called deep learning, one of the fundamentals of machine learning was the &#8220;Decision Tree&#8221; model. Decision trees have an intuitive explanation and are relatively easy to implement, making them suitable learning models for beginners. In this article, we will explore what decision trees are and how they can be implemented using &hellip; \ub354 \ubcf4\uae30 \"Deep Learning PyTorch Course, Decision Tree\"","og_url":"https:\/\/atmokpo.com\/w\/36523\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:49:13+00:00","article_modified_time":"2024-11-01T11:52:51+00:00","author":"root","twitter_card":"summary_large_image","twitter_creator":"@bebubo4","twitter_site":"@bebubo4","twitter_misc":{"\uae00\uc4f4\uc774":"root","\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"7\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/36523\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/36523\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Deep Learning PyTorch Course, Decision Tree","datePublished":"2024-11-01T09:49:13+00:00","dateModified":"2024-11-01T11:52:51+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/36523\/"},"wordCount":915,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["PyTorch Study"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/36523\/","url":"https:\/\/atmokpo.com\/w\/36523\/","name":"Deep Learning PyTorch Course, Decision Tree - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:49:13+00:00","dateModified":"2024-11-01T11:52:51+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/36523\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/36523\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/36523\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Deep Learning PyTorch Course, Decision Tree"}]},{"@type":"WebSite","@id":"https:\/\/atmokpo.com\/w\/#website","url":"https:\/\/atmokpo.com\/w\/","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","description":"","publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/atmokpo.com\/w\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/atmokpo.com\/w\/#organization","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","url":"https:\/\/atmokpo.com\/w\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/","url":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","contentUrl":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","width":400,"height":400,"caption":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8"},"image":{"@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/bebubo4"]},{"@type":"Person","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7","name":"root","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","caption":"root"},"sameAs":["http:\/\/atmokpo.com\/w"],"url":"https:\/\/atmokpo.com\/w\/author\/root\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/36523","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/comments?post=36523"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/36523\/revisions"}],"predecessor-version":[{"id":36524,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/36523\/revisions\/36524"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=36523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=36523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=36523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}