{ "nbformat": 4, "nbformat_minor": 2, "metadata": { "colab": { "name": "lesson_1-R.ipynb", "provenance": [], "collapsed_sections": [], "toc_visible": true }, "kernelspec": { "name": "ir", "display_name": "R" }, "language_info": { "name": "R" }, "coopTranslator": { "original_hash": "c18d3bd0bd8ae3878597e89dcd1fa5c1", "translation_date": "2025-12-19T16:31:36+00:00", "source_file": "2-Regression/1-Tools/solution/R/lesson_1-R.ipynb", "language_code": "kn" } }, "cells": [ { "cell_type": "markdown", "source": [ "# ರಿಗ್ರೆಶನ್ ಮಾದರಿಯನ್ನು ನಿರ್ಮಿಸಿ: R ಮತ್ತು Tidymodels ಬಳಸಿ ರಿಗ್ರೆಶನ್ ಮಾದರಿಗಳೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಿ\n" ], "metadata": { "id": "YJUHCXqK57yz" } }, { "cell_type": "markdown", "source": [ "## ರಿಗ್ರೆಶನ್ ಪರಿಚಯ - ಪಾಠ 1\n", "\n", "#### ದೃಷ್ಟಿಕೋನಕ್ಕೆ ಇಡುವುದು\n", "\n", "✅ ರಿಗ್ರೆಶನ್ ವಿಧಾನಗಳ ಹಲವು ಪ್ರಕಾರಗಳಿವೆ, ಮತ್ತು ನೀವು ಯಾವದನ್ನು ಆಯ್ಕೆಮಾಡುತ್ತೀರಿ ಎಂಬುದು ನೀವು ಹುಡುಕುತ್ತಿರುವ ಉತ್ತರದ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿದೆ. ನೀವು ನೀಡಲಾದ ವಯಸ್ಸಿನ ವ್ಯಕ್ತಿಯ ಸಾಧ್ಯತೆಯ ಎತ್ತರವನ್ನು ಊಹಿಸಲು ಬಯಸಿದರೆ, ನೀವು `ಲೀನಿಯರ್ ರಿಗ್ರೆಶನ್` ಅನ್ನು ಬಳಸುತ್ತೀರಿ, ಏಕೆಂದರೆ ನೀವು **ಸಂಖ್ಯಾತ್ಮಕ ಮೌಲ್ಯ**ವನ್ನು ಹುಡುಕುತ್ತಿದ್ದೀರಿ. ನೀವು ಯಾವ ರೀತಿಯ ಆಹಾರವನ್ನು ವೆಗನ್ ಎಂದು ಪರಿಗಣಿಸಬೇಕೇ ಎಂದು ತಿಳಿದುಕೊಳ್ಳಲು ಆಸಕ್ತರಾಗಿದ್ದರೆ, ನೀವು **ವರ್ಗ ವಿಂಗಡಣೆ**ಗಾಗಿ ಹುಡುಕುತ್ತಿದ್ದೀರಿ ಆದ್ದರಿಂದ ನೀವು `ಲಾಜಿಸ್ಟಿಕ್ ರಿಗ್ರೆಶನ್` ಅನ್ನು ಬಳಸುತ್ತೀರಿ. ಲಾಜಿಸ್ಟಿಕ್ ರಿಗ್ರೆಶನ್ ಬಗ್ಗೆ ನೀವು ನಂತರ ಹೆಚ್ಚು ತಿಳಿಯುತ್ತೀರಿ. ಡೇಟಾದಿಂದ ನೀವು ಕೇಳಬಹುದಾದ ಕೆಲವು ಪ್ರಶ್ನೆಗಳ ಬಗ್ಗೆ ಸ್ವಲ್ಪ ಯೋಚಿಸಿ, ಮತ್ತು ಈ ವಿಧಾನಗಳಲ್ಲಿ ಯಾವುದು ಹೆಚ್ಚು ಸೂಕ್ತವಾಗಿರುತ್ತದೆ ಎಂದು ಪರಿಗಣಿಸಿ.\n", "\n", "ಈ ವಿಭಾಗದಲ್ಲಿ, ನೀವು [ಮಧುಮೇಹದ ಬಗ್ಗೆ ಸಣ್ಣ ಡೇಟಾಸೆಟ್](https://www4.stat.ncsu.edu/~boos/var.select/diabetes.html) ಜೊತೆಗೆ ಕೆಲಸ ಮಾಡುತ್ತೀರಿ. ನೀವು ಮಧುಮೇಹ ರೋಗಿಗಳಿಗೆ ಚಿಕಿತ್ಸೆ ಪರೀಕ್ಷಿಸಲು ಬಯಸಿದರೆ ಎಂದು ಕಲ್ಪಿಸಿ. ಯಂತ್ರ ಅಧ್ಯಯನ ಮಾದರಿಗಳು, ಬದಲಾವಣೆಗಳ ಸಂಯೋಜನೆಗಳ ಆಧಾರದ ಮೇಲೆ, ಯಾವ ರೋಗಿಗಳು ಚಿಕಿತ್ಸೆಗಾಗಿ ಉತ್ತಮ ಪ್ರತಿಕ್ರಿಯಿಸುವರು ಎಂದು ನಿರ್ಧರಿಸಲು ಸಹಾಯ ಮಾಡಬಹುದು. ಅತ್ಯಂತ ಮೂಲಭೂತ ರಿಗ್ರೆಶನ್ ಮಾದರಿಯೂ ಸಹ, ದೃಶ್ಯೀಕರಿಸಿದಾಗ, ನಿಮ್ಮ ಸೈದ್ಧಾಂತಿಕ ಕ್ಲಿನಿಕಲ್ ಪ್ರಯೋಗಗಳನ್ನು ಸಂಘಟಿಸಲು ಸಹಾಯ ಮಾಡುವ ಬದಲಾವಣೆಗಳ ಬಗ್ಗೆ ಮಾಹಿತಿ ತೋರಿಸಬಹುದು.\n", "\n", "ಹೀಗಾಗಿ, ಈ ಕಾರ್ಯವನ್ನು ಪ್ರಾರಂಭಿಸೋಣ!\n", "\n", "
\n",
"
\n",
"
\n",
"\n",
"> glimpse() ಮತ್ತು slice() ಎಂಬವು [`dplyr`](https://dplyr.tidyverse.org/) ನಲ್ಲಿ ಇರುವ ಫಂಕ್ಷನ್ಗಳು. Dplyr, Tidyverse ಭಾಗವಾಗಿದ್ದು, ಡೇಟಾ ಮ್ಯಾನಿಪ್ಯುಲೇಶನ್ನ ವ್ಯಾಕರಣವಾಗಿದೆ, ಇದು ಸಾಮಾನ್ಯ ಡೇಟಾ ಮ್ಯಾನಿಪ್ಯುಲೇಶನ್ ಸವಾಲುಗಳನ್ನು ಪರಿಹರಿಸಲು ಸಹಾಯ ಮಾಡುವ ಸತತ ಕ್ರಿಯಾಪದಗಳ ಸಮೂಹವನ್ನು ಒದಗಿಸುತ್ತದೆ.\n",
"\n",
"
\n",
"\n",
"ಈಗ ನಮಗೆ ಡೇಟಾ ಇದ್ದು, ಈ ವ್ಯಾಯಾಮಕ್ಕಾಗಿ ಒಂದು ವೈಶಿಷ್ಟ್ಯ (`bmi`) ಯನ್ನು ಗುರಿಯಾಗಿಸೋಣ. ಇದಕ್ಕಾಗಿ ನಾವು ಬೇಕಾದ ಕಾಲಮ್ಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಬೇಕಾಗುತ್ತದೆ. ಹಾಗಾದರೆ, ನಾವು ಇದನ್ನು ಹೇಗೆ ಮಾಡಬಹುದು?\n",
"\n",
"[`dplyr::select()`](https://dplyr.tidyverse.org/reference/select.html) ನಮಗೆ ಡೇಟಾ ಫ್ರೇಮ್ನಲ್ಲಿ ಕಾಲಮ್ಗಳನ್ನು *ಆಯ್ಕೆ* (ಮತ್ತು ಐಚ್ಛಿಕವಾಗಿ ಮರುನಾಮಕರಣ) ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ.\n"
],
"metadata": {
"id": "UwjVT1Hz-c3Z"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"# Select predictor feature `bmi` and outcome `y`\r\n",
"diabetes_select <- diabetes %>% \r\n",
" select(c(bmi, y))\r\n",
"\r\n",
"# Print the first 5 rows\r\n",
"diabetes_select %>% \r\n",
" slice(1:10)"
],
"outputs": [],
"metadata": {
"id": "RDY1oAKI-m80"
}
},