You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
454 lines
29 KiB
454 lines
29 KiB
{
|
|
"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:29:38+00:00",
|
|
"source_file": "2-Regression/1-Tools/solution/R/lesson_1-R.ipynb",
|
|
"language_code": "te"
|
|
}
|
|
},
|
|
"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",
|
|
"<p >\n",
|
|
" <img src=\"../../../../../../translated_images/te/encouRage.e75d5fe0367fb913.webp\"\n",
|
|
" width=\"630\"/>\n",
|
|
" <figcaption>@allison_horst చేత కళాకృతి</figcaption>\n",
|
|
"\n",
|
|
"<!--<br>Artwork by @allison_horst-->\n"
|
|
],
|
|
"metadata": {
|
|
"id": "LWNNzfqd6feZ"
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"source": [
|
|
"## 1. మన టూల్ సెట్ను లోడ్ చేయడం\n",
|
|
"\n",
|
|
"ఈ పనికి, మనకు క్రింది ప్యాకేజీలు అవసరం:\n",
|
|
"\n",
|
|
"- `tidyverse`: [tidyverse](https://www.tidyverse.org/) అనేది డేటా సైన్స్ను వేగవంతం చేయడానికి, సులభతరం చేయడానికి మరియు మరింత సరదాగా మార్చడానికి రూపొందించిన [R ప్యాకేజీల సేకరణ](https://www.tidyverse.org/packages).\n",
|
|
"\n",
|
|
"- `tidymodels`: [tidymodels](https://www.tidymodels.org/) ఫ్రేమ్వర్క్ అనేది మోడలింగ్ మరియు మెషీన్ లెర్నింగ్ కోసం [ప్యాకేజీల సేకరణ](https://www.tidymodels.org/packages/).\n",
|
|
"\n",
|
|
"మీరు వాటిని ఇన్స్టాల్ చేసుకోవచ్చు:\n",
|
|
"\n",
|
|
"`install.packages(c(\"tidyverse\", \"tidymodels\"))`\n",
|
|
"\n",
|
|
"క్రింది స్క్రిప్ట్ ఈ మాడ్యూల్ను పూర్తి చేయడానికి అవసరమైన ప్యాకేజీలు మీ వద్ద ఉన్నాయా లేదా అని తనిఖీ చేస్తుంది మరియు కొన్నివి లేవంటే వాటిని మీ కోసం ఇన్స్టాల్ చేస్తుంది.\n"
|
|
],
|
|
"metadata": {
|
|
"id": "FIo2YhO26wI9"
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"source": [
|
|
"suppressWarnings(if(!require(\"pacman\")) install.packages(\"pacman\"))\n",
|
|
"pacman::p_load(tidyverse, tidymodels)"
|
|
],
|
|
"outputs": [
|
|
{
|
|
"output_type": "stream",
|
|
"name": "stderr",
|
|
"text": [
|
|
"Loading required package: pacman\n",
|
|
"\n"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"id": "cIA9fz9v7Dss",
|
|
"colab": {
|
|
"base_uri": "https://localhost:8080/"
|
|
},
|
|
"outputId": "2df7073b-86b2-4b32-cb86-0da605a0dc11"
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"source": [
|
|
"ఇప్పుడు, ఈ అద్భుతమైన ప్యాకేజీలను లోడ్ చేసి మన ప్రస్తుత R సెషన్లో అందుబాటులో ఉంచుకుందాం. (ఇది కేవలం ఉదాహరణ కోసం, `pacman::p_load()` ఇప్పటికే మీ కోసం అది చేసింది)\n"
|
|
],
|
|
"metadata": {
|
|
"id": "gpO_P_6f9WUG"
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"source": [
|
|
"# load the core Tidyverse packages\r\n",
|
|
"library(tidyverse)\r\n",
|
|
"\r\n",
|
|
"# load the core Tidymodels packages\r\n",
|
|
"library(tidymodels)\r\n"
|
|
],
|
|
"outputs": [],
|
|
"metadata": {
|
|
"id": "NLMycgG-9ezO"
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"source": [
|
|
"## 2. మధుమేహ డేటాసెట్\n",
|
|
"\n",
|
|
"ఈ వ్యాయామంలో, మేము మధుమేహ డేటాసెట్పై అంచనాలు వేయడం ద్వారా మా రిగ్రెషన్ నైపుణ్యాలను ప్రదర్శించబోతున్నాము. [మధుమేహ డేటాసెట్](https://www4.stat.ncsu.edu/~boos/var.select/diabetes.rwrite1.txt) లో మధుమేహం గురించి `442 నమూనాలు` ఉన్నాయి, 10 సూచిక ఫీచర్ వేరియబుల్స్తో, `వయస్సు`, `లింగం`, `శరీర ద్రవ్యం సూచిక`, `సగటు రక్తపోటు`, మరియు `ఆరు రక్త సీరమ్ కొలతలు` అలాగే ఒక ఫలిత వేరియబుల్ `y`: ప్రాథమిక స్థితి తర్వాత ఒక సంవత్సరం లో వ్యాధి పురోగతి యొక్క పరిమాణాత్మక కొలత.\n",
|
|
"\n",
|
|
"|పరిశీలనల సంఖ్య|442|\n",
|
|
"|----------------------|:---|\n",
|
|
"|సూచికల సంఖ్య|మొదటి 10 కాలమ్స్ సంఖ్యాత్మక సూచికలు|\n",
|
|
"|ఫలితం/లక్ష్యం|11వ కాలమ్ ప్రాథమిక స్థితి తర్వాత ఒక సంవత్సరం లో వ్యాధి పురోగతి యొక్క పరిమాణాత్మక కొలత|\n",
|
|
"|సూచిక సమాచారం|- వయస్సు సంవత్సరాలలో\n",
|
|
"||- లింగం\n",
|
|
"||- bmi శరీర ద్రవ్యం సూచిక\n",
|
|
"||- bp సగటు రక్తపోటు\n",
|
|
"||- s1 tc, మొత్తం సీరమ్ కొలెస్ట్రాల్\n",
|
|
"||- s2 ldl, తక్కువ సాంద్రత లిపోప్రోటీన్లు\n",
|
|
"||- s3 hdl, అధిక సాంద్రత లిపోప్రోటీన్లు\n",
|
|
"||- s4 tch, మొత్తం కొలెస్ట్రాల్ / HDL\n",
|
|
"||- s5 ltg, సీరమ్ ట్రైగ్లిసరైడ్స్ స్థాయి యొక్క లాగ్ కావచ్చు\n",
|
|
"||- s6 glu, రక్తంలో చక్కెర స్థాయి|\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"> 🎓 గుర్తుంచుకోండి, ఇది పర్యవేక్షిత అభ్యాసం, మరియు మాకు 'y' అనే పేరుతో లక్ష్యం అవసరం.\n",
|
|
"\n",
|
|
"R తో డేటాను నిర్వహించడానికి ముందు, మీరు డేటాను R యొక్క మెమరీలో దిగుమతి చేసుకోవాలి, లేదా R డేటాను దూరంగా యాక్సెస్ చేయడానికి ఉపయోగించే కనెక్షన్ను నిర్మించాలి.\n",
|
|
"\n",
|
|
"> [readr](https://readr.tidyverse.org/) ప్యాకేజ్, ఇది Tidyverse భాగం, R లో చతురస్ర డేటాను వేగంగా మరియు స్నేహపూర్వకంగా చదవడానికి ఒక మార్గాన్ని అందిస్తుంది.\n",
|
|
"\n",
|
|
"ఇప్పుడు, ఈ మూల URL నుండి అందించిన మధుమేహ డేటాసెట్ను లోడ్ చేద్దాం: <https://www4.stat.ncsu.edu/~boos/var.select/diabetes.html>\n",
|
|
"\n",
|
|
"అలాగే, `glimpse()` ఉపయోగించి మా డేటాపై ఒక సానిటీ చెక్ నిర్వహించి, `slice()` ఉపయోగించి మొదటి 5 వరుసలను ప్రదర్శిస్తాము.\n",
|
|
"\n",
|
|
"మరింత ముందుకు వెళ్లేముందు, R కోడ్లో మీరు తరచుగా ఎదుర్కొనే ఒక విషయం పరిచయం చేద్దాం 🥁🥁: పైప్ ఆపరేటర్ `%>%`\n",
|
|
"\n",
|
|
"పైప్ ఆపరేటర్ (`%>%`) ఒక ఆబ్జెక్టును ఫంక్షన్ లేదా కాల్ ఎక్స్ప్రెషన్కు ముందుకు పంపుతూ లాజికల్ క్రమంలో ఆపరేషన్లను నిర్వహిస్తుంది. మీరు పైప్ ఆపరేటర్ను మీ కోడ్లో \"అప్పుడు\" అని చెప్పడం లాగా భావించవచ్చు.\n"
|
|
],
|
|
"metadata": {
|
|
"id": "KM6iXLH996Cl"
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"source": [
|
|
"# Import the data set\r\n",
|
|
"diabetes <- read_table2(file = \"https://www4.stat.ncsu.edu/~boos/var.select/diabetes.rwrite1.txt\")\r\n",
|
|
"\r\n",
|
|
"\r\n",
|
|
"# Get a glimpse and dimensions of the data\r\n",
|
|
"glimpse(diabetes)\r\n",
|
|
"\r\n",
|
|
"\r\n",
|
|
"# Select the first 5 rows of the data\r\n",
|
|
"diabetes %>% \r\n",
|
|
" slice(1:5)"
|
|
],
|
|
"outputs": [],
|
|
"metadata": {
|
|
"id": "Z1geAMhM-bSP"
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"source": [
|
|
"`glimpse()` మనకు ఈ డేటాలో 442 వరుసలు మరియు 11 కాలమ్స్ ఉన్నాయని చూపిస్తుంది, అన్ని కాలమ్స్ డేటా టైప్ `double` గా ఉన్నాయి\n",
|
|
"\n",
|
|
"<br>\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"> glimpse() మరియు slice() ఫంక్షన్లు [`dplyr`](https://dplyr.tidyverse.org/) లో ఉన్నాయి. Dplyr, Tidyverse భాగంగా, డేటా మానిప్యులేషన్ యొక్క ఒక వ్యాకరణం, ఇది సాధారణ డేటా మానిప్యులేషన్ సవాళ్లను పరిష్కరించడానికి సహాయపడే సజావుగా ఉండే క్రియాపదాల సెట్ను అందిస్తుంది\n",
|
|
"\n",
|
|
"<br>\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",
|
|
"ఇప్పుడు మనకు డేటా సిద్ధంగా ఉన్నందున, ఈ డేటాసెట్లోని సంఖ్యల మధ్య తార్కికమైన విభజనను యంత్రం సహాయంతో నిర్ణయించగలమా అని చూడవచ్చు. మనం Tidymodels ఫ్రేమ్వర్క్లో భాగమైన [rsample](https://tidymodels.github.io/rsample/) ప్యాకేజీని ఉపయోగించి, డేటాను *ఎలా* విభజించాలో సమాచారం కలిగిన ఒక ఆబ్జెక్ట్ను సృష్టించవచ్చు, మరియు ఆపై సృష్టించిన శిక్షణ మరియు పరీక్ష సెట్లను తీసుకోవడానికి రెండు మరిన్ని 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",
|
|
"- మోడల్ **మోడ్** రిగ్రెషన్ మరియు వర్గీకరణ వంటి సాధారణ ఎంపికలను కలిగి ఉంటుంది; కొన్ని మోడల్ రకాలు వీటిలో ఏదైనా మోడ్ను మద్దతు ఇస్తాయి, మరికొన్ని ఒక్క మోడ్ మాత్రమే కలిగి ఉంటాయి.\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) ఫంక్షన్ ద్వారా `estimated` లేదా `trained` చేయవచ్చు.\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",
|
|
"<br>\n",
|
|
"\n",
|
|
"## 5. పరీక్ష సెట్ పై అంచనాలు చేయండి\n",
|
|
"\n",
|
|
"ఇప్పుడు మనం ఒక మోడల్ శిక్షణ ఇచ్చినందున, దాన్ని ఉపయోగించి పరీక్ష డేటాసెట్ కోసం వ్యాధి పురోగతిని y అంచనా వేయవచ్చు [parsnip::predict()](https://parsnip.tidymodels.org/reference/predict.model_fit.html) ఉపయోగించి. ఇది డేటా సమూహాల మధ్య సరళి గీయడానికి ఉపయోగించబడుతుంది.\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 సంప్రదాయం ఎప్పుడూ ఫలితాల యొక్క టిబుల్/డేటా ఫ్రేమ్ను ప్రమాణీకృత కాలమ్ పేర్లతో ఉత్పత్తి చేయడం. ఇది అసలు డేటా మరియు అంచనాలను కలిపి తరువాతి ఆపరేషన్ల కోసం ఉపయోగించదగిన ఫార్మాట్లో ఉంచడం సులభం చేస్తుంది, ఉదాహరణకు ప్లాటింగ్.\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<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**అస్పష్టత**: \nఈ పత్రాన్ని AI అనువాద సేవ [Co-op Translator](https://github.com/Azure/co-op-translator) ఉపయోగించి అనువదించబడింది. మేము ఖచ్చితత్వానికి ప్రయత్నించినప్పటికీ, ఆటోమేటెడ్ అనువాదాల్లో పొరపాట్లు లేదా తప్పిదాలు ఉండవచ్చు. మూల పత్రం దాని స్వదేశీ భాషలో అధికారిక మూలంగా పరిగణించాలి. ముఖ్యమైన సమాచారానికి, ప్రొఫెషనల్ మానవ అనువాదం సిఫార్సు చేయబడుతుంది. ఈ అనువాదం వాడకంలో ఏర్పడిన ఏవైనా అపార్థాలు లేదా తప్పుదారితీసే అర్థాలు కోసం మేము బాధ్యత వహించము.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
|
|
]
|
|
}
|
|
]
|
|
} |