
{
"cell_type": "markdown",
"source": [
"## 3. ತರಬೇತಿ ಮತ್ತು ಪರೀಕ್ಷಾ ಡೇಟಾ\n",
"\n",
"ನಿರೀಕ್ಷಿತ ಕಲಿಕೆಯಲ್ಲಿ ಡೇಟಾವನ್ನು ಎರಡು ಉಪಸಮೂಹಗಳಾಗಿ *ಬೇರ್ಪಡಿಸುವುದು* ಸಾಮಾನ್ಯ ಅಭ್ಯಾಸ; ಒಂದು (ಸಾಮಾನ್ಯವಾಗಿ ದೊಡ್ಡದಾದ) ಸೆಟ್ ಅನ್ನು ಮಾದರಿಯನ್ನು ತರಬೇತಿಗೆ ಬಳಸಲಾಗುತ್ತದೆ, ಮತ್ತು ಒಂದು ಸಣ್ಣ \"ಹೋಲ್ಡ್-ಬ್ಯಾಕ್\" ಸೆಟ್ ಅನ್ನು ಮಾದರಿ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸಿತು ಎಂದು ನೋಡಲು ಬಳಸಲಾಗುತ್ತದೆ.\n",
"\n",
"ಈಗ ನಮಗೆ ಡೇಟಾ ಸಿದ್ಧವಾಗಿದೆ, ನಾವು ಈ ಡೇಟಾಸೆಟ್ನ ಸಂಖ್ಯೆಗಳ ನಡುವೆ ತಾರ್ಕಿಕ ಬೇರ್ಪಡಿಸುವಿಕೆಯನ್ನು ಯಂತ್ರ ಸಹಾಯದಿಂದ ನಿರ್ಧರಿಸಬಹುದೇ ಎಂದು ನೋಡಬಹುದು. ನಾವು [rsample](https://tidymodels.github.io/rsample/) ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಬಳಸಬಹುದು, ಇದು Tidymodels ಫ್ರೇಮ್ವರ್ಕ್ನ ಭಾಗವಾಗಿದ್ದು, ಡೇಟಾವನ್ನು *ಹೇಗೆ* ಬೇರ್ಪಡಿಸುವುದರ ಮಾಹಿತಿ ಹೊಂದಿರುವ ವಸ್ತುವನ್ನು ರಚಿಸಲು, ಮತ್ತು ನಂತರ ರಚಿಸಲಾದ ತರಬೇತಿ ಮತ್ತು ಪರೀಕ್ಷಾ ಸೆಟ್ಗಳನ್ನು ಹೊರತೆಗೆಯಲು ಇನ್ನೂ ಎರಡು rsample ಫಂಕ್ಷನ್ಗಳನ್ನು ಬಳಸಬಹುದು:\n"
],
"metadata": {
"id": "SDk668xK-tc3"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"set.seed(2056)\r\n",
"# Split 67% of the data for training and the rest for tesing\r\n",
"diabetes_split <- diabetes_select %>% \r\n",
" initial_split(prop = 0.67)\r\n",
"\r\n",
"# Extract the resulting train and test sets\r\n",
"diabetes_train <- training(diabetes_split)\r\n",
"diabetes_test <- testing(diabetes_split)\r\n",
"\r\n",
"# Print the first 3 rows of the training set\r\n",
"diabetes_train %>% \r\n",
" slice(1:10)"
],
"outputs": [],
"metadata": {
"id": "EqtHx129-1h-"
}
},
{
"cell_type": "markdown",
"source": [
"## 4. Tidymodels ಬಳಸಿ ರೇಖೀಯ ರಿಗ್ರೆಶನ್ ಮಾದರಿಯನ್ನು ತರಬೇತುಗೊಳಿಸಿ\n",
"\n",
"ಈಗ ನಾವು ನಮ್ಮ ಮಾದರಿಯನ್ನು ತರಬೇತುಗೊಳಿಸಲು ಸಿದ್ಧರಾಗಿದ್ದೇವೆ!\n",
"\n",
"Tidymodels ನಲ್ಲಿ, ನೀವು `parsnip()` ಬಳಸಿ ಮೂರು ಕಲ್ಪನೆಗಳನ್ನು ಸೂಚಿಸುವ ಮೂಲಕ ಮಾದರಿಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತೀರಿ:\n",
"\n",
"- ಮಾದರಿ **ಪ್ರಕಾರ** ರೇಖೀಯ ರಿಗ್ರೆಶನ್, ಲಾಜಿಸ್ಟಿಕ್ ರಿಗ್ರೆಶನ್, ನಿರ್ಧಾರ ಮರ ಮಾದರಿಗಳು ಮತ್ತು ಇತರವುಗಳಂತಹ ಮಾದರಿಗಳನ್ನು ವಿಭಿನ್ನಗೊಳಿಸುತ್ತದೆ.\n",
"\n",
"- ಮಾದರಿ **ಮೋಡ್** ಸಾಮಾನ್ಯ ಆಯ್ಕೆಗಳು regression ಮತ್ತು classification ಅನ್ನು ಒಳಗೊಂಡಿದೆ; ಕೆಲವು ಮಾದರಿ ಪ್ರಕಾರಗಳು ಇವುಗಳಲ್ಲಿ ಯಾವುದಾದರೂ ಒಂದು ಅಥವಾ ಎರಡನ್ನೂ ಬೆಂಬಲಿಸುತ್ತವೆ.\n",
"\n",
"- ಮಾದರಿ **ಎಂಜಿನ್** ಮಾದರಿಯನ್ನು ಹೊಂದಿಸಲು ಬಳಸಲಾಗುವ ಗಣನಾತ್ಮಕ ಸಾಧನವಾಗಿದೆ. ಸಾಮಾನ್ಯವಾಗಿ ಇವು R ಪ್ಯಾಕೇಜ್ಗಳು, ಉದಾಹರಣೆಗೆ **`\"lm\"`** ಅಥವಾ **`\"ranger\"`**\n",
"\n",
"ಈ ಮಾದರಿ ಮಾಹಿತಿಯನ್ನು ಮಾದರಿ ನಿರ್ದಿಷ್ಟಪಡಿಸುವಿಕೆಯಲ್ಲಿ ಸೆರೆಹಿಡಿಯಲಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಒಂದನ್ನು ನಿರ್ಮಿಸೋಣ!\n"
],
"metadata": {
"id": "sBOS-XhB-6v7"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"# Build a linear model specification\r\n",
"lm_spec <- \r\n",
" # Type\r\n",
" linear_reg() %>% \r\n",
" # Engine\r\n",
" set_engine(\"lm\") %>% \r\n",
" # Mode\r\n",
" set_mode(\"regression\")\r\n",
"\r\n",
"\r\n",
"# Print the model specification\r\n",
"lm_spec"
],
"outputs": [],
"metadata": {
"id": "20OwEw20--t3"
}
},
{
"cell_type": "markdown",
"source": [
"ಮಾದರಿಯನ್ನು *ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ* ನಂತರ, ಮಾದರಿಯನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಸೂತ್ರ ಮತ್ತು ಕೆಲವು ಡೇಟಾವನ್ನು ಬಳಸಿ [`fit()`](https://parsnip.tidymodels.org/reference/fit.html) ಫಂಕ್ಷನ್ ಬಳಸಿ `ಅಂದಾಜು` ಅಥವಾ `ತರಬೇತಿ` ಮಾಡಬಹುದು.\n",
"\n",
"`y ~ .` ಅಂದರೆ ನಾವು `y` ಅನ್ನು ಭವಿಷ್ಯವಾಣಿ ಪ್ರಮಾಣ/ಲಕ್ಷ್ಯವಾಗಿ ಹೊಂದಿಸುವೆವು, ಎಲ್ಲಾ ಭವಿಷ್ಯವಾಣಿಕಾರರು/ವೈಶಿಷ್ಟ್ಯಗಳಿಂದ ವಿವರಿಸಲಾಗುತ್ತದೆ ಅಂದರೆ, `.` (ಈ ಪ್ರಕರಣದಲ್ಲಿ, ನಮಗೆ ಒಂದೇ ಭವಿಷ್ಯವಾಣಿಕಾರನು ಇದೆ: `bmi`)\n"
],
"metadata": {
"id": "_oDHs89k_CJj"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"# Build a linear model specification\r\n",
"lm_spec <- linear_reg() %>% \r\n",
" set_engine(\"lm\") %>%\r\n",
" set_mode(\"regression\")\r\n",
"\r\n",
"\r\n",
"# Train a linear regression model\r\n",
"lm_mod <- lm_spec %>% \r\n",
" fit(y ~ ., data = diabetes_train)\r\n",
"\r\n",
"# Print the model\r\n",
"lm_mod"
],
"outputs": [],
"metadata": {
"id": "YlsHqd-q_GJQ"
}
},
{
"cell_type": "markdown",
"source": [
"ಮಾದರಿ ಔಟ್ಪುಟ್ನಿಂದ, ನಾವು ತರಬೇತಿ ಸಮಯದಲ್ಲಿ ಕಲಿತ ಸಹಗುಣಾಂಕಗಳನ್ನು ನೋಡಬಹುದು. ಅವುಗಳು ನಿಜವಾದ ಮತ್ತು ಭವಿಷ್ಯವಾಣಿ ಮಾಡಲಾದ ಚರಗಳ ನಡುವೆ ಕನಿಷ್ಠ ಒಟ್ಟು ದೋಷವನ್ನು ನೀಡುವ ಉತ್ತಮ ಹೊಂದಾಣಿಕೆಯ ರೇಖೆಯ ಸಹಗುಣಾಂಕಗಳನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತವೆ.\n",
"
\n",
"\n",
"## 5. ಪರೀಕ್ಷಾ ಸೆಟ್ನಲ್ಲಿ ಭವಿಷ್ಯವಾಣಿಗಳನ್ನು ಮಾಡಿ\n",
"\n",
"ನಾವು ಈಗಾಗಲೇ ಒಂದು ಮಾದರಿಯನ್ನು ತರಬೇತಿಮಾಡಿರುವುದರಿಂದ, ಅದನ್ನು [parsnip::predict()](https://parsnip.tidymodels.org/reference/predict.model_fit.html) ಬಳಸಿ ಪರೀಕ್ಷಾ ಡೇಟಾಸೆಟ್ಗೆ ರೋಗ ಪ್ರಗತಿಯನ್ನು y ಭವಿಷ್ಯವಾಣಿ ಮಾಡಲು ಬಳಸಬಹುದು. ಇದನ್ನು ಡೇಟಾ ಗುಂಪುಗಳ ನಡುವೆ ರೇಖೆಯನ್ನು ಬಿಡಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ.\n"
],
"metadata": {
"id": "kGZ22RQj_Olu"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"# Make predictions for the test set\r\n",
"predictions <- lm_mod %>% \r\n",
" predict(new_data = diabetes_test)\r\n",
"\r\n",
"# Print out some of the predictions\r\n",
"predictions %>% \r\n",
" slice(1:5)"
],
"outputs": [],
"metadata": {
"id": "nXHbY7M2_aao"
}
},
{
"cell_type": "markdown",
"source": [
"ವಾಹ್! 💃🕺 ನಾವು ಇತ್ತೀಚೆಗೆ ಒಂದು ಮಾದರಿಯನ್ನು ತರಬೇತುಗೊಂಡು ಅದನ್ನು ಭವಿಷ್ಯವಾಣಿ ಮಾಡಲು ಬಳಸಿದ್ದೇವೆ!\n",
"\n",
"ಭವಿಷ್ಯವಾಣಿ ಮಾಡುವಾಗ, tidymodels ಸಂಪ್ರದಾಯವು ಯಾವಾಗಲೂ ಫಲಿತಾಂಶಗಳ ತಬಲ್/ಡೇಟಾ ಫ್ರೇಮ್ ಅನ್ನು ಮಾನಕೃತ ಕಾಲಮ್ ಹೆಸರುಗಳೊಂದಿಗೆ ಉತ್ಪಾದಿಸುವುದಾಗಿದೆ. ಇದರಿಂದ ಮೂಲ ಡೇಟಾ ಮತ್ತು ಭವಿಷ್ಯವಾಣಿಗಳನ್ನು subsequent ಕಾರ್ಯಾಚರಣೆಗಳಿಗೆ, ಉದಾಹರಣೆಗೆ ಪ್ಲಾಟಿಂಗ್ಗೆ, ಬಳಸಬಹುದಾದ ಸ್ವರೂಪದಲ್ಲಿ ಸಂಯೋಜಿಸುವುದು ಸುಲಭವಾಗುತ್ತದೆ.\n",
"\n",
"`dplyr::bind_cols()` ಬಹು ಡೇಟಾ ಫ್ರೇಮ್ಗಳ ಕಾಲಮ್ಗಳನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಬಂಧಿಸುತ್ತದೆ.\n"
],
"metadata": {
"id": "R_JstwUY_bIs"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"# Combine the predictions and the original test set\r\n",
"results <- diabetes_test %>% \r\n",
" bind_cols(predictions)\r\n",
"\r\n",
"\r\n",
"results %>% \r\n",
" slice(1:5)"
],
"outputs": [],
"metadata": {
"id": "RybsMJR7_iI8"
}
},
{
"cell_type": "markdown",
"source": [
"## 6. ಮಾದರಿ ಫಲಿತಾಂಶಗಳನ್ನು ಚಿತ್ರಿಸಿ\n",
"\n",
"ಈಗ, ಇದನ್ನು ದೃಶ್ಯವಾಗಿ ನೋಡಲು ಸಮಯವಾಗಿದೆ 📈. ನಾವು ಪರೀಕ್ಷಾ ಸೆಟ್ನ ಎಲ್ಲಾ `y` ಮತ್ತು `bmi` ಮೌಲ್ಯಗಳ scatter plot ಅನ್ನು ರಚಿಸುವೆವು, ನಂತರ ಮಾದರಿಯ ಡೇಟಾ ಗುಂಪುಗಳ ನಡುವೆ ಅತ್ಯಂತ ಸೂಕ್ತ ಸ್ಥಳದಲ್ಲಿ prediction ಗಳನ್ನು ಬಳಸಿ ಒಂದು ರೇಖೆಯನ್ನು ಬಿಡುತ್ತೇವೆ.\n",
"\n",
"R ನಲ್ಲಿ ಗ್ರಾಫ್ಗಳನ್ನು ರಚಿಸಲು ಹಲವಾರು ವ್ಯವಸ್ಥೆಗಳಿವೆ, ಆದರೆ `ggplot2` ಅತ್ಯಂತ ಸುಂದರ ಮತ್ತು ಬಹುಮುಖವಾಗಿದೆ. ಇದು ನಿಮಗೆ **ಸ್ವತಂತ್ರ ಘಟಕಗಳನ್ನು ಸಂಯೋಜಿಸುವ ಮೂಲಕ** ಗ್ರಾಫ್ಗಳನ್ನು ರಚಿಸಲು ಅನುಮತಿಸುತ್ತದೆ.\n"
],
"metadata": {
"id": "XJbYbMZW_n_s"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"# Set a theme for the plot\r\n",
"theme_set(theme_light())\r\n",
"# Create a scatter plot\r\n",
"results %>% \r\n",
" ggplot(aes(x = bmi)) +\r\n",
" # Add a scatter plot\r\n",
" geom_point(aes(y = y), size = 1.6) +\r\n",
" # Add a line plot\r\n",
" geom_line(aes(y = .pred), color = \"blue\", size = 1.5)"
],
"outputs": [],
"metadata": {
"id": "R9tYp3VW_sTn"
}
},
{
"cell_type": "markdown",
"source": [
"> ✅ ಇಲ್ಲಿ ಏನಾಗುತ್ತಿದೆ ಎಂಬುದರ ಬಗ್ಗೆ ಸ್ವಲ್ಪ ಯೋಚಿಸಿ. ಒಂದು ಸರಳ ರೇಖೆ ಅನೇಕ ಸಣ್ಣ ಡೇಟಾ ಬಿಂದುಗಳ ಮೂಲಕ ಓಡುತ್ತಿದೆ, ಆದರೆ ಅದು ನಿಖರವಾಗಿ ಏನು ಮಾಡುತ್ತಿದೆ? ಈ ರೇಖೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಹೊಸ, ಕಾಣದ ಡೇಟಾ ಬಿಂದು ಪ್ಲಾಟ್ನ y ಅಕ್ಷದ ಸಂಬಂಧದಲ್ಲಿ ಎಲ್ಲಿ ಹೊಂದಿಕೊಳ್ಳಬೇಕು ಎಂದು ನೀವು ಹೇಗೆ ಊಹಿಸಬಹುದು ಎಂದು ನೀವು ನೋಡಬಹುದೇ? ಈ ಮಾದರಿಯ ಪ್ರಾಯೋಗಿಕ ಬಳಕೆಯನ್ನು ಪದಗಳಲ್ಲಿ ವಿವರಿಸಲು ಪ್ರಯತ್ನಿಸಿ.\n",
"\n",
"ಅಭಿನಂದನೆಗಳು, ನೀವು ನಿಮ್ಮ ಮೊದಲ ರೇಖೀಯ ರಿಗ್ರೆಷನ್ ಮಾದರಿಯನ್ನು ನಿರ್ಮಿಸಿದ್ದೀರಿ, ಅದನ್ನು ಬಳಸಿಕೊಂಡು ಊಹೆ ಮಾಡಿದ್ದೀರಿ, ಮತ್ತು ಅದನ್ನು ಪ್ಲಾಟ್ನಲ್ಲಿ ಪ್ರದರ್ಶಿಸಿದ್ದೀರಿ!\n"
],
"metadata": {
"id": "zrPtHIxx_tNI"
}
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n\n**ಅಸ್ವೀಕರಣ**: \nಈ ದಸ್ತಾವೇಜು [Co-op Translator](https://github.com/Azure/co-op-translator) ಎಂಬ AI ಅನುವಾದ ಸೇವೆಯನ್ನು ಬಳಸಿ ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ಶುದ್ಧತೆಯತ್ತ ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೂ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ತಪ್ಪುಗಳು ಅಥವಾ ಅಸತ್ಯತೆಗಳು ಇರಬಹುದು ಎಂಬುದನ್ನು ದಯವಿಟ್ಟು ಗಮನಿಸಿ. ಮೂಲ ಭಾಷೆಯಲ್ಲಿರುವ ಮೂಲ ದಸ್ತಾವೇಜನ್ನು ಅಧಿಕೃತ ಮೂಲವೆಂದು ಪರಿಗಣಿಸಬೇಕು. ಮಹತ್ವದ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ತಪ್ಪು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವಿಕೆ ಅಥವಾ ತಪ್ಪು ವಿವರಣೆಗಳಿಗೆ ನಾವು ಹೊಣೆಗಾರರಾಗುವುದಿಲ್ಲ.\n\n"
]
}
]
}