From d177b6f2d8b7453cd401e54ec1c19413e64c60e5 Mon Sep 17 00:00:00 2001 From: "localizeflow[bot]" Date: Sun, 26 Apr 2026 19:35:12 +0000 Subject: [PATCH] chore(i18n): sync translations with latest source changes (chunk 1/1, 12 changes) --- translations/kn/.co-op-translator.json | 14 +- .../4-techniques-of-ML/README.md | 112 +++--- .../kn/2-Regression/3-Linear/README.md | 350 +++++++++--------- .../3-Linear/solution/notebook.ipynb | 71 ++-- translations/ml/.co-op-translator.json | 14 +- .../4-techniques-of-ML/README.md | 108 +++--- .../ml/2-Regression/3-Linear/README.md | 336 +++++++++-------- .../3-Linear/solution/notebook.ipynb | 69 ++-- translations/te/.co-op-translator.json | 14 +- .../4-techniques-of-ML/README.md | 114 +++--- .../te/2-Regression/3-Linear/README.md | 273 +++++++------- .../3-Linear/solution/notebook.ipynb | 65 ++-- 12 files changed, 807 insertions(+), 733 deletions(-) diff --git a/translations/kn/.co-op-translator.json b/translations/kn/.co-op-translator.json index 34e02cae6..6f4b0987d 100644 --- a/translations/kn/.co-op-translator.json +++ b/translations/kn/.co-op-translator.json @@ -36,8 +36,8 @@ "language_code": "kn" }, "1-Introduction/4-techniques-of-ML/README.md": { - "original_hash": "9d91f3af3758fdd4569fb410575995ef", - "translation_date": "2025-12-19T13:37:50+00:00", + "original_hash": "84b1715a6be62ef1697351dcc5d7b567", + "translation_date": "2026-04-26T19:35:01+00:00", "source_file": "1-Introduction/4-techniques-of-ML/README.md", "language_code": "kn" }, @@ -90,8 +90,8 @@ "language_code": "kn" }, "2-Regression/3-Linear/README.md": { - "original_hash": "26c53a922f1f1e8542b0ea41ff52221a", - "translation_date": "2026-04-20T18:45:45+00:00", + "original_hash": "8b776e731c35b171d316d01d0e7b1369", + "translation_date": "2026-04-26T19:34:24+00:00", "source_file": "2-Regression/3-Linear/README.md", "language_code": "kn" }, @@ -107,6 +107,12 @@ "source_file": "2-Regression/3-Linear/solution/Julia/README.md", "language_code": "kn" }, + "2-Regression/3-Linear/solution/notebook.ipynb": { + "original_hash": "6781223ffbe8cfdaa38d0200f08e1288", + "translation_date": "2026-04-26T19:29:56+00:00", + "source_file": "2-Regression/3-Linear/solution/notebook.ipynb", + "language_code": "kn" + }, "2-Regression/4-Logistic/README.md": { "original_hash": "abf86d845c84330bce205a46b382ec88", "translation_date": "2025-12-19T14:06:13+00:00", diff --git a/translations/kn/1-Introduction/4-techniques-of-ML/README.md b/translations/kn/1-Introduction/4-techniques-of-ML/README.md index e32fa7c93..1c9fcf271 100644 --- a/translations/kn/1-Introduction/4-techniques-of-ML/README.md +++ b/translations/kn/1-Introduction/4-techniques-of-ML/README.md @@ -1,125 +1,127 @@ -# ಯಂತ್ರ ಅಧ್ಯಯನ ತಂತ್ರಗಳು +# ಯಂತ್ರ ಕಲಿಕೆ ತಂತ್ರಗಳು -ಯಂತ್ರ ಅಧ್ಯಯನ ಮಾದರಿಗಳನ್ನು ನಿರ್ಮಿಸುವುದು, ಬಳಸುವುದು ಮತ್ತು ನಿರ್ವಹಿಸುವ ಪ್ರಕ್ರಿಯೆ ಮತ್ತು ಅವು ಬಳಸುವ ಡೇಟಾ ಅನೇಕ ಇತರ ಅಭಿವೃದ್ಧಿ ಕಾರ್ಯಪ್ರವಾಹಗಳಿಂದ ಬಹಳ ವಿಭಿನ್ನ ಪ್ರಕ್ರಿಯೆಯಾಗಿದೆ. ಈ ಪಾಠದಲ್ಲಿ, ನಾವು ಈ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸ್ಪಷ್ಟಪಡಿಸಿ, ನೀವು ತಿಳಿದುಕೊಳ್ಳಬೇಕಾದ ಪ್ರಮುಖ ತಂತ್ರಗಳನ್ನು ವಿವರಿಸುವೆವು. ನೀವು: +ಯಂತ್ರ ಕಲಿಕಾ ಮಾದರಿಗಳನ್ನು ನಿರ್ಮಿಸುವುದು, ಬಳಸುವುದು ಮತ್ತು ನಿರ್ವಹಿಸುವ ಪ್ರಕ್ರಿಯೆ ಮತ್ತು ಅವು ಬಳಸುವ ಡೇಟಾ ವಿವಿಧ ಇತರ ಅಭಿವೃದ್ಧಿ ಕಾರ್ಯಪ್ರವಾಹಗಳಿಂದ ಬಹಳ ವಿಭಿನ್ನವಾಗಿದೆ. ಈ ಪಾಠದಲ್ಲಿ, ನಾವು ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸಪಷ್ಟೀಕರಿಸಿ, ನಿಮಗೆ ತಿಳಿಯಬೇಕು ಎಂಬ ಮುಖ್ಯ ತಂತ್ರಗಳನ್ನು ವಿವರಿಸುತ್ತೇವೆ. ನೀವು: -- ಯಂತ್ರ ಅಧ್ಯಯನದ ಅಡಿಯಲ್ಲಿ ಇರುವ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಉನ್ನತ ಮಟ್ಟದಲ್ಲಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುತ್ತೀರಿ. -- 'ಮಾದರಿಗಳು', 'ಭವಿಷ್ಯವಾಣಿ', ಮತ್ತು 'ತರಬೇತಿ ಡೇಟಾ' ಎಂಬ ಮೂಲಭೂತ ಸಂಪ್ರದಾಯಗಳನ್ನು ಅನ್ವೇಷಿಸುತ್ತೀರಿ. +- ಯಂತ್ರ ಕಲಿಕೆಯ ಮೂಲಭೂತ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಹೆಚ್ಚಿನ ಮಟ್ಟದಲ್ಲಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುತ್ತೀರಿ. +- 'ಮಾಡೆಲ್ಸ್', 'ಭವಿಷ್ಯವಾಣಿಗಳು' ಮತ್ತು 'ತರಬೇತಿ ಡೇಟಾ' ಎಂಬ ಮೂಲಭಾವನೆಗಳನ್ನು ಅನ್ವೇಷಿಸುತ್ತೀರಿ. -## [ಪೂರ್ವ-ಪಾಠ ಪ್ರಶ್ನೋತ್ತರ](https://ff-quizzes.netlify.app/en/ml/) +## [ಪೂರ್ವ-ಲೇಕ್ಚರ್ ಕ್ವಿಜ್](https://ff-quizzes.netlify.app/en/ml/) [![ML for beginners - Techniques of Machine Learning](https://img.youtube.com/vi/4NGM0U2ZSHU/0.jpg)](https://youtu.be/4NGM0U2ZSHU "ML for beginners - Techniques of Machine Learning") -> 🎥 ಈ ಪಾಠವನ್ನು ಕೆಲಸಮಾಡುವ ಸಣ್ಣ ವೀಡಿಯೊಗಾಗಿ ಮೇಲಿನ ಚಿತ್ರವನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ. +> 🎥 ಈ ಪಾಠವನ್ನು ನೆನೆಸಿಕೊಳ್ಳುವ ಚಿಕ್ಕ ವೀಡಿಯೊಗಾಗಿ ಮೇಲಿನ ಚಿತ್ರವನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ. ## ಪರಿಚಯ -ಉನ್ನತ ಮಟ್ಟದಲ್ಲಿ, ಯಂತ್ರ ಅಧ್ಯಯನ (ML) ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ರಚಿಸುವ ಕಲೆ ಹಲವಾರು ಹಂತಗಳಿಂದ ಕೂಡಿದೆ: +ಎತ್ತರದ ಮಟ್ಟದಲ್ಲಿ, ಯಂತ್ರ ಕಲಿಕೆ (ML) ಪ್ರಕ್ರಿಯೆಗಳ ವಿನ್ಯಾಸದಲ್ಲಿ ಕೆಲವು ಹಂತಗಳಿವೆ: -1. **ಪ್ರಶ್ನೆಯನ್ನು ನಿರ್ಧರಿಸಿ**. ಬಹುತೇಕ ML ಪ್ರಕ್ರಿಯೆಗಳು ಸರಳ ಶರತಿನ ಪ್ರೋಗ್ರಾಮ್ ಅಥವಾ ನಿಯಮಾಧಾರಿತ ಎಂಜಿನ್ ಮೂಲಕ ಉತ್ತರಿಸದ ಪ್ರಶ್ನೆಯನ್ನು ಕೇಳುವುದರಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತವೆ. ಈ ಪ್ರಶ್ನೆಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಡೇಟಾ ಸಂಗ್ರಹದ ಆಧಾರದ ಮೇಲೆ ಭವಿಷ್ಯವಾಣಿಗಳ ಸುತ್ತಲೂ ಇರುತ್ತವೆ. -2. **ಡೇಟಾ ಸಂಗ್ರಹಿಸಿ ಮತ್ತು ಸಿದ್ಧಪಡಿಸಿ**. ನಿಮ್ಮ ಪ್ರಶ್ನೆಗೆ ಉತ್ತರಿಸಲು, ನಿಮಗೆ ಡೇಟಾ ಬೇಕಾಗುತ್ತದೆ. ನಿಮ್ಮ ಡೇಟಾದ ಗುಣಮಟ್ಟ ಮತ್ತು ಕೆಲವೊಮ್ಮೆ ಪ್ರಮಾಣವು ನಿಮ್ಮ ಪ್ರಾಥಮಿಕ ಪ್ರಶ್ನೆಗೆ ನೀವು ಎಷ್ಟು ಚೆನ್ನಾಗಿ ಉತ್ತರಿಸಬಹುದು ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ. ಡೇಟಾವನ್ನು ದೃಶ್ಯೀಕರಿಸುವುದು ಈ ಹಂತದ ಪ್ರಮುಖ ಅಂಶವಾಗಿದೆ. ಈ ಹಂತದಲ್ಲಿ ಮಾದರಿಯನ್ನು ನಿರ್ಮಿಸಲು ತರಬೇತಿ ಮತ್ತು ಪರೀಕ್ಷಾ ಗುಂಪುಗಳಾಗಿ ಡೇಟಾವನ್ನು ವಿಭಜಿಸುವುದೂ ಸೇರಿದೆ. -3. **ತರಬೇತಿ ವಿಧಾನವನ್ನು ಆಯ್ಕೆಮಾಡಿ**. ನಿಮ್ಮ ಪ್ರಶ್ನೆ ಮತ್ತು ಡೇಟಾದ ಸ್ವಭಾವದ ಆಧಾರದ ಮೇಲೆ, ನೀವು ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಉತ್ತಮವಾಗಿ ಪ್ರತಿಬಿಂಬಿಸುವ ಮತ್ತು ಅದಕ್ಕೆ ಸರಿಯಾದ ಭವಿಷ್ಯವಾಣಿಗಳನ್ನು ಮಾಡಲು ಮಾದರಿಯನ್ನು ತರಬೇತಿಮಾಡಲು ಹೇಗೆ ತರಬೇತಿಮಾಡಬೇಕೆಂದು ಆಯ್ಕೆಮಾಡಬೇಕು. ಇದು ನಿಮ್ಮ ML ಪ್ರಕ್ರಿಯೆಯ ಭಾಗವಾಗಿದ್ದು, ವಿಶೇಷ ಪರಿಣತಿ ಮತ್ತು ಬಹುಶಃ ಸಾಕಷ್ಟು ಪ್ರಯೋಗಗಳನ್ನು ಅಗತ್ಯವಿರುತ್ತದೆ. -4. **ಮಾದರಿಯನ್ನು ತರಬೇತಿಮಾಡಿ**. ನಿಮ್ಮ ತರಬೇತಿ ಡೇಟಾವನ್ನು ಬಳಸಿಕೊಂಡು, ನೀವು ವಿವಿಧ ಅಲ್ಗಾರಿದಮ್‌ಗಳನ್ನು ಬಳಸಿ ಮಾದರಿಯನ್ನು ತರಬೇತಿಮಾಡಿ ಡೇಟಾದಲ್ಲಿನ ಮಾದರಿಗಳನ್ನು ಗುರುತಿಸುವಂತೆ ಮಾಡುತ್ತೀರಿ. ಮಾದರಿ ಒಳಗಿನ ತೂಕಗಳನ್ನು ಬಳಸಬಹುದು, ಅವುಗಳನ್ನು ಹೊಂದಿಸಿ ಡೇಟಾದ ಕೆಲವು ಭಾಗಗಳನ್ನು ಪ್ರಾಧಾನ್ಯತೆ ನೀಡಲು ಉತ್ತಮ ಮಾದರಿಯನ್ನು ನಿರ್ಮಿಸಲು. -5. **ಮಾದರಿಯನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡಿ**. ನೀವು ಸಂಗ್ರಹಿಸಿದ ಡೇಟಾದಿಂದ ಮೊದಲೇ ನೋಡದ ಡೇಟಾ (ನಿಮ್ಮ ಪರೀಕ್ಷಾ ಡೇಟಾ) ಬಳಸಿ ಮಾದರಿ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದೆ ಎಂದು ನೋಡುತ್ತೀರಿ. -6. **ಪ್ಯಾರಾಮೀಟರ್ ಟ್ಯೂನಿಂಗ್**. ನಿಮ್ಮ ಮಾದರಿಯ ಕಾರ್ಯಕ್ಷಮತೆಯ ಆಧಾರದ ಮೇಲೆ, ನೀವು ವಿವಿಧ ಪ್ಯಾರಾಮೀಟರ್‌ಗಳು ಅಥವಾ ಅಲ್ಗಾರಿದಮ್‌ಗಳ ವರ್ತನೆಯನ್ನು ನಿಯಂತ್ರಿಸುವ ಚರಗಳನ್ನು ಬಳಸಿ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಮರುಕಳಿಸಬಹುದು. -7. **ಭವಿಷ್ಯವಾಣಿ ಮಾಡಿ**. ಹೊಸ ಇನ್‌ಪುಟ್‌ಗಳನ್ನು ಬಳಸಿ ನಿಮ್ಮ ಮಾದರಿಯ ನಿಖರತೆಯನ್ನು ಪರೀಕ್ಷಿಸಿ. +1. **ಪ್ರಶ್ನೆ ನಿರ್ಧರಿಸಿ**. ಹೆಚ್ಚಿನ ML ಪ್ರಕ್ರಿಯೆಗಳು ಸರಳ ಶರತ್ತುಯುಕ್ತ ಕಾರ್ಯಕ್ರಮ ಅಥವಾ ನಿಯಮ ಆಧಾರಿತ ಎಂಜಿನ್ ಮೂಲಕ ಉತ್ತರಿಸಲಾರಾದ ಪ್ರಶ್ನೆಯನ್ನು ಕೇಳುವುದರಿಂದ ಆರಂಭವಾಗುತ್ತದೆ. ಈ ಪ್ರಶ್ನೆಗಳು ಡೇಟಾ ಸಂಗ್ರಹದ ಆಧಾರದ ಮೇಲೆ ಭವಿಷ್ಯವಾಣಿ ಬಗ್ಗೆ ತಿರುಗುತ್ತವೆ. +2. **ಡೇಟಾ ಸಂಗ್ರಹಿಸಿ ಮತ್ತು ತಯಾರಿಸಿಕೊಳ್ಳಿ**. ನಿಮ್ಮ ಪ್ರಶ್ನೆಗೆ ಉತ್ತರಿಸಲು, ನಿಮ್ಮ ಬಳಿ ಡೇಟಾ ಬೇಕಾಗುತ್ತದೆ. ನಿಮ್ಮ ಡೇಟಾದ ಗುಣಮಟ್ಟ ಮತ್ತು ಕೆಲವೊಮ್ಮೆ ಪ್ರಮಾಣವು ನೀವು ನಿಮ್ಮ ಮೂಲ ಪ್ರಶ್ನೆಗೆ ಎಷ್ಟರಮಟ್ಟಿಗೆ ಉತ್ತರಿಸಬಹುದು ಎಂದು ನಿರ್ಧರಿಸುತ್ತದೆ. ಡೇಟಾ ದೃಶ್ಯೀಕರಣವು ಈ ಹಂತದ ಪ್ರಮುಖ ಅಂಶವಾಗಿದೆ. ಈ ಹಂತದಲ್ಲಿ ಡೇಟಾವನ್ನು ತರಬೇತಿ ಮತ್ತು ಪರೀಕ್ಷಾ ಗುಂಪುಗಳಲ್ಲಿ ವಿಭಜಿಸುವುದೂ ಸೇರಿದೆ. +3. **ತರಬೇತಿ ವಿಧಾನ ಆಯ್ಕೆಮಾಡಿ**. ನಿಮ್ಮ ಪ್ರಶ್ನೆ ಮತ್ತು ಡೇಟಾದ ಸ್ವಭಾವದ ಆಧಾರದ ಮೇಲೆ, ಡೇಟಾವನ್ನು ಅತ್ಯುತ್ತಮವಾಗಿ ಪ್ರತಿಬಿಂಬಿಸುವ ಮತ್ತು ಅದಕ್ಕೆ ತಕ್ಕ ವಿವಿಧ ಭವಿಷ್ಯವಾಣಿಗಳನ್ನು ಮಾಡಲು ನೀವು ಮಾದರಿಯನ್ನು ತರಬೇತಿಮಾಡುವ ವಿಧಾನವನ್ನು ಆಯ್ಕೆಮಾಡಬೇಕಾಗುತ್ತದೆ. ಇದು ನಿಮ್ಮ ML ಪ್ರಕ್ರಿಯೆಯ ಭಾಗವಾಗಿದ್ದು ವಿಶೇಷ ಪರಿಣತಿಯನ್ನು ಹಾಗೂ ಕೆಲವು ಬಾರಿ ಹೆಚ್ಚಿನ ಪ್ರಯೋಗಗಳನ್ನು ಅಗತ್ಯವಿರುತ್ತದೆ. +4. **ಮಾದರಿಯನ್ನು ತರಬೇತಿಮಾಡಿ**. ನಿಮ್ಮ ತರಬೇತಿ ಡೇಟಾವನ್ನು ಬಳಸಿ, ನೀವು ವಿವಿಧ ಅಲ್ಗೋರಿದಮ್‌ಗಳನ್ನು ಬಳಸಿ ಮಾದರಿಯನ್ನು ತರಬೇತಿಮಾಡುತ್ತೀರಿ ಮತ್ತು ಡೇಟಾದಲ್ಲಿರುವ ಮಾದರಿಗಳನ್ನು ಗುರುತಿಸುವಂತೆ ಮಾಡುತ್ತೀರಿ. ಮಾದರಿ ಒಳಗಿನ ತೂಕಗಳನ್ನು ಹೊಂದಬಹುದು, ಅವುಗಳನ್ನು ಡೇಟಾದ ಕೆಲವು ಭಾಗಗಳನ್ನು ಹೆಚ್ಚಿನ ಪ್ರಾಮುಖ್ಯತೆಯನ್ನಾಗಿಸಲು ಸರಿಪಡಿಸಲು ಬಳಸಬಹುದು. +5. **ಮಾದರಿಯನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡಿ**. ನೀವು ಈಗಾಗಲೇ ನೋಡದ ಡೇಟಾವನ್ನು (ನಿಮ್ಮ ಪರೀಕ್ಷಾ ಡೇಟಾ) ಬಳಸಿ ಮಾದರಿ ಹೇಗೆ ಕಾರ್ಯಾಚರಿಸುತ್ತಿದೆ ಎಂದು ಪರखಗೊಳ್ಳುತ್ತೀರಿ. +6. **ಪ್ಯಾರಾಮೀಟರ್ ಟ್ಯೂನಿಂಗ್**. ನಿಮ್ಮ ಮಾದರಿಯ ಕಾರ್ಯಕ್ಷಮತೆಯ ಆಧಾರದ ಮೇಲೆ, ನೀವು ವಿಭಿನ್ನ ನಿಯಂತ್ರಕಗಳು ಅಥವಾ ವ್ಯತ್ಯಾಸಗಳನ್ನು ಬಳಸಿ ಈ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪುನರಾವರ್ತಿಸಬಹುದು, ಇದು ಮಾದರಿಯನ್ನು ತರಬೇತಿಮಾಡುವ ಅಲ್ಗೋರಿದಮ್‌ಗಳ ಕೃತ್ವವನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ. +7. **ಭವಿಷ್ಯವಾಣಿ ಮಾಡಿ**. ಹೊಸ ಇನ್ಪುಟ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ನಿಮ್ಮ ಮಾದರಿಯ ಖಚಿತತೆಯನ್ನು ಪರೀಕ್ಷಿಸಿ. -## ಯಾವ ಪ್ರಶ್ನೆಯನ್ನು ಕೇಳಬೇಕು +## ಯಾವ ಪ್ರಶ್ನೆ ಕೇಳಬೇಕೆಂದು -ಕಂಪ್ಯೂಟರ್‌ಗಳು ಡೇಟಾದಲ್ಲಿನ ಗುಪ್ತ ಮಾದರಿಗಳನ್ನು ಕಂಡುಹಿಡಿಯುವಲ್ಲಿ ವಿಶೇಷವಾಗಿ ನಿಪುಣರಾಗಿವೆ. ಈ ಉಪಯೋಗವು ನಿರ್ದಿಷ್ಟ ಕ್ಷೇತ್ರದ ಬಗ್ಗೆ ಪ್ರಶ್ನೆಗಳಿರುವ ಸಂಶೋಧಕರಿಗೆ ಬಹಳ ಸಹಾಯಕವಾಗಿದೆ, ಅವುಗಳನ್ನು ಸರಳ ನಿಯಮಾಧಾರಿತ ಎಂಜಿನ್ ರಚಿಸುವ ಮೂಲಕ ಸುಲಭವಾಗಿ ಉತ್ತರಿಸಲಾಗುವುದಿಲ್ಲ. ಉದಾಹರಣೆಗೆ, ಒಂದು ಅಕ್ಟ್ಯೂರಿಯಲ್ ಕಾರ್ಯದಲ್ಲಿ, ಡೇಟಾ ವಿಜ್ಞಾನಿ ಧೂಮಪಾನ ಮಾಡುವವರ ಮತ್ತು ಧೂಮಪಾನ ಮಾಡದವರ ಮರಣಾಂಶದ ಬಗ್ಗೆ ಕೈಯಿಂದ ರಚಿಸಿದ ನಿಯಮಗಳನ್ನು ನಿರ್ಮಿಸಬಹುದು. +ಕಂಪ್ಯೂಟರ್‍ಗಳು ಡೇಟಾದಲ್ಲಿರುವ ಮರೆಮಾಗಿದ ಮಾದರಿಗಳನ್ನು ಕಂಡುಹಿಡಿಯುವುದರಲ್ಲಿ ವಿಶೇಷ ನೈಪುಣ್ಯ ಹೊಂದಿವೆ. ಈ ಉಪಯೋಗವೇ ಡೊಮೇನ್ ಕುರಿತು ಪ್ರಶ್ನೆಗಳಿರುವ ಸಂಶೋಧಕರಿಗೆ ಬಹಳ ಸಹಾಯಕವಾಗಿದೆ; ಅವರಿಗೆ ನಿಯಮಾಧಾರಿತ ಎಂಜಿನ್ ನಿರ್ಮಿಸುವ ಮೂಲಕ ಸುಲಭವಾಗಿ ಉತ್ತರ ಸಿಗಲಿಲ್ಲ. -ಆದರೆ, ಅನೇಕ ಇತರ ಚರಗಳನ್ನು ಸಮೀಕರಣಕ್ಕೆ ಸೇರಿಸಿದಾಗ, ಭೂತಕಾಲದ ಆರೋಗ್ಯ ಇತಿಹಾಸದ ಆಧಾರದ ಮೇಲೆ ಭವಿಷ್ಯದ ಮರಣಾಂಶ ದರಗಳನ್ನು ಭವಿಷ್ಯವಾಣಿ ಮಾಡಲು ML ಮಾದರಿ ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿಯಾಗಬಹುದು. ಇನ್ನೊಂದು ಸಂತೋಷದ ಉದಾಹರಣೆ ಎಂದರೆ, ಲ್ಯಾಟಿಟ್ಯೂಡ್, ಲಾಂಗಿಟ್ಯೂಡ್, ಹವಾಮಾನ ಬದಲಾವಣೆ, ಸಮುದ್ರದ ಸಮೀಪತೆ, ಜೆಟ್ ಸ್ಟ್ರೀಮ್ ಮಾದರಿಗಳು ಮತ್ತು ಇನ್ನಷ್ಟು ಡೇಟಾ ಆಧಾರದ ಮೇಲೆ ನಿರ್ದಿಷ್ಟ ಸ್ಥಳದಲ್ಲಿ ಏಪ್ರಿಲ್ ತಿಂಗಳ ಹವಾಮಾನ ಭವಿಷ್ಯವಾಣಿಗಳನ್ನು ಮಾಡುವುದು. +ಉದಾಹರಣೆಗೆ, ಒಂದು ಆಕ್ಟೂವರಿಯಲ್ ಕಾರ್ಯಕ್ಕಾಗಿ, ಡೇಟಾ ವಿಜ್ಞಾನಿ ಧೂಮಪಾನ ಮಾಡುವವರ ಮತ್ತು ಇಲ್ಲದವರ ಸಾವು-ಬದುಕಿನ ಕುರಿತಾದ ಕೈಯಿಂದ ನಿರ್ಮಿತ ನಿಯಮಗಳನ್ನು ರಚಿಸಬಹುದು. -✅ ಈ [ಸ್ಲೈಡ್ ಡೆಕ್](https://www2.cisl.ucar.edu/sites/default/files/2021-10/0900%20June%2024%20Haupt_0.pdf) ಹವಾಮಾನ ಮಾದರಿಗಳ ಮೇಲೆ ML ಬಳಕೆಯ ಐತಿಹಾಸಿಕ ದೃಷ್ಟಿಕೋನವನ್ನು ನೀಡುತ್ತದೆ. +ಆದರೆ ಅನೇಕ ಬೇರೆಯೂ ಅಂಶಗಳು ಹೇರಲಾಗುವುದಾದಾಗ, ML ಮಾದರಿ ಭವಿಷ್ಯದ ಸಾವು ದರಗಳನ್ನು ಹಿಂದಿನ ಆರೋಗ್ಯ ಇತಿಹಾಸದ ಆಧಾರದ ಮೇಲೆ ಅಭಿಪ್ರೇತಿಸುವುದಕ್ಕೆ ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿ ಎಂದು ತೋರುತ್ತದೆ. ಮತ್ತೊಂದು ಆನಂದದಾಯಕ ಉದಾಹರಣೆ ಎಂದರೆ ಯಾವಾಗಲಾದರೂ ಏಪ್ರಿಲ್ ತಿಂಗಳಿನ ಹವಾಮಾನವನ್ನು ಅವಲಂಬಿಸಿ ಭವಿಷ್ಯವಾಣಿ ಮಾಡುವುದು, ಇದು ಅಗತ್ಯವಿರುವ ಸ್ಥಳದ ಅಕ್ಷಾಂಶ, ರೇಖಾಂಶ, ಹವಾಮಾನ ಬದಲಾವಣೆ, ಸಮುದ್ರದ ಸಮೀಪತೆ, ಜೆಟ್ ಸ್ಟ್ರೀಮ್ ಮಾದರಿಗಳು ಮತ್ತು ಇನ್ನಿತರ ಅಂಶಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. -## ನಿರ್ಮಾಣಕ್ಕೂ ಮುಂಚಿನ ಕಾರ್ಯಗಳು +✅ ಈ [ಸ್ಲೈಡ್ ಡೆಕ್](https://www2.cisl.ucar.edu/sites/default/files/2021-10/0900%20June%2024%20Haupt_0.pdf) ಹವಾಮಾನ ಮಾದರಿಗಳ ಬಗ್ಗೆ ಐತಿಹಾಸಿಕ ದೃಷ್ಟಿಕೋನವನ್ನು ನೀಡುತ್ತದೆ ಮತ್ತು ಹವಾಮಾನ ವಿಶ್ಲೇಷಣೆಯಲ್ಲಿ ML ಬಳಸುವ ಕುರಿತು ತಿಳಿಸುತ್ತದೆ. -ನಿಮ್ಮ ಮಾದರಿಯನ್ನು ನಿರ್ಮಿಸಲು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು, ನೀವು ಪೂರ್ಣಗೊಳಿಸಬೇಕಾದ ಹಲವಾರು ಕಾರ್ಯಗಳಿವೆ. ನಿಮ್ಮ ಪ್ರಶ್ನೆಯನ್ನು ಪರೀಕ್ಷಿಸಲು ಮತ್ತು ಮಾದರಿಯ ಭವಿಷ್ಯವಾಣಿಗಳ ಆಧಾರದ ಮೇಲೆ ಊಹೆಯನ್ನು ರೂಪಿಸಲು, ನೀವು ಹಲವಾರು ಅಂಶಗಳನ್ನು ಗುರುತಿಸಿ ಸಂರಚಿಸಬೇಕಾಗುತ್ತದೆ. +## ನಿರ್ಮಿಸುವ ಮುಂಚಿನ ಕರ್ತವ್ಯಗಳು + +ನಿಮ್ಮ ಮಾದರಿಯನ್ನು ನಿರ್ಮಿಸಲು ಮುಂಚೆ, ನೀವು ಪೂರ್ಣಗೊಳಿಸಬೇಕಾದ ಹಲವಾರು ಕಾರ್ಯಗಳಿವೆ. ನಿಮ್ಮ ಪ್ರಶ್ನೆಯನ್ನು ಪರೀಕ್ಷಿಸಲು ಮತ್ತು ಮಾದರಿಯ ಭವಿಷ್ಯವಾಣಿಗಳ ಆಧಾರದ ಮೇಲೆ ಹಿಪೊತಿಸಿಸಬೇಕಾದ ಕುರಿತು ನೀವು ಹಲವು ಅಂಶಗಳನ್ನು ಗುರುತಿಸಿ ಸಂರಚಿಸಬೇಕು. ### ಡೇಟಾ -ನಿಮ್ಮ ಪ್ರಶ್ನೆಗೆ ಯಾವುದೇ ರೀತಿಯ ಖಚಿತತೆಯಿಂದ ಉತ್ತರಿಸಲು, ನಿಮಗೆ ಸರಿಯಾದ ಪ್ರಕಾರದ ಸಾಕಷ್ಟು ಡೇಟಾ ಬೇಕಾಗುತ್ತದೆ. ಈ ಸಮಯದಲ್ಲಿ ನೀವು ಮಾಡಬೇಕಾದ ಎರಡು ಕಾರ್ಯಗಳಿವೆ: +ನಿಮ್ಮ ಪ್ರಶ್ನೆಗೆ ಯಾವುದೇ ಖಚಿತತೆಯೊಂದಿಗೆ ಉತ್ತರಿಸಲು, ನೀವು ಸರಿಯಾದ ಪ್ರಕಾರದ ಸಾಕಷ್ಟು ಪ್ರಮಾಣದ ಡೇಟಾ ಬೇಕು. ಈ ಹಂತದಲ್ಲಿ ನೀವು ಮಾಡಬೇಕಾಗಿರುವ ಎರಡು ಕಾರ್ಯಗಳಿವೆ: -- **ಡೇಟಾ ಸಂಗ್ರಹಿಸಿ**. ಡೇಟಾ ವಿಶ್ಲೇಷಣೆಯಲ್ಲಿ ನ್ಯಾಯತೆಯ ಬಗ್ಗೆ ಹಿಂದಿನ ಪಾಠವನ್ನು ಗಮನದಲ್ಲಿಟ್ಟುಕೊಂಡು, ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಜಾಗರೂಕತೆಯಿಂದ ಸಂಗ್ರಹಿಸಿ. ಈ ಡೇಟಾದ ಮೂಲಗಳು, ಅದರಲ್ಲಿರುವ ಯಾವುದೇ ಅಂತರಂಗಪೂರ್ವಾಗ್ರಹಗಳು ಮತ್ತು ಅದರ ಮೂಲವನ್ನು ದಾಖಲಿಸಿ. -- **ಡೇಟಾ ಸಿದ್ಧಪಡಿಸಿ**. ಡೇಟಾ ಸಿದ್ಧಪಡಿಸುವ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಹಲವಾರು ಹಂತಗಳಿವೆ. ನೀವು ವಿಭಿನ್ನ ಮೂಲಗಳಿಂದ ಬಂದಿದ್ದರೆ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಿ ಸಾಮಾನ್ಯೀಕರಿಸಬೇಕಾಗಬಹುದು. ನೀವು ಡೇಟಾದ ಗುಣಮಟ್ಟ ಮತ್ತು ಪ್ರಮಾಣವನ್ನು ಸುಧಾರಿಸಲು ವಿವಿಧ ವಿಧಾನಗಳನ್ನು ಬಳಸಬಹುದು, ಉದಾಹರಣೆಗೆ ಸ್ಟ್ರಿಂಗ್‌ಗಳನ್ನು ಸಂಖ್ಯೆಗಳಾಗಿ ಪರಿವರ್ತಿಸುವುದು ([Clustering](../../5-Clustering/1-Visualize/README.md) ನಲ್ಲಿ ಮಾಡುತ್ತೇವೆ). ನೀವು ಮೂಲದ ಆಧಾರದ ಮೇಲೆ ಹೊಸ ಡೇಟಾವನ್ನು ರಚಿಸಬಹುದು ([Classification](../../4-Classification/1-Introduction/README.md) ನಲ್ಲಿ ಮಾಡುತ್ತೇವೆ). ನೀವು ಡೇಟಾವನ್ನು ಸ್ವಚ್ಛಗೊಳಿಸಿ ಸಂಪಾದಿಸಬಹುದು ([Web App](../../3-Web-App/README.md) ಪಾಠದ ಮುಂಚೆ ಮಾಡುತ್ತೇವೆ). ಕೊನೆಗೆ, ನೀವು ತರಬೇತಿ ತಂತ್ರಗಳನ್ನು ಅವಲಂಬಿಸಿ ಅದನ್ನು ಯಾದೃಚ್ಛಿಕಗೊಳಿಸಿ ಮಿಶ್ರಣ ಮಾಡಬೇಕಾಗಬಹುದು. +- **ಡೇಟಾ ಸಂಗ್ರಹಿಸು**. ಡೇಟಾ ವಿಶ್ಲೇಷಣದಲ್ಲಿ ನ್ಯಾಯಸಾಧ್ಯತೆಯ ಕುರಿತು ಮುಂಚಿನ ಪಾಠವು ನಿಮ್ಮ ಮೆದುಳಿನಲ್ಲಿ ಇರಲಿ, ನಿಮ್ಮ ಡೇಟಾ ಎಡತಡೆಯಿಲ್ಲದೆ ಕಲಕೊಳ್ಳಿ. ಈ ಡೇಟಾದ ಮೂಲ, ಅದರ ಒಳನಡಿಕೆ ಮತ್ತು ಮೂಲವನ್ನು ದಾಖಲಿಸಿ. +- **ಡೇಟಾ ತಯಾರಿಸು**. ಡೇಟಾ ತಯಾರಿಕೆಯ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಹಲವು ಹಂತಗಳಿವೆ. ವಿಭಿನ್ನ ಮೂಲಗಳಿಂದ ಬಂದಾಗ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಿ ಸಾಮಾನ್ಯೀಕರಿಸಲು ಆಗಬಹುದು. ಡೇಟಾದ ಗುಣಮಟ್ಟ ಮತ್ತು ಪ್ರಮಾಣವನ್ನು ಸುಧಾರಿಸಲು ನೀವು ಒಬ್ಬ ತಿಳಿವಳಿಕೆಯವರಾಗಿ ಕೋಟೆಯ ಕಡೆಗೆ ಸಂಖ್ಯೆಗೆ ಪರಿವರ್ತನೆ ಮಾಡಬಹುದು (ಹಾಗೆ ನಾವೇ [ಕ್ಲಸ್ಟರಿಂಗ್](../../5-Clustering/1-Visualize/README.md) ನಲ್ಲಿ ತಿಳಿದಿದ್ದೇವೆ). ಮೂಲ ಆಧಾರದ ಮೇಲೆ ನೀವು ಹೊಸ ಡೇಟಾವನ್ನು ಸಹ ಉತ್ಪನ್ನ ಮಾಡಬಹುದು ([ವರ್ಗೀಕರಣ](../../4-Classification/1-Introduction/README.md) ನಲ್ಲಿ ಮಾಡಿದ್ದಂತೆ). ಡೇಟಾವನ್ನು ಶುದ್ಧೀಕರಿಸಿ ಸಂಪಾದಿಸುವುದೂ ಆಗಬಹುದು ([ವೆಬ್ ಅಪ್](../../3-Web-App/README.md) ಪಾಠದ ಮುಂಚೆ ನಾವು ಮಾಡುತ್ತೇವೆ). ಟೆರಬೇಟಿ ತಂತ್ರಗಳನ್ನು ಆಧರಿಸಿ ಯಾವಾಗಲಾದರೂ ಇದನ್ನು ಅಪವ್ಯವಸ್ಥಿತಗೊಳಿಸಲು, ಅನಿಯಮಿತಗೊಳಿಸಲು ಅಗತ್ಯವಿರಬಹುದು. -✅ ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಿ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಿದ ನಂತರ, ಅದರ ಆಕಾರವು ನಿಮ್ಮ ಉದ್ದೇಶಿತ ಪ್ರಶ್ನೆಯನ್ನು ಪರಿಹರಿಸಲು ಅನುಕೂಲಕರವಾಗಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ. ನೀವು ನೀಡಿದ ಕಾರ್ಯದಲ್ಲಿ ಡೇಟಾ ಚೆನ್ನಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸದಿರಬಹುದು, ನಾವು [Clustering](../../5-Clustering/1-Visualize/README.md) ಪಾಠಗಳಲ್ಲಿ ಕಂಡುಕೊಳ್ಳುವಂತೆ! +✅ ಡೇಟಾ ಸಂಗ್ರಹಿಸಿ ಪ್ರಕ್ರಿಯೆ ಮಾಡಿಕೊಂಡ ನಂತರ, ಅದರ ಆಕಾರ ನಿಮಗೆ ಬಯಸಿದ ಪ್ರಶ್ನೆಗೆ ಉತ್ತರಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆಯೇ ಎಂದು ಗಮನಿಸಿ. ನಮ್ಮ [ಕ್ಲಸ್ಟರಿಂಗ್](../../5-Clustering/1-Visualize/README.md) ಪಾಠಗಳಲ್ಲಿ ನಾವು ಕಂಡುಕೊಂಡಂತೆ, ಕೆಲವೊಮ್ಮೆ ಡೇಟಾ ನೀಡಲಾದ ಕಾರ್ಯದಲ್ಲಿ ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ! -### ವೈಶಿಷ್ಟ್ಯಗಳು ಮತ್ತು ಗುರಿ +### ಲಕ್ಷಣಗಳು ಮತ್ತು ಗುರಿ -[ವೈಶಿಷ್ಟ್ಯ](https://www.datasciencecentral.com/profiles/blogs/an-introduction-to-variable-and-feature-selection) ಎಂದರೆ ನಿಮ್ಮ ಡೇಟಾದ ಮಾಪನೀಯ ಗುಣಲಕ್ಷಣ. ಅನೇಕ ಡೇಟಾಸೆಟ್‌ಗಳಲ್ಲಿ ಇದು 'ದಿನಾಂಕ', 'ಗಾತ್ರ' ಅಥವಾ 'ಬಣ್ಣ' ಎಂಬ ಕಾಲಮ್ ಶೀರ್ಷಿಕೆಯಾಗಿ ವ್ಯಕ್ತವಾಗುತ್ತದೆ. ನಿಮ್ಮ ವೈಶಿಷ್ಟ್ಯ ಚರ, ಸಾಮಾನ್ಯವಾಗಿ ಕೋಡ್‌ನಲ್ಲಿ `X` ಎಂದು ಪ್ರತಿನಿಧಿಸಲಾಗುತ್ತದೆ, ಇದು ಮಾದರಿಯನ್ನು ತರಬೇತಿಮಾಡಲು ಬಳಸುವ ಇನ್‌ಪುಟ್ ಚರವನ್ನು ಸೂಚಿಸುತ್ತದೆ. +[ಲಕ್ಷಣ](https://www.datasciencecentral.com/profiles/blogs/an-introduction-to-variable-and-feature-selection) ಎಂದರೆ ನಿಮ್ಮ ಡೇಟಾದ ಮಾಪನೆಗೆ ಬಂದಿದೆ. ಹಲವಾರು ಡೇಟಾಸೆಟ್‌ಗಳಲ್ಲಿ ಇದು 'ದಿನಾಂಕ', 'ಗಾತ್ರ' ಅಥವಾ 'ಬಣ್ಣ' ಮುಂತಾದ ಕಾಲಮ್ ಹೆಡಿಂಗ್‌ಗೆ ಸಮಾನ. ಲಕ್ಷಣ ವ್ಯತ್ಯಾಸ, ಸಾಮಾನ್ಯವಾಗಿ `X` ಎಂಬುದಾಗಿ ಕೋಡ್ನಲ್ಲಿ ಪ್ರತಿನಿಧಿಸಲಾಗುತ್ತದೆ, ಅದು ತರಬೇತಿಗಾಗಿ ಬಳಸುವ ಇನ್ಪುಟ್ ವ್ಯತ್ಯಾಸವನ್ನು ಸೂಚಿಸುತ್ತದೆ. -ಗುರಿ ಎಂದರೆ ನೀವು ಭವಿಷ್ಯವಾಣಿ ಮಾಡಲು ಯತ್ನಿಸುತ್ತಿರುವ ವಸ್ತು. ಗುರಿ ಸಾಮಾನ್ಯವಾಗಿ ಕೋಡ್‌ನಲ್ಲಿ `y` ಎಂದು ಪ್ರತಿನಿಧಿಸಲಾಗುತ್ತದೆ, ಇದು ನಿಮ್ಮ ಡೇಟಾದಿಂದ ಕೇಳುತ್ತಿರುವ ಪ್ರಶ್ನೆಗೆ ಉತ್ತರವನ್ನು ಸೂಚಿಸುತ್ತದೆ: ಡಿಸೆಂಬರ್‌ನಲ್ಲಿ, ಯಾವ **ಬಣ್ಣದ** ಕಂಬಳಿಗಳು ಅತಿ ಕಡಿಮೆ ಬೆಲೆಯಿರುತ್ತವೆ? ಸಾನ್ ಫ್ರಾನ್ಸಿಸ್ಕೋದಲ್ಲಿ, ಯಾವ ನೆರೆಹೊರೆಯು ಉತ್ತಮ ರಿಯಲ್ ಎಸ್ಟೇಟ್ **ಬೆಲೆ** ಹೊಂದಿರುತ್ತದೆ? ಕೆಲವೊಮ್ಮೆ ಗುರಿಯನ್ನು ಲೇಬಲ್ ಗುಣಲಕ್ಷಣ ಎಂದು ಕೂಡ ಕರೆಯುತ್ತಾರೆ. +ಗುರಿ ಎಂದರೆ ನೀವು ಭವಿಷ್ಯವನ್ನು ಊಹಿಸುವುದು. ಗುರಿ, ಸಾಮಾನ್ಯವಾಗಿ `y` ಎಂದು ಕೋಡ್ನಲ್ಲಿ ಪ್ರತಿನಿಧಿಸಲ್ಪಡುತ್ತದೆ, ಇದು ನೀವು ಕೇಳುತ್ತಿರುವ ಪ್ರಶ್ನೆಯ ಉತ್ತರ: ಡಿಸೆಂಬರ್ ամսದಲ್ಲಿ, ಯಾವ **ಬಣ್ಣದ** ಫಲಕಿಗಳು ಅತ್ಯಂತ ಕಡಿಮೆ ದರದಲ್ಲಿ ಲಭ್ಯವಾಗುತ್ತವೆ? ಸಂ ಫ್ರಾನ್ಸಿಸ್ಕೋದಲ್ಲಿನ ಯಾವ ಮತ್ತು ಪ್ರದೇಶಗಳು ಉತ್ತಮ **ಬೆಲೆ** ಇರುವ ರಿಯಲ್ ಎಸ್ಟೇಟ್ ಹೊಂದಿರುತ್ತವೆ? ಗುರಿಯನ್ನು ಲೇಬಲ್ ಗುಣಲಕ್ಷಣ ಎಂದು ಕರೆದಿರಬಹುದು. -### ನಿಮ್ಮ ವೈಶಿಷ್ಟ್ಯ ಚರವನ್ನು ಆಯ್ಕೆಮಾಡುವುದು +### ನಿಮ್ಮ ಲಕ್ಷಣ ವ್ಯತ್ಯಾಸ ಆಯ್ಕೆ ಮಾಡಿಕೊಳ್ಳಿ -🎓 **ವೈಶಿಷ್ಟ್ಯ ಆಯ್ಕೆ ಮತ್ತು ವೈಶಿಷ್ಟ್ಯ ಹೊರತೆಗೆಯುವಿಕೆ** ಮಾದರಿಯನ್ನು ನಿರ್ಮಿಸುವಾಗ ಯಾವ ಚರವನ್ನು ಆಯ್ಕೆಮಾಡಬೇಕು ಎಂದು ನೀವು ಹೇಗೆ ತಿಳಿದುಕೊಳ್ಳುತ್ತೀರಿ? ನೀವು ಬಹುಶಃ ಅತ್ಯುತ್ತಮ ಕಾರ್ಯಕ್ಷಮತೆಯ ಮಾದರಿಗಾಗಿ ಸರಿಯಾದ ಚರಗಳನ್ನು ಆಯ್ಕೆಮಾಡಲು ವೈಶಿಷ್ಟ್ಯ ಆಯ್ಕೆ ಅಥವಾ ವೈಶಿಷ್ಟ್ಯ ಹೊರತೆಗೆಯುವಿಕೆ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಅನುಸರಿಸುತ್ತೀರಿ. ಅವು ಒಂದೇ ಅಲ್ಲ: "ವೈಶಿಷ್ಟ್ಯ ಹೊರತೆಗೆಯುವಿಕೆ ಮೂಲ ವೈಶಿಷ್ಟ್ಯಗಳ ಕಾರ್ಯಗಳಿಂದ ಹೊಸ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ರಚಿಸುತ್ತದೆ, ಆದರೆ ವೈಶಿಷ್ಟ್ಯ ಆಯ್ಕೆ ವೈಶಿಷ್ಟ್ಯಗಳ ಉಪಸಮೂಹವನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ." ([ಮೂಲ](https://wikipedia.org/wiki/Feature_selection)) +🎓 **ಲಕ್ಷಣ ಆಯ್ಕೆ ಮತ್ತು ಲಕ್ಷಣ ಹೊರಹಾಕಿಕೆ** ಮಾದರಿ ನಿರ್ಮಿಸುವಾಗ ಯಾವ ವ್ಯತ್ಯಾಸವನ್ನು ಆರಿಸುವುದು? ಅತ್ಯುತ್ತಮ ಕಾರ್ಯಕ್ಷಮತೆ ಹೊಂದಿದ ಮಾದರಿಗಾಗಿ ನೀವು ಲಕ್ಷಣ ಆಯ್ಕೆ ಅಥವಾ ಲಕ್ಷಣ ಹೊರಹಾಕಿಕೆಯ ಪ್ರಕ್ರಿಯೆಯಿಂದಾಗಿ ಹೋಗಬಹುದು. ಅವರ ನಡುವೆ ವ್ಯತ್ಯಾಸವಿದೆ: "ಲಕ್ಷಣ ಹೊರಹಾಕಿಕೆ ಮೂಲ ಲಕ್ಷಣಗಳಿಂದ ಹೊಸ ಲಕ್ಷಣಗಳನ್ನು ನಿರ್ಮಿಸುತ್ತದೆ, ಆದರೆ ಲಕ್ಷಣ ಆಯ್ಕೆ ಲಕ್ಷಣಗಳ ಉಪಸಮೂಹವನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ." ([ಮೂಲ](https://wikipedia.org/wiki/Feature_selection)) ### ನಿಮ್ಮ ಡೇಟಾವನ್ನು ದೃಶ್ಯೀಕರಿಸಿ -ಡೇಟಾ ವಿಜ್ಞಾನಿಯ ಉಪಕರಣಗಳ ಪ್ರಮುಖ ಅಂಶವೆಂದರೆ Seaborn ಅಥವಾ MatPlotLib ಮುಂತಾದ ಕೆಲವು ಅತ್ಯುತ್ತಮ ಗ್ರಂಥಾಲಯಗಳನ್ನು ಬಳಸಿ ಡೇಟಾವನ್ನು ದೃಶ್ಯೀಕರಿಸುವ ಶಕ್ತಿ. ನಿಮ್ಮ ಡೇಟಾವನ್ನು ದೃಶ್ಯರೂಪದಲ್ಲಿ ಪ್ರತಿನಿಧಿಸುವುದು ನೀವು ಬಳಸಬಹುದಾದ ಗುಪ್ತ ಸಂಬಂಧಗಳನ್ನು ಅನಾವರಣಗೊಳಿಸಲು ಸಹಾಯ ಮಾಡಬಹುದು. ನಿಮ್ಮ ದೃಶ್ಯೀಕರಣಗಳು ಅಸಮತೋಲನ ಅಥವಾ ಅಸಮತೋಲನ ಡೇಟಾವನ್ನು ಅನಾವರಣಗೊಳಿಸಲು ಸಹ ಸಹಾಯ ಮಾಡಬಹುದು ([Classification](../../4-Classification/2-Classifiers-1/README.md) ನಲ್ಲಿ ನಾವು ಕಂಡುಕೊಳ್ಳುವಂತೆ). +ಡೇಟಾಸೈನ್ಟಿಸ್ಟ್ ಉಪಕರಣಗಳ ಪ್ರಮುಖ ಅಂಶವೆಂದರೆ ಡೇಟಾವನ್ನು ಹಲವಾರು ಶ್ರೇಷ್ಠ ಲೈಬ್ರರಿಗಳಾದ ಸೀಬೋರ್ನ್ ಅಥವಾ ಮ್ಯಾಟ್‌ಪ್ಲಾಟ್‌ಲಿಬ್ ಬಳಸಿ ದೃಶ್ಯೀಕರಿಸುವ ಶಕ್ತಿ. ನಿಮ್ಮ ಡೇಟಾವನ್ನು ದೃಶ್ಯ ರೂಪದಲ್ಲಿ ಪ್ರತಿನಿಧಿಸುವುದರಿಂದ ನೀವು ಉಪಯುಕ್ತವಾದ ಅಡಗಿದ ಸಂಬಂಧಗಳನ್ನು ಕಾಣಬಹುದು. ನಿಮ್ಮ ದೃಶ್ಯೀಕರಣವು ಪ್ರತ್ಯರ್ಥ ಅಥವಾ ಅಸಮತೋಲನ ಡೇಟಾವನ್ನು ಕಾಣಲು ಸಹ ಸಹಾಯಕವಾಗಬಹುದು (ನಾವು [ವರ್ಗೀಕರಣ](../../4-Classification/2-Classifiers-1/README.md) ಪಾಠಗಳಲ್ಲಿ ಕಂಡುಕೊಳ್ಳುತ್ತೇವೆ). ### ನಿಮ್ಮ ಡೇಟಾಸೆಟ್ ಅನ್ನು ವಿಭಜಿಸಿ -ತರಬೇತಿಗೆ ಮುಂಚೆ, ನೀವು ನಿಮ್ಮ ಡೇಟಾಸೆಟ್ ಅನ್ನು ಅಸಮಾನ ಗಾತ್ರದ ಎರಡು ಅಥವಾ ಹೆಚ್ಚು ಭಾಗಗಳಾಗಿ ವಿಭಜಿಸಬೇಕು, ಆದರೆ ಅವು ಡೇಟಾವನ್ನು ಚೆನ್ನಾಗಿ ಪ್ರತಿನಿಧಿಸಬೇಕು. +ತರಬೇತಿಗೆ ಮುಂಚೆ, ನಿಮ್ಮ ಡೇಟಾಸೆಟ್ ಅನ್ನು ಅನುಪಾಲಿತ ಗಾತ್ರದ ಎರಡು ಅಥವಾ ಹೆಚ್ಚು ಭಾಗಗಳಾಗಿ ವಿಭಜಿಸಬೇಕು, ಆದರೆ ಡೇಟಾದ ಪ್ರಾತಿನಿಧ್ಯವನ್ನು ತಪ್ಪದಂತೆ. -- **ತರಬೇತಿ**. ಡೇಟಾಸೆಟ್‌ನ ಈ ಭಾಗವನ್ನು ನಿಮ್ಮ ಮಾದರಿಯನ್ನು ತರಬೇತಿಮಾಡಲು ಹೊಂದಿಸಲಾಗುತ್ತದೆ. ಈ ಸೆಟ್ ಮೂಲ ಡೇಟಾಸೆಟ್‌ನ ಬಹುಮತವನ್ನು ಹೊಂದಿದೆ. -- **ಪರೀಕ್ಷೆ**. ಪರೀಕ್ಷಾ ಡೇಟಾಸೆಟ್ ಸ್ವತಂತ್ರ ಡೇಟಾ ಗುಂಪಾಗಿದೆ, ಸಾಮಾನ್ಯವಾಗಿ ಮೂಲ ಡೇಟಾದಿಂದ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ, ನೀವು ನಿರ್ಮಿಸಿದ ಮಾದರಿಯ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ದೃಢೀಕರಿಸಲು ಬಳಸುತ್ತೀರಿ. -- **ಮಾನ್ಯತೆ**. ಮಾನ್ಯತೆ ಸೆಟ್ ಒಂದು ಸಣ್ಣ ಸ್ವತಂತ್ರ ಉದಾಹರಣೆಗಳ ಗುಂಪು, ನೀವು ಮಾದರಿಯ ಹೈಪರ್‌ಪ್ಯಾರಾಮೀಟರ್‌ಗಳು ಅಥವಾ ವಾಸ್ತುಶಿಲ್ಪವನ್ನು ಸುಧಾರಿಸಲು ಬಳಸುತ್ತೀರಿ. ನಿಮ್ಮ ಡೇಟಾದ ಗಾತ್ರ ಮತ್ತು ನೀವು ಕೇಳುತ್ತಿರುವ ಪ್ರಶ್ನೆಯ ಆಧಾರದ ಮೇಲೆ, ನೀವು ಈ ಮೂರನೇ ಸೆಟ್ ಅನ್ನು ನಿರ್ಮಿಸುವ ಅಗತ್ಯವಿಲ್ಲದಿರಬಹುದು ([Time Series Forecasting](../../7-TimeSeries/1-Introduction/README.md) ನಲ್ಲಿ ನಾವು ಗಮನಿಸುತ್ತೇವೆ). +- **ತರಬೇತಿ**. ಡೇಟಾಸೆಟ್‌ನ ಈ ಭಾಗವು ಮಾದರಿಯನ್ನು ತರಬೇತಿಮಾಡಲು ಹೊಂದಿಕೊಳ್ಳುತ್ತವೆ. ಇದು ಮೂಲ ಡೇಟಾಸೆಟ್‌ನ ಬಹುತೇಕ ಭಾಗವಾಗಿದೆ. +- **ಪರೀಕ್ಷೆ**. ಪರೀಕ್ಷಾ ಡೇಟಾಸೆಟ್ ಸ್ವತಂತ್ರ ಗುಂಪು, ಸಾಮಾನ್ಯವಾಗಿ ಮೂಲ ಡೇಟಾದಿಂದ ಸಂಗ್ರಹಿಸಲ್ಪಟ್ಟಿದ್ದು, ನಿರ್ಮಿತ ಮಾದರಿಯ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ದೃಢೀಕರಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ. +- **ಮಾನ್ಯತೆ**. ಮಾನ್ಯತಾ ಸೆಟ್ ಒಂದು ಸಣ್ಣ ಸ್ವತಂತ್ರ ಉದಾಹರಣೆ ಗುಂಪಾಗಿದೆ, ಇದನ್ನು ಮಾದರಿಯ ಹೈಪರ್‌ಪ್ಯಾರಾಮೀಟರ್‌ಗಳು ಅಥವಾ ರಚನೆ ತಿದ್ದುಪಡಿ ಮಾಡಲು ಬಳಸಿಸಲಾಗುತ್ತದೆ, ಮಾದರಿಯ ಗುಣಮಟ್ಟ ಸುಧಾರಣೆಗೆ. ಡೇಟಾದ ಗಾತ್ರ ಮತ್ತು ಪ್ರಶ್ನೆಯ ಮೇಲೆ ಪರಿಗಣಿಸಿ, ನೀವು ಈ ಮೂರನೇ ಸೆಟ್ ಅನ್ನು ರಚಿಸುವ ಅಗತ್ಯವಿರಲಾರದು ([ಸಮಯ ಸರಣಿ ಪೂರ್ವಕಾಣಿಕೆ](../../7-TimeSeries/1-Introduction/README.md) ನಲ್ಲಿ ತಿಳಿಸಲಾಗಿದೆ). -## ಮಾದರಿಯನ್ನು ನಿರ್ಮಿಸುವುದು +## ಮಾದರಿ ನಿರ್ಮಾಣ -ನಿಮ್ಮ ತರಬೇತಿ ಡೇಟಾವನ್ನು ಬಳಸಿ, ನಿಮ್ಮ ಗುರಿ ವಿವಿಧ ಅಲ್ಗಾರಿದಮ್‌ಗಳನ್ನು ಬಳಸಿ ಮಾದರಿಯನ್ನು **ತರಬೇತಿಮಾಡುವುದು** ಅಥವಾ ನಿಮ್ಮ ಡೇಟಾದ ಸಾಂಖ್ಯಿಕ ಪ್ರತಿನಿಧಾನವನ್ನು ನಿರ್ಮಿಸುವುದು. ಮಾದರಿಯನ್ನು ತರಬೇತಿಮಾಡುವುದು ಅದನ್ನು ಡೇಟಾಗೆ ಪರಿಚಯಿಸುವುದು ಮತ್ತು ಅದು ಕಂಡುಹಿಡಿದ ಮಾದರಿಗಳನ್ನು ಊಹಿಸಲು, ಪರಿಶೀಲಿಸಲು ಮತ್ತು ಅಂಗೀಕರಿಸಲು ಅವಕಾಶ ನೀಡುತ್ತದೆ. +ನಿಮ್ಮ ತರಬೇತಿ ಡೇಟಾವನ್ನು ಬಳಸಿಕೊಂಡು, ನಿಮ್ಮ ಗುರಿ ಮಾದರಿ ಅಥವಾ ಡೇಟಾದ ಸಂಖ್ಯಾಶಾಸ್ತ್ರೀಯ ಪ್ರತಿನಿಧಿಯನ್ನು ವಿವಿಧ ಅಲ್ಗೋರಿದಮ್‌ಗಳ ಮೂಲಕ ತರಬೇತಿಮಾಡುವುದು. ಮಾದರಿ ತರಬೇತಿಸುವಿಕೆ ಡೇಟಾನ್ನು ಅನಾಲಿಸುಮಾಡುವಿಕೆಗಳಿಗೆ ಒಳಪಡಿಸುವುದು ಮತ್ತು ಕಂಡುಹಿಡಿದ ಮಾದರಿಗಳನ್ನು ಅದೃಷ್ಟಿಸಿಕೊಂಡು ಸ್ವೀಕರಿಸುವ ಅಥವಾ ನಿರಾಕರಿಸುವ ಅವಕಾಶವನ್ನು ಕಲ್ಪಿಸುತ್ತದೆ. -### ತರಬೇತಿ ವಿಧಾನವನ್ನು ನಿರ್ಧರಿಸಿ +### ತರಬೇತಿ ವಿಧಾನ ಆಯ್ಕೆಮಾಡಿ -ನಿಮ್ಮ ಪ್ರಶ್ನೆ ಮತ್ತು ಡೇಟಾದ ಸ್ವಭಾವದ ಆಧಾರದ ಮೇಲೆ, ನೀವು ಅದನ್ನು ತರಬೇತಿಮಾಡಲು ವಿಧಾನವನ್ನು ಆಯ್ಕೆಮಾಡುತ್ತೀರಿ. [Scikit-learn ನ ಡಾಕ್ಯುಮೆಂಟೇಶನ್](https://scikit-learn.org/stable/user_guide.html) ಅನ್ನು ಅನುಸರಿಸಿ - ನಾವು ಈ ಕೋರ್ಸ್‌ನಲ್ಲಿ ಬಳಸುತ್ತೇವೆ - ನೀವು ಮಾದರಿಯನ್ನು ತರಬೇತಿಮಾಡಲು ಹಲವಾರು ವಿಧಾನಗಳನ್ನು ಅನ್ವೇಷಿಸಬಹುದು. ನಿಮ್ಮ ಅನುಭವದ ಆಧಾರದ ಮೇಲೆ, ನೀವು ಅತ್ಯುತ್ತಮ ಮಾದರಿಯನ್ನು ನಿರ್ಮಿಸಲು ಹಲವು ವಿಭಿನ್ನ ವಿಧಾನಗಳನ್ನು ಪ್ರಯತ್ನಿಸಬೇಕಾಗಬಹುದು. ಡೇಟಾ ವಿಜ್ಞಾನಿಗಳು ಮಾದರಿಯ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಅಪ್ರತ്യക്ഷ ಡೇಟಾವನ್ನು ನೀಡುವ ಮೂಲಕ, ನಿಖರತೆ, ಪೂರ್ವಾಗ್ರಹ ಮತ್ತು ಇತರ ಗುಣಮಟ್ಟ ಕುಗ್ಗಿಸುವ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಶೀಲಿಸುವ ಮೂಲಕ, ಮತ್ತು ಕಾರ್ಯಕ್ಕೆ ಸೂಕ್ತವಾದ ತರಬೇತಿ ವಿಧಾನವನ್ನು ಆಯ್ಕೆಮಾಡುವ ಪ್ರಕ್ರಿಯೆಯನ್ನು ನೀವು ಅನುಭವಿಸುವಿರಿ. +ನಿಮ್ಮ ಪ್ರಶ್ನೆ ಮತ್ತು ಡೇಟಾದ ಸ್ವಭಾವದ ಆಧಾರದ ಮೇಲೆ, ನೀವು ತರಬೇತಿಗೆ ಕ್ರಮವನ್ನು ಆಯ್ಕೆಮಾಡುತ್ತೀರಿ. [ಸ್ಕೈಕಿಟ್-ಲರ್ನ್ ನ ಡಾಕ್ಯುಮೆಂಟೇಶನ್](https://scikit-learn.org/stable/user_guide.html) ಮೂಲಕ ನೀವು ಅನೇಕ ವಿಧಾನಗಳನ್ನು ಅನ್ವೇಷಿಸಬಹುದು. ನಿಮ್ಮ ಅನುಭಾವದ ಪ್ರಕಾರ, ಉತ್ತಮ ಮಾದರಿಯನ್ನು ನಿರ್ಮಿಸಲು ನೀವು ಹಲವು ವಿಧಾನಗಳನ್ನು ಪ್ರಯತ್ನಿಸಬಹುದು. ಡೇಟಾ ವಿಜ್ಞಾನಿಗಳು ಕಾಣದ ಡೇಟಾವನ್ನು ಚುಂಬಿಸುವ ಮೂಲಕ ಮಾದರಿಯ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಪರಿಶೀಲಿಸಿ ಮೌಲ್ಯಮಾಪನ ಮಾಡುತ್ತಾರೆ, ಖಚಿತತೆ, ಅಡಚಣೆ ಮತ್ತು ಗುಣಮಟ್ಟವನ್ನು ಹಾಳುಮಾಡುವ ಇತರ ಸಮಸ್ಯೆಗಳನ್ನು ತಪಾಸಣೆ ಮಾಡುವ ಮೂಲಕ ಕಾರ್ಯಕ್ಕೆ ಸರಿಯಾದ ತರಬೇತಿ ವಿಧಾನವನ್ನು ಆಯ್ಕೆಮಾಡುತ್ತಾರೆ. -### ಮಾದರಿಯನ್ನು ತರಬೇತಿಮಾಡಿ +### ಮಾದರಿ ತರಬೇತಿಮಾಡಿ -ನಿಮ್ಮ ತರಬೇತಿ ಡೇಟಾ ಸಿದ್ಧವಾಗಿರುವಾಗ, ನೀವು ಅದನ್ನು 'ಫಿಟ್' ಮಾಡಿ ಮಾದರಿಯನ್ನು ರಚಿಸಲು ಸಿದ್ಧರಾಗಿದ್ದೀರಿ. ಬಹುಶಃ ನೀವು ಹಲವಾರು ML ಗ್ರಂಥಾಲಯಗಳಲ್ಲಿ 'model.fit' ಎಂಬ ಕೋಡ್ ಅನ್ನು ಕಾಣುತ್ತೀರಿ - ಈ ಸಮಯದಲ್ಲಿ ನೀವು ನಿಮ್ಮ ವೈಶಿಷ್ಟ್ಯ ಚರವನ್ನು ಮೌಲ್ಯಗಳ ಸರಣಿಯಾಗಿ (ಸಾಮಾನ್ಯವಾಗಿ 'X') ಮತ್ತು ಗುರಿ ಚರವನ್ನು (ಸಾಮಾನ್ಯವಾಗಿ 'y') ಕಳುಹಿಸುತ್ತೀರಿ. +ತರಬೇತಿ ಡೇಟಾ ಹೊಂದಿ, ನೀವು 'model.fit' ಕೋಡ್ ಅನ್ನು ದೃಷ್ಟಿಸಿ, ಇದೇನೆಂದರೆ ನೀವು ನಿಮ್ಮ ಲಕ್ಷಣ ವ್ಯತ್ಯಾಸವನ್ನು (ಸರಾಸರಿ 'X' ಎಂದು), ಮತ್ತು ಗುರಿ ವ್ಯತ್ಯಾಸವನ್ನು (ಸರಾಸರಿ 'y' ಎಂದು) ಸರಣಿಯಾಗಿ ಸಲ್ಲಿಸುತ್ತೀರಿ. ### ಮಾದರಿಯನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡಿ -ತರಬೇತಿ ಪ್ರಕ್ರಿಯೆ ಪೂರ್ಣಗೊಂಡ ನಂತರ (ದೊಡ್ಡ ಮಾದರಿಯನ್ನು ತರಬೇತಿಮಾಡಲು ಹಲವಾರು ಪುನರಾವೃತ್ತಿಗಳು ಅಥವಾ 'ಎಪೋಕ್ಸ್' ಬೇಕಾಗಬಹುದು), ನೀವು ಪರೀಕ್ಷಾ ಡೇಟಾವನ್ನು ಬಳಸಿ ಮಾದರಿಯ ಗುಣಮಟ್ಟವನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡಬಹುದು. ಈ ಡೇಟಾ ಮೂಲ ಡೇಟಾದ ಉಪಸಮೂಹವಾಗಿದ್ದು, ಮಾದರಿ ಮೊದಲು ವಿಶ್ಲೇಷಿಸದ ಡೇಟಾಗೆ ಸೇರಿದೆ. ನೀವು ನಿಮ್ಮ ಮಾದರಿಯ ಗುಣಮಟ್ಟದ ಬಗ್ಗೆ ಮೆಟ್ರಿಕ್‌ಗಳ ಟೇಬಲ್ ಅನ್ನು ಮುದ್ರಿಸಬಹುದು. +ತರಬೇತಿ ಪ್ರಕ್ರಿಯೆ ಪೂರ್ಣಗೊಂಡಾಗ (ಜನರಾಗಿ 'ಎಪೊಕ್ಸ್' ಎಂಬ ಹಲವಾರು ಪುನರಾವೃತಿಗಳನ್ನು ಬೇಕಾಗಬಹುದು), ನಿಮ್ಮ ಮಾದರಿಯ ಗುಣಮಟ್ಟವನ್ನು ಪರೀಕ್ಷಾ ಡೇಟಾಗಳು ಬಳಸಿ ಪರಿಶೀಲಿಸಬಹುದು. ಈ ಡೇಟಾ ಮೂಲ ಡೇಟಾದ ಉಪಸಮೂಹವಾಗಿದ್ದು, ಮಾದರಿಯತ್ತ ಮೊದಲಿಗ್ ನೋಡಲ್ಪಟ್ಟಿಲ್ಲ. ನೀವು ಮಾದರಿಯ ಗುಣಮಟ್ಟದ ಮೀರಿಗಳುಳ್ಳ ಟೇಬಲ್ಲನ್ನು ಮುದ್ರಣ ಮಾಡಬಹುದು. 🎓 **ಮಾದರಿ ಫಿಟಿಂಗ್** -ಯಂತ್ರ ಅಧ್ಯಯನದ ಸಂದರ್ಭದಲ್ಲಿ, ಮಾದರಿ ಫಿಟಿಂಗ್ ಎಂದರೆ ಮಾದರಿಯ ಅಡಿಪಾಯ ಕಾರ್ಯವು ಪರಿಚಿತವಲ್ಲದ ಡೇಟಾವನ್ನು ವಿಶ್ಲೇಷಿಸಲು ಯತ್ನಿಸುವಾಗ ಅದರ ನಿಖರತೆಯನ್ನು ಸೂಚಿಸುತ್ತದೆ. +ಯಂತ್ರ ಕಲಿಕೆಯಲ್ಲಿ, ಮಾದರಿ ಫಿಟಿಂಗ್ ಎಂದರೆ ಮಾದರಿಯ ಮೂಲ ಕಾರ್ಯವೇಧನೆಯ ಖಚಿತತೆ, ಇದು ಅದಕ್ಕೆ ಪರಿಚಿತವಿಲ್ಲದ ಡೇಟಾವನ್ನು ವಿಶ್ಲೇಷಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ. -🎓 **ಅಡಿಗೊಳಿಸುವಿಕೆ** ಮತ್ತು **ಅತಿಗೊಳಿಸುವಿಕೆ** ಸಾಮಾನ್ಯ ಸಮಸ್ಯೆಗಳು, ಅವು ಮಾದರಿಯ ಗುಣಮಟ್ಟವನ್ನು ಕುಗ್ಗಿಸುತ್ತವೆ, ಏಕೆಂದರೆ ಮಾದರಿ ಸರಿಯಾಗಿ ಹೊಂದದಿರುವುದು ಅಥವಾ ತುಂಬಾ ಚೆನ್ನಾಗಿ ಹೊಂದಿರುವುದು. ಇದರಿಂದ ಮಾದರಿ ತರಬೇತಿ ಡೇಟಾದೊಂದಿಗೆ ತುಂಬಾ ಸಮೀಪವಾಗಿ ಅಥವಾ ತುಂಬಾ ದೂರವಾಗಿ ಭವಿಷ್ಯವಾಣಿ ಮಾಡುತ್ತದೆ. ಅತಿಗೊಳಿಸಿದ ಮಾದರಿ ತರಬೇತಿ ಡೇಟಾದ ವಿವರಗಳು ಮತ್ತು ಶಬ್ದವನ್ನು ತುಂಬಾ ಚೆನ್ನಾಗಿ ಕಲಿತಿರುವುದರಿಂದ ಅದನ್ನು ತುಂಬಾ ಚೆನ್ನಾಗಿ ಭವಿಷ್ಯವಾಣಿ ಮಾಡುತ್ತದೆ. ಅಡಿಗೊಳಿಸಿದ ಮಾದರಿ ನಿಖರವಿಲ್ಲ, ಏಕೆಂದರೆ ಅದು ತನ್ನ ತರಬೇತಿ ಡೇಟಾವನ್ನು ಅಥವಾ ಇನ್ನೂ 'ನೋಡದ' ಡೇಟಾವನ್ನು ಸರಿಯಾಗಿ ವಿಶ್ಲೇಷಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. +🎓 **ಅಡವಿಕೆ** ಮತ್ತು **ಅತಿಯಾಗಿ ಫಿಟಿಂಗ್** ಎಂಬವು ಸಾಮಾನ್ಯ ಸಮಸ್ಯೆಗಳಾಗಿದ್ದು, ಮಾದರಿಯ ಗುಣಮಟ್ಟವನ್ನು ಹಾಳುಮಾಡುವುದಕ್ಕೆ ಕಾರಣವಾಗುತ್ತವೆ, ಏಕೆಂದರೆ ಮಾದರಿ ಎಷ್ಟು ಚೆನ್ನಾಗಿಲ್ಲದೆ ಅಥವಾ ಹೆಚ್ಚು ಚೆನ್ನಾಗಿಯೂ ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ. ಇದು ಮಾದರಿಗೆ ತರಬೇತಿ ಡೇಟಾವಿಗಿಂತ ಹೆಚ್ಚು ಅಥವಾ ಕಡಿಮೆ ಸಮೀಪಿಸುವ ಭವಿಷ್ಯವಾಣಿಗಳನ್ನು ಮಾಡಿಸಲು ಕಾರಣವಾಗುತ್ತದೆ. ಅತಿಯಾಗಿ ಫಿಟ್ ಮಾಡಿದ ಮಾದರಿ ತರಬೇತಿ ಡೇಟಾ ವಿವರಗಳನ್ನು ಹಾಗೂ ಶಬ್ದಗಳನ್ನು ತುಂಬಾ ಚೆನ್ನಾಗಿ ಕಲಿತದ್ದರಿಂದ ಒಂದು ರೀತಿಯಲ್ಲಿ ಹೆಚ್ಚು ನಿಖರವಾಗಿರುತ್ತದೆ. ಅಡವಿಕೆಯಾಗಿರುವ ಮಾದರಿ ತನ್ನ ತರಬೇತಿ ಡೇಟಾವನ್ನು ಮತ್ತು ನೋಡದ ಡೇಟಾವನ್ನು ನಿಖರವಾಗಿ ವಿಶ್ಲೇಷಿಸಲು ಅಸಮರ್ಥವಾಗಿದೆ. ![overfitting model](../../../../translated_images/kn/overfitting.1c132d92bfd93cb6.webp) -> ಇನ್ಫೋಗ್ರಾಫಿಕ್ [ಜೆನ್ ಲೂಪರ್](https://twitter.com/jenlooper) ಅವರಿಂದ +> ಇನ್ಫೋಗ್ರಾಫಿಕ್: [ಜೆನ್ ಲೂಪರ್](https://twitter.com/jenlooper) ## ಪ್ಯಾರಾಮೀಟರ್ ಟ್ಯೂನಿಂಗ್ -ನಿಮ್ಮ ಪ್ರಾಥಮಿಕ ತರಬೇತಿ ಪೂರ್ಣಗೊಂಡ ನಂತರ, ಮಾದರಿಯ ಗುಣಮಟ್ಟವನ್ನು ಗಮನಿಸಿ ಮತ್ತು ಅದರ 'ಹೈಪರ್‌ಪ್ಯಾರಾಮೀಟರ್‌ಗಳನ್ನು' ಸುಧಾರಿಸಲು ಪರಿಗಣಿಸಿ. ಪ್ರಕ್ರಿಯೆಯ ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ [ಡಾಕ್ಯುಮೆಂಟೇಶನ್](https://docs.microsoft.com/en-us/azure/machine-learning/how-to-tune-hyperparameters?WT.mc_id=academic-77952-leestott) ಓದಿ. +ನಿಮ್ಮ ಪ್ರಾಥಮಿಕ ತರಬೇತಿ ಪೂರ್ಣವಾದ ನಂತರ, ಮಾದರಿಯ ಗುಣಮಟ್ಟವನ್ನು ಗಮನಿಸಿ ಅದರ 'ಹೈಪರ್‍ಪ್ಯಾರಾಮೀಟರ್‌ಗಳನ್ನು' ತಿದ್ದುಪಡಿ ಮಾಡುವ ಮೂಲಕ ಸುಧಾರಿಸಲು ಯೋಚಿಸಿ. ಈ ಪ್ರಕ್ರಿಯೆಗೆ ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ [ಡಾಕ್ಯುಮೆಂಟೇಶನ್](https://docs.microsoft.com/en-us/azure/machine-learning/how-to-tune-hyperparameters?WT.mc_id=academic-77952-leestott) ಓದಿ. ## ಭವಿಷ್ಯವಾಣಿ -ಈ ಸಮಯದಲ್ಲಿ ನೀವು ಸಂಪೂರ್ಣ ಹೊಸ ಡೇಟಾವನ್ನು ಬಳಸಿ ನಿಮ್ಮ ಮಾದರಿಯ ನಿಖರತೆಯನ್ನು ಪರೀಕ್ಷಿಸಬಹುದು. 'ಅಪ್ಲೈಡ್' ML ಪರಿಸರದಲ್ಲಿ, ನೀವು ಮಾದರಿಯನ್ನು ಉತ್ಪಾದನೆಯಲ್ಲಿ ಬಳಸಲು ವೆಬ್ ಆಸ್ತಿ ನಿರ್ಮಿಸುತ್ತಿದ್ದರೆ, ಈ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಬಳಕೆದಾರ ಇನ್‌ಪುಟ್ (ಉದಾಹರಣೆಗೆ ಬಟನ್ ಒತ್ತುವುದು) ಸಂಗ್ರಹಿಸಿ, ಚರವನ್ನು ಸೆಟ್ ಮಾಡಿ ಮತ್ತು ಮಾದರಿಗೆ ಇನ್ಫರೆನ್ಸ್ ಅಥವಾ ಮೌಲ್ಯಮಾಪನಕ್ಕಾಗಿ ಕಳುಹಿಸುವುದು ಸೇರಬಹುದು. +ಈ ಸಮಯದಲ್ಲಿ ನೀವು ಸಂಪೂರ್ಣ ಹೊಸ ಡೇಟಾವನ್ನು ಬಳಸಿ ನಿಮ್ಮ ಮಾದರಿಯ ನಿಖರತೆಯನ್ನು ಪರೀಕ್ಷಿಸಬಹುದು. 'ಅಪ್ಲೈಡ್' ML ಪಾರಂಪರಿಕದಲ್ಲಿ, ನೀವು ವೆಬ್ ಆಸ್ತಿ ನಿರ್ಮಿಸುತ್ತಿದ್ದರೆ, ಈ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಬಳಕೆದಾರ ಇನ್ಪುಟ್ (ಉದಾ: ಒಂದು ಬಟನ್ ಒತ್ತುವುದು) ಸಂಗ್ರಹಿಸಿ ಅದನ್ನು ಮಾದರಿಗೆ ನಿರ್ಣಯ ಅಥವಾ ಮೌಲ್ಯಮಾಪನ ನಡೆಸಲು ಕಳುಹಿಸುವುದು ಒಳಗೊಂಡಿರಬಹುದು. -ಈ ಪಾಠಗಳಲ್ಲಿ, ನೀವು ಈ ಹಂತಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಸಿದ್ಧಪಡಿಸುವುದು, ನಿರ್ಮಿಸುವುದು, ಪರೀಕ್ಷಿಸುವುದು, ಮೌಲ್ಯಮಾಪನ ಮಾಡುವುದನ್ನು ಮತ್ತು ಭವಿಷ್ಯವಾಣಿ ಮಾಡುವುದನ್ನು ಕಂಡುಕೊಳ್ಳುತ್ತೀರಿ - ಡೇಟಾ ವಿಜ್ಞಾನಿಯ ಎಲ್ಲಾ ಚಲನೆಗಳು ಮತ್ತು ಇನ್ನಷ್ಟು, ನೀವು 'ಫುಲ್ ಸ್ಟಾಕ್' ML ಎಂಜಿನಿಯರ್ ಆಗಲು ನಿಮ್ಮ ಪ್ರಯಾಣದಲ್ಲಿ ಮುಂದುವರಿಯುವಂತೆ. +ಈ ಪಾಠಗಳಲ್ಲಿ, ನೀವು ಈ ಹಂತಗಳನ್ನು ಹೇಗೆ ಬಳಸುವುದು, ತಯಾರಿಸುವುದು, ನಿರ್ಮಿಸುವುದು, ಪರೀಕ್ಷಿಸುವುದು, ಮೌಲ್ಯಮಾಪನ ಮಾಡುವುದು ಮತ್ತು ಭವಿಷ್ಯವಾಣಿ ಮಾಡುವುದನ್ನು ಕಂಡುಕೊಳ್ಳುತ್ತೀರಿ — ಇದು ಒಂದು ಡೇಟಾ ವಿಜ್ಞಾನಿಯ ಎಲ್ಲಾ ಚಲನೆಗಳು ಮತ್ತು ವಿಸ್ತಾರವಾಗಿ, ನಿಮಗೆ 'ಫುಲ್ ಸ್ಟ್ಯಾಕ್' ML ಎಂಜಿನಿಯರ್ ಆಗಲು ದಾರಿತೋರಲಿದೆ. --- ## 🚀ಸವಾಲು -ML ಅಭ್ಯಾಸಗಾರರ ಹಂತಗಳನ್ನು ಪ್ರತಿಬಿಂಬಿಸುವ ಫ್ಲೋ ಚಾರ್ಟ್ ರಚಿಸಿ. ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ನೀವು ಈಗ ಎಲ್ಲಿದ್ದೀರಿ ಎಂದು ನೀವು ಎಲ್ಲಿ ನೋಡುತ್ತೀರಿ? ನೀವು ಯಾವಲ್ಲಿ ಕಷ್ಟವನ್ನು ಎದುರಿಸುವಿರಿ ಎಂದು ಭವಿಷ್ಯವಾಣಿ ಮಾಡುತ್ತೀರಿ? ನಿಮಗೆ ಯಾವುದು ಸುಲಭವಾಗುತ್ತದೆ? +ಯಂತ್ರ ಕಲಿಕೆಯ ಅಭ್ಯಾಸಗಾರನ ಹಂತಗಳನ್ನು ಪ್ರತಿಬಿಂಬಿಸುವ ಫ್ಲೋ ಚಾರ್ಟ್ ರಚಿಸಿ. ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿದ್ದ ನೀವು ಈಗ ಎಲ್ಲಿದ್ದೀರಿ? ಎಲ್ಲಿ ತೊಂದರೆ ಸಹಮತಿಸುವಿರಿ? ಯಾವ ಹಂತ ನಿಮ್ಮಿಗೆ ಸುಲಭವಾಗದು? -## [ಪೋಸ್ಟ್-ಪಾಠ ಪ್ರಶ್ನೋತ್ತರ](https://ff-quizzes.netlify.app/en/ml/) +## [ಪೋಸ್ಟ್-ಲೇಕ್ಚರ್ ಕ್ವಿಜ್](https://ff-quizzes.netlify.app/en/ml/) -## ವಿಮರ್ಶೆ ಮತ್ತು ಸ್ವಯಂ ಅಧ್ಯಯನ +## ಪರಿಶೀಲನೆ ಮತ್ತು ಸ್ವ-ಅಧ್ಯಯನ -ಡೇಟಾ ವಿಜ್ಞಾನಿಗಳು ತಮ್ಮ ದೈನಂದಿನ ಕೆಲಸವನ್ನು ಚರ್ಚಿಸುವ ಸಂದರ್ಶನಗಳನ್ನು ಆನ್ಲೈನ್‌ನಲ್ಲಿ ಹುಡುಕಿ. ಇಲ್ಲಿ ಒಂದು [ಇದು](https://www.youtube.com/watch?v=Z3IjgbbCEfs) ಇದೆ. +ಡೇಟಾ ವಿಜ್ಞಾನಿಗಳ ದೈನಂದಿನ ಕೆಲಸದ ಬಗ್ಗೆ ಸಂದರ್ಶನಗಳನ್ನು ಆನ್ಲೈನಿನಲ್ಲಿ ಹುಡುಕಿ. ಇಲ್ಲಿ ಒಂದು [ಇದು](https://www.youtube.com/watch?v=Z3IjgbbCEfs) ಇದೆ. -## ನಿಯೋಜನೆ +## ಕಾರ್ಯಾವಳಿ -[ಡೇಟಾ ವಿಜ್ಞಾನಿಯನ್ನು ಸಂದರ್ಶನ ಮಾಡಿ](assignment.md) +[ಡೇಟಾ ವಿಜ್ಞಾನಿಯನ್ನು ಸಂದರ್ಶನ ಮಾಡು](assignment.md) --- -**ಅಸ್ವೀಕರಣ**: -ಈ ದಸ್ತಾವೇಜು AI ಅನುವಾದ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator) ಬಳಸಿ ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ನಿಖರತೆಯಿಗಾಗಿ ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೂ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ದೋಷಗಳು ಅಥವಾ ಅಸತ್ಯತೆಗಳು ಇರಬಹುದು ಎಂದು ದಯವಿಟ್ಟು ಗಮನಿಸಿ. ಮೂಲ ಭಾಷೆಯಲ್ಲಿರುವ ಮೂಲ ದಸ್ತಾವೇಜನ್ನು ಅಧಿಕೃತ ಮೂಲವೆಂದು ಪರಿಗಣಿಸಬೇಕು. ಮಹತ್ವದ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ತಪ್ಪು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವಿಕೆ ಅಥವಾ ತಪ್ಪು ವಿವರಣೆಗಳಿಗೆ ನಾವು ಹೊಣೆಗಾರರಾಗುವುದಿಲ್ಲ. +**ಡೆಸ್ಕ್ಲೇಮರ್**: +ಈ ಡಾಕ್ಯೂಮೆಂಟ್ ಅನ್ನು AI ಭಾಷಾಂತರ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator) ಬಳಸarak್ ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ನಿರ್ವಹಿಸುವಿದ್ದರೂ ಕೂಡ, ಸ್ವಯಂಚಾಲಿತ ಭಾಷಾಂತರಗಳಲ್ಲಿ ದೋಷಗಳು ಅಥವಾ ತಪ್ಪು ಮಾಹಿತಿಗಳು ಇರಬಹುದು ಎಂದು ದಯವಿಟ್ಟು ಗಮನಿಸಿ. ಮೂಲ ಡಾಕ್ಯೂಮೆಂಟ್ ತನ್ನ ತಾಯ್ನಾಡಿನ ಭಾಷೆಯಲ್ಲಿ ಅಧಿಕೃತ ಮೂಲವಾಗಿ ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ. ಗಂಭೀರ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಭಾಷಾಂತರವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದವನ್ನು ಬಳಸುವ ಮೂಲಕ ಉಂಟಾಗುವ ಯಾವುದೇ ಅಸಮಜಸ್ಟತೆಗಳು ಅಥವಾ ತಪ್ಪು ಅರ್ಥಗರ್ಭಿತತೆಗಳಿಗೆ ನಾವು ಹೊಣೆಗಾರರಲ್ಲ. \ No newline at end of file diff --git a/translations/kn/2-Regression/3-Linear/README.md b/translations/kn/2-Regression/3-Linear/README.md index 0d72c5136..b4cfd20dc 100644 --- a/translations/kn/2-Regression/3-Linear/README.md +++ b/translations/kn/2-Regression/3-Linear/README.md @@ -1,137 +1,136 @@ -# ಸ್ಕೈಕಿಟ್-ಲರ್ನ್ ಬಳಸಿ ರೆಗ್ರೆಷನ್ ಮಾದರಿಯನ್ನು ತಯಾರಿಸುವುದು: ರೆಗ್ರೆಷನ್ ನಾಲ್ಕು ವಿಧಾನಗಳು +# Scikit-learn ಬಳಸಿ ರೆಗ್ರೆಷನ್ ಮಾದರಿ ರಚಿಸಿ: ನಾಲವಾರು ರೆಗ್ರೆಷನ್ ರೀತೆಗಳು -## ಪ್ರಾರಂಭಿಕ ಟಿಪ್ಪಣಿ +## ಆರಂಭಿಕ ಗಮನಿಕೆ -ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ ಅನ್ನು ನಾವು **ಸಂಖ್ಯಾತ್ಮಕ ಮೌಲ್ಯ** (ಉದಾಹರಣೆಗೆ, ಮನೆ ಬೆಲೆ, ತಾಪಮಾನ ಅಥವಾ ಮಾರಾಟ) ಅನ್ನು ಊಹಿಸಲು ಬಯಸುವಾಗ ಬಳಸಲಾಗುತ್ತದೆ. -ಇದು ಇನ್ಪುಟ್ ವೈಶಿಷ್ಟ್ಯಗಳು ಮತ್ತು ಔಟ್‌ಪುಟ್ ನಡುವಣ ಸಂಬಂಧವನ್ನು ಉತ್ತಮವಾಗಿ ಪ್ರತಿನಿಧಿಸುವ ಸರಳ ರೇಖೆಯನ್ನು ಹುಡುಕುವುದರಿಂದ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. +ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ ಅನ್ನು ನಮಗೆ **ಸಂಖ್ಯಾತ್ಮಕ ಮೌಲ್ಯವನ್ನು** (ಉದಾಹರಣೆಗೆ, ಮನೆಯ ಬೆಲೆ, ತಾಪಮಾನ, ಅಥವಾ ಮಾರಾಟ) ಮೊತ್ತ предಿಕ್ಟ್ ಮಾಡಲು ಬಳಸದಾಗ ಬಳಸಲಾಗುತ್ತದೆ. +ಇದು ಇನ್ಪುಟ್ ವೈಶಿಷ್ಟ್ಯಗಳ ಮತ್ತು ಔಟ್‌ಪುಟ್ ನಡುವಿನ ಸಂಬಂಧವನ್ನು ಅತ್ಯುತ್ತಮವಾಗಿ ಪ್ರತಿನಿಧಿಸುವ ಸರಳ ರೇಖೆಯನ್ನು ಕಂಡುಹಿಡಿಯುವುದರ ಮೂಲಕ ಕೆಲಸ ಮಾಡುತ್ತದೆ. -ಈ ಪಾಠದಲ್ಲಿ, ನಾವು ಹೆಚ್ಚು ಮುಂದುವರಿದ ರೆಗ್ರೆಷನ್ ತಂತ್ರಗಳನ್ನು ಪರಿಶೀಲಿಸುವ ಮೊದಲು ಕನ್ಸೆಪ್ಟ್ ಅನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದರ ಮೇಲೆ ಗಮನಹರಿಸುತ್ತೇವೆ. -![ಲೀನಿಯರ್ ಮತ್ತು ಪೊಲಿನೋಮಿಯಲ್ ರೆಗ್ರೆಷನ್ ಇನ್ಫೋಗ್ರಾಫಿಕ್](../../../../translated_images/kn/linear-polynomial.5523c7cb6576ccab.webp) -> ಇನ್ಫೋಗ್ರಾಫಿಕ್ [ದಾಸನಿ ಮಡಿಪಳ್ಳಿ](https://twitter.com/dasani_decoded) ಅವರಿಂದ -## [ಪೂರ್ವ-ಲೆಕ್ಚರ್ ಕ್ವಿಜ್](https://ff-quizzes.netlify.app/en/ml/) +ಈ ಪಾಠದಲ್ಲಿ, ನಾವು ಹೆಚ್ಚು ಪ್ರಗತಿಶೀಲ ರೆಗ್ರೆಷನ್ ತಂತ್ರಗಳ ಅನ್ವೇಷಣೆಗೆ ಮೊದಲು ಆ ಕಲ್ಪನೆಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಕೇಂದ್ರಿತವಾಗಿದ್ದೇವೆ. +![ಲೀನಿಯರ್ ವಿರುದ್ಧ ಪಾಲಿನೋಮಿಯಲ್ ರೆಗ್ರೆಷನ್ ಇನ್ಫೋಗ್ರಾಫಿಕ್](../../../../translated_images/kn/linear-polynomial.5523c7cb6576ccab.webp) +> ಇನ್ಫೋಗ್ರಾಫಿಕ್: [ದಾಸನಿ ಮಡಿಪಳ್ಳಿ](https://twitter.com/dasani_decoded) +## [ಪೂರ್ವ-ವರ್ಗ ಪ್ರಶ್ನೋತ್ತರ](https://ff-quizzes.netlify.app/en/ml/) -> ### [ಈ ಪಾಠ R ಭಾಷೆಯಲ್ಲಿ ಲಭ್ಯವಿದೆ!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html) -### ಪರಿಚಯ +> ### [ಈ ಪಾಠವು R ನಲ್ಲಿ ಲಭ್ಯವಿದೆ!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html) +### ಪರಿಚಯ -ಇಲ್ಲಿಯವರೆಗಿನಂತೆ ನೀವು ರೆಗರೇಶನ್ ಏನೆಂದು ತಿಳಿದುಕೊಂಡಿದ್ದೀರಿ ಮತ್ತು ಇದು ನಾವು ಈ ಪಾಠದಲ್ಲಿ ಬಳಸಲಿರುವ ಕಡಲೆಕಾಯಿ ಬೆಲೆಗಳ ಡೇಟಾಸೆಟ್‌ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಿರುವ ಮಾದರಿ ಡೇಟಾದೊಂದಿಗೆ ಆಗಿತ್ತು. ನೀವು ಇದನ್ನು ಮೆಟ್ಪ್ಲಾಟ್‌ಲಿಬ್ ಬಳಸಿ ದೃಶ್ಯೀಕರಿಸಿರುವಿರಿ. +ಈವರೆಗೂ ನೀವು ರೆಗ್ರೆಷನ್ ಎಂದರೇನು ಎಂದು ಪಂಪ್‌ಕಿನ್ ಬೆಲೆ ನಿಗಧಿ ಡೇಟಾ ಸೆಟ್‌ನ ಮಾದರಿ ಡೇಟಾವನ್ನು ಬಳಸಿಕೊಂಡು ಅನ್ವೇಷಿಸಿದ್ದು, ಅದನ್ನು Matplotlib ಬಳಸಿ ದೃಶ್ಯೀಕರಿಸಿರುವಿರಿ. -ಈಗ ನೀವು ಎಂಎಲ್ ನ ರೆಗ್ರೆಷನನ್ನು ಇನ್ನೂ ಆಳವಾಗಿ ಅಧ್ಯಯನ ಮಾಡಲು ಸಿದ್ಧರಾಗಿದ್ದೀರಿ. ದೃಶ್ಯೀಕರಣವು ಡೇಟಾವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಸಹಾಯಮಾಡುತ್ತದೆ ಆದರೆ ಯಥಾರ್ಥ ಶಕ್ತಿ ಮಷೀನ್ ಲರ್ನಿಂಗಿನಲ್ಲಿ ಬರುತ್ತದೆ _ಮಾಡೆಲ್ಗಳನ್ನು ತರಬೇತುಗೊಳಿಸುವುದರಿಂದ_. -ಮಾಡೆಲ್ಗಳು ಇತಿಹಾಸದ ಡೇಟಾದಲ್ಲಿ ತರಬೇತುಗೊಳ್ಳುತ್ತವೆ ಮತ್ತು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಡೇಟಾ ಅವಲಂಬನೆಗಳನ್ನು ಹಿಡಿದುಕೊಳ್ಳುತ್ತವೆ, ಮತ್ತು ಹೊಸ ಡೇಟಾಗೆ ಫಲಿತಾಂಶಗಳನ್ನು ಊಹಿಸಲು ಸಹಾಯಮಾಡುತ್ತವೆ, ಇದು ಮಾಡೆಲು ಹಿಂದಿನಿಂದಲೇ ನೋಡುವುದಿಲ್ಲ. +ಈಗ ನೀವು ಮೆಷಿನ್ ಲರ್ನಿಂಗ್‌ಗಾಗಿ ರೆಗ್ರೆಷ್ನ್ ಮಾಡಲು ಇನ್ನಷ್ಟು ಆಳಕ್ಕೆ ಹೋಗಲು ಸಿದ್ಧರಿದ್ದು. ದೃಶ್ಯೀಕರಣದಿಂದ ಡೇಟಾವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬಹುದು, ಆದರೆ ಮೆಷಿನ್ ಲರ್ನಿಂಗ್‌ನ ನಿಜವಾದ ಶಕ್ತಿ _ಮಾದರಿಗಳನ್ನು ತರಬೇತಿಮಾಡುವುದರಿಂದ_ ಬರುತ್ತದೆ. ಮಾದರಿಗಳನ್ನು ಇತಿಹಾಸದ ಡೇಟಾಬನ್ನ ಮೇಲೆ ತರಬೇತಿಮಾಡಲಾಗುತ್ತದೆ, ಇದು ಸ್ವಯಂಕ್ರಿಯವಾಗಿ ಡೇಟಾ ಅವಲಂಬನೆಗಳನ್ನು ಹಿಡಿದುಕೊಳ್ಳಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ ಮತ್ತು ಮಾದರಿ ಇತ್ತೀಚೆಗೆ ಕಾಣದ ಹೊಸ ಡೇಟಾ ಬಗ್ಗೆ ಭವಿಷ್ಯ ನುಡಿಸುವುದಕ್ಕೆ ಅನುಮತಿಸುತ್ತದೆ. -ಈ ಪಾಠದಲ್ಲಿ ನೀವು ಎರಡು ಪ್ರಕಾರದ ರೆಗ್ರೆಷನ್ಗಳ ಬಗ್ಗೆ ಹೆಚ್ಚು ತಿಳಿಯುತ್ತೀರಿ: _ಮೂಲಭೂತ ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್_ ಮತ್ತು _ಪೊಲಿನೋಮಿಯಲ್ ರೆಗ್ರೆಷನ್_, ಜೊತೆಯಲ್ಲಿ ಈ ತಂತ್ರಗಳ ಮೂಲ ಗಣಿತ. ಆ ಮಾದರಿಗಳು ವಿವಿಧ ಇನ್‌ಪುಟ್ ಡೇಟಾದ ಮೇಲೆ ಆಧರಿಸಿ ಕಡಲೆಕಾಯಿ ಬೆಲೆಗಳನ್ನು ಊಹಿಸಲು ನಮಗೆ ಸಹಾಯಮಾಡುತ್ತವೆ. +ಈ ಪಾಠದಲ್ಲಿ, ನೀವು ಎರಡು ವಿಧದ ರೆಗ್ರೆಷನ್‌ಗಳಿಗೆ ಹೆಚ್ಚಿನ ಅರಿವು ಪಡೆಯುತ್ತೀರಿ: _ಮೂಲ ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್_ ಮತ್ತು _ಪಾಲಿನೋಮಿಯಲ್ ರೆಗ್ರೆಷನ್_, ಮತ್ತು ಈ ತಂತ್ರಗಳ ಅಡಿಯಲ್ಲಿ ಕೆಲವು ಗಣಿತ ಸಹ ತಿಳಿಯಲಿದ್ದೀರಿ. ಆ ಮಾದರಿಗಳು ನಮಗೆ ಬಗೆಬಗೆಯ ಇನ್ಪುಟ್ ಡೇಟಾ ಆಧರಿಸಿ ಪಂಪ್‌ಕಿನ್ ಬೆಲೆಗಳನ್ನು ಭವಿಷ್ಯ ನುಡಿಸಲು ಸಹಾಯ ಮಾಡುವುದಾಗಿದೆ. -[![ML for beginners - Understanding Linear Regression](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "ML for beginners - Understanding Linear Regression") +[![ಬಿಗ್ನರ್ಸ್‌ಗಾಗಿ ML - ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "ಬಿಗ್ನರ್ಸ್‌ಗಾಗಿ ML - ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು") -> 🎥 ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ ಅನ್ನು ಸಂಕ್ಷಿಪ್ತವಾಗಿ ವಿಡಿಯೋ ಮೂಲಕ ನೋಡಲು ಮೇಲಿನ ಚಿತ್ರವನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ. +> 🎥 ಮೇಲಿನ ಚಿತ್ರವನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್‌ ಬಗ್ಗೆ ಚಿಕ್ಕ ವಿಡಿಯೋ ನೋಡಿ. -> ಈ ಕುರಿತ ಶಿಖರಣೆಯಲ್ಲಿ, ನಾವು ಗಣಿತದ ಕನಿಷ್ಠ ಜ್ಞಾನದನ್ನೇ ಊಹಿಸಿಕೊಂಡಿದ್ದು, ಬೇರೆ ಕ್ಷೇತ್ರಗಳಿಂದ ಬಂದ ಶಿಕ್ಷಣಾರ್ಥಿಗಳಿಗೆ ಸುಲಭವಾಗುವಂತೆ ಮಾಡಬೇಕಾಗಿದೆ, ಆದ್ದರಿಂದ ಟಿಪ್ಪಣಿಗಳು, 🧮 ಖಾತರಿಪಡಿಸುವ ಪದಗಳು, ರೇಖಾಚಿತ್ರಗಳು ಮತ್ತು ಇತರೆ ಕಲಿಕಾ ಟೂಲ್‌ಗಳನ್ನು ಗಮನಿಸಿ. +> ಈ ಪಠ್ಯಕ್ರಮದಾದ್ಯಾಂತ, ನಾವು ಗಣಿತದ ಅಲ್ಪ ಕೌಶಲ್ಯAssume ಮಾಡುತ್ತೇವೆ, ಮತ್ತು ಇತರ ಕ್ಷೇತ್ರಗಳಿಂದ ಬರುವ ವಿದ್ಯಾರ್ಥಿಗಳಿಗೆ ಈ ವಿಷಯವನ್ನು ಸುಲಭಗೊಳಿಸಲು ಟಿಪ್ಪಣಿಗಳು, 🧮 ಪ್ರಶ್ನೆಗಳು, ಚಿತ್ರ, ಮತ್ತು ಇತರ ಅಧ್ಯಯನ ಸಾಧನಗಳನ್ನು ನೀಡುತ್ತೇವೆ. -### ಪೂರ್ವಾ ಅವಶ್ಯಕತೆ +### ಪೂರ್ವಾಪೇಕ್ಷಿತ -ನೀವು ಈಗಾಗಲೆ ಈ ಪಾಠದ ಕಡಲೆಕಾಯಿ ಡೇಟಾ ರಚನೆಯೊಂದಿಗೆ ಪರಿಚಿತರಾಗಿದ್ದೀರಿ. ಈ ಡೇಟಾ ಪೂರ್ವaload ಮಾಡಲ್ಪಟ್ಟಿರುವುದು ಮತ್ತು ಪೂರ್ವ-ಶುದ್ಧೀಕರಿಸಲ್ಪಟ್ಟಿದ್ದು ಈ ಪಾಠದ _notebook.ipynb_ ಫೈಲ್‌ನಲ್ಲಿ ಇದೆ. ಫೈಲ್‌ನಲ್ಲಿ ಕಡಲೆಕಾಯಿ ಬೆಲೆ ಹೊಸ ಡೇಟಾ ಫ್ರೇಮ್‌ನಲ್ಲಿ ಪ್ರತಿ ಬுஷೆಲ್‌ಗೆ ಪ್ರದರ್ಶಿಸಲಾಗಿದೆ. Visual Studio Code‌ನಲ್ಲಿ kernels ನಲ್ಲಿ ಈ ನೋಟ್ಬುಕ್‌ಗಳನ್ನು ನಡಿಸಲು ನೀವು ಸಾಧ್ಯವಾಗಬೇಕು. +ಈಗವರೆಗೆ ನೀವು ಪರಿಶೀಲಿಸುತ್ತಿರುವ ಪಂಪ್‌ಕಿನ್ ಡೇಟಾದ ರಚನೆಗೆ ಪರಿಚಿತರಾಗಿರಬೇಕು. ಈ ಪಾಠದ _notebook.ipynb_ ಫೈಲ್ ಒಳಗೆ ಈ ಡೇಟಾವನ್ನು ಪೂರ್ವಲೋಡ್ ಮತ್ತು ಪೂರ್ವ-ಶುದ್ಧೀಕರಣ ಮಾಡಲಾಗಿದೆ. ಫೈಲ್‌ನಲ್ಲಿ ಪಂಪ್‌ಕಿನ್ ಬೆಲೆ ಪ್ರತಿಬುಷೆಲ್ ಪ್ರದರ್ಶನ ಮಾಡಲಾಗಿದೆ. Visual Studio Code ಕಫ್ kernel ಕ್ಕೆ ಈ ನೋಟ್ಬುಕ್ ರನ್ನಿಂಗ್ ಮಾಡಬಹುದಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ. ### ತಯಾರಿ -ಮತ್ತೆ ನೆನಪಿಸಿಕೊಳ್ಳಿ, ನೀವು ಈ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು ಇದನ್ನು ಲೋಡ್ ಮಾಡುತ್ತಿದ್ದೀರಿ ಮತ್ತು ಅದರಿಂದ ಪ್ರಶ್ನೆಗಳನ್ನು ಕೇಳಲು. +ಮತ್ತೆ ಸ್ಮರಣೆಗಾಗಿ, ನೀವು ಈ ಡೇಟಾವನ್ನು ಲೋಡ್ ಮಾಡಿದ್ದೀರಿ ಅದರಿಂದ ಪ್ರಶ್ನೆಗಳನ್ನು ಕೇಳಲು. -- ಕಡಲೆಕಾಯಿಗಳನ್ನು ಖರೀದಿಸಲು ಉತ್ತಮ ಸಮಯ ಯಾವುದು? -- ಸಣ್ಣ ಕಡಲೆಕಾಯಿ ಸಂಕೆಯಲ್ಲಿ ಬೆಲೆ ಎಷ್ಟು ನಿರೀಕ್ಷಿಸಬಹುದು? -- ಅವುಗಳನ್ನು ಅರ್ಧ ಬಷೆಲ್ ಟೋकरಿ ಅಥವಾ 1 1/9 ಬಷೆಲ್ ಬಾಕ್ಸ್‌ನಲ್ಲಿ ಖರೀದಿಸಬೇಕೆ? -ನಾವು ಈ ಡೇಟಾದಲ್ಲಿ ಇನ್ನೂ ಆಳವಾಗಿ ತಿದ್ದಿ ನೋಡೋಣ. +- ಯಾವ ಸಮಯದಲ್ಲಿ ಪಂಪ್‌ಕಿನ್‌ಗಳನ್ನು ಖರೀದಿಸುವುದು ಉತ್ತಮ? +- ಚಿಕ್ಕ ಪಂಪ್‌ಕಿನ್‌ಗಳ ಒಂದು ಕೇಸ್ ಬೆಲೆ ಯಾವಾಗನು ನಿರೀಕ್ಷಿಸಬಹುದು? +- ನಾನು ಅವುಗಳನ್ನು ಅರ್ಧ-ಬುಷೆಲ್ ಟೋಕರೆಗಳಲ್ಲಿಯೇ ಅಥವಾ 1 1/9 ಬುಷೆಲ್ ಬಾಕ್ಸ್‌ನಲ್ಲಿ ಖರೀದಿಸಬೇಕೇ? +ನಾವು ಈ ಡೇಟಾದನ್ನು ಮತ್ತಷ್ಟು ವಿಚಾರಿಸೋಣ. -ಹಿಂದಿನ ಪಾಠದಲ್ಲಿ, ನೀವು ಪಾಂಡಾಸ್ ಡೇಟಾ ಫ್ರೇಮ್ನ್ನು ಸೃಷ್ಟಿಸಿದಿರಿ ಮತ್ತು ಮೂಲ ಡೇಟಾಸೆಟ್‌ನ ಒಂದು ಭಾಗದಿಂದ ಅಂದರ್ಜಾಲದಲ್ಲಿ ಬಷೆಲ್ ಮೂಲಕ ಬೆಲೆಯನ್ನು ನಿಯಮಿತಗೊಳಿಸಿದ್ದೀರಿ. ಆದರೂ ಅದು ಕೇವಲ 400 ಡೇಟಾಪಾಯಿಂಟ್‌ಗಳಷ್ಟೇ ಮತ್ತು ಅದು ಸೀಮಿತವಾಗಿತ್ತು ಪತನ ಮಾಸಗಳ ಮೇಲೆ. +ಹಿಂದಿನ ಪಾಠದಲ್ಲಿ ನೀವು ಪ್ಯಾಂಡಾಸ್ ಡೇಟಾ ಫ್ರೇಮ್ ಸೃಷ್ಟಿಸಿ ಮೂಲ ಡೇಟಾಸೆಟ್‌ನ ಭಾಗದಿಂದ ಮೆಷ್‌ಮಾಡುವಂತೆ ಮಾಡಿದ್ದಿರಿ, ಬೆಲೆಯನ್ನಿಂದು ಬುಷೆಲ್ ಮೂಲಕ ಮಾನಕೀಕೃತ ಮಾಡಲಾಗಿತ್ತು. ಆದರೆ, ಇದರ ಮೂಲಕ ನೀವು ಸುಮಾರು 400 ಡೇಟಾಪಾಯಿಂಟ್ ಮಾತ್ರ ಸಂಗ್ರಹಿಸಿದ್ದೀರಿ ಮತ್ತು ಕೇವಲ ಅದು ಸರ್ಫ್ ಹಂತದ ತಿಂಗಳುಗಳಿಗೆ ಸಂಬಂಧಿಸಿದೆ. -ಈ ಪಾಠದ ಜೊತೆಗೆ ಲೋಡ್ ಮಾಡಲಾದ ಡೇಟಾದ ನೋಡಿ. ಡೇಟಾವನ್ನು ಪೂರ್ವaload ಮಾಡಲಾಗಿದೆ ಮತ್ತು ಮೊದಲ scatterplot ತಿಂಗಳು ಡೇಟಾವನ್ನು ತೋರಿಸಲು ರೇಖಾಚಿತ್ರ ಮಾಡಲಾಗಿದೆ. ಡೇಟಾ ನಿರ್ಮಲಗೊಳಿಸುವ ಮೂಲಕ ಅದು ಇನ್ನಷ್ಟು ವಿವರಗಳನ್ನು ಕೊಡಬಹುದಾಗಿದೆ. +ಈ ಪಾಠದ ಸಹಾಯಕ ನೋಟ್ಬುಕ್‌ನಲ್ಲಿ ನಾವು ಪೂರ್ವತಃ ಲೋಡ್ ಮಾಡಿರುವ ಡೇಟಾವನ್ನೂ ನೋಡಿ. ಡೇಟಾ ಪೂರ್ವಲೋಡ್ ಆಗಿದೆ ಮತ್ತು ಪ್ರಾಥಮಿಕ ಸ್ಕ್ಯಾಟರ್‌ಪ್ಲಾಟ್ ತಿಂಗಳ ಡೇಟಾವನ್ನು ತೋರಿಸಲು ಚಾರ್ಟ್ ಮಾಡಲಾಗಿದೆ. ಡೇಟಾದ ಸ್ವರೂಪವನ್ನು ಇನ್ನಷ್ಟು ವಿವರವಾಗಿ ತಿಳಿಯಲು ಇದನ್ನು ಮತ್ತಷ್ಟು ಶುದ್ಧೀಕರಿಸಿಕೊಂಡು ನೋಡಬಹುದು. -## ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ ರೇಖೆ +## ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ ರೇಖೆ -ಪಾಠ 1ರಲ್ಲಿ ಕಲಿತದ್ದರಂತೆ, ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ ವ್ಯಾಯಾಮದ ಉದ್ದೇಶ: +ಪಾಠ 1 ರಲ್ಲಿ ಕಲಿತಂತೆ, ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ ವ್ಯಾಯಾಮದ ಗುರಿ ಬರಿ: -- **ಚರದ ನಡುವಣ ಸಂಬಂಧ ತೋರಿಸುವುದು**. ಚರಗಳ ನಡುವೆ ಸಂಬಂಧವನ್ನು ತೋರಿಸಿ -- **ಭವಿಷ್ಯವಾಣಿ ಮಾಡುವುದು**. ಹೊಸ ಡೇಟಾಪಾಯಿಂಟು ಆ ರೇಖೆಯ ಎಲ್ಲಿ ಬರುತ್ತದೆ ಎಂದು ಸರಿಯಾಗಿ ಊಹಿಸಲು +- **ಚರ ವೈಶಿಷ್ಟ್ಯಗಳ ಸಂಬಂಧ ತೋರಿಸುವುದು**. ವ್ಯತ್ಯಾಸಗಳಿಗೆ ಸಂಬಂಧವನ್ನು ತೋರಿಸುವುದು +- **ಭವಿಷ್ಯ ನುಡಿಸುವುದು**. ಹೊಸ ಡೇಟಾಪಾಯಿಂಟ್ ಲಭ್ಯವಾದಾಗ ಅದರ ಸ್ಥಾನವನ್ನು ಸರಿಯಾದ ರೀತಿಯಲ್ಲಿ ಕಂಡುಹಿಡಿಯುವುದು -**ಲೀಸ್ಟ್ಸ್ಕ್ವೇರ್ಸ್ ರೆಗ್ರೆಷನ್**‌ನಲ್ಲಿ ಸಾಮಾನ್ಯವಾಗಿ ಇಂತಹ ರೇಖೆಯನ್ನು ರೇಖೆಸುತ್ತಾರೆ. "ಲೀಸ್ಟ್ಸ್ಕ್ವೇರ್ಸ್" ಎಂಬ ಪದವು ನಮ್ಮ ಮಾದರಿಯಲ್ಲಿನ ತೊಂದರೆಯನ್ನು ಕನಿಷ್ಠಗೊಳಿಸುವ ಪ್ರಕ್ರಿಯೆಗೆ ಸೂಚನೆ ನೀಡುತ್ತದೆ. ಪ್ರತಿ ಡೇಟಾಪಾಯಿಂಟ್‌ಗಾಗಿ ನಾವು ವಾಸ್ತವಿಕ ಬಿಂದುವಿನ ಮತ್ತು ನಮ್ಮ ರೆಗ್ರೆಷನ್ ರೇಖೆಯ ನಡುವೆ ಲಂಬ ದೂರವನ್ನು (ಬಾಕಿ ಅಥವಾ ಶೇಷವೆಂದು ಕರೆಯಲಾಗುತ್ತದೆ) ಮಾಪಿಸುತ್ತೇವೆ. +**ಕನಿಷ್ಠ ವৰ্ঘ ರೇಖಾ ರೆಗ್ರೆಷನ್**ಗೆ ಈ ರೇಖೆಯನ್ನು ನಡೆಸುವುದು ವಿಶೇಷ. "ಕನಿಷ್ಠ ವರ್ಗ" ಪದಗಳು ನಮ್ಮ ಮಾದರಿಯ ಒಟ್ಟು ತಪ್ಪನ್ನು ಕನಿಷ್ಠಗೊಳಿಸುವ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸೂಚಿಸುತ್ತವೆ. ಪ್ರತಿಯೊಂದು ಡೇಟಾ ಪಾಯಿಂಟ್‌ಗಾಗಿ, ನಾವು ಲೆಕ್ಕ ಹಿಮ್ಮುಖ (ಅಗಲದ ದೂರ) ಅನ್ನು ಮಾಪಿಸಿಕೊಂಡು, ರೇಖೆಯ ಬಳಿ ಇರುವ ಅಕ್ಷಮತೆ (residual) ಅನ್ನು ಪರಿಗಣಿಸುತ್ತೇವೆ. -ಈ ದೂರಗಳನ್ನು ಎರಡು ಪ್ರಮುಖ ಕಾರಣಗಳಿಂದ ವರ್ಗಾಕಾರ ಮಾಡುತ್ತೇವೆ: +ಈ ದೂರಗಳನ್ನು ನಾವು ಎರಡು ಮುಖ್ಯ ಕಾರಣಗಳಿಗಾಗಿ ವರ್ಗಮಾಡುತ್ತೇವೆ: -1. **ದಿಕ್ಕಿನ ಮೇಲೆ ಮಹತ್ವಕ್ಕಿಂತ ಮಿತಿಮೀರುವುದರ ಮೇಲೆ ಗಮನ**: -5 ಎಂಬ ತಪ್ಪನ್ನು +5 ಎಂಬ ತಪ್ಪಿನಂತೆ ಟ್ರೀಟ್ ಮಾಡಬೇಕು. ವರ್ಗಾಕಾರವು ಎಲ್ಲ ಮೌಲ್ಯಗಳನ್ನು ಧನಾತ್ಮಕವಾಗಿಸುತ್ತದೆ. +1. **ದಿಕ್ಕಿನ ಮೇಲ್ಪಟ್ಟ ಮೆಚ್ಚುಗೆಯ ಪರಿಗಣನೆ:** -5 ಎಂಬ ತಪ್ಪು ಮತ್ತು +5 ಎಂಬ ತಪ್ಪು ಒಂದೇ ರೀತಿಯಾಗಿ ಪರಿಗಣಿಸಬೇಕಾಗಿದೆ. ವರ್ಗಮಾಡುವ ಮೂಲಕ ಎಲ್ಲ ಮೌಲ್ಯಗಳನ್ನು ಧನಾತ್ಮಕವೆಂದು ಮಾಡುವುದು. -2. **ಅಲೌಕಿಕ ಅಂಕಿಗಳನ್ನು ಶಿಕ್ಷಿಸುವುದು**: ಹೆಚ್ಚುವರಿ ತಪ್ಪುಗಳಿಗೆ ಹೆಚ್ಚು ತೂಕ ನೀಡುವುದರಿಂದ ರೇಖೆಯು ದೂರದ ಅಂಕಿಗಳ ಹತ್ತಿರ ಉಳಿಯಲು ಬಾಧ್ಯವಾಗುತ್ತದೆ. +2. **ಅತಿರಿಕ್ತ ದೂರಗಳ ದಂಡನೆ:** ವರ್ಗಘಾ ತುಟುಗಳಿಂದ ದೊಡ್ಡ ತಪ್ಪುಗಳಿಗೆ ಹೆಚ್ಚಿನ ತೂಕಂಬಿದಷ್ಟು, ರೇಖೆಯನ್ನು ದೂರ ಇರುವ ಅಂಕೆಗಳಿಗೆ ಹತ್ತಿರ ಇರಿಸಲು ಈ ಕ್ರಮ ಪ್ರೇರೇಪಿಸುತ್ತದೆ. -ನಂತರ ನಾವು ಈ ಎಲ್ಲಾ ವರ್ಗಾಕೃತ ಮೌಲ್ಯಗಳನ್ನು ಸೇರಿಸುತ್ತೇವೆ. ನಮ್ಮ ಗುರಿ ಈ ಅಂತಿಮ ಮೊತ್ತವನ್ನು ಕನಿಷ್ಠಗೊಳಿಸುವ ನಿರ್ದಿಷ್ಟ ರೇಖೆಯನ್ನು ಕಂಡುಹಿಡಿಯುವುದು — ಆದ್ದರಿಂದ "ಲೀಸ್ಟ್ಸ್ಕ್ವೇರ್ಸ್" ಎಂದು ಹೆಸರು. +ನಾವು ನಂತರ ಎಲ್ಲಾ ಇವುಗಳನ್ನು ಜೋಡಿಸುತ್ತೇವೆ. ನಮ್ಮ ಗುರಿ ಈ ಕೊನೆಗೂಡು ಕನಿಷ್ಟವಾಗಿದೆ ಎಂದು ಕಂಡುಹಿಡಿಯುವುದು — ಆದ್ದರಿಂದ "ಕನಿಷ್ಠ ವರ್ಗಗಳು" ಎಂದು ಹೆಸರಾಗಿದೆ. -> **🧮 ಗಣಿತವನ್ನೂ ತೋರಿಸಿ** -> -> ಈ ರೇಖೆಯನ್ನು, _最佳合适的线_ ಎಂದು ಕರೆಯುತ್ತಾರೆ ಹಾಗೂ ಅದನ್ನು [ಸಮೀಕರಣ](https://en.wikipedia.org/wiki/Simple_linear_regression) ಮೂಲಕ ವ್ಯಕ್ತಪಡಿಸಬಹುದು: -> +> **🧮 ಗಣಿತ ತೋರಿಸಿ** +> +> ಈ ರೇಖೆಯನ್ನು _ಉತ್ತಮ ಹೊಂದಾಣಿಕೆಯ ರೇಖೆ_ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ ಮತ್ತು ಅದನ್ನು [ಒಂದು ಸಮೀಕರಣದಿಂದ](https://en.wikipedia.org/wiki/Simple_linear_regression) ನಿರೂಪಿಸಬಹುದು: +> > ``` > Y = a + bX > ``` -> -> `X` 'ವಿವರಣೆಮಾಡುವ ಚರ' ಎಂದರೆ, `Y` 'ಆಧಾರಿತ ಚರ' ಎನ್ನುವುದು. ರೇಖೆಯ ಸ್ಲೋಪ್ ಅನ್ನು `b` ಮತ್ತು `a` ಅನ್ನು y-ಅಡ್ಡಕೋನ ಎಂದು ಕರೆಯುತ್ತಾರೆ, ಇದಕ್ಕೆ ಅರ್ಥವು `X = 0` ಆಗಿದ್ದಾಗ `Y`ರ ಮೌಲ್ಯ. -> ->![ಸ್ಲೋಪ್ಗೆ ಲೆಕ್ಕ ಹಾಕಿ](../../../../translated_images/kn/slope.f3c9d5910ddbfcf9.webp) -> -> ಮೊದಲಾಗಿ, ಸ್ಲೋಪ್ `b`ನ ಲೆಕ್ಕ ಹಾಕಿ. ಇನ್ಫೋಗ್ರಾಫಿಕ್ [ಜೆನ್ ಲೂಪರ್](https://twitter.com/jenlooper) ಅವರಿಂದ -> -> ಬೇರೊಂದು ಮಾತಿನಲ್ಲಿ, ಕಡಲೆಕಾಯಿ ಡೇಟಾದ ಮೂಲ ಪ್ರಶ್ನೆಯನ್ನು ಉಲ್ಲೇಖಿಸಿ: "ತಿಂಗಳ ಪ್ರತಿ ಬಷೆಲ್‌ಗೆ ಕಡಲೆಕಾಯಿ ಬೆಲೆಯನ್ನು ಊಹಿಸಿ", `X` ಬೆಲೆಗೆ ಮತ್ತು `Y` ಮಾರಾಟ ತಿಂಗಳಿಗೆ ಇದೆ. -> ->![ಸಮೀಕರಣ ಪೂರ್ಣಗೊಳಿಸಿ](../../../../translated_images/kn/calculation.a209813050a1ddb1.webp) -> -> Y ಮೌಲ್ಯ ಲೆಕ್ಕ ಹಾಕಿ. ನೀವು ಸುಮಾರು $4 ಅಂದರೆ ಅದು ಏಪ್ರಿಲ್ ಆಗಿರಬೇಕು! ಇನ್ಫೋಗ್ರಾಫಿಕ್ [ಜೆನ್ ಲೂಪರ್](https://twitter.com/jenlooper) ಅವರಿಂದ -> -> ರೇಖೆ ಲೆಕ್ಕ ಹಾಕುವ ಗಣಿತವು ರೇಖೆಯ ಸ್ಲೋಪ್ ಅನ್ನು ಮತ್ತು `X=0` ಆಗಿದ್ದಾಗ `Y` ಇಲ್ಲಿರುವ ಅಡ್ಡಕೋನವನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ. -> -> ಈ ಮೌಲ್ಯಗಳ ಲೆಕ್ಕಿಸುವ ವಿಧಾನವನ್ನು [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html) ವೆಬ್ ತಾಣದಲ್ಲಿ ನೋಡಬಹುದು. ಸಂಖ್ಯೆ ಮೌಲ್ಯಗಳು ರೇಖೆಯ ಮೇಲೆ ಹೇಗೆ ಪರಿಣಾಮ ಬೀರುತ್ತವೆ ಎಂಬುದನ್ನು ಹೀಗೆ [ಲೀಸ್ಟ್ಸ್ಕ್ವೇರ್ಸ್ ಕ್ಯಾಲ್ಕ್ಯುಲೆಟರ್](https://www.mathsisfun.com/data/least-squares-calculator.html) ನಲ್ಲಿ ನೋಡಬಹುದು. - -## ಸಹಸಂಬಂಧ - -ಮತ್ತೊಂದು ಪದವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬೇಕಿದೆ: ಕೊಟ್ಟಿರುವ X ಮತ್ತು Y ಚರಗಳ ನಡುವೆ **ಸಹಸಂಬಂಧಗಳ ಗುಣಸ್ತರ**. ಸ್ಕೆಟರ್ಪ್ಲಾಟ್ ಬಳಸಿ, ನೀವು ಈ ಗುಣಸ್ತರವನ್ನು ತ್ವರಿತವಾಗಿ ದೃಶ್ಯೀಕರಿಸಬಹುದು. ಸ್ಕೆಟರ್ಪ್ಲಾಟ್ ನಲ್ಲಿ ಡೇಟಾಪಾಯಿಂಟ್‌ಗಳು ಸರಳ ರೇಖೆಯಲ್ಲಿ ಕುಳಿತಿದ್ದರೆ ಸಹಸಂಬಂಧವು ಹೆಚ್ಚು, ಆದರೆ ಡೇಟಾಪಾಯಿಂಟ್‌ಗಳು ಎಲ್ಲೆಡೆ ಹರಡಿದ್ದರೆ ಸಮಾಲೋಚನೆಯು ಕಡಿಮೆ. - -ಒಳ್ಳೆಯ ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ ಮಾದರಿ ಏನೇನಾದರೂ, ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ ರೇಖೆಯ ಮೂಲಕ Least-Squares Regression ವಿಧಾನದಿಂದ ಬಲವಾದ (0ಕ್ಕಿಂತ 1 ಕ್ಕೆ ಹತ್ತಿರುವ) ಸಹಸಂಬಂಧ ಗುಣಸ್ತರ ಹೊಂದಿರುತ್ತದೆ. - -✅ ಈ ಪಾಠದ ಜೊತೆಗೆ ಕಂಪ್ಯೂಟ್ ಆಗುವ ನೋಟ್ಬುಕ್ ಅನ್ನು ಓಡಿಸಿ ಮತ್ತು ತಿಂಗಳು ಮತ್ತು ಬೆಲೆ ಸ್ಕೆಟರ್ಪ್ಲಾಟ್ ನೋಡಿರಿ. ನಿಮ್ಮ ದೃಶ್ಯಾತ್ಮಕ ವಿಶ್ಲೇಷಣೆಯ ಪ್ರಕಾರ, ಕಡಲೆಕಾಯಿ ಮಾರಾಟದ ತಿಂಗಳಿಂದ ಬೆಲೆಗೆ ಇರುವ ಡೇಟಾ ಸಾಕಷ್ಟು ಉತ್ತಮ ಅಥವಾ ಕಡಿಮೆ ಸಹಸಂಬಂಧ ಹೊಂದಿದೆಯೆ? ಮತ್ತು `Month` ಬದಲಿಗೆ ಹೆಚ್ಚು ಸೂಕ್ಷ್ಮ ಮಾಪನ, ಉದಾ. *ವರ್ಷದ ದಿನ* (ಅಂದರೆ ವರ್ಷ ಆರಂಭದಿಂದ ದಿನಗಳ ಸಂಖ್ಯೆ) ಉಪಯೋಗಿಸಿದರೆ ಏನಾದರೂ ಬದಲಾಗುತ್ತದೆಯೆ? - -ಕೆಳಗಿನ ಕೋಡ್‌ನಲ್ಲಿ, ನಾವು ಡೇಟಾವನ್ನು ಶುದ್ಧಗೊಳಿಸಿದ್ದು ಮತ್ತು ಹೀಗೊಂದು `new_pumpkins` ಎಂಬ ಡೇಟಾಫ್ರೇಮ್ ಹೊಂದಿದ್ದೇವೆಂದು ಊಹಿಸೋಣ. - -ID | Month | DayOfYear | Variety | City | Package | Low Price | High Price | Price ----|-------|-----------|---------|------|---------|-----------|------------|------- -70 | 9 | 267 | PIE TYPE | BALTIMORE | 1 1/9 bushel cartons | 15.0 | 15.0 | 13.636364 -71 | 9 | 267 | PIE TYPE | BALTIMORE | 1 1/9 bushel cartons | 18.0 | 18.0 | 16.363636 -72 | 10 | 274 | PIE TYPE | BALTIMORE | 1 1/9 bushel cartons | 18.0 | 18.0 | 16.363636 -73 | 10 | 274 | PIE TYPE | BALTIMORE | 1 1/9 bushel cartons | 17.0 | 17.0 | 15.454545 -74 | 10 | 281 | PIE TYPE | BALTIMORE | 1 1/9 bushel cartons | 15.0 | 15.0 | 13.636364 - -> ಡೇಟಾ ಶುರುಮಾಡಲು ಕೆಳಗಿನ [`notebook.ipynb`](notebook.ipynb) ಲಭ್ಯವಿದೆ. ನಾವು ಹಿಂದಿನ ಪಾಠದಲ್ಲಿ ಮಾಡಿದ ಹಾಗೆ ಅದೇ ಶುದ್ಧತೆಯ ಹಂತಗಳನ್ನು ಅನುಸರಿಸಿದ್ದೇವೆ ಮತ್ತು ಈ ರೀತಿಯ ಸೂಚನೆಯೊಂದಿಗೆ `DayOfYear` ಕಾಲಮ್ ಅನ್ನು ಲೆಕ್ಕಿಸಿದ್ದಾರೆ: +> +> `X` ಎಂಬುದು 'ವಿವರಣೆ ನಿರೂಪಿಸುವ ಚರ' ಮತ್ತು `Y` ಎಂಬುದು 'ಆಧಾರಿತ ಚರ'. ರೇಖೆಯ ತಿರುವು `b` ಆಗಿದ್ದು, `a` ಯ ಇತರ ಮೇಲೆ ಭೇದಾರ್ಹ. ಇದು `X = 0` ಆಗಿರುವಾಗ `Y` ಯ ಮೌಲ್ಯವನ್ನು ಸೂಚಿಸುತ್ತದೆ. +> +>![ತಿರುವಿನ ಲೆಕ್ಕಾಚಾರ](../../../../translated_images/kn/slope.f3c9d5910ddbfcf9.webp) +> +> ಮೊದಲು ತಿರುವು `b` ಲೆಕ್ಕಿಸಿ. ಇನ್ಫೋಗ್ರಾಫಿಕ್: [ಜೆನ್ ಲೂಪರ್](https://twitter.com/jenlooper) +> +> ಇನ್ನೊಂದು ಅರ್ಥದಲ್ಲಿ, ನಾವು ಪಡೆಯುತ್ತಿರುವ ಪಂಪ್‌ಕಿನ್ ಅಂಕಿ ನಿರೀಕ್ಷೆಯ ಪರಿಚಯ: "ತಿಂಗಳ ಪ್ರಕಾರ ಪ್ರಸಕ್ತ ಬೆಲೆ ಭವಿಷ್ಯ ನುಡಿಸಿ", ಇಲ್ಲಿ `X` ಬೆಲೆ ಮತ್ತು `Y` ಮಾರಾಟ ತಿಂಗಳವರಿಗೆ ಸೂಚಿಸುತ್ತದೆ. +> +>![ಸಮೀಕರಣ ಪೂರ್ಣಗೊಳಿಸಿ](../../../../translated_images/kn/calculation.a209813050a1ddb1.webp) +> +> `Y` ಮೌಲ್ಯವನ್ನು ಲೆಕ್ಕಿಸಿ. ನೀವು ಸುಮಾರು $4 ಕ್ಕಿಂತ ಪಾವತಿಸುತ್ತಿದ್ದರೆ ಅದು ಎಪ್ರಿಲ್ ಎಂದು ತಿಳಿದುಕೊಳ್ಳಿ! ಇನ್ಫೋಗ್ರಾಫಿಕ್: [ಜೆನ್ ಲೂಪರ್](https://twitter.com/jenlooper) +> +> ರೇಖೆಯ ಗಣಿತವು ರೇಖೆಯ ತಿರುವನ್ನು ತೋರಬೇಕು, ಇದು ಸಂಪರ್ಕದ ಮೇಲೆ ಅವಲಂಬಿತರಾಗಿದ್ದು, ಅಂದರೆ `X=0` ಆಗಿರುವಾಗ `Y` ಏಲ್ಲಿ ಇರುತ್ತದೆ ಎಂಬುದನ್ನು ಸೂಚಿಸುತ್ತದೆ. +> +> ಈ ಮೌಲ್ಯಗಳ ಲೆಕ್ಕಾಚಾರ ವಿಧಾನವನ್ನು [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html) ವೆಬ್‌ಸೈಟ್‌ನಲ್ಲಿ ಗಮನಿಸಿ. ಇನ್ನೊಂದು ಲಿಂಕ್ [ಕನಿಷ್ಠ ವರ್ಗಗಳ ಕ್ಯಾಲ್ಕುಲೇಟರ್‌](https://www.mathsisfun.com/data/least-squares-calculator.html) ಮೂಲಕ ಸಂಖ್ಯೆಗಳ ಮೌಲ್ಯಗಳು ರೇಖೆಯ ಮೇಲೆ ಹೇಗೆ ಪರಿಣಾಮ ಬೀರುತ್ತವೆ ಎಂಬುದನ್ನು ಗಮಿಸಬಹುದು. + +## ಸನ್ದರ್ಭ + +ಮತ್ತೊಂದು ಅರ್ಥೈಸಬೇಕಾದ ಪದವು ನೀಡಲಾದ X ಮತ್ತು Y ಚರಗಳ ಮಧ್ಯೆ ಇರುವ **ಸನ್ದರ್ಭ ಗುಣಾಂಕ**. ಸ್ಪಷ್ಟ ಪೋائن್ಟ್ ಮುಖಾಂತರ ಈ ಗುಣಾಂಕವನ್ನು ಸರ್‌ನಾಗಿ ದೃಶ್ಯೀಕರಿಸಬಹುದು. ಡೇಟಾ ಪಾಯಿಂಟ್‌ಗಳು ಚೆನ್ನಾಗಿ ಸರಳ ರೇಖೆಯಲ್ಲಿ ಬಂದರೆ, ಸನ್ದರ್ಭವು ಹೆಚ್ಚಾಗಿದೆ, ಆದರೆ ಪಾಯಿಂಟ್‌ಗಳು ಎಡಬಲಗೊಳ್ಳುವಾಗ ಸ್ವಲ್ಪ ಸನ್ದರ್ಭವಿರುತ್ತದೆ. + +ಉತ್ತಮ ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ ಮಾದರಿ ಯಾವುದು ಎಂದರೆ, ಕನಿಷ್ಠ ವರ್ಗ ರೇಖಾ ವಿಧಾನ ಬಳಸಿ ರೇಖ ನೀವಿಗ ორგანიზ್ಮುಳ್ಳ ಉತ್ತರ ಶಾಸಣೆ ಹೊಂದಿರುತ್ತದೆ. + +✅ ಈ ಪಾಠದೊಂದಿಗೆ ಲಭ್ಯವಿರುವ ನೋಟ್ಬುಕ್ ರನ್ ಮಾಡಿ ಮತ್ತು ತಿಂಗಳಿಂದ ಬೆಲೆಯ ಸ್ಕ್ಯಾಟರ್‌ಪ್ಲಾಟ್ ನೋಡಿ. ಪಂಪ್‌ಕಿನ್ ಮಾರಾಟದ ಚಟುವಟಿಕೆಯಲ್ಲಿ ಸಮಯ-ಬೆಲೆ ಸಂಬಂಧವು ವಿಭಿನ್ನ ಅಥವಾ ದೊಡ್ಡ ಸನ್ದರ್ಭವಿದೆಯೇ? ನೀವು ನಿಮ್ಮ ದೃಶ್ಯ ಇಂಟರ್ಫೆರ್ ಅನುಸರಿಸಿ ಹೇಳುವುದು? ನಿಮ್ಮ ಪ್ರಾತಿನಿಧ್ಯವನ್ನು 'ತಿಂಗಳ' ಬದಲು *वರ್ಷದ ದಿನ* (ಅಂದರೆ ವರ್ಷದ ಆರಂಭದಿಂದ ದಿನಗಳ ಸಂಖ್ಯೆ) ಬಳಸಿದರೆ ಏನಾಗುತ್ತದೆ? + +ಕೆಳಗಿನ ಕೋಡ್‌ನಲ್ಲಿ, ನಾವು ಡೇಟಾವನ್ನು ಶುದ್ಧೀಕರಿಸಿದ್ದೇವೆ ಎಂದು ಅಂದುಕೊಂಡು, `new_pumpkins` ಎಂಬ ಡೇಟಾ ಫ್ರೇಮ್ ದೊರೆತಿದೆ, ಹೀಗಿದೆ: + +ID | ತಿಂಗಳು | ದಿನಾಂಕ | ಪ್ರಕಾರ | ನಗರ | ಪ್ಯಾಕೇಜ್ | ಕಡಿಮೆ ಬೆಲೆ | ಹೆಚ್ಚಿನ ಬೆಲೆ | ಬೆಲೆ +---|--------|-------|---------|------|---------|----------|------------|----- +70 | 9 | 267 | ಪೈ ಟೈಪ್ | ಬಾಲ್ಟಿಮೋರ್ | 1 1/9 ಬುಷೆಲ್ ಕಾರ್ಟನ್ಸ್ | 15.0 | 15.0 | 13.636364 +71 | 9 | 267 | ಪೈ ಟೈಪ್ | ಬಾಲ್ಟಿಮೋರ್ | 1 1/9 ಬುಷೆಲ್ ಕಾರ್ಟನ್ಸ್ | 18.0 | 18.0 | 16.363636 +72 | 10 | 274 | ಪೈ ಟೈಪ್ | ಬಾಲ್ಟಿಮೋರ್ | 1 1/9 ಬುಷೆಲ್ ಕಾರ್ಟನ್ಸ್ | 18.0 | 18.0 | 16.363636 +73 | 10 | 274 | ಪೈ ಟೈಪ್ | ಬಾಲ್ಟಿಮೋರ್ | 1 1/9 ಬುಷೆಲ್ ಕಾರ್ಟನ್ಸ್ | 17.0 | 17.0 | 15.454545 +74 | 10 | 281 | ಪೈ ಟೈಪ್ | ಬಾಲ್ಟಿಮೋರ್ | 1 1/9 ಬುಷೆಲ್ ಕಾರ್ಟನ್ಸ್ | 15.0 | 15.0 | 13.636364 + +> ಡೇಟಾ ಶುದ್ಧೀಕರಣದ ಕೋಡ್ ಅನ್ನು [`notebook.ipynb`](notebook.ipynb) ನಲ್ಲಿ ನೋಡಬಹುದು. ಹಿಂದಿನ ಪಾಠದಂತೆ ಸ್ಟೆಪ್ಗಳನ್ನು ಮಾಡಿದ್ದೇವೆ, ಮತ್ತು ಕೆಳಗಿನ ಅಭಿವ್ಯಕ್ತಿಯನ್ನು ಬಳಸಿ `DayOfYear` ಕಾಲಮ್ ಲೆಕ್ಕಿಸಿದ್ದೇವೆ: ```python day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days) ``` - -ಈಗ ನೀವು ಲೀನಿಯರ್ ರೆಗ್ರೆಷನಿನ ಹಿಂದಿನ ಗಣಿತವನ್ನು ಅರ್ಥಮಾಡಿಕೊಂಡಿದ್ದೀರಿ, ನಾವು ಒಂದು ರೆಗ್ರೆಷನ್ ಮಾದರಿಯನ್ನು ಸೃಷ್ಟಿಸೋಣ, ಯಾವುದರಿಂದ ಕಡಲೆಕಾಯಿ ಪ್ಯಾಕೇಜುಗಳಲ್ಲಿ ಯಾವದು ಉತ್ತಮ ಬೆಲೆ ಕೊಡುತ್ತದೆ ಎಂದು ಊಹಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. ಹಿಂದಿನ ಹಬ್ಬದ ಕಡಲೆಕಾಯಿ ಪ್ಯಾಚ್ ಖರೀದಿಸುವವರು ತಮ್ಮ ಖರೀದಿಗಳನ್ನು ಉತ್ತಮಗೊಳಿಸಲು ಈ ಮಾಹಿತಿಯನ್ನು ಬಯಸಬಹುದು. -## ಸಹಸಂಬಂಧ ಹುಡುಕುವುದು +ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ ಹಿಂದೆ ಗಣಿತವನ್ನು ಅರ್ಥಮಾಡಿಕೊಂಡ ನಂತರ, ನಾವು ರೆಗ್ರೆಷನ್ ಮಾದರಿಯನ್ನು ರಚಿಸಿ ಯಾವ ಪಂಪ್‌ಕಿನ್ ಪ್ಯಾಕೇಜ್‌ನಲ್ಲಿ ಉತ್ತಮ ಬೆಲೆಗಳು ಇರಬಹುದೋ ಆನ್ನು ಭವಿಷ್ಯ ನುಡಿಸುವ ಪ್ರಯತ್ನ ಮಾಡೋಣ. ಹಬ್ಬದ ಪಂಪ್‌ಕಿನ್ ಪ್ಯಾಚ್‌ಗಾಗಿ ಖರೀದಿಸುವವರು ಇದನ್ನು ನೋಡಿಕೊಂಡು ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಬಹುದು. -[![ML for beginners - Looking for Correlation: The Key to Linear Regression](https://img.youtube.com/vi/uoRq-lW2eQo/0.jpg)](https://youtu.be/uoRq-lW2eQo "ML for beginners - Looking for Correlation: The Key to Linear Regression") +## ಸನ್ದರ್ಭ ಹುಡುಕುವುದು -> 🎥 ಸಹಸಂಬಂಧದ ಕುರಿತ ಸಂಕ್ಷಿಪ್ತ ವಿಡಿಯೋವನ್ನೂ ಮೇಲಿನ ಚಿತ್ರ ಕ್ಲಿಕ್ಕಿಸಿ ನೋಡಿ. +[![ಬಿಗ್ನರ್ಸ್‌ಗಾಗಿ ML - ಸನ್ದರ್ಭ ಹುಡುಕುವುದು: ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್‌ಗೆ ಕೀ](https://img.youtube.com/vi/uoRq-lW2eQo/0.jpg)](https://youtu.be/uoRq-lW2eQo "ಬಿಗ್ನರ್ಸ್‌ಗಾಗಿ ML - ಸನ್ದರ್ಭ ಹುಡುಕುವುದು: ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್‌ಗೆ ಕೀ") -ಹಿಂದಿನ ಪಾಠದಿಂದ ನೀವು ನೋಡಿರುವಿರಬಹುದು, ಬೇರೆಯಾದ ತಿಂಗಳುಗಳ ಸರಾಸರಿ ಬೆಲೆ ಹೀಗಿದೆ: +> 🎥 ಮೇಲಿನ ಚಿತ್ರವನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ ಸನ್ದರ್ಭ ಕುರಿತು ಚಿಕ್ಕ ವಿಡಿಯೋ ನೋಡಿ. -Average price by month +ಹಿಂದಿನ ಪಾಠದಲ್ಲಿ ನೀವು ನೋಡಿರಬಹುದು, ಬೇರೊಂದು ತಿಂಗಳ ಸರಾಸರಿ ಬೆಲೆ ಹೀಗಿದೆ: -ಇದರಿಂದ ನಾವು ಕಣ್ತುಂಬಿಕೊಳ್ಳಬಹುದು ಸಹಸಂಬಂಧವಿದೆ, ನಾವು ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ ಮಾದರಿಯನ್ನು ತರಬೇತುಮಾಡಿ `Month` ಮತ್ತು `Price` ಅಥವಾ `DayOfYear` ಮತ್ತು `Price` ನಡುವಣ ಸಂಬಂಧವನ್ನು ಊಹಿಸಲು ಪ್ರಯತ್ನಿಸಬಹುದು. ಕೆಳಗಿನ ಸ್ಕೆಟರ್ಪ್ಲಾಟ್ ಎರಡನೇ ಸಂಬಂಧವನ್ನು ತೋರಿಸುತ್ತದೆ: +ತಿಂಗಳ ಪ್ರಕಾರ ಸರಾಸರಿ ಬೆಲೆ -Scatter plot of Price vs. Day of Year +ಇದು ಕೆಲವು ಸನ್ದರ್ಭ ಇರುವುದು ತೋರುತ್ತದೆ, ಹೀಗಾಗಿ ನಾವು ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ ಮಾದರಿಯನ್ನು ತರಬೇತಿಮಾಡಿ `Month` ಮತ್ತು `Price`, ಅಥವಾ `DayOfYear` ಹಾಗೂ `Price` ನಡುವಿನ ಸಂಬಂಧವನ್ನು ಭವಿಷ್ಯ ನುಡಿಸಲು ಪ್ರಯತ್ನಿಸಬಹುದು. ಕೆಳಗಿನ ಸ್ಕ್ಯಾಟರ್ ಪ್ಲಾಟ್ ನಂತರದ ಸಂಬಂಧವನ್ನು ತೋರಿಸುತ್ತದೆ: -`corr` ಫಂಕ್ಷನ್ ಬಳಸಿ ಸಹಸಂಬಂಧವನ್ನು ನೋಡೋಣ: +ಬೆಲೆ ಮತ್ತು ವರ್ಷದ ದಿನಾಂಕದ ಸ್ಕ್ಯಾಟರ್ ಪ್ಲಾಟ್ + +`corr` ಫಂಕ್ಷನ್ನಿಂದ ಸನ್ದರ್ಭ ನೋಡೋಣ: ```python print(new_pumpkins['Month'].corr(new_pumpkins['Price'])) print(new_pumpkins['DayOfYear'].corr(new_pumpkins['Price'])) ``` - -`Month` ಅಂಕಗಳ ಸಹಸಂಬಂಧ -0.15 ಮತ್ತು `DayOfMonth` ಸಹಸಂಬಂಧ -0.17 ಇದಾಗಿದ್ದು ತಗ್ಗು ತೋರಿಸುತ್ತಿದೆ, ಆದರೆ ಇನ್ನೂ ಒಂದು ಪ್ರಮುಖ ಸಂಬಂಧ ಇರಬಹುದು. ಬೇರೆ ಬೇರೆ ಕಡಲೆಕಾಯಿ ವಿಧಗಳು ಬೆಲೆಗೆ ವಿಭಿನ್ನ ಗುಂಪು ರೂಪಿಸುತ್ತವೆ ಎಂದು ತೋರುತ್ತದೆ. ಈ ಊಹೆಯನ್ನು ದೃಢಪಡಿಸಲು, ಪ್ರತಿಯೊಂದು ಕಡಲೆಕಾಯಿ ವರ್ಗವನ್ನು ಬೇರೆ ಬಣ್ಣದಲ್ಲಿ ಹಿಡಿದು ಸ್ಕೆಟರ್ ಮಾಡೋಣ. `scatter` ಫಂಕ್ಷನ್‌ಗೆ `ax` ಪ್ಯಾರಾಮೀಟರ್ ನೀಡುವ ಮೂಲಕ ಎಲ್ಲಾ ಬಿಂದುಗಳನ್ನು ಒಂದೇ ಗ್ರಾಫ್‌ನಲ್ಲಿ ಬಿಡಬಹುದು: + +ಸನ್ದರ್ಭವು ಅಷ್ಟೇ ಕಡಿಮೆ (-0.15 ತಿಂಗಳು ಮತ್ತು -0.17 ವರ್ಷದ ದಿನಾಂಕ) ಆಗಿದೆ, ಆದರೆ ಬೇರೆ ಮಹತ್ವದ ಸಂಬಂಧ ಇರಬಹುದು. ವೈವಿಧ್ಯಮಯ ಪಂಪ್‌ಕಿನ್ ಪ್ರಕಾರಗಳಿಗೆ ಸಂಬಂಧಿಸಿದ ಬೆಲೆಗಳ ಗುಂಪುಗಳು ಇವೆ. ಈ ಊಹೆಯನ್ನು ಖಚಿತಪಡಿಸಲು, ಪ್ರತಿಯೊಂದು ವರ್ಗವನ್ನು ಬೇರೆಯ ಬಣ್ಣದಲ್ಲಿ ಚಿತ್ರೀಕರಿಸೋಣ. `scatter` ಫಂಕ್ಷನ್‌ಗೆ `ax` ಪರಾಮಿತಿ ನೀಡುವ ಮೂಲಕ ಎಲ್ಲಾ ಅಂಕೆಗಳನ್ನು ಒಂದೇ ರೇಖೆಯ ಮೇಲೆಯೇ ಬಿಡಬಹುದು: ```python ax=None @@ -140,75 +139,75 @@ for i,var in enumerate(new_pumpkins['Variety'].unique()): df = new_pumpkins[new_pumpkins['Variety']==var] ax = df.plot.scatter('DayOfYear','Price',ax=ax,c=colors[i],label=var) ``` - -Scatter plot of Price vs. Day of Year -ನಮ್ಮ ಪರಿಶೀಲನೆಯು ಸೂಚಿಸುತ್ತದೆ, ಕಡಲೆಕಾಯಿ ವಿಧವು ಮಾರಾಟ ದಿನಾಂಕಕ್ಕಿಂತ ಹೆಚ್ಚು ಬೆಲೆಗೆ ಪ್ರಭಾವ ಬೀರುತ್ತದೆ. ಇದನ್ನು ಬಾರ್ ಗ್ರಾಫ್‌ನಲ್ಲಿ ಕಾಣಬಹುದು: +ಬೆಲೆ ಮತ್ತು ವರ್ಷದ ದಿನಾಂಕದ ಬಣ್ಣದ ಸ್ಕ್ಯಾಟರ್ ಪ್ಲಾಟ್ + +ನಮ್ಮ ಪರಿಶೀಲನೆ ಪ್ರಕಾರ, ವೈವಿಧ್ಯತೆ ಮಾರಾಟ ದಿನಾಂಕಕ್ಕಿಂತ ಬೆಲೆಗೆ ಹೆಚ್ಚು ಪ್ರಭಾವ ಬೀರುತ್ತದೆ. ಇದನ್ನು ಬಾರ್ ಗ್ರಾಫ್ ಮೂಲಕ ನೋಡಬಹುದು: ```python new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar') ``` - -Bar graph of price vs variety -ಈಗ ನಾವು ಒಂದು ಕಡಲೆಕಾಯಿ ವಿಧವಾಗಿಯೇ ('ಪೈ ಟೈಪ್') ಗಮನಕೊಡೋಣ ಮತ್ತು ದಿನಾಂಕದ ಬೆಲೆಗೆ ಪರಿಣಾಮ ಎಷ್ಟು ನೋಡಿ: +ಬೆಲೆ ಮತ್ತು ವೈವಿಧ್ಯತೆಯ ಬಾರ್ ಗ್ರಾಫ್ + +ನಾವು ಈಗ 'ಪೈ ಟೈಪ್' ಎನ್ನುವ ಒಂದೇ ಪಂಪ್‌ಕಿನ್ ಪ್ರಕಾರದ ಮೇಲೆ ಗಮನ ಹರಿಸಿ, ದಿನಾಂಕ ಬೆಲೆಗೆ ಹೇಗೆ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ ನೋಡಿ: ```python pie_pumpkins = new_pumpkins[new_pumpkins['Variety']=='PIE TYPE'] pie_pumpkins.plot.scatter('DayOfYear','Price') ``` -Scatter plot of Price vs. Day of Year +ಬೆಲೆ ಮತ್ತು ವರ್ಷದ ದಿನಾಂಕದ ಸ್ಕ್ಯಾಟರ್ ಪ್ಲಾಟ್ -ಈಗ `corr` ಫಂಕ್ಷನ್ ಬಳಸಿ `Price` ಮತ್ತು `DayOfYear` ನಡುವಣ ಸಹಸಂಬಂಧ ಲೆಕ್ಕಿಸಿದರೆ, `-0.27` ಲಕ್ಷ್ಯನ್ಸ್ - ಇದು ಊಹಿಸುವ ಮಾದರಿಯನ್ನು ತರಬೇತುಮಾಡುವುದು ಅರ್ಥಪೂರ್ಣವೆಂದು ಸೂಚಿಸುತ್ತದೆ. +`Price` ಮತ್ತು `DayOfYear` ನಡುವಿನ ಸನ್ದರ್ಭವನ್ನು `corr` ಫಂಕ್ಷನ್ ಅನುಷ್ಠಾನ ಮಾಡಬಹುದು, ಇದು ಇದ್ದಕ್ಕಿದ್ದಂತೆ `-0.27` ಅನ್ನು ನೀಡುತ್ತದೆ — ಇದು ಭವಿಷ್ಯ ರೂಪರೇಷೆಯ ತರಬೇತಿ ಉಚಿತವನ್ನಾಗಿಸುತ್ತದೆ. -> ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ ಮಾದರಿಯನ್ನು ತರಬೇತು ಮಾಡಿಕೊಳ್ಳೋ ಮೊದಲು, ಡೇಟಾ ಶುದ್ಧವಾಗಿರಬೇಕು. ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ ಖಾಲಿ ಮೌಲ್ಯಗಳೊಂದಿಗೆ ಚೆನ್ನಾಗಿ ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ಖಾಲಿ ಸೆಲುಗಳನ್ನು ತೆಗೆದುಹಾಕುವುದು ಸೂಕ್ತ. +> ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ ತರಬೇতি ಮುಂಚೆ, ಡೇಟಾ ಸ್ವಚ್ಛವಾಗಿದೆ ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು ಪ್ರಕೃತಿ. ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ ಖಾಲಿ ಮೌಲ್ಯಗಳೊಂದಿಗೆ ಚೆನ್ನಾಗಿಲ್ಲ, ಆದ್ದರಿಂದ ಖಾಲಿ ಸೆಲ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕುವುದು ಸೂಕ್ತ. ```python pie_pumpkins.dropna(inplace=True) pie_pumpkins.info() ``` - -ಮತ್ತೊಂದು ವಿಧಾನವೆಂದರೆ ಖಾಲಿ ಮೌಲ್ಯಗಳನ್ನು ಪ್ರತಿಯೊಂದು ಕಾಲಮ್-ನ ಸರಾಸರಿ ಮೌಲ್ಯಗಳಿಂದ ತುಂಬಿಸುವುದು. + +ಇನ್ನೊಂದು ಮಾರ್ಗವು ಅವುಗಳ ಶೂನ್ಯ ಮೌಲ್ಯಗಳನ್ನು ಅವುಗಳ ಕಾಲಮ್‌ನ ಸರಾಸರಿ ಮೌಲ್ಯಗಳಿಂದ ತುಂಬುವುದಾಗಿದೆ. ## ಸರಳ ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ -[![ML for beginners - Linear and Polynomial Regression using Scikit-learn](https://img.youtube.com/vi/e4c_UP2fSjg/0.jpg)](https://youtu.be/e4c_UP2fSjg "ML for beginners - Linear and Polynomial Regression using Scikit-learn") +[![ಬಿಗ್ನರ್ಸ್‌ಗಾಗಿ ML - Scikit-learn ಬಳಸಿ ಲೀನಿಯರ್ ಮತ್ತು ಪಾಲಿನೋಮಿಯಲ್ ರೆಗ್ರೆಷನ್](https://img.youtube.com/vi/e4c_UP2fSjg/0.jpg)](https://youtu.be/e4c_UP2fSjg "ಬಿಗ್ನರ್ಸ್‌ಗಾಗಿ ML - Scikit-learn ಬಳಸಿ ಲೀನಿಯರ್ ಮತ್ತು ಪಾಲಿನೋಮಿಯಲ್ ರೆಗ್ರೆಷನ್") -> 🎥 ಲೀನಿಯರ್ ಮತ್ತು ಪೊಲಿನೋಮಿಯಲ್ ರೆಗ್ರೆಷನ್ ಬಗ್ಗೆ ಸಂಕ್ಷಿಪ್ತ ವಿಡಿಯೋವನ್ನು ಮೇಲಿನ ಚಿತ್ರ ಕ್ಲಿಕ್ ಮಾಡಿ ನೋಡಿ. +> 🎥 ಮೇಲಿನ ಚಿತ್ರವನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ ಲೀನಿಯರ್ ಮತ್ತು ಪಾಲಿನೋಮಿಯಲ್ ರೆಘ್ರೆಷನ್ ಸಂಕ್ಷಿಪ್ತ ವಿಡಿಯೋ ನೋಡಿ. -ನಮ್ಮ ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ ಮಾದರಿಯನ್ನು ತರಬೇತು ಮಾಡುವುದಕ್ಕೆ ನಾವು **ಸ್ಕೈಕಿಟ್-ಲರ್ನ್** ಲೈಬ್ರರಿಯನ್ನು ಬಳಸಲಿದ್ದೇವೆ. +ನಮ್ಮ ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ ಮಾದರಿಯನ್ನು ತರಬೇತಿ ಮಾಡಲು, ನಾವು **Scikit-learn** ಲೈಬ್ರರಿ ಬಳಸದಿದ್ದೇವೆ. ```python from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error from sklearn.model_selection import train_test_split ``` - -ನಾವು ಮೊದಲಿಗೆ ಇನ್‌ಪುಟ್ ಮೌಲ್ಯಗಳನ್ನು (ವೈಶಿಷ್ಟ್ಯಗಳು) ಮತ್ತು ನಿರೀಕ್ಷಿತ ಔಟ್‌ಪುಟ್ (ಲೇಬಲ್) ಅನ್ನು ವಿಭಜಿಸಿ numpy ಅರೆಗಳಲ್ಲಿ ಇಡುತ್ತೇವೆ: + +ಇನ್ಪುಟ್ ಮೌಲ್ಯಗಳು (ಫೀಚರ್ಸ್) ಮತ್ತು ನಿರೀಕ್ಷಿತ ಔಟ್‌ಪುಟ್ (ಲೇಬಲ್) ಅನ್ನು ವಿಭಜಿಸಿ numpy ಅರೆಗಳಾಗಿಸೋಣ: ```python X = pie_pumpkins['DayOfYear'].to_numpy().reshape(-1,1) y = pie_pumpkins['Price'] ``` - -> ಗಮನಿಸಿ, ನಾವು ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ ಪ್ಯಾಕೇಜ್‌ ಸರಿಯಾಗಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಇನ್‌ಪುಟ್ ಡೇಟಾ `reshape` ಮಾಡಬೇಕಾಯಿತು. ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ 2D ಅರೆ ಇನ್‌ಪುಟ್ ಅನ್ನು ಎಕ್ಸ್ಪೆಕ್ಟ್ ಮಾಡುತ್ತದೆ, ಇದರಲ್ಲಿ ಪ್ರತಿಯೊಂದು ಸಾಲು ಇನ್‌ಪುಟ್ ವೈಶಿಷ್ಟ್ಯಗಳ ವೆಕ್ಟರ್ ಆಗಿದ್ದು, ನಮ್ಮ ಪ್ರಕರಣದಲ್ಲಿ ಒಂದೇ ಇನ್‌ಪುಟ್ ಇದೆ, ಆದ್ದರಿಂದ N×1 ಆಕೃತಿ ಅಗತ್ಯ ಇದೆ, ಇಲ್ಲಿ N ಡೇಟಾಸೆಟ್ ಗಾತ್ರ. -ನಂತರ, ನಾವು ಡೇಟಾವನ್ನು ತರಬೇತು ಮತ್ತು ಪರೀಕ್ಷೆ ಡೇಟಾಸೆಟ್‌ಗಳಲ್ಲಿ ವಿಭಾಗಿಸಬೇಕಾಗಿದೆ, ಇದರಿಂದ ನಾವು ತರಬೇತಿ ಬಳಿಕ ನಮೂನೆಯನ್ನು ಪರಿಶೀಲಿಸಬಹುದು: +> ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ ಪ್ಯಾಕೇಜ್ ಸರಿಯಾಗಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಇನ್ಪುಟ್ ಡೇಟಾಗೆ `reshape` ಮಾಡಬೇಕಾಯಿತು. ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ 2D ಅರೆ (array) ಅನ್ನು ಇನ್ಪುಟ್ ಆಗಿರಬೇಕೆಂದು ನಿರೀಕ್ಷಿಸುತ್ತದೆ, ಇಲ್ಲಿ ಪ್ರತಿ ಸಾಲು ಇನ್ಪುಟ್ ಫೀಚರ್‌ಗಳ ಒಂದು ವೆಕ್ಟರ್ ಆಗಿರುತ್ತದೆ. ನಮ್ಮ केस್ನಲ್ಲಿ, ಒಂದು ಇನ್ಪುಟ್ ಮಾತ್ರ ಇದರಿಂದ, N×1 ಗಾತ್ರದ ಅರೆ ಅಗತ್ಯವಿದೆ, ಇಲ್ಲಿ N ಡೇಟಾಸೆಟ್ ಗಾತ್ರ. + +ನಂತರ,ಡೇಟಾವನ್ನು ತರಬೇತಿ ಮತ್ತು ಪರೀಕ್ಷಾ ಗುಂಪುಗಳಲ್ಲಿ ವಿಭಜಿಸಿ ಮಾದರಿಯನ್ನು ತರಬೇತಿ ಬಳಿಕ ಮೌಲ್ಯಮಾಪನ ಮಾಡಲು ಸಿದ್ಧರಾಗಿ: ```python X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0) ``` - -ಕರೈವಾಗಿ, ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ ಮಾದರಿಯ ತರಬೇತಿ ಎರಡು ಸಾಲುಗಳಲ್ಲಿ ನಡತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ನಾವು `LinearRegression` ವಸ್ತುವನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿ, `fit` ವಿಧಾನ ಬಳಸಿ ಅದನ್ನು ಡೇಟಾಗೆ ಹೊಂದಿಸುತ್ತೇವೆ: + +ಕೊನೆಯದಾಗಿ, ಲೀನಿಯರ್ ರೆಗ್ರೆಷನ್ ಮಾದರಿಯನ್ನು ತರಬೇತಿ ಮಾಡುವುದು ಕೇವಲ ಎರಡು ಸಾಲು ಕೋಡ್ ಅಗತ್ಯವಿದೆ. `LinearRegression` ಆಬ್ಜೆಕ್ಟ್ ಅನ್ನು นิರ್ಭರಿಸಿ, ಮತ್ತು `fit` ವಿಧಾನದ ಮೂಲಕ ಅದನ್ನು ನಮ್ಮ ಡೇಟಾದ ಮೇಲೆ ಹೊಂದಿಸಿ: ```python lin_reg = LinearRegression() lin_reg.fit(X_train,y_train) ``` - -`fit` ಮಾಡಿದ ನಂತರ `LinearRegression` ವಸ್ತುವಿನಲ್ಲಿ ರಿಗ್ರೆಶನ್‌ನ ಎಲ್ಲಾ ಗುಣಾಂಕಗಳನ್ನು ಹೊಂದಿರುತ್ತದೆ, ಅವುಗಳನ್ನು `.coef_` ಪ್ರಾಪರ್ಟಿ ಬಳಸಿ ಪ್ರವೇಶಿಸಬಹುದು. ನಮ್ಮ ಪ್ರಕರಣದಲ್ಲಿ, ಒಬ್ಬೊಬ್ಬ ಗುಣಾಂಕ ಮಾತ್ರ ಇದೆ, ಅದು `-0.017` ಸುತ್ತಲೂ ಇರಬೇಕು. ಅಂದರೆ, ಬೆಲೆಗಳು ಸಮಯದ ಜೊತೆಗೆ ಸ್ವಲ್ಪ ಇಳಿಯುತ್ತಿದ್ದಂತೆ ತೋರುತ್ತದೆ, ಆದರೆ ಹೇಗಾಗಲೀ ಹೆಚ್ಚು ಅಲ್ಲ, ಪ್ರತಿ ದಿನಕ್ಕೊಂದು 2 ಸೆಂಟುಗಳಷ್ಟು. ನಾವು regression ನ intersection point ಅನ್ನು Y-ಅಕ್ಷದೊಂದಿಗೆ `lin_reg.intercept_` ಬಳಸಿ ಪಡೆಯಬಹುದು - ನಮ್ಮ ಪ್ರಕರಣದಲ್ಲಿ ಇದು ಸುತ್ತಲೂ `21` ಇರುತ್ತದೆ, ಇದು ವರ್ಷದ ಆರಂಭದಲ್ಲಿ ಬೆಲೆಯನ್ನು ಸೂಚಿಸುತ್ತದೆ. -ನಮ್ಮ ಮಾದರಿಯ ಎಷ್ಟು ನಿಖರವಾಗಿದೆ ಎಂದು ನೋಡಲು, ನಾವು ಪರೀಕ್ಷಾ ಡೇಟಾ ಸೆಟ್ ಮೇಲೆ ಬೆಲೆಗಳನ್ನು ಊಹಿಸಬಹುದು, ನಂತರ ನಮ್ಮ ಊಹೆಗಳು ನಿರೀಕ್ಷಿತ ಮೌಲ್ಯಗಳಷ್ಟಿಗೆ ಎಷ್ಟು ಹತ್ತಿರವಿದ್ದಾವೆಯೋ ಅಳೆಯಬಹುದು. ಇದನ್ನು ರೂಟ್ ಮೀನ್ ಸ್ಕ್ವೇರ್ ಎರರ್ (RMSE) ಮೆಟ್ರಿಕ್ ಬಳಸಿ ಮಾಡಬಹುದು, ಅದು ನಿರೀಕ್ಷಿತ ಮತ್ತು ಊಹಿಸಲಾದ ಮೌಲ್ಯಗಳ ನಡುವಿನ ಎಲ್ಲ ಚದರ ವ್ಯತ್ಯಾಸಗಳ ಸರಾಸರಿಯ ರೂಟ್ ಆಗಿದೆ. +`LinearRegression` ಆಬ್ಜೆಕ್ಟ್ `fit` ಮಾಡಿದ ನಂತರ ರೀಗ್ರೆಷನ್‌ನ ಎಲ್ಲಾ коэффициಗಳನ್ನೂ ಹೊಂದಿರುತ್ತದೆ, ಅವುಗಳನ್ನು `.coef_` ಪ್ರಾಪರ್ಟಿ ಮೂಲಕ ಪ್ರವೇಶಿಸಬಹುದು. ನಮ್ಮ ಸಂದರ್ಭದಲ್ಲಿ, ಒಂದೇ коэффици ಇದೆ, ಅದು ಸುಮಾರು `-0.017` ಆಗಿರಬೇಕು. ಇದರ ಅರ್ಥ, ಬೆಲೆಗಳು ಸ್ವಲ್ಪ ಕಾಲಾನುಕ್ರಮದಲ್ಲಿ ಕಡಿಮೆಯಾಗುತ್ತಿರುವಂತೆ ಕಾಣುತ್ತದೆ, ಆದರೆ ಹೆಚ್ಚು ಅಲ್ಲ, ಪ್ರತಿದಿನಕ್ಕೆ ಸುಮಾರು 2 ಸೆಂಟ್. ನಾವು Y-ಅಕ್ಷದ ರೀಗ್ರೆಷನ್‌ನ ಇಂಟರ್ಸೆಕ್ಷನ್ ಪಾಯಿಂಟ್ ಅನ್ನು `lin_reg.intercept_` ಮೂಲಕ ಕೂಡ ಆಗಬಹುದು - ಅದು ನಮ್ಮ ಸಂದರ್ಭದಲ್ಲಿ ಸುಮಾರು `21` ಆಗಿರುತ್ತದೆ, ವರ್ಷ ಶುರುವಾದಾಗಿನ ಬೆಲೆಯನ್ನು ಸೂಚಿಸುತ್ತಿದೆ. + +ನಮ್ಮ ಮಾದರಿ ಎಷ್ಟು ಖಚಿತವೋ ನೋಡಲು, ನಾವು ಪರೀಕ್ಷಾ ಡೇಟಾಸೆಟ್‌ನಲ್ಲಿ ಬೆಲೆಗಳನ್ನು ಭವಿಷ್ಯದಲ್ಲಿ ಊಹಿಸಿ, ನಂತರ ನಮ್ಮ ಊಹಿಸುವುದನ್ನು ನಿರೀಕ್ಷಿತ ಮೌಲ್ಯಗಳ ಜೊತೆ ಹತ್ತಿಕೊಳ್ಳುವುದನ್ನು ಅಳೆಯಬಹುದು. ಇದನ್ನು ರೂಟ್ ಮೀನ್ ಸ್ಕ್ವೇರ್ ಎರ್ರರ್ (RMSE) ಮೇಟ್ರಿಕ್ ಬಳಸಿ ಮಾಡಬಹುದು, ಇದು ನಿರೀಕ್ಷಿತ ಮತ್ತು ಊಹಿತ ಮೌಲ್ಯಗಳ ನಡುವಿನ ಎಲ್ಲಾ ಚದರ ವ್ಯತ್ಯಾಸಗಳ ಸರಾಸರಿ ರೂಟ್. ```python pred = lin_reg.predict(X_test) @@ -217,16 +216,15 @@ rmse = np.sqrt(mean_squared_error(y_test,pred)) print(f'RMSE: {rmse:3.3} ({rmse/np.mean(pred)*100:3.3}%)') ``` -ನಮ್ಮ ದೋಷವು ಸುತ್ತಲೂ 2 ಅಂಕಗಳಷ್ಟಿದೆ, ಅದು ~17% ಆಗಿದೆ. ತುಂಬಾ ಚೆನ್ನಾಗಿಲ್ಲ. ಮಾದರಿಯ ಗುಣಮಟ್ಟದ ಇನ್ನೊಂದು ಸೂಚ್ಯಂಕವು **ನಿರ್ಧಾರ коэффициент** ಆಗಿದ್ದು, ಇದನ್ನು ಈ ರೀತಿ ಪಡೆಯಬಹುದು: +ನಮ್ಮ ಎರ್ರರ್ ಸುಮಾರು 2 ಪಾಯಿಂಟ್ ಆಗಿದೆ, ಇದು ~17%. ತುಂಬಾ ಚೆನ್ನಾಗಿಲ್ಲ. ಮಾದರಿ ಗುಣಮಟ್ಟದ ಇನ್ನೊಂದು ಸೂಚ್ಯಂಕ **ನಿರ್ಧಾರ коэффици೦ಟ್** ಆಗಿದೆ, ಇದನ್ನು ಹೀಗಾಗಿ ಪಡೆಯಬಹುದು: ```python score = lin_reg.score(X_train,y_train) print('Model determination: ', score) ``` + ಮೌಲ್ಯ 0 ಅಂದರೆ, ಮಾದರಿ ಇನ್‌ಪುಟ್ ಡೇಟಾ ಅನ್ನು ಪರಿಗಣಿಸುವುದಿಲ್ಲ ಮತ್ತು *ಅತ್ಯಂತ ಕೆಟ್ಟ ರೇಖೀಯ ಭವಿಷ್ಯಕಾರ* ಆಗಿದ್ದು, ಅದು ಫಲಿತಾಂಶದ ಸರಾಸರಿಯಷ್ಟೇ ಆಗಿರುತ್ತದೆ. ಮೌಲ್ಯ 1 ಎಂದರೆ ನಾವು ಎಲ್ಲಾ ನಿರೀಕ್ಷಿತ ಔಟ್ಪುಟ್‌ಗಳನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಭವಿಷ್ಯದಲ್ಲಿ ಊಹಿಸಬಲ್ಲೆವೆವು. ನಮ್ಮಲ್ಲಿ коэффици೦ಟ್ ಸುಮಾರು 0.06 ಆಗಿದ್ದು, ಇದು ಕಡಿಮೆ ಮಟ್ಟವಾಗಿದೆ. -ಅದರ ಮೌಲ್ಯವು 0 ಆಗಿದ್ದರೆ, ಅಂದರೆ ಮಾದರಿ ಒಳಮೂಲ್ಯವನ್ನು ಗಮನಿಸದಂತೆ ನಡೆಯುತ್ತದೆ, ಮತ್ತು ಇದು *ಅತ್ಯಂತ ಕೆಟ್ಟ ರೇಖೀಯ ಊಹಿಸುವಿಕೆಯಾಗುತ್ತದೆ*, ಇದು ಫಲಿತಾಂಶಗಳ ಸರಾಸರಿ ಮೌಲ್ಯ ಮಾತ್ರ. ಮೌಲ್ಯ 1 ಅಂದರೆ ನಾವು ಎಲ್ಲಾ ನಿರೀಕ್ಷಿತ ಫಲಿತಾಂಶಗಳನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಊಹಿಸಬಹುದು. ನಮ್ಮ ಪ್ರಕರಣದಲ್ಲಿ, коэффициент ಸುತ್ತಲೂ 0.06 ಇದೆ, ಅದು ಕಡಿಮೆ. - -ನಾವು regression ರೇಖೆ ಜೊತೆಗೆ ಪರೀಕ್ಷಾ ಡೇಟಾವನ್ನು ಚಿತ್ರಿಸಬಹುದು, ನಮ್ಮ ಪ್ರಕರಣದಲ್ಲಿ regression ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆಯೋ ಹೆಚ್ಚು ಚೆನ್ನಾಗಿ ನೋಡಲು: +ನಾವು ಪರೀಕ್ಷಾ ಡೇಟಾಗಳನ್ನು ರೀಗ್ರೆಷನ್ ಲೈನ್ ಜೊತೆಗೆ ಚಿತ್ರಿಸಬಹುದು, ನಮ್ಮ ಪ್ರಕರಣದಲ್ಲಿ ರೀಗ್ರೆಷನ್ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂದು ಚೆನ್ನಾಗಿ ನೋಡಲು: ```python plt.scatter(X_test,y_test) @@ -235,19 +233,19 @@ plt.plot(X_test,pred) Linear regression -## ಪೋಟಿನ್‌ಷಿಯಲ್ ರಿಗ್ರೆಶನ್ +## ಪಾಲಿನೋಮಿಯಲ್ ರೀಗ್ರೆಷನ್ -ಇನ್ನೊಂದು ರೀತಿಯ ಲಿನಿಯರ್ ರಿಗ್ರೆಶನ್ ಆಗಿದೆ ಪೋಟಿನ್‌ಷಿಯಲ್ ರಿಗ್ರೆಶನ್. ಕೆಲವು ಬಾರಿ ಚರಗಳ ನಡುವೆ ರೇಖೀಯ ಸಂಬಂಧವಿರಬಹುದು — ಭೌತಮಾಪನದಲ್ಲಿ ದೊಡ್ಡ ಕಿಂಬುಮಂದಿ ಇದ್ದರೆ ಬೆಲೆ ಹೆಚ್ಚು ಇರುತ್ತದೆ — ಆದರೆ ಕೆಲವು ವೇಳೆ ಈ ಸಂಬಂಧಗಳು ಸಮತಲವೋ ಅಥವಾ ಸರಳ ರೇಖೆಯಾಗಿ ಇರಲೇಬೇಕು ಅಂತಿಲ್ಲ. +ಮತ್ತೊಂದು ರೀಗ್ರೆಷನ್ ಪ್ರಕಾರ ಪಾಲಿನೋಮಿಯಲ್ ರೀಗ್ರೆಷನ್. ಕೆಲವೊಮ್ಮೆ, ವೈಶಿಷ್ಟ್ಯಗಳ ನಡುವೆ ರೇಖೀಯ ಸಂಬಂಧ ಇರುತ್ತದೆ - ಘನಮಾನದ ಬಗ್ಗೆ ದೊಡ್ಡ ದಾ, ದರ ಹೆಚ್ಚಾಗುತ್ತದೆ - ಆದರೆ ಕೆಲವೊಮ್ಮೆ ಈ ಸಂಬಂಧಗಳನ್ನು ರೇಖೆ ರೂಪದಲ್ಲಿ ಅಥವಾ ಪ್ಲೇನ್ ರೇಖೆಯಾಗಿ ಚಿತ್ರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. -✅ ಇಲ್ಲಿ [ಇನ್ನು ಕೆಲವು ಉದಾಹರಣೆಗಳು](https://online.stat.psu.edu/stat501/lesson/9/9.8) ಇವೆ ಪೋಟಿನ್ಶಿಯಲ್ ರಿಗ್ರೆಶನ್ ಬಳಸಬಹುದಾದ ಮಾಹಿತಿ +✅ ಇಲ್ಲಿ [ಹೆಚ್ಚಿನ ಉದಾಹರಣೆಗಳು](https://online.stat.psu.edu/stat501/lesson/9/9.8) ಇವೆ, ಅವು ಪಾಲಿನೋಮಿಯಲ್ ರೀಗ್ರೆಷನ್ ಬಳಸಬಹುದು -ಮತ್ತೆ Date ಮತ್ತು Price ನಡುವಿನ ಸಂಬಂಧವನ್ನು ನೋಡಿ. ಈ scatterplot ಅನ್ನು ಖಂಡಿತವಾಗಿ ಸರಳ ರೇಖೆಯಿಂದ ವಿಶ್ಲೇಷಿಸಬೇಕೆಂದು ಭಾವಿಸಲಿಯೇ? ಬೆಲೆಗಳು ಕನ್ನಡದಂತೆ ಬದಲಾಗುವುದಿಲ್ಲವೆ? ಇದೇ ಸಂದರ್ಭದಲ್ಲಿ, ನೀವು ಪೋಟಿನ್‌ಷಿಯಲ್ ರಿಗ್ರೆಶನ್ ಪ್ರಯತ್ನಿಸಬಹುದು. +ದಿನಾಂಕ ಮತ್ತು ಬೆಲೆಯ ಸಂಬಂಧವನ್ನು ಮತ್ತೊಮ್ಮೆ ನೋಡಿ. ಈ ಸ್ಕ್ಯಾಟರ್‌ಪ್ಲಾಟ್ ರೇಖೆಯ ಮೂಲಕ ಹೇಗಾದರೂ ವಿಶ್ಲೇಷಿಸಬೇಕೆಂದು ನೀವು ಭಾವಿಸುತ್ತೀರಾ? ಬೆಲೆಗಳು ಅಸ್ಥಿರವಾಗುವುದಿಲ್ಲವೇ? ಈ ಸಂದರ್ಭದಲ್ಲಿ, ನೀವು ಪಾಲಿನೋಮಿಯಲ್ ರೀಗ್ರೆಷನ್ ಪ್ರಯತ್ನಿಸಬಹುದಾಗಿದೆ. -✅ ಪೋಲಿನೋಮಿಯಲ್ಸ್ ಎಂಬವು ಗಣಿತೀಯ ಸೂಚನೆಗಳು, ಅವು ಒಂದಷ್ಟು ಚರಗಳು ಮತ್ತು ಗುಣಾಂಕಗಳನ್ನು ಹೊಂದಿರಬಹುದು +✅ ಪಾಲಿನೋಮೀಯಲ್ ಗಳು ಗಣಿತೀಯ ಸೂಚನೆಗಳು, ಅವು ಒಂದೋ ಹೆಚ್ಚು variables ಮತ್ತು коэффициಗಳನ್ನೂ ಹೊಂದಿರಬಹುದು -ಪೋಟಿನ್‌ಷಿಯಲ್ ರಿಗ್ರೆಶನ್ ಅಸಮರೇಖೀಯ ಡೇಟಾವನ್ನು ಉತ್ತಮವಾಗಿ ಹೊಂದಿಸಲು ಮೃದುವಾದ ರೇಖೆಯನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ. ನಮ್ಮ ಪ್ರಕರಣದಲ್ಲಿ, ನಾವು `DayOfYear` ಮುಂದಂಪು 2 ನೇ ಘಾತಾಂಶವನ್ನು ಒಳಗೊಂಡರೆ, ನಾವು ಡೇಟಾವನ್ನು ಪಾರಾಬೋಲಿಕ್ ವಕ್ರಕ್ಕೆ ಹೊಂದಿಸಬಲ್ಲವು, ಅದು ವರ್ಷದ ಕೆಲವು ಬುಗ್ಗೆಯಲ್ಲಿ ಕನಿಷ್ಠ ಅಂಶ ಹೊಂದಿರುತ್ತದೆ. +ಪಾಲಿನೋಮಿಯಲ್ ರೀಗ್ರೆಷನ್ ಕರ್ತೃವಜ್ರಾಕಾರ ಲೈನ್ ಅನ್ನು ರಚಿಸುತ್ತದೆ, ಇದು ರೇಖೇಯಲ್ಲದ (ನಾನ್‌-ಲೀನಿಯರ್) ಡೇಟಾ ಮೇಲೆ ಉತ್ತಮವಾಗಿ ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ. ನಮ್ಮ ಸಂದರ್ಭದಲ್ಲಿ, ನಾವು `DayOfYear` ಚದರ ಅಂಶವನ್ನು ಇನ್‌ಪುಟ್ ಡೇಟಾಗೆ ಸೇರಿಸಿದ್ದರೆ, ಯಾವುದೋ ವರ್ಷದ ಒಳಗಿನ ನಿರ್ದಿಷ್ಟ ಬಿಂದುವಿನಲ್ಲಿ ಕನಿಷ್ಠ ಸ್ಥಾನವಿರುವ ಪ್ಯಾರಬೊಲಿಕ್ ವಕ್ರವನ್ನು ಹೊಂದಿಸಲು ಸಾಧ್ಯವಾಗುವ ಸಂಭವವೆ ಇದೆ. -ಸ್ಕೈಕಿಟ್-ಲೇನೊ ಸೇರಿಸಿದ್ದಕ್ಕೆ ಉಪಯುಕ್ತವಾದ [pipeline API](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) ಇದೆ ವಿವಿಧ ಡೇಟಾ ಪ್ರಕ್ರಿಯೆ ಹಂತಗಳನ್ನು ಸಂಯೋಜಿಸಲು. ಒಂದು **ಪೈಪ್ಲೈನ್** ಎಂದರೆ **ಎಸ್ಟಿಮೇಟರ್ಸ್** ಸರಪಳಿಯಾಗಿದೆ. ನಮ್ಮ ಪ್ರಕರಣದಲ್ಲಿ, ನಾವು ಮೊದಲಿಗೆ ಬಾಹುಘಾತ ځانګಣಗಳನ್ನು ಸೇರಿಸುವ ಪೈಪ್ಲೈನ್ ಸೃಷ್ಟಿಸಿ, ನಂತರ regression ತರಬೇತಿನ ಕೆಲಸ ಮಾಡುತ್ತೇವೆ: +ಸ್ಕೈಕಿಟ್-ಲರ್ನ್ ಒಂದು ಸಹಾಯಕ [ಪೈಪ್‌ಲೈನ್ API](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) ಅನ್ನು ಒಳಗೊಂಡಿದೆ, ಇದು ಡೇಟಾ ಪ್ರಕ್ರಿಯೆಯ ವಿಭಿನ್ನ ಹಂತಗಳನ್ನು ಸಮೇತಗೊಳಿಸಲು ಉಪಯುಕ್ತ. **ಪೈಪ್‌ಲೈನ್** ಎಂದರೆ **ಎಸ್ಟಿಮೇಟರ್‌ಗಳ** ಸರಪಳಿ. ನಮ್ಮಲ್ಲಿ, ನಾವು ಮೊದಲಿಗೆ ಪಾಲಿನೋಮಿಯಲ್ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಸೇರಿಸುವ ಪೈಪ್‌ಲೈನ್ ರಚಿಸಿ ನಂತರ ರೀಗ್ರೆಷನ್ ತರಬೇತಿ ಮಾಡುತ್ತೇವೆ: ```python from sklearn.preprocessing import PolynomialFeatures @@ -258,36 +256,58 @@ pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression()) pipeline.fit(X_train,y_train) ``` -`PolynomialFeatures(2)` ಬಳಸಿ ಅಂದರೆ ನಾವು ಒಳಪಡಿಸುವ ಎಲ್ಲಾ 2ನೇ ಶ್ರೇಣಿಯ ಪೋಲಿನೋಮಿಯಲ್ಗಳನ್ನು ಸೇರಿಸುತ್ತೇವೆ. ನಮ್ಮಲ್ಲಿ ಅದು `DayOfYear`2 ಮಾತ್ರವಾಗಿರುತ್ತದೆ, ಆದರೆ ಎರಡು ಇನ್‌ಪುಟ್ ಚರಗಳು X ಮತ್ತು Y ಇದ್ದರೆ, ಅದು X2, XY ಮತ್ತು Y2 ಸೇರಿಸುತ್ತದೆ. ನಾವು ಇನ್ನೂ ಹೆಚ್ಚಿನ ಘಾತಾಂಶಗಳನ್ನು ಬಳಸಬಹುದು ಬೇಕಾದರೆ. +`PolynomialFeatures(2)` ಬಳಸಿ ಎಲ್ಲಾ ರೆಂಡು-ಡಿಗ್ರಿ ಪಾಲಿನೋಮಿಯಲ್‌ಗಳನ್ನು ಇನ್‌ಪುಟ್ ಡೇಟಾದಿಂದ ಒಳಗೊಂಡಿರುತ್ತೇವೆ. ನಮ್ಮ ಸಂದರ್ಭದಲ್ಲಿ ಅದು ಕೇವಲ `DayOfYear`2 ಅಂದರೆ, ಆದರೆ ಎರಡು ಇನ್‌ಪುಟ್ ವೆರೀಯಬಲ್ಗಳಾದ X ಮತ್ತು Y ಇದ್ದರೆ, ಇದರಿಂದ X2, XY ಮತ್ತು Y2 ಸೇರುತ್ತವೆ. ಅಗತ್ಯವಿದ್ದರೆ ಉಚ್ಛ ಮಟ್ಟದ ಪಾಲಿನೋಮಿಯಲ್ ಗಳನ್ನು ಕೂಡ ಬಳಸಿ ಪ್ರಭಾವ ಬೀಳಬಹುದು. + +ಪೈಪ್‌ಲೈನ್‍ನ್ನು ಮೂಲ `LinearRegression` ಆಬ್ಜೆಕ್ಟ್‌ನಂತೆ ಸಹ ಉಪಯೋಗಿಸಬಹುದು, ಅಂದರೆ ನಾವು ಪೈಪ್‌ಲೈನ್‍ನ್ನು `fit` ಮಾಡಿ ನಂತರ `predict` ಬಳಸಿ ಊಹಿಸಬಹುದಾಗಿದೆ: + +```python +pred = pipeline.predict(X_test) + +rmse = np.sqrt(mean_squared_error(y_test,pred)) +print(f'RMSE: {rmse:3.3} ({rmse/np.mean(pred)*100:3.3}%)') + +score = pipeline.score(X_train,y_train) +print('Model determination: ', score) +``` + +ಸರಳ ವಕ್ರ ರೇಖೆಯನ್ನು ಚಿತ್ರಿಸಲು, ನಾವೇನು ನಿರ್ಬಂಧವಿಲ್ಲದ ಪರೀಕ್ಷಾ ಡೇಟಾ ಮೇಲೆ ಬೆಳೆವ ಬದಲು, `np.linspace` ಬಳಸಿ ಪಡೆಯುವ ಇನ್‌ಪುಟ್ ಮೌಲ್ಯಗಳ ಸಮನಿಯೋಜಿತ ಶ್ರೇಣಿಯನ್ನು ಸೃಷ್ಟಿಸುತ್ತೇವೆ ( ಅದರಿಂದ ಜಿಗ್ज़ಾಗ್ ಲೈನ್ ಬರುವುದಿಲ್ಲ): + +```python +X_range = np.linspace(X_test.min(), X_test.max(), 100).reshape(-1,1) +y_range = pipeline.predict(X_range) + +plt.scatter(X_test, y_test) +plt.plot(X_range, y_range) +``` -ಪೈಪ್ಲೈನ್‌ಗಳನ್ನು ಮೂಲ `LinearRegression` ವಸ್ತುವಿನ ಹಾಗೆ ಬಳಸಿ, ಅಂದರೆ ನಾವು ಪೈಪ್ಲೈನ್ ಅನ್ನು `fit` ಮಾಡಿ, ನಂತರ `predict` ಬಳಸಿ ಊಹಿಸಬಹುದು. ಇದು ಪರೀಕ್ಷಾ ಡೇಟಾ ಮತ್ತು ಅನುಮಾನ ತುಂಬಿದ ವಕ್ರವನ್ನ ತೋರಿಸುವ ಗ್ರಾಫ್ ಆಗಿದೆ: +ಪರೀಕ್ಷಾ ಡೇಟಾ ಮತ್ತು ಅನುಮಾನಿತ ವಕ್ರವನ್ನು ತೋರಿಸುವ ಗ್ರಾಫ್ ಇಲ್ಲಿಗೆ: Polynomial regression -ಪೋಟಿನ್‌ಷಿಯಲ್ ರಿಗ್ರೆಶನ್ ಬಳಸಿ, ನಾವು ಸ್ವಲ್ಪ ಕಡಿಮೆ MSE ಮತ್ತು ಹೆಚ್ಚು ನಿರ್ಧಾರ коэффициент ಪಡೆಯಬಹುದು, ಆದರೆ ಗಮನಾರ್ಹವಾಗಿ ಅಲ್ಲ. ನಾವು ಇತರ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಗಮನಿಸಬೇಕಾಗುತ್ತದೆ! +ಪಾಲಿನೋಮಿಯಲ್ ರೀಗ್ರೆಷನ್ ಬಳಸಿ, ನಾವು ಸ್ವಲ್ಪ ಕಡಿಮೆ RMSE ಮತ್ತು ಹೆಚ್ಚು ನಿಧಾನ коэффици೦ಟ್ ಅನ್ನು ಪಡೆಯಬಹುದು, ಆದರೆ ಬಹುಶಃ ಮಾತ್ರ. ಇನ್ನಷ್ಟು ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಪರಿಗಣಿಸಬೇಕು! -> ನೀವು ನೋಡಬಹುದು ಕನಿಷ್ಠ ಕಿಂಬುಮಂದಿ ಬೆಲೆಗಳು ಹ್ಯಾಲೋವೀನ್ ಸಮಯದಲ್ಲಿ ಕಂಡುಬರುತ್ತವೆ. ಇದನ್ನು ಹೇಗೆ ವಿವರಿಸಬಹುದು? +> ನೀವು ಗಮನಿಸಬಹುದು ಅತಿ ಕಡಿಮೆ ದಾ ಬೆಲೆಗಳು ಸುಮಾರು ಹ್ಯಾಲೋವೀನ್ ಸಮಯದಲ್ಲಿ." ಇದನ್ನು ಹೇಗೆ ವಿವರಣೆ ಮಾಡಬಹುದು? -🎃 ಅಭಿನಂದನೆಗಳು, ನೀವು ಪೈ ಕಿಂಬುಮಂದಿಗಳ ಬೆಲೆಯನ್ನು ಊಹಿಸಲು ಸಹಾಯ ಮಾಡುವ ಮಾದರಿಯನ್ನು ಸೃಷ್ಟಿಸಿದ್ದೀರಿ. ನೀವು ಬಹುಮಾನಿತವಾಗಿ ಎಲ್ಲ ಕಿಂಬುಮಂದಿ ಪ್ರಭೇದಗಳಿಗೆ ಇದೇ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪುನರಾವರ್ತಿಸಬಹುದು, ಆದರೆ ಅದು ತುಚ್ಛಮಾಡುತ್ತದೆ. ಈಗ ನಾವು ಹೇಗೆ ಕಿಂಬುಮಂದಿ ಪ್ರಭೇದಗಳನ್ನು ನಮೂದಿನಲ್ಲಿಯೇ ಸೇರಿಸಬೇಕೆಂದು ಕಲಿಯೋಣ! +🎃 ಅಭಿನಂದನೆಗಳು, ನೀವು ಪೈ ದಾ ಬೆಲೆಯನ್ನು ಊಹಿಸುವ ಮಾದರಿಯನ್ನು ರಚಿಸಿದ್ದೀರಿ. ಎಲ್ಲಾ ದಾ ಪ್ರಕಾರಗಳಿಗೂ ಇದೇ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಮಾಡಬಹುದು, ಆದರೆ ಅದು ಕುಂಜಿ ಕೊಡುವುದು. ಈಗ ನಾವು ಮಾದರಿಯಲ್ಲಿ ದಾ ಪ್ರಭೇಧವನ್ನು ಹೇಗೆ ಪರಿಗಣಿಸುವುದು ಎಂದು ಕಲಿಯೋಣ! -## ವರ್ಗೀಕೃತ ಗುಣಲಕ್ಷಣಗಳು +## ವರ್ಗೀಕರಣ ವೈಶಿಷ್ಟ್ಯಗಳು -ಐಡಿಯಲ್ ಲೋಕದಲ್ಲಿ, ನಾವು ಬಿನ್ನಹಗಳ ಬೆಲೆಗಳನ್ನು ವಿಭಿನ್ನ ಬಗೆಯ ಕಿಂಬುಮಂದಿಗಳಿಗೆ ಒಂದೇ ಮಾದರಿಯಿಂದ ಊಹಿಸಬಯಸುತ್ತೇವೆ. ಆದಾಗ್ಯೂ, `Variety` ಕಾಲಮ್ ಯಾವುದೋ ವಿಭಿನ್ನವಾಗಿದೆ, ಅದು `Month` ಬಗೆಗಿನ ಕಾಲಂಗಳಂತೆಯೇ ಅಲ್ಲ, ಏಕೆಂದರೆ ಅದು ಸಂಖ್ಯೆ ಆಧಾರಿತ ಮೌಲ್ಯಗಳನ್ನು ಹೊಂದಿಲ್ಲ. ಇಂತಹ ಕಾಲಂಗಳನ್ನು **ವರ್ಗೀಕೃತ** ಎಂದು ಕರೆಯುತ್ತಾರೆ. +ಆದರ್ಶ ಲೋಕದಲ್ಲಿ, ನಾವು ಬೇರೆ ಬೇರೆ ದಾ ಪ್ರಭೇಧಗಳ ಬೆಲೆಗಳನ್ನು ಒಂದೇ ಮಾದರಿಯಲ್ಲಿ ಊಹಿಸಬಯಸುತ್ತೇವೆ. ಆದರೆ, `Variety` ಕಾಲಮ್ `Month` ಹೋಲಿಸಿಕೊಂಡರೆ ವಿಭಿನ್ನವಾಗಿದೆ ಏಕೆಂದರೆ ಅದು ಸಂಖ್ಯೆಗಳಿಗೆ ಸೇರಿದ ಮೌಲ್ಯಗಳನ್ನು ಹೊಂದಿಲ್ಲ. ಇಂಥ ಕಾಲಮ್ ಗಳನ್ನು **ವರ್ಗೀಕರಣ ವೈಶಿಷ್ಟ್ಯಗಳು** ಎನ್ನಲಾಗುತ್ತದೆ. [![ML for beginners - Categorical Feature Predictions with Linear Regression](https://img.youtube.com/vi/DYGliioIAE0/0.jpg)](https://youtu.be/DYGliioIAE0 "ML for beginners - Categorical Feature Predictions with Linear Regression") -> 🎥 ಮೇಲಿನ ಚಿತ್ರವನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ ವರ್ಗೀಕೃತ ಲಕ್ಷಣಗಳ ಬಳಕೆ ಕುರಿತು ಸಣ್ಣ ವಿಡಿಯೋ ಪರಿಚಯವನ್ನು ವೀಕ್ಷಿಸಿ. +> 🎥 ವರ್ಗೀಕರಣ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಬಳಸುವ ಬಗ್ಗೆ ಚಿಕ್ಕ ವೀಡಿಯೋವೀಕ್ಷಣೆಗೆ ಮೇಲಿನ ಚಿತ್ರವನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ. -ಇಲ್ಲಿ ನೀವು ಮುಂದೆ ನೋಡಬಹುದು ಸರಾಸರಿ ಬೆಲೆ ಪ್ರಭೇದಗಳ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿದೆ: +ಇಲ್ಲಿ ನಿಮ್ಮ ಕೈಗೆ ಸರಿ ಬರುವಂತೆ ಸರಾಸರಿ ಬೆಲೆ ಪ್ರಭೇಧದ ಮೇಲೆ ಅವಲಂಬಿಸಿದೆ: Average price by variety -ವಿಭಿನ್ನತೆಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಮೊದಲು ನಾವಿಗೆ ಅದನ್ನು ಸಂಖ್ಯಾತ್ಮಕ ರೂಪಕ್ಕೆ ಪರಿವರ್ತನೆ ಮಾಡಬೇಕು, ಅದನ್ನು **ಎಂಕೋಡ್** ಮಾಡಬೇಕು. ಇದಕ್ಕಾಗಿ ಕೆಲವು ವಿಧಾನಗಳಿವೆ: +ದಾ ಪ್ರಭೇಧವನ್ನು ಪರಿಗಣಿಸಲು ಮೊದಲು ಅದು ಸಂಖ್ಯೆ ರೂಪಕ್ಕೆ ಪರಿವರ್ತನೆ ಅಥವಾ **ಎൻಕೋಡಿಂಗ್** ಮಾಡಬೇಕು. ಇದಕ್ಕಾಗಿ ಅನೇಕ ವಿಧಾನಗಳಿವೆ: -* ಸರಳ **ಸಂಖ್ಯಾ ಎಂಕೋಡಿಂಗ್** ವಿಭಿನ್ನ ಪ್ರಭೇದಗಳ ಪಟ್ಟಿಯನ್ನು ನಿರ್ಮಿಸಿ, ನಂತರ ಪ್ರಭೇದದ ಹೆಸರನ್ನು ಅದರಲ್ಲಿ ಎಂಬ ಸೂಚ್ಯಂಕದಿಂದ ಬದಲಿಸುವುದು. ಇದು ಲಿನಿಯರ್ ರಿಗ್ರೆಶನಿಗಾಗಿ ಉತ್ತಮ ಕಲ್ಪನೆ ಅಲ್ಲ, ಏಕೆಂದರೆ ಲಿನಿಯರ್ ರಿಗ್ರೆಶನ್ ಸೂಚ್ಯಂಕದ ಸಂಖ್ಯಾತ್ಮಕ ಮೌಲ್ಯವನ್ನು ತೆಗೆದು, ಅದನ್ನು ಗುಣಾಂತರದೊಂದಿಗೆ ಫಲಿತಾಂಶಕ್ಕೆ ಸೇರುತ್ತದೆ. ನಮ್ಮ ಪ್ರಕರಣದಲ್ಲಿ, ಸೂಚ್ಯಂಕ ಸಂಖ್ಯೆಯು ಬೆಲೆಯೊಂದಿಗೆ ಸ್ಪಷ್ಟವಾಗಿ ಅಸಮರೇಶೀಯವಾಗಿದೆ, אף ಆಗ ನಾವು ಸೂಚ್ಯಂಕಗಳನ್ನು ವಿಶೇಷ ರೀತಿಯಲ್ಲಿ ಕ್ರಮಗೊಳಿಸಿದರೂ ಸಹ. -* **ಒನ್-ಹಾಟ್ ಎಂಕೋಡಿಂಗ್** `Variety` ಕಾಲಮ್ ಅನ್ನು 4 ಬಿನ್ನಹಗಳಿಗೆ, ಪ್ರತಿ ಒಂದು ಪ್ರಭೇದಕ್ಕೆ ಒಂದು ಕಾಲಮ್ ಅನ್ನು ಬದಲಿಸುತ್ತದೆ. ಪ್ರತಿಯೊಂದು ಕಾಲಮ್ ಅನ್ನು `1` ಇಡುತ್ತದೆ ಆ ಸಾಲು ಆ ನಿರ್ದಿಷ್ಟ ಪ್ರಭೇದಕ್ಕೆ ಸೇರಿದರೆ, ಇಲ್ಲದಿದ್ದರೆ `0`. ಅಂದರೆ ಲಿನಿಯರ್ ರಿಗ್ರೆಶನ್ ನಲ್ಲಿ ನಾಲ್ಕು ಗುಣಾಂಕಗಳಿರುತ್ತವೆ, ಪ್ರತಿ ಕಿಂಬುಮಂದಿ ಪ್ರಭೇದಕ್ಕೆ ಒಂದು, ಅದರ “ಆರಂಭ ಬೆಲೆ” (ಅಥವಾ “ಸಂಬಂಧಿತ ಹೆಚ್ಚುವರಿ ಬೆಲೆ”) ನಿಗದಿಮಾಡುತ್ತದೆ. +* ಸರಳ **ಸಂಖ್ಯೆ ಎನ್‌ಕೋಡಿಂಗ್** ಬೇರೆಯ ಬೇರೆಯ ಪ್ರಭೇಧಗಳ ಪಟ್ಟಿಯನ್ನು ಮಾಡುತ್ತದೆ ಮತ್ತು ಪ್ರಭೇಧ ಹೆಸರನ್ನು ಆ ಪಟ್ಟಿಯ ಸೂಚ್ಯಂಕದಿಂದ ಬದಲಿಸುತ್ತದೆ. ಇದು ಲೀನಿಯರ್ ರೀಗ್ರೆಷನ್‌ಗಾಗಿ ಉತ್ತಮ ಆಯ್ಕೆಯಲ್ಲ, ಏಕೆಂದರೆ ಲೀನಿಯರ್ ರೀಗ್ರೆಷನ್ ಸೂಚ್ಯಂಕದ ನೈಜ ಸಂಖ್ಯಾತ್ಮಕ ಮೌಲ್ಯವನ್ನು ಉಪಯೋಗಿಸಿ коеффициент ಜೊತೆಗೆ ಫಲಿತಾಂಶಕ್ಕೆ ಸೇರಿಸುತ್ತದೆ. ನಮ್ಮ ಪ್ರಕರಣದಲ್ಲಿ, ಸೂಚ್ಯಂಕ ಸಂಖ್ಯೆಯು ಬೆಲೆಯೊಂದಿಗೆ ಸ್ಪಷ್ಟವಾಗಿ ನಾನ್-ಲೀನಿಯರ್ ಸಂಬಂಧ ಹೊಂದಿದೆ, ಸಹ ಸೂಚ್ಯಂಕ ಅಂಶಗಳನ್ನು ನಿರ್ದಿಷ್ಟ ಕ್ರಮದಲ್ಲಿ ಅಳವಡಿಸಿದರೂ ಕೂಡ. +* **ಒನ್-ಹಾಟ್ ಎನ್‌ಕೋಡಿಂಗ್** `Variety` ಕಾಲಮ್ ಅನ್ನು 4 ವಿಭಿನ್ನ ಕಾಲಮ್ ಗಳಲ್ಲಿ ಬದಲಿಸುತ್ತದೆ, ಪ್ರತಿಯೊಂದು ಕಾಲಮ್ ಒಂದು ಪ್ರಭೇಧಕ್ಕೆ. ಪ್ರತಿಯೊಬ್ಬ ಕಾಲಮ್ ಒಳಗೆ, ಆ ಸಾಲಿನ ಪ್ರಭೇಧಕ್ಕೆ `1`, ಇಲ್ಲದಿದ್ದರೆ `0` ಇರುತ್ತದೆ. ಇದರರ್ಥ, ರೇಖೀಯ ರೀಗ್ರೆಷನ್‍ನಲ್ಲಿ ನಾಲ್ಕು коэффициಗಳು, ಪ್ರತಿ ದಾ ಪ್ರಭೇಧಕ್ಕೆ ಒಂದೊಂದು, "ಪ್ರಾರಂಭಿಕ ಬೆಲೆ" (ಅಥವಾ "ಅತಿರಿಕ್ತ ಬೆಲೆ") ಕರ್ತವ್ಯವಿದೆ. -ಕೆಳಗಿನ ಕೋಡ್ ಒನ್-ಹಾಟ್ ಎಂಕೋಡಿಂಗ್ ಹೇಗೆ ಮಾಡಬಹುದು ತೋರಿಸುತ್ತದೆ: +ಕೆಳಗಿನ ಕೋಡ್ ಒನ್-ಹಾಟ್ ಎನ್‌ಕೋಡಿಂಗ್ ಹೇಗೆ ಮಾಡಿಕೊಳ್ಳತಕ್ಕುದೆಂದು ತೋರಿಸುತ್ತದೆ: ```python pd.get_dummies(new_pumpkins['Variety']) @@ -304,14 +324,14 @@ pd.get_dummies(new_pumpkins['Variety']) 1741 | 0 | 1 | 0 | 0 1742 | 0 | 1 | 0 | 0 -ಒನ್-ಹಾಟ್ ಎಂಕೋಡ್ ಮಾಡಿದ variety ನೊಂದಿಗೆ ಲಿನಿಯರ್ ರಿಗ್ರೆಶನ್ ತರಬೇತಿಗೆ `X` ಮತ್ತು `y` ಡೇಟಾವನ್ನು ಸರಿಯಾಗಿ ಆರಂಭಿಸೋಣ: +ಒನ್-ಹಾಟ್ ಎನ್‌ಕೋಡಿಂಗ್ ಮಾಡಿದ್ದ ಪ್ರಭೇಧವನ್ನು ಇನ್‌ಪುಟ್ ಆಗಿ ಬಳಸಿಕೊಂಡು ಲೀನಿಯರ್ ರೀಗ್ರೆಷನ್ ತರಬೇತಿಗಾಗಿ `X` ಮತ್ತು `y` ಡೇಟಾ ಸರಿಯಾಗಿ ಆರಂಭಿಸಬೇಕು: ```python X = pd.get_dummies(new_pumpkins['Variety']) y = new_pumpkins['Price'] ``` -ಕೋಡ್ ಇದನ್ನು ಮಾಡುವುದು ಲಿನಿಯರ್ ರಿಗ್ರೆಶನ್ ತರಬೇತಿಗೆಮೇಲಿನಂತೆಯೇ. ನೀವು ಪ್ರಯತ್ನಿಸಿದರೆ, ನೀವು ಸುತ್ತಲೂ ಸಮಾನ ದೋಷ (MSE) ಮತ್ತು ಹೆಚ್ಚಿನ ನಿರ್ಧಾರ коэффициcent (~77%) ನೋಡಬಹುದು. ಇನ್ನೂ ನಿಖರ ಊಹೆಗಳಿಗೆ, ನಾವು ಇನ್ನಷ್ಟು ವರ್ಗೀಕೃತ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಮತ್ತು ಸಂಖ್ಯಾತ್ಮಕ ಗುಣಲಕ್ಷಣಗಳನ್ನು (ಹಾಗು `Month`, `DayOfYear` ಮುಂತಾದ) ಸೇರಿಸಬಹುದು. ಒಂದೇ ದೊಡ್ಡ ಗುಣಲಕ್ಷಣ ಶ್ರೇಣಿಯನ್ನು ಪಡೆಯಲು, ನಾವು `join` ಬಳಸಬಹುದು: +ಬಾ್ಳಿ ಭಾಗದ ಕೋಡ್ ಮೇಲೆ ಲೀನಿಯರ್ ರೀಗ್ರೆಷನ್ ತರಬೇತಿಗೆ ಸಹ ಒಂದೇ ನಡೆ ಇದೆಯೇನು. ಪ್ರಯತ್ನಿಸಿದರೆ, ಸರಾಸರಿ ಚದರ ತಪ್ಪು ಸಣ್ಣದಾಗಿರುತ್ತದೆ, ಆದರೆ ನಾವು ಬಹುಮಟ್ಟಿನ ನಿಧಾನ коэффици೦ಟ್ (~77%) ಪಡೆಯುತ್ತೇವೆ. ಇನ್ನಷ್ಟು ಖಚಿತ ಊಹೆಗಾಗಿ, ಮತ್ತಷ್ಟು ವರ್ಗೀಕರಣ ಮತ್ತು ಸಂಖ್ಯಾತ್ಮಕ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಬಹುದು, ಉದಾಹರಣೆಗೆ `Month` ಅಥವಾ `DayOfYear`. ಒಂದು ದೊಡ್ಡ ವೈಶಿಷ್ಟ್ಯ ಮಂದಲಿಯನ್ನು ಪಡೆಯಲು `join` ಬಳಸಬಹುದು: ```python X = pd.get_dummies(new_pumpkins['Variety']) \ @@ -321,68 +341,68 @@ X = pd.get_dummies(new_pumpkins['Variety']) \ y = new_pumpkins['Price'] ``` -ಇಲ್ಲಿ ನಾವು `City` ಮತ್ತು `Package` ಪ್ರಕಾರವನ್ನು ಕೂಡ ಸೇರಿಸುತ್ತೇವೆ, ಇದು MSE 2.84 (10%), ಮತ್ತು ನಿರ್ಧಾರ 0.94 ಇರಿಸುತ್ತದೆ! +ಇಲ್ಲಿ ನಾವು `City` ಮತ್ತು `Package` ಪ್ರಕಾರಗಳನ್ನೂ ಪರಿಗಣಿಸಿದ್ದೇವೆ, ಇದರ ಬಳಕೆ RMSE 2.84 (10.5%) ಮತ್ತು ನಿಧಾನ коэффици೦ಟ್ 0.94 ಪಡೆದಿದ್ದೇವೆ! -## ಎಲ್ಲವನ್ನೂ ಒಟ್ಟಿಗೆ ಸೇರಿಸುವುದು +## ಎಲ್ಲವನ್ನೂ ಒಟ್ಟುಗೂಡಿಸಿ -ಉತ್ತಮ ಮಾದರಿಯನ್ನು ನಿರ್ಮಿಸಲು, ನಾವು ಮೇಲಿನ ಉದಾಹರಣೆಯ (ಒನ್-ಹಾಟ್ ಎಂಕೋಡ್ ಮಾಡಿದ ವರ್ಗೀಕೃತ + ಸಂಖ್ಯಾತ್ಮಕ) ಡೇಟಾ ಪೋಟಿನ್‌ಷಿಯಲ್ ರಿಗ್ರೆಶನ್ ಜೊತೆಗೆ ಬಳಸಿ. ಇದು ನಿಮ್ಮ ಅನುಕೂಲಕ್ಕಾಗಿ ಸಂಪೂರ್ಣ ಕೋಡ್: +ಅತ್ಯುತ್ತಮ ಮಾದರಿಗಾಗಿ, ನಾವು [ಒನ್-ಹಾಟ್ ಎನ್‌ಕೋಡಿಂಗ್ ವರ್ಗೀಕರಣ + ಸಂಖ್ಯೆ ವೈಶಿಷ್ಟ್ಯ] ಸಂಯೋಜಿತ ಡೇಟಾವನ್ನು ಪಾಲಿನೋಮಿಯಲ್ ರೀಗ್ರೆಷನ್ ಜೊತೆಗೆ ಬಳಸಬಹುದು. ನಿಮ್ಮ ಅನುಕೂಲಕ್ಕಾಗಿ ಸಂಪೂರ್ಣ ಕೋಡ್ ಇಲ್ಲಿದೆ: ```python -# ತರಬೇತಿ ಡೇಟಾ ವ್ಯವಸ್ಥೆಯೋಡಿಸಲಾಗುತ್ತದೆ +# ತರಬೇತಿ ಮಾಹಿತಿ ರಚನೆ ಮಾಡು X = pd.get_dummies(new_pumpkins['Variety']) \ .join(new_pumpkins['Month']) \ .join(pd.get_dummies(new_pumpkins['City'])) \ .join(pd.get_dummies(new_pumpkins['Package'])) y = new_pumpkins['Price'] -# ತರಬೇತಿ-ಪರೀಕ್ಷೆ ವಿಭಾಜನೆ ಮಾಡಿ +# ತರಬೇತಿ-ಪರೀಕ್ಷೆ ಭಾಗವ ನೀಡು X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0) -# ನಿಮಿಷಾ ಮತ್ತು ತರಬೇತಿ ಪೈಪ್ಲೈನ್ ವ್ಯವಸ್ಥೆಯೋಡಿಸಿ +# ಪೈಪ್ಲೈನ್ ಅನ್ನು ಸಜ್ಜುಗೊಳಿಸಿ ಮತ್ತು ತರಬೇತಿ ನೀಡಿ pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression()) pipeline.fit(X_train,y_train) -# ಪರೀಕ್ಷಾ ಡೇಟಾ ಫಲಿತಾಂಶಗಳನ್ನು ಭವಿಷ್ಯ ವಾಣಿ ಮಾಡಿ +# ಪರೀಕ್ಷಾ ಮಾಹಿತಿಗಾಗಿ ಫಲಿತಾಂಶಗಳನ್ನು ಭವಿಷ್ಯವಾಣಿ ಮಾಡಿ pred = pipeline.predict(X_test) -# MSE ಮತ್ತು ನಿರ್ಧಾರ ಲೆಕ್ಕಾಚಾರ ಮಾಡಿ -mse = np.sqrt(mean_squared_error(y_test,pred)) -print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)') +# RMSE ಮತ್ತು ನಿರ್ಧಾರವನ್ನು ಲೆಕ್ಕಿಸಿ +rmse = mean_squared_error(y_test, pred, squared=False) +print(f'RMSE: {rmse:3.3} ({rmse/pred.mean()*100:3.3}%)') score = pipeline.score(X_train,y_train) print('Model determination: ', score) ``` -ಇದು ನಮಗೆ ಅತ್ಯುತ್ತಮ ನಿರ್ಧಾರ коэффициcent ಸುತ್ತಲೂ 97%, ಮತ್ತು MSE=2.23 (~8% ಊಹೆ ದೋಷ) ಕೊಡಬೇಕು. +ಎದುರುವಿದ್ಯಾರ್ಥಿಗಳಿಗೆ ಇದು ಸುಮಾರು 97% ನಿಧಾನ коэффици೦ಟ್ ಮತ್ತು RMSE=2.23 (~8% ಊಹೆ ತಪ್ಪು) ಕೊಡುವುದು. -| ಮಾದರಿ | MSE | ನಿರ್ಧಾರ | -|-------|-----|---------| -| `DayOfYear` ಲಿನಿಯರ್ | 2.77 (17.2%) | 0.07 | -| `DayOfYear` ಪೋಲಿನೋಮಿಯಲ್ | 2.73 (17.0%) | 0.08 | -| `Variety` ಲಿನಿಯರ್ | 5.24 (19.7%) | 0.77 | -| ಎಲ್ಲ ಗುಣಲಕ್ಷಣಗಳು ಲಿನಿಯರ್ | 2.84 (10.5%) | 0.94 | -| ಎಲ್ಲಾ ಗುಣಲಕ್ಷಣಗಳು ಪೋಲಿನೋಮಿಯಲ್ | 2.23 (8.25%) | 0.97 | +| ಮಾದರಿ | RMSE | ನಿಧಾನ коэффици೦ಟ್ | +|-------|-----|---------------| +| `DayOfYear` ಲೀನಿಯರ್ | 2.77 (17.2%) | 0.07 | +| `DayOfYear` ಪಾಲಿನೋಮಿಯಲ್ | 2.73 (17.0%) | 0.08 | +| `Variety` ಲೀನಿಯರ್ | 5.24 (19.7%) | 0.77 | +| ಎಲ್ಲಾ ವೈಶಿಷ್ಟ್ಯಗಳು ಲೀನಿಯರ್ | 2.84 (10.5%) | 0.94 | +| ಎಲ್ಲಾ ವೈಶಿಷ್ಟ್ಯಗಳು ಪಾಲಿನೋಮಿಯಲ್ | 2.23 (8.25%) | 0.97 | -🏆 ಚೆನ್ನಾಗಿದೆ! ನೀವು ಒಂದೇ ಪಾಠದಲ್ಲಿ ನಾಲ್ಕು regression ಮಾದರಿಗಳನ್ನು ಸೃಷ್ಟಿಸಿದಿರಿ, ಮತ್ತು ಮಾದರಿಯ ಗುಣಮಟ್ಟವನ್ನು 97% ಗೆ ಸುಧಾರಿಸಿದಿರಿ. regression ನ ಕೊನೆಯ ವಿಭಾಗದಲ್ಲಿ, ನೀವು ಪ್ರಕಾರಗಳನ್ನು ನಿರ್ಧರಿಸಲು Logistic Regression ಕುರಿತು ಕಲಿಯುತ್ತೀರಿ. +🏆 ಶುಭಾಶಯಗಳು! ನೀವು ಒಂದೇ ಪಾಠದಲ್ಲಿ ನಾಲ್ಕು ರೀಗ್ರೆಷನ್ ಮಾದರಿಗಳನ್ನು ರಚಿಸಿ ಮಾದರಿ ಗುಣಮಟ್ಟವನ್ನು 97% ಗೆ ಸುಧಾರಿಸುತ್ತೀರಿ. ಕೊನೆಯ ರೀಗ್ರೆಷನ್ ವಿಭಾಗದಲ್ಲಿ ವರ್ಗಾವಣೆಗಳನ್ನು ನಿರ್ಧರಿಸಲು ಲಾಜಿಸ್ಟಿಕ್ ರೀಗ್ರೆಷನ್ ಕುರಿತು ಕಲಿಯುತ್ತೀರಿ. --- -## 🚀ಚಲೆಂಜ್ +## 🚀ಸವಾಲು -ಈ ನೋಟ್‌ಬುಕ್‌ನಲ್ಲಿ ವಿಭಿನ್ನ ಚರಗಳನ್ನು ಪರೀಕ್ಷಿಸಿ ನೋಡಿರಿ, ಸಹಸಂಬಂಧ ಮಾದರಿಯ ճշտತೆಗೆ ಹೇಗಿದೆ ಎಂದು. +ಈ ನೋಟ್ಬುಕ್‌ನಲ್ಲಿ ಹಲವು ವಿಭಿನ್ನ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಪರೀಕ್ಷಿಸಿ, ಸಂಬಂಧವು ಮಾದರಿ ಖಚಿತತೆಗೆ ಹೇಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ ನೋಡಿರಿ. -## [ಪಾಠೋತ್ತರ ಪ್ರಶ್ನೋತ್ತರ](https://ff-quizzes.netlify.app/en/ml/) +## [ಪಠ್ಯೋತ್ತರ ಕುಶಲತಾ ಪರೀಕ್ಷೆ](https://ff-quizzes.netlify.app/en/ml/) -## ಪರಿಚಯ & ಸ್ವ-अಧ್ಯಯನ +## ವಿಮರ್ಶೆ ಮತ್ತು ಸ್ವಅಧ್ಯಯನ -ಈ ಪಾಠದಲ್ಲಿ ನಾವು ಲಿನಿಯರ್ ರಿಗ್ರೆಶನ್ ಬಗ್ಗೆ ಕಲಿತೇವೆ. ಇತರ ಪ್ರಮುಖ ರಿಗ್ರೆಶನ್ ಪ್ರಕಾರಗಳಿವೆ. Stepwise, Ridge, Lasso ಮತ್ತು Elasticnet ತಂತ್ರಗಳ ಕುರಿತು ಓದು. ಇನ್ನಷ್ಟು ತಿಳಿಯಲು ಉತ್ತಮ ಪಾಠವೊಂದಾಗಿದೆ [Stanford Statistical Learning course](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning) +ಈ ಪಾಠದಲ್ಲಿ ನಾವು ಲೀನಿಯರ್ ರೀಗ್ರೆಷನ್ ಅನ್ನು ಕಲಿತೆವೆವು. ಇತರ ಪ್ರಮುಖ ರೀಗ್ರೆಷನ್ ಪ್ರಕಾರಗಳೂ ಇವೆ. ಸ್ಟೆಪ್ವೈಸ್, ರಿಡ್, ಲಾಸೋ ಮತ್ತು ಈಲಾಸ್ಟಿಕ್‌ನೆಟ್ ತಂತ್ರಗಳನ್ನು ಓದಿ ಕಲಿಯಿರಿ. ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ [ಸ್ಟಾನ್ಫರ್ಡ್ ಸ್ಟ್ಯಾಟಿಸ್ಟಿಕಲ್ ಲರ್ನಿಂಗ್ ಕೋರ್ಸ್](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning) ಓದಿ. -## ಹಂತವಾರು ಕೃತಿ +## ನೇಮಕಾತಿ -[ಮಾದರಿ ನಿರ್ಮಿಸಿ](assignment.md) +[ಮಾದರಿ ರಚಿಸಿ](assignment.md) --- -**ತಪ್ಪು ನಿವಾರಣೆ**: -ಈ ದಾಖಲೆ [Co-op Translator](https://github.com/Azure/co-op-translator) ಎಂಬ AI ಅನುವಾದ ಸೇವೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ಶುದ್ಧತೆಗಾಗಿ ಪ್ರಯತ್ನಿಸಿದರೂ ಸಹ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ದೋಷಗಳು ಅಥವಾ ಸುಳ್ಳು ಮಾಹಿತಿಗಳು ಇರಬಹುದೆಂದು ದಯವಿಟ್ಟು ಗಮನಿಸಿ. ಮೂಲ ದಸ್ತಾವೇಜು ಅದರ ಸ್ವಭಾವಿಕ ಜನರ ಭಾಷೆಯಲ್ಲಿ ಅಧಿಕಾರದ ಮೂಲವಾಗಿ ಪರಿಗಣಿಸಬೇಕು. ಮಹತ್ವದ ಮಾಹಿತಿಗೆ, ನಿಪುಣ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದದ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ಗೊಂದಲಗಳಿಗೆ ಅಥವಾ ತಪ್ಪು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವಿಕೆಗೆ ನಾವು ಹೊಣೆಗಾರರಾಗುವುದಿಲ್ಲ. +**ಅಸ್ವೀಕಾರ ಪತ್ರ**: +ಈ ದಾಖಲೆ AI ಅನುವಾದ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator) ಬಳಸಿಕೊಂಡು ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ನಿಖರತೆಗಾಗಿ ಪ್ರಯತ್ನಿಸುವಾಗ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ದೋಷ ಅಥವಾ ಅನೇಕರೂಪತೆಯುಂಟಾಗಬಹುದು ಎಂದು ದಯವಿಟ್ಟು ಗಮನಿಸಿ. ಮೂಲ ದಾಖಲೆ ಅದರ ಆಧಿಕೃತ ಭಾಷೆಯಲ್ಲಿ ಪ್ರಮಾಣಿಕ ಮೂಲ ಎಂದು ಪರಿಗಣಿಸಬೇಕು. ನಾಜೂಕು ಮಾಹಿತಿಗಾಗಿ ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದ ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದವನ್ನು ಬಳಸಿಕೊಂಡು ಸಂಭವಿಸುವ ಯಾವುದೇ ತಪ್ಪು ತಿಳಿವುಗಳು ಅಥವಾ ತಪ್ಪು ಅರ್ಥಗಳಿಗಾಗಿ আমরা ಹೊಣೆಗಾರರಲ್ಲ. \ No newline at end of file diff --git a/translations/kn/2-Regression/3-Linear/solution/notebook.ipynb b/translations/kn/2-Regression/3-Linear/solution/notebook.ipynb index 9f35d1479..ee79e84da 100644 --- a/translations/kn/2-Regression/3-Linear/solution/notebook.ipynb +++ b/translations/kn/2-Regression/3-Linear/solution/notebook.ipynb @@ -4,14 +4,14 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## ಕಂಬಳಿಯ ಬೆಲೆಗೆ ರೇಖೀಯ ಮತ್ತು ಬಹುಪದ ರಿಗ್ರೆಷನ್ - ಪಾಠ 3\n", + "## ಕುಂಬಳಕಾಯಿ ಬೆಲೆಯ ಲಿನಿಯರ್ ಮತ್ತು ಪೊಲಿನೋಮಿಯಲ್ ರಿಗ್ರೆಷನ್ - ಪಾಠ 3\n", "\n", - "ಅಗತ್ಯ ಲೈಬ್ರರಿಗಳು ಮತ್ತು ಡೇಟಾಸೆಟ್ ಅನ್ನು ಲೋಡ್ ಮಾಡಿ. ಡೇಟಾವನ್ನು ಡೇಟಾಫ್ರೇಮ್‌ಗೆ ಪರಿವರ್ತಿಸಿ, ಡೇಟಾದ ಉಪಸಮೂಹವನ್ನು ಒಳಗೊಂಡಂತೆ:\n", + "ಅವಶ್ಯಕ ಲೈಬ್ರರಿಗಳು ಮತ್ತು ಡೇಟಾಸೆಟ್ ಅನ್ನು ಲೋಡ್ ಮಾಡಿ. ಡೇಟಾವನ್ನು ಡೇಟಾ ಫ್ರೇಮ್‌ಗೆ ಪರಿವರ್ತಿಸಿ, ಇದರಲ್ಲಿ ಆ ಭಾಗದ ಉಪಸಂಹಿತೆಯಿರುವ subset ಅನ್ನು ಒಳಗೊಂಡಿರಬೇಕು:\n", "\n", - "- ಬಸ್ಸೆಲ್ ಪ್ರಕಾರ ಬೆಲೆಯಾದ ಕಂಬಳಿಗಳನ್ನು ಮಾತ್ರ ಪಡೆಯಿರಿ\n", - "- ದಿನಾಂಕವನ್ನು ತಿಂಗಳಿಗೆ ಪರಿವರ್ತಿಸಿ\n", - "- ಬೆಲೆಯನ್ನು ಉನ್ನತ ಮತ್ತು ಕಡಿಮೆ ಬೆಲೆಯ ಸರಾಸರಿ ಎಂದು ಲೆಕ್ಕಿಸಿ\n", - "- ಬೆಲೆಯನ್ನು ಬಸ್ಸೆಲ್ ಪ್ರಮಾಣದ ಪ್ರಕಾರ ಪ್ರತಿಬಿಂಬಿಸುವಂತೆ ಪರಿವರ್ತಿಸಿ\n" + "- ಬಸ್‌ಹೆಲ್ ಪ್ರಕಾರ ಬೆಲೆ ನೀಡಲಾದ ಕುಂಬಳಕಾಯಿಗಳನ್ನು ಮಾತ್ರ ಪಡೆಯಿರಿ\n", + "- ದಿನಾಂಕವನ್ನು ತಿಂಗಳುಗೆ ಪರಿವರ್ತಿಸಿ\n", + "- ಬೆಲೆಯನ್ನು ಗರಿಷ್ಠ ಮತ್ತು ಕನಿಷ್ಠ ಬೆಲೆಯ ಸರಾಸರಿ ಆಗಿ ಲೆಕ್ಕಿಸಿ\n", + "- ಬೆಲೆಯನ್ನು ಬಸ್‌ಹೆಲ್ ಪ್ರಮಾಣದ ಪ್ರಕಾರ ಪ್ರತಿಬಿಂಬಿಸುವಂತೆ ಪರಿವರ್ತಿಸಿ\n" ] }, { @@ -377,7 +377,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "ಒಂದು ಸ್ಕ್ಯಾಟರ್‌ಪ್ಲಾಟ್ ನಮಗೆ ಆಗಸ್ಟ್‌ನಿಂದ ಡಿಸೆಂಬರ್‌ವರೆಗೆ ಮಾತ್ರ ತಿಂಗಳ ಡೇಟಾ ಇದೆ ಎಂದು ನೆನಪಿಸುತ್ತದೆ. ರೇಖೀಯ ರೀತಿಯಲ್ಲಿ ನಿರ್ಣಯಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಲು ನಾವು ಬಹುಶಃ ಹೆಚ್ಚು ಡೇಟಾ ಬೇಕಾಗಬಹುದು.\n" + "ಒಂದು ಸ್ಕ್ಯಾಟರ್ಪ್ಲಾಟ್ ನಮಗೆ ಆಗಸ್ಟ್ದಿಂದ ಡಿಸೆಂಬರ್ ತನಕ ಮಾತ್ರ ತಿಂಗಳ ಡೇಟಾ ಇರುವುದನ್ನು ಸಹಜವಾಗಿ ನೆನಪಿಸುತ್ತದೆ. ಲೀನಿಯರ್ ರೀತಿ ನಿರ್ಣಯಗಳನ್ನು ಬಿಡಿಸಲು ಹೆಚ್ಚು ಡೇಟಾ ಬೇಕಾಗಬಹುದು.\n" ] }, { @@ -448,7 +448,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "ನೋಡೋಣ ಇದರಲ್ಲಿ ಸಂಬಂಧವಿದೆಯೇ:\n" + "ನೋಡೋಣ ಇದರಲ್ಲಿ ಸಹಸಂಬಂಧವಿದೆಯೇ ಎಂದು:\n" ] }, { @@ -474,7 +474,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "ಸಂಬಂಧವು ತುಂಬಾ ಸಣ್ಣದಾಗಿರುವಂತೆ ಕಾಣುತ್ತದೆ, ಆದರೆ ಇನ್ನೊಂದು ಹೆಚ್ಚು ಪ್ರಮುಖ ಸಂಬಂಧವಿದೆ - ಏಕೆಂದರೆ ಮೇಲಿನ ಚಿತ್ರದಲ್ಲಿ ಬೆಲೆ ಬಿಂದುಗಳು ಹಲವಾರು ವಿಭಿನ್ನ ಗುಂಪುಗಳನ್ನು ಹೊಂದಿವೆ ಎಂದು ತೋರುತ್ತದೆ. ಬೇರೆಯಾದ ಹಬ್ಬುಗಳ ವಿವಿಧ ಪ್ರಭೇದಗಳನ್ನು ತೋರಿಸುವ ಚಿತ್ರವನ್ನು ಮಾಡೋಣ:\n" + "ಸಂಬಂಧ ಕಡಿಮೆ ಇದೆ ಅನ್ನಿಸುತ್ತದೆ, ಆದರೆ ಇನ್ನೂ ಹೆಚ್ಚು ಮುಖ್ಯವಾದ ಸಂಬಂಧವೊಂದಿದೆ - ಏಕೆಂದರೆ ಮೇಲಾಗಿದ ಪ್ಲಾಟ್‌ನಲ್ಲಿ ಬೆಲೆ ಬಿಂದುವುಗಳು ಹಲವು ವಿಭಿನ್ನ ಗುಚ್ಛಗಳನ್ನು ಹೊಂದಿವೆ ಎಂದು ಕಂಡುಬರುತ್ತದೆ. ಬೇರೆಯಾದ ಬೂದಕಾಯಿ ಪ್ರಭೇದಗಳನ್ನು ತೋರಿಸುವ ಪ್ಲಾಟ್ ಅನ್ನು ಮಾಡೋಣ:\n" ] }, { @@ -538,7 +538,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "ಈ ಸಮಯದಲ್ಲಿ, ನಾವು ಕೇವಲ ಒಂದು ಪ್ರಕಾರ - **ಪೈ ಪ್ರಕಾರ** ಮೇಲೆ ಮಾತ್ರ ಗಮನಹರಿಸೋಣ.\n" + "ಈ ಸಂದರ್ಭದಲ್ಲಿ, ನಾವು ಮಾತ್ರ ಒಂದು ಪ್ರಕಾರ - **ಪೈ ಟೈಪ್** ಮೇಲೆ ದೃಷ್ಠಿ ಸಾರಿ ಕೊಳ್ಳೋಣ.\n" ] }, { @@ -586,9 +586,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### ರೇಖೀಯ ರಿಗ್ರೆಷನ್\n", + "### ರೇಖೀಯ ರಿಗ್ರೇಶನ್\n", "\n", - "ನಾವು ರೇಖೀಯ ರಿಗ್ರೆಷನ್ ಮಾದರಿಯನ್ನು ತರಬೇತಿಗೆ Scikit Learn ಅನ್ನು ಬಳಸಲಿದ್ದೇವೆ:\n" + "ನಾವು ಲಿನಿಯರ್ ರಿಗ್ರೇಶನ್ ಮಾದರಿಯನ್ನು ತರಬೇತಿಗೆ Scikit Learn ಅನ್ನು ಬಳಸುತ್ತೇವೆ:\n" ] }, { @@ -666,7 +666,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "ರೇಖೀಯ ರಿಗ್ರೆಷನ್ ಗುಣಾಂಕಗಳಿಂದ ರೇಖೆಯ ತಿರುವು ನಿರ್ಧರಿಸಬಹುದು:\n" + "ರೇಖೀಯ ರಿಗ್ರೆಷನ್ ಗುಣಾಂಕಗಳಿಂದ ರೇಖೆಯ ಸ್ತರವನ್ನು ನಿರ್ಧರಿಸಬಹುದು:\n" ] }, { @@ -693,7 +693,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "ನಾವು ತರಬೇತುಗೊಂಡ ಮಾದರಿಯನ್ನು ಬೆಲೆ ಊಹಿಸಲು ಬಳಸಬಹುದು:\n" + "ನಾವು ತರಬೇತುಗೊಂಡ ಮಾದರಿಯನ್ನು ಬಲ ಪ್ರಿಡಿಕ್ಟ್ ಮಾಡಲು ಬಳಸಬಹುದು:\n" ] }, { @@ -722,11 +722,11 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### ಬಹುಪದ ರಿಗ್ರೆಷನ್\n", + "### ಬಹುಪದೀಯ ರೆಗ್ರೆಷನ್\n", "\n", - "ಕೆಲವೊಮ್ಮೆ ವೈಶಿಷ್ಟ್ಯಗಳು ಮತ್ತು ಫಲಿತಾಂಶಗಳ ನಡುವಿನ ಸಂಬಂಧ ಸ್ವಭಾವತಃ ರೇಖೀಯವಲ್ಲ. ಉದಾಹರಣೆಗೆ, ಹಬ್ಬದ ಬೆಲೆಗಳು ಚಳಿಗಾಲದಲ್ಲಿ (ತಿಂಗಳು=1,2) ಹೆಚ್ಚು ಇರಬಹುದು, ನಂತರ ಬೇಸಿಗೆ (ತಿಂಗಳು=5-7) ಸಮಯದಲ್ಲಿ ಇಳಿಯಬಹುದು, ಮತ್ತು ನಂತರ ಮತ್ತೆ ಏರಬಹುದು. ರೇಖೀಯ ರಿಗ್ರೆಷನ್ ಈ ಸಂಬಂಧವನ್ನು ಸರಿಯಾಗಿ ಕಂಡುಹಿಡಿಯಲು ಸಾಧ್ಯವಿಲ್ಲ.\n", + "ಕೆಲಸಾರಿಗೆ ಲಕ್ಷಣಗಳು ಮತ್ತು ಫಲಿತಾಂಶಗಳ ನಡುವಿನ ಸಂಬಂಧ ಸ್ವಾಭಾವಿಕವಾಗಿಯೇ ರೇಖೀಯವಲ್ಲದಿದೆ. ಉದಾಹರಣೆಗೆ, ಗಂಟುಮынҭқарದ ಬೆಲೆಗಳನ್ನು ಚಳಿಗಾಲದಲ್ಲಿ (ತಿಂಗಳು=1,2) ಹೆಚ್ಚು ಇರಬಹುದು, ನಂತರ ಬೇಸಿಗೆ (ತಿಂಗಳು=5-7) ಅವಧಿಯಲ್ಲಿ ಕಡಿಮೆಯಾಗುತ್ತದೆ, ಮತ್ತು ನಂತರ ಮತ್ತೆ ಏರುತ್ತದೆ. ರೇಖೀಯ ರೆಗ್ರೆಷನ್ ಈ ಸಂಬಂಧವನ್ನು ಸರಿಯಾಗಿ ಕಂಡುಹಿಡಿಯಲು ಆಗುವುದಿಲ್ಲ.\n", "\n", - "ಈ ಸಂದರ್ಭದಲ್ಲಿ, ನಾವು ಹೆಚ್ಚುವರಿ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಸೇರಿಸುವುದನ್ನು ಪರಿಗಣಿಸಬಹುದು. ಸರಳ ವಿಧಾನವೆಂದರೆ ಇನ್‌ಪುಟ್ ವೈಶಿಷ್ಟ್ಯಗಳಿಂದ ಬಹುಪದಗಳನ್ನು ಬಳಸುವುದು, ಇದರಿಂದ **ಬಹುಪದ ರಿಗ್ರೆಷನ್** ಆಗುತ್ತದೆ. ಸ್ಕಿಕಿಟ್ ಲರ್ನ್‌ನಲ್ಲಿ, ನಾವು ಪೈಪ್ಲೈನ್ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಬಹುಪದ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಪೂರ್ವಗಣನೆ ಮಾಡಬಹುದು: \n" + "ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಹೆಚ್ಚುವರಿ ಲಕ್ಷಣಗಳನ್ನು ಸೇರಿಸಲು ಪರಿಗಣಿಸಬಹುದು. ಸರಳ ಮಾರ್ಗ input ಲಕ್ಷಣಗಳಿಂದ ಬಹುಪದೀಯಗಳನ್ನು ಬಳಸಿ, ಇದರಿಂದ **ಬಹುಪದೀಯ ರೆಗ್ರೆಷನ್** ಉಂಟಾಗುತ್ತದೆ. ಸ್ಕಿಕಿಟ್ ಲರ್ನ್ ನಲ್ಲಿ, ನಾವು ಪೈಪ್ಲೈನ್ಗಳನ್ನು ಬಳಸಿ ಬಹುಪದೀಯ ಲಕ್ಷಣಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪೂರ್ವ ಗಣನೆ ಮಾಡಬಹುದು:\n" ] }, { @@ -781,22 +781,25 @@ "score = pipeline.score(X_train,y_train)\n", "print('Model determination: ', score)\n", "\n", - "plt.scatter(X_test,y_test)\n", - "plt.plot(sorted(X_test),pipeline.predict(sorted(X_test)))" + "X_range = np.linspace(X_test.min(), X_test.max(), 100).reshape(-1,1)\n", + "y_range = pipeline.predict(X_range)\n", + "\n", + "plt.scatter(X_test, y_test)\n", + "plt.plot(X_range, y_range)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### ಎನ್‌ಕೋಡಿಂಗ್ ವೈವಿಧ್ಯಗಳು\n", + "### ಎನ್ಕೋಡಿಂಗ್ ವಿಧಗಳು\n", "\n", - "ಆದರ್ಶ ಜಗತ್ತಿನಲ್ಲಿ, ನಾವು ಒಂದೇ ಮಾದರಿಯನ್ನು ಬಳಸಿಕೊಂಡು ವಿಭಿನ್ನ ಕಂಬಳಿಯ ವೈವಿಧ್ಯಗಳ ಬೆಲೆಗಳನ್ನು ಭವಿಷ್ಯವಾಣಿ ಮಾಡಲು ಬಯಸುತ್ತೇವೆ. ವೈವಿಧ್ಯವನ್ನು ಪರಿಗಣಿಸಲು, ಮೊದಲು ಅದನ್ನು ಸಂಖ್ಯಾತ್ಮಕ ರೂಪಕ್ಕೆ ಪರಿವರ್ತಿಸಬೇಕಾಗುತ್ತದೆ, ಅಥವಾ **ಎನ್‌ಕೋಡ್** ಮಾಡಬೇಕಾಗುತ್ತದೆ. ಇದನ್ನು ಮಾಡಲು ಹಲವಾರು ವಿಧಾನಗಳಿವೆ:\n", + "ಐಡಿಯಲ್ ಜಗತ್ತಿನಲ್ಲಿ, ನಾವು ಒಂದೇ ಮಾದರಿಯನ್ನು ಉಪಯೋಗಿಸಿ ವಿಭಿನ್ನ ಕುರ್ಕುಷಿ ವಿಧಗಳ ಬೆಲೆಗಳನ್ನು ಊಹಿಸಲು ಬಯಸುತ್ತೇವೆ. ವಿಧವನ್ನು ಪರಿಗಣಿಸಲು, ಮೊದಲು ಅದನ್ನು ಸಂಖ್ಯಾತ್ಮಕ ರೂಪಕ್ಕೆ ಪರಿವರ್ತಿಸಬೇಕಾಗುತ್ತದೆ, ಅಂದರೆ **ಎನ್ಕೋಡ್** ಮಾಡಬೇಕು. ಇದನ್ನು several ನಾನಾ ರೀತಿಯಲ್ಲಾಗಿಸಬಹುದು:\n", "\n", - "* ಸರಳ ಸಂಖ್ಯಾತ್ಮಕ ಎನ್‌ಕೋಡಿಂಗ್, ಇದು ವಿಭಿನ್ನ ವೈವಿಧ್ಯಗಳ ಟೇಬಲ್ ಅನ್ನು ನಿರ್ಮಿಸಿ, ನಂತರ ಆ ಟೇಬಲ್‌ನಲ್ಲಿ ವೈವಿಧ್ಯ ಹೆಸರನ್ನು ಸೂಚ್ಯಂಕದಿಂದ ಬದಲಾಯಿಸುತ್ತದೆ. ಇದು ಲೀನಿಯರ್ ರಿಗ್ರೆಶನ್‌ಗೆ ಉತ್ತಮ ಐಡಿಯಾ ಅಲ್ಲ, ಏಕೆಂದರೆ ಲೀನಿಯರ್ ರಿಗ್ರೆಶನ್ ಸೂಚ್ಯಂಕದ ಸಂಖ್ಯಾತ್ಮಕ ಮೌಲ್ಯವನ್ನು ಪರಿಗಣಿಸುತ್ತದೆ, ಮತ್ತು ಆ ಸಂಖ್ಯಾತ್ಮಕ ಮೌಲ್ಯವು ಬೆಲೆಯೊಂದಿಗೆ ಸಂಖ್ಯಾತ್ಮಕವಾಗಿ ಹೊಂದಾಣಿಕೆ ಹೊಂದಿರುವುದಿಲ್ಲ.\n", - "* ಒನ್-ಹಾಟ್ ಎನ್‌ಕೋಡಿಂಗ್, ಇದು `Variety` ಕಾಲಮ್ ಅನ್ನು 4 ವಿಭಿನ್ನ ಕಾಲಮ್‌ಗಳ ಮೂಲಕ ಬದಲಾಯಿಸುತ್ತದೆ, ಪ್ರತಿ ವೈವಿಧ್ಯಕ್ಕೆ ಒಂದು ಕಾಲಮ್, ಅದು ನೀಡಲಾದ ಸಾಲು ಆ ವೈವಿಧ್ಯಕ್ಕೆ ಸೇರಿದರೆ 1 ಇರುತ್ತದೆ, ಇಲ್ಲದಿದ್ದರೆ 0 ಇರುತ್ತದೆ.\n", + "* ಸರಳ ಸಂಖ್ಯಾತ್ಮಕ ಎನ್ಕೋಡಿಂಗ್, ಇದು ವಿಭಿನ್ನ ವಿಧಗಳ ಟೇಬಲ್ ಅನ್ನು ರಚಿಸಿ, ನಂತರ ಆ ಟೇಬಲ್‌ನಲ್ಲಿನ ಸೂಚ್ಯಾಂಕದಿಂದ ವಿಧದ ಹೆಸರನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ. ಇದು ಲಿನಿಯರ್ ರೆಗ್ರೆಶನ್‌ಗೆ ಉತ್ತಮ ಉಪಾಯವಲ್ಲ, ಏಕೆಂದರೆ ಲಿನಿಯರ್ ರೆಗ್ರೆಶನ್ ಸೂಚ್ಯಂಕದ ಸಂಖ್ಯಾತ್ಮಕ ಮೌಲ್ಯವನ್ನು ಪರಿಗಣಿಸುತ್ತದೆ ಮತ್ತು ಆ ಸಂಖ್ಯಾತ್ಮಕ ಮೌಲ್ಯವು ಬೆಲೆಯೊಂದಿಗೆ ಸಂಖ್ಯಾತ್ಮಕವಾಗಿ ಸಂಬಂಧಿಸಿದೆಯೆಂದು ಸಾಧ್ಯತೆ ಕಡಿಮೆ.\n", + "* ಒನ್-ಹಾಟ್ ಎನ್ಕೋಡಿಂಗ್, ಇದು `Variety` ಕಾಲಮ್ ಅನ್ನು 4 ವಿಭಿನ್ನ ಕಾಲಮ್‌ಗಳಾಗಿ ಬದಲಾಯಿಸುತ್ತದೆ, ಪ್ರತಿ ವಿಧಕ್ಕೆ ಒಂದು ಕಾಲಮ್, ತರವಾಗಿದ್ದ ಸಾಲಿಗೆ 1 ಮತ್ತು ಬೇರೆ ವೇಳೆ 0 ಇರುತ್ತದೆ.\n", "\n", - "ಕೆಳಗಿನ ಕೋಡ್ ಒಂದು ವೈವಿಧ್ಯವನ್ನು ಒನ್-ಹಾಟ್ ಎನ್‌ಕೋಡ್ ಮಾಡುವ ವಿಧಾನವನ್ನು ತೋರಿಸುತ್ತದೆ:\n" + "ಕೆಳಗಿನ ಕೋಡ್ ನಮಗೆ ಒನ್-ಹಾಟ್ ಎನ್ಕೋಡ್ ಮಾಡುವ ವಿಧಾನವನ್ನು ತೋರಿಸುತ್ತದೆ:\n" ] }, { @@ -944,9 +947,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### ವೈವಿಧ್ಯದಲ್ಲಿ ರೇಖೀಯ ರಿಗ್ರೆಷನ್\n", + "### ವೈವಿಧ್ಯತೆಯ ಮೇಲೆ ರೇಖೀಯ ರಿಗ್ರೆಶನ್\n", "\n", - "ನಾವು ಈಗ ಮೇಲಿನ ಅದೇ ಕೋಡ್ ಅನ್ನು ಬಳಸುತ್ತೇವೆ, ಆದರೆ `DayOfYear` ಬದಲು ನಾವು ನಮ್ಮ ಒನ್-ಹಾಟ್-ಎನ್‌ಕೋಡ್ ಮಾಡಿದ ವೈವಿಧ್ಯವನ್ನು ಇನ್‌ಪುಟ್ ಆಗಿ ಬಳಸುತ್ತೇವೆ:\n" + "ನಾವು ಈಗ ಮೇಲಿನ ಅದೇ ಕೋಡ್ ಬಳಸಲಿದ್ದೇವೆ, ಆದರೆ `DayOfYear` ಬದಲು ನಾವು ನಮ್ಮ ಒನ್-ಹಾಟ್-ಎન્કೋಡಡ್ ವೈವಿಧ್ಯತೆಯನ್ನು ಇನ್‌ಪುಟ್ ಆಗಿ ಬಳಸುತ್ತೇವೆ:\n" ] }, { @@ -994,7 +997,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "ನಾವು ಅದೇ ರೀತಿಯಲ್ಲಿ ಇತರ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಪ್ರಯತ್ನಿಸಬಹುದು ಮತ್ತು ಅವುಗಳನ್ನು ಸಂಖ್ಯಾತ್ಮಕ ವೈಶಿಷ್ಟ್ಯಗಳೊಂದಿಗೆ ಸಂಯೋಜಿಸಬಹುದು, ಉದಾಹರಣೆಗೆ `Month` ಅಥವಾ `DayOfYear`:\n" + "ನಾವು ಅದೇ ರೀತியில் ಇತರ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಪ್ರಯತ್ನಿಸಬಹುದು ಮತ್ತು ಅವುಗಳನ್ನು `ತಿಂಗಳು` ಅಥವಾ `ವರ್ಷದದಿನ` ಎಂಬ ಸಂಖ್ಯಾತ್ಮಕ ವೈಶಿಷ್ಟ್ಯಗಳೊಂದಿಗೆ ಸಂಯೋಜಿಸಬಹುದು:\n" ] }, { @@ -1025,9 +1028,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### ಬಹುಪದ ರಿಗ್ರೆಷನ್\n", + "### ಪೊಳಿಮೋನಿಯಲ್ ಪ್ರತigay\n", "\n", - "ಬಹುಪದ ರಿಗ್ರೆಷನ್ ಅನ್ನು ಒನ್-ಹಾಟ್-ಎನ್‌ಕೋಡ್ ಮಾಡಲಾದ ವರ್ಗೀಕೃತ ಲಕ್ಷಣಗಳೊಂದಿಗೆ ಕೂಡ ಬಳಸಬಹುದು. ಬಹುಪದ ರಿಗ್ರೆಷನ್ ತರಬೇತಿಗೆ ಬೇಕಾದ ಕೋಡ್ ಮೂಲತಃ ನಾವು ಮೇಲ್ನೋಟದಲ್ಲಿ ನೋಡಿದಂತೆಯೇ ಇರುತ್ತದೆ.\n" + "ಒನ್-ಹಾಟ್ ಎನ್ಕೋಡ್ ಮಾಡಿದ ವರ್ಗೀಕೃತ ಲಕ್ಷಣಗಳೊಂದಿಗೆ ಕೂಡ ಪೊಳಿಮೋನಿಯಲ್ ಪ್ರತigay ಬಳಸದಬಹುದು. ಪೊಳಿಮೋನಿಯಲ್ ಪ್ರತigay ತರಬೇತುದಾನ ಮಾಡುವ ಕೋಡ್ ಸಾಮಾನ್ಯವಾಗಿ ಮೇಲ್ಕಂಡಂತೆ ಇರುತ್ತದೆ.\n" ] }, { @@ -1074,7 +1077,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "---\n\n\n**ಅಸ್ವೀಕರಣ**: \nಈ ದಸ್ತಾವೇಜು AI ಅನುವಾದ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator) ಬಳಸಿ ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ನಿಖರತೆಯಿಗಾಗಿ ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೂ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ತಪ್ಪುಗಳು ಅಥವಾ ಅಸತ್ಯತೆಗಳು ಇರಬಹುದು ಎಂದು ದಯವಿಟ್ಟು ಗಮನಿಸಿ. ಮೂಲ ಭಾಷೆಯಲ್ಲಿರುವ ಮೂಲ ದಸ್ತಾವೇಜನ್ನು ಅಧಿಕೃತ ಮೂಲವೆಂದು ಪರಿಗಣಿಸಬೇಕು. ಮಹತ್ವದ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ತಪ್ಪು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವಿಕೆ ಅಥವಾ ತಪ್ಪು ವಿವರಣೆಗಳಿಗೆ ನಾವು ಹೊಣೆಗಾರರಾಗುವುದಿಲ್ಲ.\n\n" + "---\n\n\n**ನಿರಾಕರಣ**: \nಈ ದಾಖಲೆಯನ್ನು AI ಅನುವಾದ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator) ಬಳಸಿ ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ನಿಖರತೆಗೆ ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೆಗೂ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ತಪ್ಪುಗಳು ಅಥವಾ ತಪ್ಪು ಅರ್ಥಗಳು ಇರಬಹುದು ಎಂದು ದಯವಿಟ್ಟು ಗಮನಿಸಿ. ಮೂಲ ಭಾಷೆಯಲ್ಲಿನ ಮೂಲ ದಾಖಲೆ ಅಧಿಕೃತ ಮೂಲವಾಗಿದ್ದು ಪರಿಗಣಿಸಬೇಕಾಗಿದೆ. ಪ್ರಮುಖ ಮಾಹಿತಿ සඳහා ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ. ಈ ಅನುವಾದ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ಬಳಕೆಯ ತಪ್ಪುಜ್ಞಾನ ಅಥವಾ ತಪ್ಪು ಅರ್ಥಗಳಿಗಾಗಿ ನಾವು ಜವಾಬ್ದಾರಿಯಲ್ಲ.\n\n" ] } ], @@ -1104,13 +1107,7 @@ "hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d" } }, - "orig_nbformat": 2, - "coopTranslator": { - "original_hash": "d77bd89ae7e79780c68c58bab91f13f8", - "translation_date": "2025-12-19T16:20:25+00:00", - "source_file": "2-Regression/3-Linear/solution/notebook.ipynb", - "language_code": "kn" - } + "orig_nbformat": 2 }, "nbformat": 4, "nbformat_minor": 2 diff --git a/translations/ml/.co-op-translator.json b/translations/ml/.co-op-translator.json index fc33ab8c7..5d4c4d424 100644 --- a/translations/ml/.co-op-translator.json +++ b/translations/ml/.co-op-translator.json @@ -36,8 +36,8 @@ "language_code": "ml" }, "1-Introduction/4-techniques-of-ML/README.md": { - "original_hash": "9d91f3af3758fdd4569fb410575995ef", - "translation_date": "2025-12-19T13:36:10+00:00", + "original_hash": "84b1715a6be62ef1697351dcc5d7b567", + "translation_date": "2026-04-26T19:33:22+00:00", "source_file": "1-Introduction/4-techniques-of-ML/README.md", "language_code": "ml" }, @@ -90,8 +90,8 @@ "language_code": "ml" }, "2-Regression/3-Linear/README.md": { - "original_hash": "26c53a922f1f1e8542b0ea41ff52221a", - "translation_date": "2026-04-20T18:40:15+00:00", + "original_hash": "8b776e731c35b171d316d01d0e7b1369", + "translation_date": "2026-04-26T19:32:48+00:00", "source_file": "2-Regression/3-Linear/README.md", "language_code": "ml" }, @@ -107,6 +107,12 @@ "source_file": "2-Regression/3-Linear/solution/Julia/README.md", "language_code": "ml" }, + "2-Regression/3-Linear/solution/notebook.ipynb": { + "original_hash": "6781223ffbe8cfdaa38d0200f08e1288", + "translation_date": "2026-04-26T19:29:23+00:00", + "source_file": "2-Regression/3-Linear/solution/notebook.ipynb", + "language_code": "ml" + }, "2-Regression/4-Logistic/README.md": { "original_hash": "abf86d845c84330bce205a46b382ec88", "translation_date": "2025-12-19T14:05:02+00:00", diff --git a/translations/ml/1-Introduction/4-techniques-of-ML/README.md b/translations/ml/1-Introduction/4-techniques-of-ML/README.md index 6cf7df42c..184b125a6 100644 --- a/translations/ml/1-Introduction/4-techniques-of-ML/README.md +++ b/translations/ml/1-Introduction/4-techniques-of-ML/README.md @@ -1,125 +1,125 @@ -# മെഷീൻ ലേണിങ്ങിന്റെ സാങ്കേതിക വിദ്യകൾ +# മെഷീൻ ലേണിംഗിന്റെ സാങ്കേതികങ്ങൾ -മെഷീൻ ലേണിംഗ് മോഡലുകൾ നിർമ്മിക്കുന്നതും ഉപയോഗിക്കുന്നതും പരിപാലിക്കുന്നതും, അവ ഉപയോഗിക്കുന്ന ഡാറ്റയും, മറ്റ് പല വികസന പ്രവൃത്തികളിൽ നിന്നുള്ളവയിൽ നിന്ന് വളരെ വ്യത്യസ്തമായ പ്രക്രിയയാണ്. ഈ പാഠത്തിൽ, നാം ഈ പ്രക്രിയയെ വിശദീകരിക്കുകയും നിങ്ങൾ അറിയേണ്ട പ്രധാന സാങ്കേതിക വിദ്യകൾ രേഖപ്പെടുത്തുകയും ചെയ്യും. നിങ്ങൾക്ക്: +മെഷീൻ ലേണിംഗ് മാതൃകകൾ നിർമ്മിക്കുകയും ഉപയോഗിക്കുകയും പരിപാലിക്കുകയും ചെയ്യുന്നതിനുള്ള പ്രക്രിയ മറ്റ് പല വികസന പ്രവാഹങ്ങളേക്കാൾ വളരെ വ്യത്യസ്തമാണ്. ഈ പാഠത്തിൽ, നാം പ്രക്രിയയെ നിഗൂഢമയമാക്കാതെ തുറന്നുകാട്ടുകയും നിങ്ങൾ അറിയേണ്ട പ്രധാന സാങ്കേതികങ്ങൾ വിശദീകരിക്കുകയും ചെയ്യും. നിങ്ങൾ ചെയ്യും: -- മെഷീൻ ലേണിംഗിന്റെ അടിസ്ഥാന പ്രക്രിയകൾ ഉയർന്ന തലത്തിൽ മനസ്സിലാക്കാം. -- 'മോഡലുകൾ', 'ഭാവനകൾ', 'പരിശീലന ഡാറ്റ' പോലുള്ള അടിസ്ഥാന ആശയങ്ങൾ അന്വേഷിക്കാം. +- മെഷീൻ ലേണിംഗിന്റെ അടിസ്ഥാനം 이해ിക്കുക. +- ‘മോഡലുകൾ’, ‘പ്രസിദ്ധീകരണങ്ങൾ’, ‘പരിശീലന ഡാറ്റ’ പോലുള്ള അടിസ്ഥാന ആശയങ്ങൾ പഠിക്കുക. ## [പ്രീ-ലെക്ചർ ക്വിസ്](https://ff-quizzes.netlify.app/en/ml/) [![ML for beginners - Techniques of Machine Learning](https://img.youtube.com/vi/4NGM0U2ZSHU/0.jpg)](https://youtu.be/4NGM0U2ZSHU "ML for beginners - Techniques of Machine Learning") -> 🎥 ഈ പാഠം വിശദീകരിക്കുന്ന ഒരു ചെറിയ വീഡിയോ കാണാൻ മുകളിൽ ചിത്രത്തിൽ ക്ലിക്ക് ചെയ്യുക. +> 🎥 മുകളിൽ കാണുന്ന ചിത്രത്തിൽ ക്ലിക്കുചെയ്ത് ഈ പാഠം സംബന്ധിച്ച ഒരു ലഘു വീഡിയോ കാണുക. ## പരിചയം -ഉയർന്ന തലത്തിൽ, മെഷീൻ ലേണിംഗ് (ML) പ്രക്രിയകൾ സൃഷ്ടിക്കുന്ന കലയിൽ പല ഘട്ടങ്ങൾ ഉൾപ്പെടുന്നു: +ഉയർന്ന തലത്തിൽ, മെഷീൻ ലേണിംഗ് (ML) പ്രക്രിയ സൃഷ്ടിക്കുന്ന കരുകൈയെ നിരവധി പടികളിൽ സങ്കരിച്ചിരിക്കുന്നു: -1. **ചോദ്യമൊരുക്കുക**. മിക്ക ML പ്രക്രിയകളും ഒരു ലളിതമായ നിബന്ധനാപരമായ പ്രോഗ്രാമോ നിയമങ്ങൾ അടിസ്ഥാനമാക്കിയ എഞ്ചിനോ മറുപടി നൽകാൻ കഴിയാത്ത ഒരു ചോദ്യമൊരുക്കുന്നതിൽ ആരംഭിക്കുന്നു. ഈ ചോദ്യങ്ങൾ സാധാരണയായി ഡാറ്റാ ശേഖരണത്തെ അടിസ്ഥാനമാക്കിയുള്ള പ്രവചനങ്ങളുമായി ബന്ധപ്പെട്ടിരിക്കുന്നു. -2. **ഡാറ്റ ശേഖരിക്കുകയും തയ്യാറാക്കുകയും ചെയ്യുക**. നിങ്ങളുടെ ചോദ്യത്തിന് മറുപടി നൽകാൻ, നിങ്ങൾക്ക് ഡാറ്റ ആവശ്യമുണ്ട്. നിങ്ങളുടെ ഡാറ്റയുടെ ഗുണമേന്മയും, ചിലപ്പോൾ, അളവും, നിങ്ങളുടെ പ്രാഥമിക ചോദ്യത്തിന് എത്രത്തോളം നല്ല മറുപടി നൽകാമെന്ന് നിർണ്ണയിക്കും. ഡാറ്റ ദൃശ്യവൽക്കരണം ഈ ഘട്ടത്തിന്റെ ഒരു പ്രധാന ഭാഗമാണ്. ഈ ഘട്ടത്തിൽ ഡാറ്റയെ പരിശീലനവും പരിശോധനയും എന്നിങ്ങനെ വിഭജിച്ച് മോഡൽ നിർമ്മിക്കാനും ഉൾപ്പെടുന്നു. -3. **പരിശീലന രീതി തിരഞ്ഞെടുക്കുക**. നിങ്ങളുടെ ചോദ്യത്തിനും ഡാറ്റയുടെ സ്വഭാവത്തിനും അനുസരിച്ച്, ഡാറ്റയെ മികച്ച രീതിയിൽ പ്രതിഫലിപ്പിക്കുകയും അതിനെതിരെ കൃത്യമായ പ്രവചനങ്ങൾ നടത്തുകയും ചെയ്യാൻ മോഡൽ പരിശീലിപ്പിക്കാൻ നിങ്ങൾ എങ്ങനെ പരിശീലനം നൽകണമെന്ന് തിരഞ്ഞെടുക്കണം. ഇത് നിങ്ങളുടെ ML പ്രക്രിയയിലെ പ്രത്യേക വിദഗ്ധത ആവശ്യമായ ഭാഗമാണ്, കൂടാതെ പലപ്പോഴും വലിയ പരീക്ഷണങ്ങൾ നടത്തേണ്ടതും. -4. **മോഡൽ പരിശീലിപ്പിക്കുക**. നിങ്ങളുടെ പരിശീലന ഡാറ്റ ഉപയോഗിച്ച്, ഡാറ്റയിലെ മാതൃകകൾ തിരിച്ചറിയാൻ വിവിധ ആൽഗോരിതങ്ങൾ ഉപയോഗിച്ച് മോഡൽ പരിശീലിപ്പിക്കും. മോഡൽ ചില ഭാഗങ്ങളിൽ കൂടുതൽ പ്രാധാന്യം നൽകാൻ ക്രമീകരിക്കാവുന്ന ആന്തരിക ഭാരങ്ങൾ ഉപയോഗിക്കാം. -5. **മോഡൽ വിലയിരുത്തുക**. നിങ്ങൾ ശേഖരിച്ച ഡാറ്റയിൽ നിന്ന് മുമ്പ് കാണാത്ത ഡാറ്റ (പരിശോധന ഡാറ്റ) ഉപയോഗിച്ച് മോഡൽ എങ്ങനെ പ്രവർത്തിക്കുന്നു എന്ന് പരിശോധിക്കും. -6. **പരാമീറ്റർ ട്യൂണിംഗ്**. മോഡലിന്റെ പ്രകടനത്തെ അടിസ്ഥാനമാക്കി, മോഡൽ പരിശീലിപ്പിക്കാൻ ഉപയോഗിക്കുന്ന ആൽഗോരിതങ്ങളുടെ പെരുമാറ്റം നിയന്ത്രിക്കുന്ന വ്യത്യസ്ത പരാമീറ്ററുകൾ ഉപയോഗിച്ച് പ്രക്രിയ വീണ്ടും നടത്താം. -7. **പ്രവചനം നടത്തുക**. പുതിയ ഇൻപുട്ടുകൾ ഉപയോഗിച്ച് മോഡലിന്റെ കൃത്യത പരിശോധിക്കുക. +1. **ചോദ്യത്തെ തീരുമാനിക്കുക**. അധികം ML പ്രക്രിയകൾ ലളിതമായ ശേഖരണപരമായ പ്രോഗ്രാം അല്ലെങ്കിൽ നിയമം അടിസ്ഥാനമാക്കിയുള്ള എന്‍ജിന് ഉപയോഗിച്ച് മറുപടി നൽകാൻ കഴിയാത്ത ഒരു ചോദ്യം ചോദിച്ച് തുടങ്ങുന്നു. ഈ ചോദ്യങ്ങൾ പലപ്പോഴും ഒരു ഡാറ്റാ സമുച്ചയത്തിന്റെ അടിസ്ഥാനത്തിലാണ് പ്രതീക്ഷകൾ സംബന്ധിച്ചുള്ളത്. +2. **ഡാറ്റ ശേഖരിക്കുകയും തയ്യാറാക്കുകയും ചെയ്യുക**. നിങ്ങളുടെ ചോദ്യത്തിന് മറുപടി നൽകാൻ, നിങ്ങൾക്ക് ഡാറ്റ വേണ്ടിവരും. ഡാറ്റയുടെ ഗുണനിലവാരവും ചിലപ്പോൾ അളവും, തുടക്ക ചോദ്യത്തിന് എത്ര നന്നായി മറുപടി നൽകാമെന്നും നിർണ്ണയിക്കും. ഡാറ്റ വിന്യാസം ഈ ഘട്ടത്തിൽ പ്രധാനമാണ്. ഈ ഘട്ടത്തിൽ മോഡൽ നിർമ്മിക്കാൻ ഡാറ്റ പരിശീലനവും പരിശോധനയുമായി വിഭജിക്കുന്നതും ഉൾപ്പെടുന്നു. +3. **പരിശീലന രീതി തിരഞ്ഞെടുക്കുക**. നിങ്ങളുടെ ചോദ്യത്തിനും ഡാറ്റയുടെ സ്വഭാവത്തിനും അനുസരിച്ച്, നിങ്ങൾക്ക് മോഡൽ പരിശീലിപ്പിക്കാൻ ഏറ്റവും തക്ക രീതിയെടുത്തു തിരഞ്ഞെടുക്കണം, അതിലൂടെ ഡാറ്റയെ മികച്ചതായ രൂപത്തിൽ പ്രതിഫലിപ്പിച്ച് ശരിയായ പ്രവചനങ്ങൾ നടത്താൻ കഴിയും. ഈ ഭാഗം മിഷീൻ ലേണിംഗ് പ്രക്രിയയിൽ പ്രത്യേക അനുഭവശേഷി ആവശ്യപ്പെടുന്നു, കൂടാതെ പലപ്പോഴും നിരവധി പരീക്ഷണങ്ങൾ ആവശ്യമാണ്. +4. **മോഡൽ പരിശീലിപ്പിക്കുക**. നിങ്ങളുടെ പരിശീലന ഡാറ്റ ഉപയോഗിച്ച്, വ്യത്യസ്ത ആൽഗോരിതങ്ങൾ ഉപയോഗിച്ച് ഡാറ്റയിലെ മാതൃകകൾ തിരിച്ചറിഞ്ഞ് മോഡൽ പരിശീലിപ്പിക്കും. മോഡൽ കൂടുതൽ മെച്ചപ്പെട്ട മോഡൽ സൃഷ്ടിക്കാൻ ചില ഡാറ്റ ഭാഗങ്ങൾക്കു പ്രാധാന്യം നൽകാൻ അകത്തെ ഭാരം ക്രമീകരിക്കാം. +5. **മോഡൽ വിലയിരുത്തുക**. നമുക്ക് മുമ്പ് കാണാത്ത ഡാറ്റകള്‍ (പരിശോധന ഡാറ്റ) ഉപയോഗിച്ച് മോഡൽ എങ്ങനെ പ്രവർത്തിക്കുന്നു എന്ന് പരിശോധിക്കും. +6. **പാരാമീറ്റർ ട്യൂണിംഗ്**. നിങ്ങളുടെ മോഡലിന്റെ പ്രകടനത്തെ ആശ്രയിച്ച്, മോഡൽ പരിശീലിപ്പിക്കാനായി ഉപയോഗിക്കുന്ന ആൽഗോരിതങ്ങളുടെ പെരുമാറ്റം നിയന്ത്രിക്കുന്ന വ്യത്യസ്ത പാരാമീറ്ററുകൾ ഉപയോഗിച്ച് പ്രക്രിയ വീണ്ടും നടത്താം. +7. **പ്രവചനം നടത്തുക**. പുതിയ ഇൻപുട്ടുകൾ ഉപയോഗിച്ച് നിങ്ങളുടെ മോഡലിന്റെ കൃത്യത പരിശോധിക്കുക. -## ഏത് ചോദ്യമാണ് ചോദിക്കേണ്ടത് +## ചോദ്യം എങ്ങനെ ചോദിക്കണം -കമ്പ്യൂട്ടറുകൾ ഡാറ്റയിൽ മറഞ്ഞിരിക്കുന്ന മാതൃകകൾ കണ്ടെത്തുന്നതിൽ പ്രത്യേകമായി നൈപുണ്യമുള്ളവയാണ്. നിബന്ധനാപരമായ നിയമങ്ങൾ അടിസ്ഥാനമാക്കിയ എഞ്ചിൻ സൃഷ്ടിച്ച് എളുപ്പത്തിൽ മറുപടി നൽകാൻ കഴിയാത്ത ഒരു ഡൊമെയ്ൻ സംബന്ധിച്ച ചോദ്യങ്ങൾ ഗവേഷകർക്ക് ഇത് വളരെ സഹായകരമാണ്. ഉദാഹരണത്തിന്, ഒരു ആക്ച്വറിയൽ ജോലി നൽകിയാൽ, ഒരു ഡാറ്റാ സയന്റിസ്റ്റ് പുകവലി ചെയ്യുന്നവരും പുകവലി ചെയ്യാത്തവരും മരണനിരക്കുകൾക്കായി കൈകൊണ്ട നിയമങ്ങൾ നിർമ്മിക്കാൻ കഴിയും. +കമ്പ്യൂട്ടറുകൾ ഡാറ്റയിൽ മറഞ്ഞിരിക്കുന്ന മാതൃകകൾ കണ്ടെത്തുന്നതിൽ വളരെ കഴിവുള്ളവയാണ്. ഇത് ഒരു നിബന്ധന അടിസ്ഥാനമാക്കിയുള്ള നിയമങ്ങൾ നിർമ്മിച്ച് എളുപ്പത്തിൽ മറുപടി നൽകാനാവാത്ത വിഷയങ്ങളിലുള്ള ഗവേഷകരെ സഹായിക്കുന്നു. ഉദാഹരണത്തിന്, ഒരു ഡാറ്റാ ശാസ്ത്രജ്ഞൻ പുകയുന്നവരും പുകവലി ചെയ്യാത്തവരും തമ്മിലുള്ള മരണാനുപാതത്തെക്കുറിച്ച് കയ്യാൽ നിർമ്മിച്ചതായ നിയമങ്ങൾ രൂപപ്പെടുത്താൻ കഴിയും. -എന്നാൽ, പല മറ്റ് വ്യത്യസ്ത ഘടകങ്ങൾ പരിഗണിക്കുമ്പോൾ, ഒരു ML മോഡൽ മുൻകാല ആരോഗ്യ ചരിത്രത്തെ അടിസ്ഥാനമാക്കി ഭാവിയിലെ മരണനിരക്കുകൾ പ്രവചിക്കാൻ കൂടുതൽ കാര്യക്ഷമമാകാം. ഒരു സന്തോഷകരമായ ഉദാഹരണം, ഒരു നിശ്ചിത സ്ഥലത്ത് ഏപ്രിൽ മാസത്തെ കാലാവസ്ഥ പ്രവചനങ്ങൾ latitude, longitude, കാലാവസ്ഥ മാറ്റം, സമുദ്രത്തിന് സമീപം, ജെറ്റ് സ്ട്രീം മാതൃകകൾ എന്നിവ ഉൾപ്പെടുന്ന ഡാറ്റയുടെ അടിസ്ഥാനത്തിൽ നിർമിക്കുന്നത് ആകാം. +പല വ്യത്യസ്ത വേരിയബ്രുകൾ ചോദ്യം കൂട്ടുമ്പോൾ, പഴയ ആരോഗ്യചരിത്രത്തെ അടിസ്ഥാനമാക്കി ഭാവി മരണാനുപാതങ്ങൾ പ്രവചിക്കാൻ മെഷീൻ ലേണിംഗ് മോഡൽ കൂടുതൽ കാര്യക്ഷമമാകാം. ഒരു കൂടുതൽ സന്തോഷജനകമായ ഉദാഹരണം എത്രത്തോളം, ഏപ്രിൽ മാസം ഒരു നിശ്ചിത സ്ഥലത്ത് കാലാവസ്ഥാ പ്രവചനങ്ങൾ latitude, longitude, കാലാവസ്ഥ മാറ്റം, സമുദ്രത്തിൻറെ അടുത്തുള്ള സ്ഥലം, ജെറ്റ് സ്റ്റ്രീം മാതൃകകൾ തുടങ്ങിയവ ഉപയോഗിച്ച് നടത്തുക. -✅ കാലാവസ്ഥ മോഡലുകളെക്കുറിച്ചുള്ള ഈ [സ്ലൈഡ് ഡെക്ക്](https://www2.cisl.ucar.edu/sites/default/files/2021-10/0900%20June%2024%20Haupt_0.pdf) കാലാവസ്ഥ വിശകലനത്തിൽ ML ഉപയോഗിക്കുന്നതിനുള്ള ചരിത്രപരമായ കാഴ്ചപ്പാട് നൽകുന്നു. +✅ കാലാവസ്ഥ മോഡലുകൾ സംബന്ധിച്ച ഈ [സ്ലൈഡ് ഡെക്ക്](https://www2.cisl.ucar.edu/sites/default/files/2021-10/0900%20June%2024%20Haupt_0.pdf) ML ഉപയോഗത്തിന്റെ ഈതിഹാസപരമായ കാഴ്‌ചപ്പാട് നൽകുന്നു. -## നിർമ്മാണത്തിന് മുമ്പുള്ള പ്രവർത്തനങ്ങൾ +## മുൻകൂട്ടി ചെയേണ്ട പ്രവർത്തനങ്ങൾ -നിങ്ങളുടെ മോഡൽ നിർമ്മിക്കാൻ തുടങ്ങുന്നതിന് മുമ്പ്, നിങ്ങൾ പൂർത്തിയാക്കേണ്ട നിരവധി പ്രവർത്തനങ്ങൾ ഉണ്ട്. നിങ്ങളുടെ ചോദ്യത്തെ പരീക്ഷിക്കുകയും മോഡലിന്റെ പ്രവചനങ്ങളെ അടിസ്ഥാനമാക്കി ഒരു ഹിപോത്തസിസ് രൂപപ്പെടുത്തുകയും ചെയ്യാൻ, നിങ്ങൾക്ക് പല ഘടകങ്ങളും തിരിച്ചറിയുകയും ക്രമീകരിക്കുകയും വേണം. +മോഡൽ നിർമ്മിക്കാൻ തുടങ്ങുന്നതിനുമുമ്പ്, നിങ്ങൾ പൂർത്തീകരിക്കേണ്ട പല പ്രവർത്തനങ്ങളുണ്ട്. നിങ്ങളുടെ ചോദ്യത്തെ പരിശോധിച്ചും മോഡലിന്റെ പ്രവചനങ്ങൾ അടിസ്ഥാനമാക്കി ഒരു ഹ്രസ്വ സ്വപ്നം രൂപീകരിച്ചും, ചില ഘടകങ്ങൾ തിരിച്ചറിയാനും ക്രമീകരിക്കാനും നിങ്ങൾ ഇതിനകം തയ്യാറാവണം. ### ഡാറ്റ -നിങ്ങളുടെ ചോദ്യത്തിന് ഏതെങ്കിലും ഉറപ്പോടെ മറുപടി നൽകാൻ, ശരിയായ തരം ഡാറ്റയുടെ നല്ല അളവ് ആവശ്യമാണ്. ഈ ഘട്ടത്തിൽ നിങ്ങൾ ചെയ്യേണ്ട രണ്ട് കാര്യങ്ങളുണ്ട്: +ചോദ്യത്തിന് ഒരുപഴും ഉറപ്പോടെ മറുപടി നൽകാൻ, ശരിയായ തരത്തിലുള്ള മെച്ചപ്പെട്ട രീതിയിൽ പലമാത്രയിലുള്ള ഡാറ്റ ഉണ്ടായിരിക്കണം. നിങ്ങൾ ചെയ്യേണ്ട രണ്ടു കാര്യങ്ങൾ: -- **ഡാറ്റ ശേഖരിക്കുക**. മുമ്പത്തെ പാഠത്തിൽ ഡാറ്റ വിശകലനത്തിൽ നീതിയുള്ളതിനെക്കുറിച്ച് പഠിച്ചതു ഓർക്കുക, ശ്രദ്ധയോടെ ഡാറ്റ ശേഖരിക്കുക. ഈ ഡാറ്റയുടെ ഉറവിടങ്ങളെക്കുറിച്ച്, അതിൽ ഉള്ള സ്വാഭാവിക പാകങ്ങൾക്കുറിച്ച് ജാഗ്രത പുലർത്തുക, അതിന്റെ ഉറവിടം രേഖപ്പെടുത്തുക. -- **ഡാറ്റ തയ്യാറാക്കുക**. ഡാറ്റ തയ്യാറാക്കൽ പ്രക്രിയയിൽ പല ഘട്ടങ്ങളുണ്ട്. വ്യത്യസ്ത ഉറവിടങ്ങളിൽ നിന്നുള്ള ഡാറ്റ സംയോജിപ്പിക്കുകയും സാധാരണവത്കരിക്കുകയും ചെയ്യേണ്ടതുണ്ടാകാം. ഡാറ്റയുടെ ഗുണമേന്മയും അളവും മെച്ചപ്പെടുത്താൻ സ്ട്രിംഗുകൾ നമ്പറുകളായി മാറ്റൽ പോലുള്ള വിവിധ രീതികൾ ഉപയോഗിക്കാം ([Clustering](../../5-Clustering/1-Visualize/README.md) പാഠത്തിൽ ചെയ്തതുപോലെ). നിങ്ങൾക്ക് പുതിയ ഡാറ്റ സൃഷ്ടിക്കേണ്ടതും ഉണ്ടാകാം, മൗലിക ഡാറ്റയെ അടിസ്ഥാനമാക്കി ([Classification](../../4-Classification/1-Introduction/README.md) പാഠത്തിൽ ചെയ്തതുപോലെ). ഡാറ്റ ശുദ്ധീകരിക്കുകയും തിരുത്തുകയും ചെയ്യാം ([Web App](../../3-Web-App/README.md) പാഠത്തിന് മുമ്പ് ചെയ്യുന്നതുപോലെ). അവസാനം, നിങ്ങളുടെ പരിശീലന സാങ്കേതിക വിദ്യകൾ അനുസരിച്ച് ഡാറ്റയെ യാദൃച്ഛികമാക്കുകയും ഷഫിൾ ചെയ്യുകയും ചെയ്യേണ്ടതുണ്ടാകാം. +- **ഡാറ്റ ശേഖരിക്കുക**. മുമ്പത്തെ പാഠത്തിലുള്ള ഫയർനെസ്സ് (നീതിസമ്പന്നത) ശ്രദ്ധയിൽ വെച്ച്, ശ്രദ്ധാപൂർവ്വം ഡാറ്റ ശേഖരിക്കുക. ഈ ഡാറ്റയുടെ ഉറവിടങ്ങൾ, അവയിൽ ഉണ്ടായേക്കാവുന്ന സ്വാഭാവിക പരിഷ്ക്കാരങ്ങൾ എന്നിവ ബോധ്യപ്പെടുത്തുകയും അതിന്റെ ഉത്ഭവം രേഖപ്പെടുത്തുകയും ചെയ്യുക. +- **ഡാറ്റ തയ്യാറാക്കുക**. ഡാറ്റ തയ്യാറാക്കൽ പ്രക്രിയയിൽ പല ഘട്ടങ്ങൾ ഉണ്ട്. ഡാറ്റ വ്യത്യസ്ത ഉറവിടങ്ങളിൽ നിന്നാണെങ്കിൽ അത് ഒത്തുചേർത്ത് സാധാരണ രൂപത്തിലാക്കേണ്ടതുണ്ടാകാം. ഡാറ്റയുടെ ഗുണനിലവാരവും അളവും മെച്ചപ്പെടുത്താൻ സ്ട്രിംഗ്-നമ്പർ പരിവർത്തനം പോലുള്ള വിവിധ രീതികൾ ഉപയോഗിയ്ക്കാം ([ക്ലസ്റ്ററിംഗിൽ](../../5-Clustering/1-Visualize/README.md) ചെയ്തതു പോലെ). മൂല ഡാറ്റയെ അടിസ്ഥാനമാക്കി പുതിയത് സൃഷ്ടിക്കാം ([ക്ലാസിഫിക്കേഷനിൽ](../../4-Classification/1-Introduction/README.md) തുടങ്ങിയതു പോലെ). ഡാറ്റ വൃത്തികെട്ടതും തിരുത്തലുകൾ ചെയ്യേണ്ടതുമായി, പ്രത്യേകിച്ച് [വെബ് ആപ്പ്](../../3-Web-App/README.md) പാഠത്തിനു മുമ്പ് ചെയ്യുന്നു. അവസാനം, നിങ്ങൾക്ക് ഡാറ്റയെ അണിയിച്ച മൂലം റാന്റമൈസ് ചെയ്ത് ഷഫിൾ ചെയ്‌തേക്കാം, നിങ്ങളുടെ പരിശീലന സാങ്കേതികതയെ ആശ്രയിച്ച്. -✅ ഡാറ്റ ശേഖരിക്കുകയും പ്രോസസ്സ് ചെയ്യുകയും ചെയ്ത ശേഷം, അതിന്റെ രൂപം നിങ്ങളുടെ ഉദ്ദേശിച്ച ചോദ്യത്തിന് മറുപടി നൽകാൻ അനുയോജ്യമാണോ എന്ന് പരിശോധിക്കാൻ ഒരു നിമിഷം എടുത്തു നോക്കുക. നിങ്ങളുടെ നൽകിയ ജോലിയിൽ ഡാറ്റ നല്ല പ്രകടനം കാണിക്കില്ലായിരുന്നോ എന്ന് ഞങ്ങൾ [Clustering](../../5-Clustering/1-Visualize/README.md) പാഠങ്ങളിൽ കണ്ടെത്തുന്നു! +✅ ഡാറ്റ ശേഖരിക്കുകയും പ്രോസസ്സ് ചെയ്തതിനു ശേഷം, അത് നിങ്ങളുടെ പ്രതീക്ഷിച്ച ചോദ്യത്തെ സവാളിക്കാന്‍ അനുയോജ്യമാണ് എന്നോ ദൃശ്യമാക്കാൻ ഒരു നിമിഷം എടുക്കുക. ഡാറ്റ നിങ്ങൾക്കുള്ള പ്രയോഗത്തിന് ശരിയായ പ്രകടനകൃത്യത സംഭാവന ചെയ്യാതിരിക്കാം, [ക്ലസ്റ്ററിംഗിൽ](../../5-Clustering/1-Visualize/README.md) നാം കണ്ടെത്തിയതു പോലെ! -### ഫീച്ചറുകളും ലക്ഷ്യവും +### സവിശേഷതകളും ലക്ഷ്യവും -ഒരു [ഫീച്ചർ](https://www.datasciencecentral.com/profiles/blogs/an-introduction-to-variable-and-feature-selection) നിങ്ങളുടെ ഡാറ്റയുടെ അളക്കാവുന്ന സ്വഭാവമാണ്. പല ഡാറ്റാസെറ്റുകളിലും ഇത് 'തീയതി', 'വലിപ്പം', 'നിറം' പോലുള്ള കോളം തലക്കെട്ടായി പ്രകടിപ്പിക്കപ്പെടുന്നു. നിങ്ങളുടെ ഫീച്ചർ വേരിയബിൾ, സാധാരണയായി കോഡിൽ `X` ആയി പ്രതിനിധീകരിക്കപ്പെടുന്നു, മോഡൽ പരിശീലിപ്പിക്കാൻ ഉപയോഗിക്കുന്ന ഇൻപുട്ട് വേരിയബിൾ ആണ്. +[സവിശേഷത](https://www.datasciencecentral.com/profiles/blogs/an-introduction-to-variable-and-feature-selection) എന്നാണ് ഡാറ്റയുടെ അളവുകളായ ഗുണം. പല ഡാറ്റാസെറ്റുകളിൽ ഇത് 'തീയതി', 'വലുപ്പം' അല്ലെങ്കിൽ 'നിറം' പോലുള്ള കോളം ഹെഡിങ്ങുകളായി പ്രത്യക്ഷപ്പെടും. നിങ്ങളുടെ സവിശേഷത വേരിയബിൾ, സാധാരണയായി കോഡിൽ `X` ആയി പ്രതിനിധാനം ചെയ്‌തിട്ടുണ്ട്, മോഡൽ തയ്യാറാക്കാൻ ഉപയോഗിക്കുന്ന ഇൻപുട്ട് വേരിയബിൾ ആണ്. -ലക്ഷ്യം നിങ്ങൾ പ്രവചിക്കാൻ ശ്രമിക്കുന്ന വസ്തുവാണ്. ലക്ഷ്യം സാധാരണയായി കോഡിൽ `y` ആയി പ്രതിനിധീകരിക്കപ്പെടുന്നു, ഇത് നിങ്ങളുടെ ഡാറ്റയിൽ നിന്നുള്ള ചോദ്യത്തിന് നിങ്ങൾ ചോദിക്കുന്ന മറുപടിയാണ്: ഡിസംബർ മാസത്തിൽ, ഏത് **നിറത്തിലുള്ള** പംപ്കിനുകൾ ഏറ്റവും വിലകുറഞ്ഞവ ആയിരിക്കും? സാൻ ഫ്രാൻസിസ്കോയിൽ, ഏത് പ്രദേശങ്ങളിൽ മികച്ച റിയൽ എസ്റ്റേറ്റ് **വില** ഉണ്ടാകും? ചിലപ്പോൾ ലക്ഷ്യം ലേബൽ ആട്രിബ്യൂട്ട് എന്നും വിളിക്കുന്നു. +ലക്ഷ്യം (ടാർഗറ്റ്) നിങ്ങൾ പ്രവചിക്കാനാഗ്രഹിക്കുന്ന ഒന്നാണ്. സാധാരണ കോഡിൽ `y` ആയി പ്രതിനിധാനം ചെയ്‌തിരിക്കുന്ന ടാർഗറ്റ്, നിങ്ങളുടെ ഡാറ്റയിൽ നിന്ന് ചോദിക്കാനിരിക്കുന്ന ചോദ്യത്തിന് ഉത്തരം ആണ്: ഡിസംബറിൽ, ഏതു **നിറത്തിലുള്ള** കുംബളി ഏറ്റവും വിലക്കുറവായിരിക്കും? സാൻ ഫ്രാൻസിസ്കോയിൽ ഏതു പ്രദേശങ്ങൾ മികച്ച reaൽ എസ്റ്റേറ്റ് **വില** ഉണ്ടാകും? ടാർഗറ്റിനെ ലേബൽ ആട്രിബ്യൂട്ട് എന്നും വിളിക്കുന്നത് കാണാം. -### നിങ്ങളുടെ ഫീച്ചർ വേരിയബിൾ തിരഞ്ഞെടുക്കൽ +### നിങ്ങളുടെ സവിശേഷത വേരിയബിൾ തിരഞ്ഞെടുക്കുക -🎓 **ഫീച്ചർ സെലക്ഷനും ഫീച്ചർ എക്സ്ട്രാക്ഷനും** മോഡൽ നിർമ്മിക്കുമ്പോൾ ഏത് വേരിയബിൾ തിരഞ്ഞെടുക്കണമെന്ന് നിങ്ങൾ എങ്ങനെ അറിയും? ഏറ്റവും മികച്ച പ്രകടനം നൽകുന്ന മോഡലിനായി ശരിയായ വേരിയബിളുകൾ തിരഞ്ഞെടുക്കാൻ നിങ്ങൾ ഫീച്ചർ സെലക്ഷൻ അല്ലെങ്കിൽ ഫീച്ചർ എക്സ്ട്രാക്ഷൻ പ്രക്രിയയിലൂടെ പോകും. ഇവ ഒരേ കാര്യമല്ല: "ഫീച്ചർ എക്സ്ട്രാക്ഷൻ മൗലിക ഫീച്ചറുകളുടെ ഫംഗ്ഷനുകളിൽ നിന്നുള്ള പുതിയ ഫീച്ചറുകൾ സൃഷ്ടിക്കുന്നു, എന്നാൽ ഫീച്ചർ സെലക്ഷൻ ഫീച്ചറുകളുടെ ഒരു ഉപസമൂഹം തിരികെ നൽകുന്നു." ([സ്രോതസ്സ്](https://wikipedia.org/wiki/Feature_selection)) +🎓 **ഫീച്ചർ സെലക്ഷനും ഫീച്ചർ എക്സ്ട്രക്ഷനും** ഒരു മോഡൽ നിർമ്മിക്കുമ്പോൾ ഏത് വേരിയബിൾ തിരഞ്ഞെടുക്കണമെന്ന് അറിയാൻ നിങ്ങൾ സാധ്യതയുള്ള പരമ്പരാഗത പ്രക്രിയകൾ ഫീച്ചർ സെലക്ഷൻ അല്ലെങ്കിൽ ഫീച്ചർ എക്സ്ട്രക്ഷൻ ആണ്. ഇവ ഒന്നല്ല: "ഫീച്ചർ എക്സ്ട്രക്ഷൻ മൂല സവിശേഷതകളിൽ നിന്നുള്ള ഫംഗ്ഷനുകളിൽ നിന്നു പുതിയ സവിശേഷതകൾ സൃഷ്ടിക്കുകയും, ഫീച്ചർ സെലക്ഷൻ സവിശേഷതകളുടെ ചെറിയ ഒരു ഉപസമുച്ചയം തിരികെ നൽകുകയും ചെയ്യുന്നു." ([ഉറവിടം](https://wikipedia.org/wiki/Feature_selection)) ### നിങ്ങളുടെ ഡാറ്റ ദൃശ്യവൽക്കരിക്കുക -ഡാറ്റാ സയന്റിസ്റ്റിന്റെ ഉപകരണസഞ്ചിയിൽ ഒരു പ്രധാന ഘടകം സീബോൺ അല്ലെങ്കിൽ മാട്പ്ലോട്ട്‌ലിബ് പോലുള്ള മികച്ച ലൈബ്രറികൾ ഉപയോഗിച്ച് ഡാറ്റ ദൃശ്യവൽക്കരിക്കുന്ന ശേഷിയാണ്. നിങ്ങളുടെ ഡാറ്റ ദൃശ്യമായി പ്രതിനിധീകരിക്കുന്നത് മറഞ്ഞിരിക്കുന്ന ബന്ധങ്ങൾ കണ്ടെത്താൻ സഹായിക്കാം. നിങ്ങളുടെ ദൃശ്യവൽക്കരണങ്ങൾ പാകം അല്ലാത്തതോ അസമതുലിതമായ ഡാറ്റയോ കണ്ടെത്താൻ സഹായിക്കാം ([Classification](../../4-Classification/2-Classifiers-1/README.md) പാഠത്തിൽ കണ്ടെത്തുന്നതുപോലെ). +ഡാറ്റ ശാസ്ത്രജ്ഞന്റെ ഉപകരണപട്ടികയിൽ ഡാറ്റ ദൃശ്യമായി പ്രതിപാദിക്കാൻ ഉള്ള ശേഷി ഒരു പ്രധാന ഭാഗമാണ്, ഉദാഹരണത്തിന് Seaborn അല്ലെങ്കിൽ MatPlotLib പോലുള്ള മികച്ച ലൈബ്രറികളും അതിന് ഉപയോഗിക്കുന്നു. ഡാറ്റ ദൃശ്യീകരണം മറഞ്ഞുള്ള ബന്ധങ്ങൾ കണ്ടെത്താനും സഹായിക്കാം. ഇത് സ്വാഭാവികമായ വായ്പകൾ അല്ലെങ്കിൽ അസന്തുലിത ഡാറ്റ കണ്ടെത്തുന്നതിലും സഹായകരമാണ് ([ക്ലാസിഫിക്കേഷനിൽ](../../4-Classification/2-Classifiers-1/README.md) കണ്ടെത്തുന്നതുപോലെ). -### നിങ്ങളുടെ ഡാറ്റാസെറ്റ് വിഭജിക്കുക +### ഡാറ്റാ സെറ്റ് വിഭജിക്കുക -പരിശീലനത്തിന് മുമ്പ്, നിങ്ങളുടെ ഡാറ്റാസെറ്റ് രണ്ട് അല്ലെങ്കിൽ അതിലധികം അസമാനമായ വലുപ്പമുള്ള ഭാഗങ്ങളായി വിഭജിക്കണം, എന്നാൽ ഡാറ്റയെ നന്നായി പ്രതിനിധീകരിക്കണം. +പരിശീലനം ആരംഭിക്കുന്നതിന് മുമ്പ്, നിങ്ങൾ ഡാറ്റാ സെറ്റ് രണ്ടോ അതിലധികമോ ഭാഗങ്ങളായി ഭിന്നമായ വലുപ്പങ്ങളിൽ വിഭജിക്കണം, എന്നാൽ അത് ഡാറ്റയെ ശരിയായി പ്രതിനിധാനം ചെയ്യുന്നുണ്ടാകണം. -- **പരിശീലനം**. ഡാറ്റാസെറ്റിന്റെ ഈ ഭാഗം മോഡലിന് അനുയോജ്യമായ രീതിയിൽ പരിശീലിപ്പിക്കാൻ ഉപയോഗിക്കുന്നു. ഇത് മൗലിക ഡാറ്റാസെറ്റിന്റെ ഭൂരിഭാഗമാണ്. -- **പരിശോധന**. ഒരു ടെസ്റ്റ് ഡാറ്റാസെറ്റ് സ്വതന്ത്രമായ ഡാറ്റാ ഗ്രൂപ്പാണ്, സാധാരണയായി മൗലിക ഡാറ്റയിൽ നിന്നാണ് ശേഖരിക്കുന്നത്, ഇത് നിർമ്മിച്ച മോഡലിന്റെ പ്രകടനം സ്ഥിരീകരിക്കാൻ ഉപയോഗിക്കുന്നു. -- **സാധൂകരിക്കൽ**. സാധൂകരിക്കൽ സെറ്റ് ഒരു ചെറിയ സ്വതന്ത്ര ഉദാഹരണ ഗ്രൂപ്പാണ്, ഇത് മോഡലിന്റെ ഹൈപ്പർപാരാമീറ്ററുകൾ അല്ലെങ്കിൽ ഘടന മെച്ചപ്പെടുത്താൻ ഉപയോഗിക്കുന്നു. നിങ്ങളുടെ ഡാറ്റയുടെ വലുപ്പത്തിനും ചോദിക്കുന്ന ചോദ്യത്തിനും അനുസരിച്ച്, ഈ മൂന്നാം സെറ്റ് നിർമ്മിക്കേണ്ടതില്ലായിരിക്കാം ([Time Series Forecasting](../../7-TimeSeries/1-Introduction/README.md) പാഠത്തിൽ ഞങ്ങൾ കാണിക്കുന്നു). +- **പരിശീലനം**. ഈ ഡാറ്റാ സെറ്റ് നിങ്ങളുടെ മോഡലിന് പരിശീലനം നൽകാനുപയോഗിക്കുന്നു. ഇത് യഥാർത്ഥ ഡാറ്റാസറ്റിന്റെ വലിയൊരു വിഭാഗമാണ്. +- **പരിശോധന**. ഒരു പരിശോധനാ ഡാറ്റാ സെറ്റ് സ്വതന്ത്രമായ ഡാറ്റാ ഗ്രൂപ്പ് ആണ്, സാധാരണയായി യഥാർത്ഥ ഡാറ്റയിൽ നിന്നും എടുത്തതായിരിക്കും, നിർമ്മിച്ച മോഡലിന്റെ പ്രകടനം ഉറപ്പുവരുത്താൻ ഉപയോഗിക്കുന്നത്. +- **വ്യവസ്ഥാപിക്കൽ**. ഒരു വ്യവസ്ഥാപന സെറ്റ് ചെറിയ സ്വതന്ത്ര ഡാറ്റാ ഉദാഹരണങ്ങളുടെ ഗ്രൂപ്പാണ്, ഇത് മോഡലിന്റെ ഹൈപ്പർപാരാമീറ്ററുകൾ, അല്ലെങ്കിൽ ശില്പരചന, മെച്ചപ്പെടുത്താൻ ഉപയോഗിക്കുന്നു. നിങ്ങളുടെ ഡാറ്റയുടെ വലിപ്പത്തിനും ചോദ്യം അനുസരിച്ചും ഈ മൂന്നാം സെറ്റ് തീർക്കേണ്ടതായിരിക്കില്ല ([ടൈം സീരീസ് ഫോറ്കാസ്റ്റിംഗ്](../../7-TimeSeries/1-Introduction/README.md) കുറിക്കുന്നത് പോലെ). -## മോഡൽ നിർമ്മിക്കൽ +## മോഡൽ നിർമ്മാണം -നിങ്ങളുടെ പരിശീലന ഡാറ്റ ഉപയോഗിച്ച്, നിങ്ങളുടെ ലക്ഷ്യം മോഡൽ നിർമ്മിക്കുകയോ, അല്ലെങ്കിൽ നിങ്ങളുടെ ഡാറ്റയുടെ സാംഖ്യിക പ്രതിനിധാനം സൃഷ്ടിക്കുകയോ ചെയ്യുകയാണ്, വിവിധ ആൽഗോരിതങ്ങൾ ഉപയോഗിച്ച് അതിനെ **പരിശീലിപ്പിക്കുക**. മോഡൽ പരിശീലിപ്പിക്കുന്നത് ഡാറ്റയ്ക്ക് പരിചയപ്പെടാൻ അനുവദിക്കുകയും കണ്ടെത്തിയ മാതൃകകളെക്കുറിച്ച് അനുമാനങ്ങൾ നടത്തുകയും, അവ സ്ഥിരീകരിക്കുകയും, അംഗീകരിക്കുകയും അല്ലെങ്കിൽ നിരസിക്കുകയും ചെയ്യാൻ സഹായിക്കുന്നു. +നിങ്ങളുടെ പരിശീലന ഡാറ്റ ഉപയോഗിച്ച്, കണക്കിലെടുത്താൽ ഡാറ്റയുടെ സാംഖ്യിക പ്രതിനിധി ആയി ഒരു മോഡൽ നിർമ്മിക്കാൻ നിങ്ങളുടെ ലക്ഷ്യമാണ്. പരിശീലനം മോഡലിനെ ഡാറ്റയുമായി പരിചയപ്പെടുത്തുകയും കാണുന്ന മാതൃകകൾ വിശകലനം ചെയ്ത് അവ അംഗീകരിക്കുകയോ നിരസിക്കുകയോ ചെയ്യാൻ അനുവദിക്കുകയും ചെയ്യുന്നു. ### പരിശീലന രീതി തീരുമാനിക്കുക -നിങ്ങളുടെ ചോദ്യത്തിനും ഡാറ്റയുടെ സ്വഭാവത്തിനും അനുസരിച്ച്, നിങ്ങൾ അത് പരിശീലിപ്പിക്കാൻ ഒരു രീതി തിരഞ്ഞെടുക്കും. ഈ കോഴ്സിൽ ഉപയോഗിക്കുന്ന [Scikit-learn ന്റെ ഡോക്യുമെന്റേഷൻ](https://scikit-learn.org/stable/user_guide.html) വഴി നിങ്ങൾ മോഡൽ പരിശീലിപ്പിക്കാൻ നിരവധി മാർഗങ്ങൾ അന്വേഷിക്കാം. നിങ്ങളുടെ അനുഭവം അനുസരിച്ച്, മികച്ച മോഡൽ നിർമ്മിക്കാൻ നിങ്ങൾക്ക് പല വ്യത്യസ്ത രീതി പരീക്ഷിക്കേണ്ടിവരും. ഡാറ്റാ സയന്റിസ്റ്റുകൾ ഒരു മോഡലിന്റെ പ്രകടനം വിലയിരുത്താൻ മുമ്പ് കാണാത്ത ഡാറ്റ നൽകുകയും കൃത്യത, പാകം, മറ്റ് ഗുണനിലവാര കുറയ്ക്കുന്ന പ്രശ്നങ്ങൾ പരിശോധിക്കുകയും, ജോലിക്ക് ഏറ്റവും അനുയോജ്യമായ പരിശീലന രീതി തിരഞ്ഞെടുക്കുകയും ചെയ്യുന്ന പ്രക്രിയയിലൂടെ നിങ്ങൾ കടന്നുപോകും. +നിങ്ങളുടെ ചോദ്യത്തിനും ഡാറ്റയുടെ സ്വഭാവത്തിനും അനുസരിച്ച്, നിങ്ങൾക്ക് അനുയോജ്യമായ ഒരു രീതി തിരഞ്ഞെടുക്കണം. [Scikit-learn ഡോക്യുമെന്റേഷൻ](https://scikit-learn.org/stable/user_guide.html) വഴി നിങ്ങൾ പല മോഡൽ പരിശീലന മാർഗ്ഗങ്ങൾ പരിശോധിക്കാം - ഈ കോഴ്സിൽ ഞങ്ങൾ ഇത് ഉപയോഗിക്കുന്നു. പരിചയത്തെ ആശ്രയിച്ച്, ഏറ്റവും നല്ല മോഡൽ നിർമ്മിക്കാൻ പലവിധ രീതി പരീക്ഷിക്കേണ്ടതായിരിക്കും. ഡാറ്റ ശാസ്ത്രജ്ഞർ മോഡൽ നൂതന ഡാറ്റയുമായി പരീക്ഷിച്ച്, കൃത്യത, വായ്പകൾ, മറ്റ് ഗുണനിലവാരം കുറയുന്ന പ്രശ്നങ്ങൾ പരിശോധിച്ച് ഏറ്റവും അനുയോജ്യമായ പരിശീലന മാർഗ്ഗം തിരഞ്ഞെടുക്കുന്നതാണ് സാധാരണ പ്രക്രിയ. ### മോഡൽ പരിശീലിപ്പിക്കുക -നിങ്ങളുടെ പരിശീലന ഡാറ്റ ഉപയോഗിച്ച്, മോഡൽ സൃഷ്ടിക്കാൻ 'ഫിറ്റ്' ചെയ്യാൻ തയ്യാറാകുക. പല ML ലൈബ്രറികളിലും 'model.fit' എന്ന കോഡ് കാണും - ഈ സമയത്ത് നിങ്ങൾ നിങ്ങളുടെ ഫീച്ചർ വേരിയബിൾ മൂല്യങ്ങളുടെ ഒരു അറേ (സാധാരണയായി 'X')യും ലക്ഷ്യ വേരിയബിൾ (സാധാരണയായി 'y')യും അയയ്ക്കും. +പരിശീലന ഡാറ്റ ലഭിച്ചതിനുശേഷം, അതിന് 'fit' ചെയ്ത് മോഡൽ സൃഷ്ടിക്കാൻ നിങ്ങൾ തയ്യാറാകും. പല ML ലൈബ്രറികളിൽ 'model.fit' എന്ന കോഡ് കാണും - ഈ സമയത്ത് നിങ്ങളുടെ സവിശേഷത വേരിയബിൾ പദാർത്ഥങ്ങളുടെ അറേ ആയി (പൊതി പറയുംപോലെ 'X')യും ടാർഗറ്റും (പൊതി പറയുംപോലെ ‘y’) അയച്ചുകൊടുക്കുന്നു. ### മോഡൽ വിലയിരുത്തുക -പരിശീലന പ്രക്രിയ പൂർത്തിയായ ശേഷം (വലിയ മോഡൽ പരിശീലിപ്പിക്കാൻ പല ആവർത്തനങ്ങൾ അല്ലെങ്കിൽ 'എപ്പോക്കുകൾ' ആവാം), ടെസ്റ്റ് ഡാറ്റ ഉപയോഗിച്ച് മോഡലിന്റെ ഗുണമേന്മ വിലയിരുത്താൻ കഴിയും. ഈ ഡാറ്റ മോഡൽ മുമ്പ് വിശകലനം ചെയ്തിട്ടില്ലാത്ത മൗലിക ഡാറ്റയുടെ ഒരു ഉപസമൂഹമാണ്. മോഡലിന്റെ ഗുണമേന്മയെക്കുറിച്ചുള്ള മെട്രിക്‌സ് പട്ടിക പ്രിന്റ് ചെയ്യാം. +പരിശീലന പ്രക്രിയ പൂർത്തിയാകുമ്പോൾ (വലിയ മോഡലുകൾക്ക് പല തവണ ആവർത്തനങ്ങൾ/epochs ആവാം), പരീക്ഷണ ഡാറ്റ ഉപയോഗിച്ച് മോഡലിന്റെ പ്രകടനം അളക്കാൻ കഴിയും. ഈ ഡാറ്റ യാഥാർത്ഥ്യത്തിൽ മോഡൽ മുൻപ് വിശകലനമില്ലാത്ത ഡാറ്റയുടെ ഉപസമുച്ചയമാണ്. മോഡലിന്റെ ഗുണനിലവാരത്തെക്കുറിച്ചുള്ള മീറ്റ്രിക്‌സ് ടേബിൾ പ്രിന്‍റുചെയ്യാം. -🎓 **മോഡൽ ഫിറ്റിംഗ്** +🎓 **മോഡൽ ഫിറ്റിങ്** -മെഷീൻ ലേണിംഗിന്റെ സാന്ദർഭ്യത്തിൽ, മോഡൽ ഫിറ്റിംഗ് എന്നത് മോഡലിന്റെ അടിസ്ഥാന ഫംഗ്ഷന്റെ കൃത്യതയെ സൂചിപ്പിക്കുന്നു, അത് പരിചയമില്ലാത്ത ഡാറ്റ വിശകലനം ചെയ്യാൻ ശ്രമിക്കുമ്പോൾ. +മെഷീൻ ലേണിംഗിൽ, മോഡൽ ഫിറ്റിങ് എന്നത് മോഡൽ വ്യവഹാര ഘടകങ്ങളുടെ കൃത്യതയെ സൂചിപ്പിക്കുന്നു, അത് പരിചയമില്ലാത്ത ഡാറ്റ വിശകലനം ചെയ്യാൻ ശ്രമിക്കുമ്പോൾ. -🎓 **അണ്ടർഫിറ്റിംഗ്** (കുറഞ്ഞ ഫിറ്റ്)യും **ഓവർഫിറ്റിംഗ്** (അധിക ഫിറ്റ്)യും മോഡലിന്റെ ഗുണമേന്മ കുറയ്ക്കുന്ന സാധാരണ പ്രശ്നങ്ങളാണ്, മോഡൽ ശരിയായി ഫിറ്റ് ചെയ്യാത്തതോ വളരെ അധികം ഫിറ്റ് ചെയ്തതോ ആയിരിക്കുമ്പോൾ. ഇത് മോഡൽ പരിശീലന ഡാറ്റയുമായി വളരെ അടുത്തോ വളരെ ദൂരമായോ പ്രവചനങ്ങൾ നടത്താൻ കാരണമാകും. ഒരു ഓവർഫിറ്റ് മോഡൽ പരിശീലന ഡാറ്റ വളരെ നന്നായി പ്രവചിക്കുന്നു, കാരണം അത് ഡാറ്റയുടെ വിശദാംശങ്ങളും ശബ്ദവും വളരെ നന്നായി പഠിച്ചിട്ടുണ്ട്. ഒരു അണ്ടർഫിറ്റ് മോഡൽ കൃത്യമായില്ല, കാരണം അത് പരിശീലന ഡാറ്റയും മുമ്പ് 'കണ്ടിട്ടില്ലാത്ത' ഡാറ്റയും കൃത്യമായി വിശകലനം ചെയ്യാൻ കഴിയുന്നില്ല. +🎓 **അണ്ടർഫിറ്റിംഗും** **ഓവർഫിറ്റിംഗും** മോഡലിന്റെ ഗുണനിലവാരം താഴ്ത്തുന്ന പൊതുവായ പ്രശ്നങ്ങളാണ്. മോഡൽ അല്ലത്രമേൽ അനുയോജ്യമായില്ലെങ്കിൽ, പരിശീലന ഡാറ്റയുമായി അത്ര സരളമായി അല്ലെങ്കിൽ വളരെ അടുത്തതായി അനുസൃതമാകുന്നത് കാരണമാണ്. ഓവർ ഫിറ്റ് മോഡൽ പരിശീലം ഡാറ്റ വിശദാംശങ്ങളും ശബ്ദവും പിഴച്ചുപിടിച്ചതുകൊണ്ട് വലിയ കൃത്യതയോടെ പ്രവചനം നടത്തുന്നു. അണ്ടർഫിറ്റ് മോഡൽ ആസൂത്രണിച്ച പരിശീലന ഡാറ്റയും മുമ്പ് കാണാത്ത ഡാറ്റയും ശരിയായി വിശകലനം ചെയ്യാനാകില്ല. ![overfitting model](../../../../translated_images/ml/overfitting.1c132d92bfd93cb6.webp) -> ഇൻഫോഗ്രാഫിക് [ജെൻ ലൂപ്പർ](https://twitter.com/jenlooper) tarafından +> ഇൻഫോഗ്രാഫിക് [ജെൻ ലൂപ്പർ](https://twitter.com/jenlooper) -## പരാമീറ്റർ ട്യൂണിംഗ് +## പാരാമീറ്റർ ട്യൂണിംഗ് -നിങ്ങളുടെ പ്രാഥമിക പരിശീലനം പൂർത്തിയായ ശേഷം, മോഡലിന്റെ ഗുണമേന്മ നിരീക്ഷിച്ച് അതിന്റെ 'ഹൈപ്പർപാരാമീറ്ററുകൾ' ക്രമീകരിച്ച് മെച്ചപ്പെടുത്താൻ പരിഗണിക്കുക. പ്രക്രിയയെക്കുറിച്ച് കൂടുതൽ വായിക്കുക [ഡോക്യുമെന്റേഷനിൽ](https://docs.microsoft.com/en-us/azure/machine-learning/how-to-tune-hyperparameters?WT.mc_id=academic-77952-leestott). +ആദ്യപരിശീലനം പൂർത്തിയായ ശേഷം, മോഡലിന്റെ ഗുണനിലവാരം ശ്രദ്ധിക്കുക, അതിന്റെ ‘ഹൈപ്പർപാരാമീറ്ററുകൾ’ മാറ്റി മെച്ചപ്പെടുത്താൻ സ്വല്പം പരിശ്രമിക്കുക. പ്രക്രിയയെക്കുറിച്ച് കൂടുതൽ [ഡോക്യുമെന്റേഷനിൽ](https://docs.microsoft.com/en-us/azure/machine-learning/how-to-tune-hyperparameters?WT.mc_id=academic-77952-leestott) വായിക്കാം. -## പ്രവചനം +## പ്രവചന -ഇത് നിങ്ങൾക്ക് പൂർണ്ണമായും പുതിയ ഡാറ്റ ഉപയോഗിച്ച് മോഡലിന്റെ കൃത്യത പരിശോധിക്കാനുള്ള നിമിഷമാണ്. 'പ്രയോഗത്തിൽ' ഉള്ള ML സജ്ജീകരണത്തിൽ, നിങ്ങൾ മോഡൽ പ്രൊഡക്ഷനിൽ ഉപയോഗിക്കാൻ വെബ് ആസറ്റുകൾ നിർമ്മിക്കുമ്പോൾ, ഈ പ്രക്രിയയിൽ ഉപയോക്തൃ ഇൻപുട്ട് (ഉദാഹരണത്തിന് ബട്ടൺ അമർത്തൽ) ശേഖരിച്ച് ഒരു വേരിയബിൾ സജ്ജമാക്കി മോഡലിലേക്ക് ഇൻഫറൻസ് അല്ലെങ്കിൽ വിലയിരുത്തലിനായി അയയ്ക്കുന്നതും ഉൾപ്പെടാം. +പുതിയ ഡാറ്റ ഉപയോഗിച്ച് നിങ്ങളുടെ മോഡലിന്റെ കൃത്യത പരീക്ഷിക്കാൻ ഇതാണ് ഘട്ടം. പ്രയോഗയിൽ, വെബ് ആസ്തികൾ നിർമ്മിച്ച് മോഡൽ പ്രൊഡക്ഷനിൽ ഉപയോഗിക്കുന്നപ്പോൾ, ഈ പ്രക്രിയയിൽ ഉപയോക്താവിന്റെ ഇൻപുട്ട് (ഉദാഹരണത്തിന് ഒരു ബട്ടൺ അമർത്തൽ) ശേഖരിച്ച് മോഡലിലേയ്ക്ക് വ്യത്യാസ വേരിയബിൾ ആയി അയച്ച് മൂല്യനിർണയം നടത്തുന്നത് ഉള്‍പ്പെടാം. -ഈ പാഠങ്ങളിൽ, നിങ്ങൾ ഈ ഘട്ടങ്ങൾ ഉപയോഗിച്ച് ഡാറ്റാ സയന്റിസ്റ്റിന്റെ എല്ലാ പ്രവർത്തനങ്ങളും, കൂടാതെ കൂടുതൽ, തയ്യാറാക്കാനും, നിർമ്മിക്കാനും, പരീക്ഷിക്കാനും, വിലയിരുത്താനും, പ്രവചിക്കാനും പഠിക്കും, 'ഫുൾ സ്റ്റാക്ക്' ML എഞ്ചിനീയറായി നിങ്ങളുടെ യാത്രയിൽ മുന്നേറുമ്പോൾ. +ഈ പാഠങ്ങളിലൂടെ, നിങ്ങൾ ഈ ഘട്ടങ്ങൾ ഉപയോഗിച്ച് തയ്യാറാക്കുകയും, നിർമ്മിക്കുകയും, പരീക്ഷിക്കുകയും, വിലയിരുത്തുകയും പ്രവചനങ്ങളും ചെയ്യുകയും ചെയ്യുന്ന ഡാറ്റ ശാസ്ത്രജ്ഞന്റെ എല്ലാ പ്രവർത്തനങ്ങളും പഠിക്കാനാകും. ഈ യാത്രയിൽ 'ഫുൾ സ്റ്റാക്ക്' ML എൻജിനിയറായി മാറുന്നതിന് ഒരുങ്ങുക. --- -## 🚀ചലഞ്ച് +## 🚀ചിൽവിക്കൽ -ഒരു ML പ്രാക്ടീഷണറുടെ ഘട്ടങ്ങൾ പ്രതിഫലിപ്പിക്കുന്ന ഒരു ഫ്ലോ ചാർട്ട് വരയ്ക്കുക. നിങ്ങൾ ഇപ്പോൾ പ്രക്രിയയിൽ എവിടെയാണ്? നിങ്ങൾക്ക് എവിടെ ബുദ്ധിമുട്ട് ഉണ്ടാകുമെന്ന് പ്രവചിക്കുന്നു? നിങ്ങൾക്ക് എവിടെ എളുപ്പമാണ്? +മഷീൻ ലേണിംഗ് പ്രായോഗികൻ സ്വീകരിക്കുന്ന ഘട്ടങ്ങളുടെ ഫ്ലോ ചാർട്ട് വരച്ചു കാണിക്കുക. ഇപ്പോൾ പ്രക്രിയയിൽ നിങ്ങൾ എവിടെയാണ് നിങ്ങളുടെ സ്ഥാനം? ഏത് ഘട്ടത്തിൽ നിങ്ങൾക്ക് ബുദ്ധിമുട്ടുണ്ടാകും എന്നു നിങ്ങൾ കരുതുന്നു? എന്ത് നിങ്ങൾക്ക് എളുപ്പമാണ്? ## [പോസ്റ്റ്-ലെക്ചർ ക്വിസ്](https://ff-quizzes.netlify.app/en/ml/) ## അവലോകനം & സ്വയം പഠനം -ഡാറ്റാ സയന്റിസ്റ്റുകൾ അവരുടെ ദൈനംദിന ജോലി ചർച്ച ചെയ്യുന്ന അഭിമുഖങ്ങൾ ഓൺലൈനിൽ തിരയുക. ഇതാ [ഒരു ഉദാഹരണം](https://www.youtube.com/watch?v=Z3IjgbbCEfs). + അവിടെ ഡാറ്റ ശാസ്ത്രജ്ഞർ അവരുടെയ ജോലി കുറിച്ച് സംസാരിക്കുന്ന അഭിമുഖങ്ങൾ ഓൺലൈനിൽ അന്വേഷിക്കുക. ഇതാ [ഒരു ഉദാഹരണം](https://www.youtube.com/watch?v=Z3IjgbbCEfs). ## അസൈൻമെന്റ് -[ഒരു ഡാറ്റാ സയന്റിസ്റ്റിനെ അഭിമുഖം ചെയ്യുക](assignment.md) +[ഒരു ഡാറ്റ ശാസ്ത്രജ്ഞനെ അഭിമുഖം ചെയ്യുക](assignment.md) --- -**അസൂയാ**: -ഈ രേഖ AI വിവർത്തന സേവനം [Co-op Translator](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് വിവർത്തനം ചെയ്തതാണ്. നാം കൃത്യതയ്ക്ക് ശ്രമിച്ചെങ്കിലും, സ്വയം പ്രവർത്തിക്കുന്ന വിവർത്തനങ്ങളിൽ പിശകുകൾ അല്ലെങ്കിൽ തെറ്റുകൾ ഉണ്ടാകാമെന്ന് ദയവായി ശ്രദ്ധിക്കുക. അതിന്റെ മാതൃഭാഷയിലുള്ള യഥാർത്ഥ രേഖയാണ് പ്രാമാണികമായ ഉറവിടം എന്ന് പരിഗണിക്കേണ്ടതാണ്. നിർണായക വിവരങ്ങൾക്ക്, പ്രൊഫഷണൽ മനുഷ്യ വിവർത്തനം ശുപാർശ ചെയ്യപ്പെടുന്നു. ഈ വിവർത്തനത്തിന്റെ ഉപയോഗത്തിൽ നിന്നുണ്ടാകുന്ന ഏതെങ്കിലും തെറ്റിദ്ധാരണകൾക്കോ തെറ്റായ വ്യാഖ്യാനങ്ങൾക്കോ ഞങ്ങൾ ഉത്തരവാദികളല്ല. +**ഡിസ്ക്ലെയിമർ**: +ഈ ഡോക്യുമെന്റ് AI വിവർത്തന സേവനം [Co-op Translator](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് വിവർത്തനം ചെയ്തതാണ്. നിശ്ചിതത്വത്തിനായി ഞങ്ങൾ ശ്രമിക്കുന്നുണ്ടെങ്കിലും, സ്വയം പ്രവർത്തിക്കുന്ന വിവർത്തനങ്ങളിൽ പിശകുകൾ അല്ലെങ്കിൽ തെറ്റായ വിവരങ്ങൾ ഉണ്ടാകാമെന്ന് ദയവായി ശ്രദ്ധിക്കുക. യഥാർത്ഥ ഭാഷയിലെ പ്രമാണം മാത്രമെ പ്രാമാണിക സ്രೋതസായി പരിഗണിക്കാവൂ. അത്യന്താപേക്ഷിത വിവരങ്ങൾക്ക്, പ്രൊഫഷണൽ മനുഷ്യ വിവർത്തനം ശുപാർശ ചെയ്യപ്പെടുന്നു. ഈ വിവർത്തനം ഉപയോഗിക്കുന്നതിൽ നിന്നുണ്ടാകുന്ന ഏതെങ്കിലും തെറ്റിദ്ധാരണകൾക്കോ തെറ്റായ വ്യാഖ്യാനങ്ങൾക്കോ ഞങ്ങൾ ഉത്തരവാദിത്വം താമസിയരുത്. \ No newline at end of file diff --git a/translations/ml/2-Regression/3-Linear/README.md b/translations/ml/2-Regression/3-Linear/README.md index 6338bd13d..214b27de1 100644 --- a/translations/ml/2-Regression/3-Linear/README.md +++ b/translations/ml/2-Regression/3-Linear/README.md @@ -1,98 +1,98 @@ -# Scikit-learn ഉപയോഗിച്ച് ഒരു റെഗ്രഷൻ മോഡൽ നിർമ്മിക്കുക: റെഗ്രഷൻ നാല് മാർഗ്ഗങ്ങൾ +# Scikit-learn ഉപയോഗിച്ച് റഗ്രഷൻ മോഡൽ നിർമ്മിക്കുക: റഗ്രഷൻ നാല് വഴികൾ -## തുടക്കക്കാരുടെ കുറിപ്പ് +## ആരംഭകർക്കുള്ള കുറിപ്പ് -ലീനിയർ റെഗ്രഷൻ **സൊന്മുഖ്യമായ മൂല്യം** പ്രവചിക്കാനുപയോഗിക്കുന്നു (ഉദാഹരണത്തിന്, വീട് വില, താപനില, അല്ലെങ്കിൽ വിൽപ്പന). -ഇത് ഇൻപുട്ട് ഫീച്ചറുകളുടെയും ഔട്ട്പുട്ടിന്റെയും ബന്ധം മികച്ച രീതിയായി കാണിക്കുന്ന ഒരു സുമുഖ രേഖ കണ്ടെത്തിയാണ് പ്രവർത്തിക്കുന്നത്. +ലീനിയർ റഗ്രഷൻ ആണ് നമ്മൾ ഒരു **സംഖ്യാമൂല്യത്തെ** (ഉദാഹരണത്തിന്, വീടിന്റെ വില, താപനില, അല്ലെങ്കിൽ വിൽപ്പന) പ്രവചിക്കുമ്പോൾ ഉപയോഗിക്കുന്നത്. +ഇത് ഇൻപുട്ട് ഫീച്ചറുകളും ഔട്ട്‌പുട്ടിനിടയിലുള്ള ബന്ധം മികച്ച രീതിയിൽ പ്രതിനിധാനം ചെയ്യുന്ന ഒരു നേര直ലേഖം കണ്ടെത്തി പ്രവർത്തിക്കുന്നു. -ഈ പാഠത്തിൽ, കൂടുതൽ ആധുനിക റെഗ്രഷൻ സാങ്കേതികവിദ്യകൾ തേടുന്നതിന് മുമ്പായി ആശയം മനസിലാക്കുന്നതിനാണ് ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നത്. +ഈ പാഠത്തിൽ, കൂടുതൽ ആഡ്‌വാൻസ്ഡ് റഗ്രഷൻ സാങ്കേതികവിദ്യകൾ പരീക്ഷിക്കാൻ മുൻപ് ആശയം മനസിലാക്കുന്നതിലേക്ക് ശ്രദ്ധ ചെലുത്തുന്നു. ![Linear vs polynomial regression infographic](../../../../translated_images/ml/linear-polynomial.5523c7cb6576ccab.webp) -> ഇന്ഫോഗ്രാഫിക് [ഡസാനി മഡിപള്ളി](https://twitter.com/dasani_decoded)ൽ നിന്നാണ് -## [പ്രീ-ലക്‌ചർ ക്വിസ്](https://ff-quizzes.netlify.app/en/ml/) +> ഇൻഫോഗ്രാഫിക് - [Dasani Madipalli](https://twitter.com/dasani_decoded) +## [പ്രീ-ലെക്‌ച്ചർ ക്വിസ്](https://ff-quizzes.netlify.app/en/ml/) -> ### [ഈ പാഠം R ൽ ലഭ്യമാണ്!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html) +> ### [ഈ പാഠം R-യിൽ ലഭ്യമാണ്!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html) ### പരിചയം -ഇതുവരെ നിങ്ങൾ റെഗ്രഷൻ എന്താണെന്ന് കാണുകയും, പമ്പ്കിൻ വിലപ്പിടിക്കുന്ന ഡാറ്റാസെറ്റിൽ നിന്നെടുത്ത സാമ്പിൾ ഡാറ്റ ഉപയോഗിച്ച് പരീക്ഷിക്കുകയും ചെയ്തിട്ടുണ്ട്. Matplotlib ഉപയോഗിച്ച് അത് ദൃശ്യീകരിക്കുകയും ചെയ്തിട്ടുണ്ട്. +ഇതുവരെ നിങ്ങളിവിടെ റഗ്രഷൻ എന്താണെന്ന് പംകിൻ വിലനിർണക്ക ഡാറ്റായിൽ നിന്നുള്ള ഉദാഹരണ ഡാറ്റ ഉപയോഗിച്ച് പരിശോധിച്ചിരുന്നു. Matplotlib ഉപയോഗിച്ച് ഇത് ദൃശ്യീകരിച്ചു. -ഇപ്പോൾ നിങ്ങൾ ML ൽ റെഗ്രഷനിൽ കൂടുതൽ ആഴമേറ്റാൻ തയ്യാറാണ്. ദൃശ്യീകരണം ഡാറ്റ പരിഗണിക്കാൻ സഹായിക്കുന്നുവെങ്കിലും, യാഥാർത്ഥ്യത്തിൽ യന്ത്രം പഠനത്തിന്റെ ശക്തി _മോഡലുകൾ പരിശീലിപ്പിക്കുന്നതിൽ_ നിന്നാണ്. മോഡലുകൾ ചരിത്ര ഡാറ്റയിൽ പരിശീലിപ്പിക്കപ്പെടുന്നു, ഡാറ്റാ ആശ്രിതത്വങ്ങൾ സ്വയം പടിയെടുക്കാൻ സഹായിക്കുന്നു, പുതിയ ഡാറ്റയ്ക്ക് ഫലങ്ങൾ മുൻകൂട്ടി പ്രവചിക്കാൻ കഴിയും, മോഡൽ മുമ്പ് കണ്ടിട്ടില്ലാത്തത് ആയിരിക്കാം. +ഇപ്പോൾ ML-വിനായി റഗ്രഷനിൽ കൂടുതൽ ആഴത്തിൽ പ്രവേശിക്കാൻ തയാറാണ്. ദൃശ്യീകരണം ഡാറ്റ മനസ്സിലാക്കാൻ സഹായിക്കുന്നതിനാൽ, യഥാർത്ഥ ശക്തി _മോഡലുകൾ പരിശീലിപ്പിക്കുന്നതിൽ_ നിന്നും വരുന്നു. +മോഡലുകൾ ചരിത്ര ഡാറ്റയിൽ പരിശീലനം നൽകപ്പെടുന്നു, ഡാറ്റ ആശ്രിതത്വങ്ങൾ സ്വയം പിടിച്ചെടുത്തു, മോഡൽ മുമ്പ് കണ്ടിട്ടില്ലാത്ത പുതിയ ഡാറ്റയ്ക്ക് ഫലം പ്രവചിക്കാൻ കഴിയും. -ഈ പാഠത്തിൽ, നിങ്ങൾക്ക് രണ്ട് തരത്തിലുള്ള റെഗ്രഷനുകൾ കൂടുതൽ അറിയാം: _അടിസ്ഥാന ലീനിയർ റെഗ്രഷൻ_ এবং _Polynomial റെഗ്രഷൻ_, കൂടാതെ ഈ സാങ്കേതികവിദ്യകൾക്ക് അടിസ്ഥാനമായ ചില ഗണിതത്തെയും. ഈ മോഡലുകൾ നമ്മെ പമ്പ്കിൻ വിലകൾ വ്യത്യസ്ത ഇൻപുട്ട് ഡാറ്റ അനുസരിച്ച് പ്രവചിക്കാൻ അനുവദിക്കും. +ഈ പാഠത്തിൽ, നിങ്ങൾക്ക് രണ്ട് തരം റഗ്രഷനുകൾ — _മൂലഭൂത ലീനിയർ റഗ്രഷൻ_യും _പൊളിനോമിയൽ റഗ്രഷൻ_യും — അവരുടെ തളിർവുസഭൂത ഗണിതശാസ്ത്രത്തോടൊപ്പം പഠിപ്പിക്കും. ഈ മോഡലുകൾ വിവിധ ഇൻപുട്ട് ഡാറ്റയുടെ അടിസ്ഥാനത്തിൽ പംകിൻ വിലകൾ പ്രവചിക്കാൻ സഹായിക്കും. [![ML for beginners - Understanding Linear Regression](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "ML for beginners - Understanding Linear Regression") -> 🎥 ലീനിയർ റെഗ്രഷന്റെ സംക്ഷിപ്ത വീഡിയോവിവരത്തിന് മുകളിൽ കാണുന്ന ചിത്രത്തിൽ ക്ലിക്ക് ചെയ്യുക. +> 🎥 ലീനിയർ റഗ്രഷന്റെ ചെറു വീഡിയോ അവലോകനത്തിന് മുകളിൽ ചിത്രത്തിൽ ക്ലിക്ക് ചെയ്യുക. -> ഈ കോഴ്സിൽ, ഗണിത ശാസ്ത്രം കുറഞ്ഞ പരിജ്ഞാനത്തോടെ വിദ്യാർത്ഥികൾക്ക് ലഭ്യമാക്കാനാണ് ശ്രമം, അതിനാൽ കുറിപ്പുകൾ, 🧮 കാൾഔട്ടുകൾ, ചിത്രരേഖകൾ, മറ്റും മനസ്സിലാക്കാൻ സഹായിക്കുന്ന ഉപകരണങ്ങൾ ശ്രദ്ധിക്കുക. +> ഈ പാഠ്യപദ്ധതിയിൽ, ഗണിതം കുറവായ അറിവിൽ നിന്ന് ആരംഭിക്കുന്നവർക്കായി നിർദ്ദേശിക്കുന്നു, അതുകൊണ്ട് കുറിപ്പുകൾ, 🧮 ഗണിത്യോജിപ്പുകൾ, ചിത്രങ്ങൾ എന്നിവ ഉപയോഗിച്ച് മനസ്സിലാക്കൽ സഹായിക്കുന്നു. -### മുൻഅടിസ്ഥാനങ്ങൾ +### മുൻകൂർ അറിവ് -ഇപ്പോൾ വരെ നമുക്ക് പരിശോദിക്കുന്ന പമ്പ്കിൻ ഡാറ്റയുടെ ഘടനയെക്കുറിച്ച് പരിചിതരായിരിക്കണം. ഈ പാഠത്തിലെ _notebook.ipynb_ ഫയലിൽ ഇത് മുൻകൂട്ടി ലോഡ് ചെയ്ത് മുൻകൂട്ടി ശുദ്ധീകരിച്ചിട്ടുണ്ടു്. ഫയലിൽ, പമ്പ്കിൻ വില പുതിയ ഡാറ്റാ ഫ്രെയിമിൽ കേസ് വിലയായി കാണിക്കുന്നു. Visual Studio Code ൽ കണൽ ഉപയോഗിച്ച് ഈ നോട്ട് ബുക് ഓടിക്കാൻ കഴിവുണ്ടെന്ന് ഉറപ്പാക്കുക. +നിങ്ങൾ പരിശോധിക്കുന്ന പംകിൻ ഡാറ്റയുടെ ഘടന ഇതുവരെ പരിചയപ്പെട്ടിരിക്കണം. ഈ പാഠത്തിലെ _notebook.ipynb_ ഫയലിൽ ഇത് പ്രീ ലോഡ് ചെയ്തും പ്രീ ക്ലീൻ ചെയ്തും കാണാം. ഈ ഫയലിൽ പംകിൻ വില ബശ്യേൽപ്രതി പുതിയ ഡാറ്റാഫ്രെയിമിൽ പ്രദർശിപ്പിച്ചിരിക്കുന്നു. Visual Studio Code-ൽ ഈ നോട്ട് ബുക്കുകൾ നടത്താൻ ആസൂത്രണം ചെയ്യുക. -### ഒരുക്കം +### തയ്യാറെടുപ്പ് -ഓർമ്മപ്പെടുത്തലായി, ഈ ഡാറ്റ നിങ്ങളുടെ ചോദ്യങ്ങൾക്കായി ലോഡ് ചെയ്യുകയാണ്. +ഒരു ഓർമ്മപ്പെടുത്തൽ: ഈ ഡാറ്റ നിങ്ങൾക്കു ചോദ്യങ്ങൾ ചോദിക്കുന്നതിനായി ലോഡ് ചെയ്യുകയാണ്. -- പമ്പ്കിനുകൾ വാങ്ങാൻ ഏറ്റവും നല്ല സമയംഎന്താണ്? -- ഒരു ചെറിയ പമ്പ്കിൻ കേസിന് എത്ര വില പ്രതീക്ഷിക്കാം? -- പമ്പ്കിനുകൾ അർദ്ധ-ബഷൽ വാലറ്റിലോ അല്ലെങ്കിൽ 1 1/9 ബഷൽ ബോക്സിലോ വാങ്ങണോ? +- പംകിനുകൾ വാങ്ങാനുള്ള ഏറ്റവും നല്ല സമയം ಯಾವതാണ്? +- മിനിയേച്ചർ പംകിനുകളുടെ ഒരു കേസ് വില എത്ര പ്രതീക്ഷിക്കാം? +- അവയെ പകുതി-ബശ്യേൽ ബാസ്കറ്റുകളിൽ വാങ്ങണോ അല്ലെങ്കിൽ 1 1/9 ബശ്യേൽ ബോക്സിൽ? +ഈ ഡാറ്റയിൽ കൂടുതൽ അവലോകനം ചെയ്യാമെങ്കില്‍. -ഈ ഡാറ്റയിൽ കൂടുതൽ ആഴത്തിൽ നോക്കാം. +മുന്നത്തെ പാഠത്തിൽ, നിങ്ങൾ Pandas ഡാറ്റാഫ്രെയിം സൃഷ്ടിച്ച്, ഒറിജിനൽ ഡാറ്റാസെറ്റിന്റെ ഭാഗം ഉപയോഗിച്ച് വിലയെ ബശ്യേൽപ്ര്ക്ക് സ്റ്റാൻഡേർഡൈസ് ചെയ്തു. പക്ഷേ അപ്പോൾ വെറും ഏകദേശം 400 ഡാറ്റാപോയിന്റുകളും അതും മഴകാല മാസങ്ങളിലേക്കും പരിമിതമായി మాత్రమే ലഭിച്ചു. -മുമ്പത്തെ പാഠത്തിൽ നിങ്ങൾ പാണ്ടാസ് ഡാറ്റാ ഫ്രെയിം സൃഷ്ടിച്ച് അതിൽ മുഖ്യ ഡാറ്റാസെറ്റിന്റെ ഒരു ഭാഗം നൽകിയിരുന്നു, ബഷൽ അടിസ്ഥാനത്തിൽ വിലകൾ സാധാരണവത്കരിച്ചിരുന്നതായിരിന്നു്. എന്നാൽ അങ്ങനെ ചേർത്താൽ, ഏകദേശം 400 ഡാറ്റാപോയിന്റുകൾ മാത്രവും വീതം വീതമോഴി മാസങ്ങളോടെ മാത്രമായതായി കിട്ടി. +ഈ പാഠത്തിലെ അനുബന്ധ നോട്ട് ബുക്കിൽ ഇതിനകം ലോഡ് ചെയ്ത ഡാറ്റ കാണുക. പ്രാരംഭ സ്‌കാറ്റർപ്ലോട്ട് മാസ ഡാറ്റയെ ചിത്രീകരിക്കുന്നു. കൂടുതൽ ശുചിത്വണമെന്നും വിശദാംശങ്ങൾ അന്വേഷിക്കാം. -ഈ പാഠത്തിലെ സഹായി നോട്ട് ബുക്കിൽ മുൻകൂട്ടി ലോഡ് ചെയ്ത ഡാറ്റ നോക്കുക. ഡാറ്റ മുൻകൂട്ടി ലോഡ് ചെയ്‌തിട്ടുണ്ട്, തുടക്കം മാസത്തിലെ ഡാറ്റ കാണിക്കാൻ പ്രാഥമിക സ്‌കാറ്റർപ്ലോട്ട് വരച്ചിട്ടുണ്ട്. ഡാറ്റ കൂടുതൽ നന്നായി വ്യക്തമാക്കാൻ കൂടുതൽ ശുചീകരണം ചെയ്യാമോ എന്ന് നോക്കാം. +## ഒരു ലീനിയർ റഗ്രഷൻ ലൈൻ -## ലീനിയർ റെഗ്രഷൻ രേഖ +പാഠം 1-ൽ പഠിച്ചതുപോലെ, ലീനിയർ റഗ്രഷൻ അഭ്യാസത്തിന് വേണ്ടത് ഒരു രേഖ വയ്ക്കുക എന്നതാണ്, ഇത്: -പാഠം 1-ൽ നിങ്ങൾ പഠിച്ചതുപോലെ, ലീനിയർ റെഗ്രഷൻ അഭ്യാസത്തിന്റെ ലക്ഷ്യം ഒരു രേഖ വരയ്ക്കുകയാണ്: +- **ഭദ്രമായ വാഹ്യതകൾ കാണിക്കുക**: വ്യത്യസ്ത വെരിയബിളുകളിലുണ്ടായ ബന്ധം കാണിക്കുക +- **പ്രവചനങ്ങൾ നടത്തുക**: ഒരു പുതിയ ഡാറ്റാപോയന്റ് ആ രേഖയുടെ സാന്നിധ്യത്തിലുണ്ടാകാനിടയായ സ്ഥലം കൃത്യമായി പ്രവചിക്കുക -- **മാറ്റികളുടെയും ബന്ധം കാണിക്കുക**. മാറ്റികളുടെ ബന്ധം കാണിക്കുക -- **പ്രവചനങ്ങൾ നടത്തുക**. ഒരു പുതിയ ഡാറ്റാപോയിന്റ് ആ രേഖയോട് എവിടെയായിരിക്കും എന്ന് കൃത്യമായി പ്രവചിക്കുക. +**ലിസ്റ്റ്-സ്‌ക്വയർസ് റഗ്രഷൻ** ഈ തരം രേഖ വരയ്ക്കുന്നതിന് സാധാരണമാണ്. "ലിസ്റ്റ്-സ്‌ക്വയറ്സ്" എന്നത് മോഡലിലെ മൊത്തം പിഴവ് കുറഞ്ഞതാക്കാനുള്ള പ്രക്രിയയെയാണ് സൂചിപ്പിക്കുന്നത്. ഓരോ ഡാറ്റാപോയിന്റിനും, യഥാർത്ഥ പോയിന്റും ഞങ്ങളുടെ റഗ്രഷൻ രേഖയും ഇടയിൽ ഉള്ള വെർട്ടിക്കൽ ദൂരം (റെസിഡുവൽ) അളക്കുന്നു. -**ലീസ്‌റ്റ്-സ്ക്വയർസ് റെഗ്രഷൻ** ഉപയോഗിച്ച് ഇത്തരം രേഖ വരയ്ക്കുന്നത് സാധാരണമാണ്. "ലീസ്‌റ്റ്-സ്ക്വയർസ്" എന്നത് മോഡലിന്റെ മൊത്തം പിശകുകൾ കുറഞ്ഞുവരുത്താനുള്ള പ്രക്രിയ അർത്ഥമാക്കുന്നു. ഓരോ ഡാറ്റാപോയിന്റിന്റെയും യഥാർത്ഥ പോയിന്റും ഞങ്ങളുടെ റെഗ്രഷൻ രേഖയും തമ്മിലുള്ള ലംബനില വ്യത്യാസം (റസിഡ്വൽ എന്നറിയപ്പെടുന്നത്) നമുക്ക് അളക്കണം. +ഈ ദൂരം സ്ക്വയർ ചെയ്യുന്നതിന് രണ്ട് പ്രധാന കാരണങ്ങൾ ഉണ്ട്: -ഈ വ്യത്യാസങ്ങൾ സ്‌ക്വയർ ചെയ്യുന്നതിന് രണ്ട് പ്രധാന കാരണങ്ങളുണ്ട്: +1. **മാനദണ്ഡം ദിശയെച്ചേർക്കാതെ**: -5 എന്ന പിഴവിനെ +5 എന്ന പിഴവുപോലെ പരിഗണിക്കാൻ ആവശ്യമുണ്ട്. സ്‌ക്വയർ ചെയ്യുന്നതോടെ എല്ലാ മൂല്യങ്ങളും പോസിറ്റിവായി മാറുന്നു. -1. **ദിശയിലേക്കു പോലും പ്രാധാന്യമില്ലാതെ വിസ്തൃതി**: -5 എന്ന പിശകും +5 എന്ന പിശകും ഒരുപോലെ കൈകാര്യം ചെയ്യാൻ. സ്‌ക്വയറിങ്ങ് എല്ലാ മൂല്യങ്ങളും പോസിറ്റീവായി മാറ്റുന്നു. +2. **ഔട്ട്‌ലൈയർമാരെ ശിക്ഷിക്കുക**: വലിയ പിഴവുകൾക്ക് കൂടുതൽ ഭാരം നൽകാൻ സ്‌ക്വയർ ചെയ്യുന്നത് സഹായിക്കുന്നു, ഇതുവഴി രേഖ ഉൾക്കൂട്ടലുകൾക്കു അടുക്കുന്നത് ഉറപ്പാക്കുന്നു. -2. **ഓട്ട്‌ലയറുകളെ ശിക്ഷിക്കുക**: സ്‌ക്വയറിങ്ങ് വലിയ പിശകുകൾക്ക് കൂടുതലായ ഭാരമുള്ളതാക്കും, ഇത് രേഖയെ തോറും അകലെ ഉള്ള പോയിന്റുകളിലേക്കു നിന്നു് അടുത്ത് ഇരുപ്പാക്കും. +ഈ സ്ക്വെയ്‌ർ ചെയ്തത് ചേർത്ത് മൊത്തം നഷ്ടം മിനിമം ആകുന്ന രേഖ കണ്ടെത്തുകയാണ് ലക്ഷ്യം — അതിനാല്‍ പേര് "ലിസ്റ്റ്-സ്‌ക്വയർസ്". -അങ്ങനെ, ഈ സ്‌ക്വയർ ചെയ്ത മൂല്യങ്ങൾ എല്ലാം കൂട്ടിച്ചേർക്കുന്നു. ഈ സംഖ്യ കുറഞ്ഞതായ രേഖ കണ്ടെത്തുക നമ്മുടെ ലക്ഷ്യം ആണ് (പരമാവധി കുറഞ്ഞ മൂല്യം) — അതുകൊണ്ട് പേര് "ലീസ്‌റ്റ്-സ്ക്വയർസ്" ആണ്. - -> **🧮 കണക്കു കാണിക്കൂ** +> **🧮 ഗണിതം കാണിക്കൂ** > -> ഈ രേഖ, _സൗഹൃദ രേഖ_ എന്ന് വിളിയ്ക്കുന്ന രേഖ, [ഒരു സമവാക്യത്തിലൂടെ](https://en.wikipedia.org/wiki/Simple_linear_regression) അവതരിപ്പിക്കാം: +> ഈ രേഖ, _ബെസ്റ്റ്-ഫിറ്റ് ലൈൻ_ എന്നറിയപ്പെടുന്നു, [ഒരു സമവാക്യത്തോടെ](https://en.wikipedia.org/wiki/Simple_linear_regression) പ്രകടിപ്പിക്കാം: > > ``` > Y = a + bX > ``` -> -> `X` 'വിവരണ മാറ്റി' ആണ്. `Y` 'പരിണാമ മാറ്റി' ആണ്. രേഖയുടെ സ്ലോപ്പ് `b` ആണ്, `a` യോ Y-അന്ത്യയിടപ്പ് ആണ്, അത് `X = 0` ആയപ്പോൾ Y യുടെ മൂല്യം സൂചിപ്പിക്കുന്നു. -> ->![സ്ലോപ്പ് കണക്കാക്കുക](../../../../translated_images/ml/slope.f3c9d5910ddbfcf9.webp) -> -> ആദ്യം, സ്ലോപ്പ് `b` കണക്കാക്കുക. ഇന്ഫോഗ്രാഫിക് [ജെൻ ലൂപ്പർ](https://twitter.com/jenlooper) -> -> മറ്റൊരു രീതിയിൽ പറഞ്ഞാൽ, നമ്മുടെ പമ്പ്കിനുകൾ ഡാറ്റയേക്കുറിച്ചുള്ള പ്രാഥമിക ചോദ്യത്തോട് ചേർത്ത്: "മാസം അനുസരിച്ച് ബഷൽ വില പ്രവചിക്കുക," `X` വില (Price) യെ സൂചിപ്പിക്കുന്നതായിരിക്കും, `Y`则销售月份(Month)。 -> ->![സംവാക്യം പൂരിപ്പിക്കുക](../../../../translated_images/ml/calculation.a209813050a1ddb1.webp) -> -> Y യുടെ മൂല്യം കണക്കാക്കുക. നിങ്ങൾ ഏകദേശം $4 ചെലവഴിക്കുന്നുവെങ്കിൽ, അത് ഏപ്രിൽ എന്നിരിക്കണം! ഇന്ഫോഗ്രാഫിക് [ജെൻ ലൂപ്പർ](https://twitter.com/jenlooper) -> -> രേഖയുടെ സ്ലോപ്പ്, അത് വരച്ചിരുന്നത് ഇന്നത്തെ ഒരു അന്ത്യയിൽ (intercept) ആശ്രയിച്ചിട്ടുള്ളതെന്നു് ഗണിതം കാണിക്കണം, അതായത് `X = 0` ആകുമ്പോൾ Y എവിടെ ബസിച്ചിരിക്കുന്നു. -> -> ഈ മൂല്യങ്ങൾ കണക്കു കാണുന്നത് [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html) വെബ്സൈറ്റിൽ കാണാം. [ഈ Least-squares കാൽക്കുലേറ്റർ](https://www.mathsisfun.com/data/least-squares-calculator.html) സന്ദർശിച്ച് സംഖ്യകളുടെ മൂല്യങ്ങൾ രേഖയെ എങ്ങനെ ബാധിക്കുന്നു എന്ന് യഥാർത്ഥത്തിൽ കാണാം. +> +> `X` ആണ് ‘വ്യാഖ്യാനപരമായ വ്യത്യാസം’. `Y` ആണ് ‘നിലവാര വ്യത്യാസം’. രേഖയുടെ നിഷ്പാതം `b` ആണ്, `a` ആണ് y-ഇന്റർസെප්്റ്റ്; അതായത് `X=0` ആയപ്പോൾ `Y` ന്റെ മൂല്യം. +> +>![calculate the slope](../../../../translated_images/ml/slope.f3c9d5910ddbfcf9.webp) +> +> ആദ്യം, നിഷ്പാതം `b` ഗണിക്കുക. ഇൻഫോഗ്രാഫിക് - [Jen Looper](https://twitter.com/jenlooper) +> +> മറ്റൊരു രീതിയിൽ പറയുമ്പോൾ, പംകിൻ ഡാറ്റയുടെ യഥാർത്ഥ ചോദ്യം “മാസംപ്രതി ബശ്യേലിന് പംകിന്റെ വില പ്രവചിക്കുക” എന്ന് ആയാൽ, `X` വിലക്കു സൂചകം, `Y` വിൽപ്പന മാസത്തെ സൂചകം ആകും. +> +>![complete the equation](../../../../translated_images/ml/calculation.a209813050a1ddb1.webp) +> +> Y ന്റെ മൂല്യം കണക്കുക. കരുതുക നിങ്ങൾ $4 ചുറ്റുപടുത്ത് തുകയോ, ആപ്രിൽ ആയിരിക്കണം! ഇൻഫോഗ്രാഫിക് - [Jen Looper](https://twitter.com/jenlooper) +> +> രേഖയുടെ നിഷ്പാതവും ഇന്റർസെപ്റ്റും ഉപയോഗിച്ച് ഇന്ത്യൻറെഗ്ശൻ രേഖയുടെ ഗണിതം ഫലപ്രദമായി കാണിക്കണം. +> +> ഈ മൂല്യങ്ങൾ കണക്കാക്കുന്ന രീതി [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html) വെബ്സൈറ്റിൽ കാണാം. കൂടാതെ [ഈ ലിസ്റ്റ്-സ്‌ക്വയർസ് കാൽക്കുലേറ്റർ](https://www.mathsisfun.com/data/least-squares-calculator.html) സന്ദർശിച്ച് എങ്ങനെ സംഖ്യകൾ രേഖയെ ബാധിക്കുന്നുവെന്ന് കാണാം. -## സഹസംബന്ധം +## സഹസംവാദം (Correlation) -അറിവ് ആവശ്യമുള്ള മറ്റൊരു പദം **Correlation Coefficient** ആണ്, നൽകപ്പെട്ട `X` ഉം `Y` ഉം തമ്മിലുള്ള സഹസംബന്ധം സൂചിപ്പിക്കുന്നത്. സ്‌കാറ്റർപ്ലോട്ടിൽ ഇത് എളുപ്പത്തിൽ കാഴ്ചവെക്കാം. എത്രയും സമാന രേഖയിൽ മിക്ക ഡാറ്റാപോയിന്റുകളും പകലായി കാണിക്കുന്ന പ്ലോട്ട് സഹസംബന്ധം ഉയർന്നതാണെന്ന് സൂചിപ്പിക്കുന്നു. എന്നാൽ ഡാറ്റാപോയിന്റുകൾ പലയിടങ്ങളിലും പടർന്നുനിൽക്കുന്ന പ്ലോട്ട് താഴ്ന്ന സഹസംബന്ധം കാട്ടും. +മറ്റൊരു പരിചയപ്പെടുത്തേണ്ട പദം **സഹസംവാദ ഘടകം** ആണ്, നൽകിയ `X` ഉം `Y` ഉം തമ്മിലുള്ള. സ്‌കാറ്റർപ്ലോട്ടിൽ ഈ ഘടകം എളുപ്പത്തിൽ മനസ്സിലാക്കാം. ഒരു നല്ല താളത്തിൽ പുള്ളികളോടുകൂടിയ പ്ലോട്ട് ഉയർന്ന സഹസംവാദം കാണിക്കും, പുള്ളികൾ വ്യാപകമായി പടർന്നാൽ കുറവ് സഹസംവാദം കാണും. -നന്നായ ഒരു ലീനിയർ റെഗ്രഷൻ മോഡൽ `Least-Squares Regression` ഉപയോഗിക്കുന്നത് കൊണ്ട് രേഖയുടെ സഹായത്തോടെ ഉയർന്ന (നിങ്ങളുടെ 1-നടുത്ത് 0-നും ഇടയിൽ) Correlation Coefficient ഉള്ളത് ആകും. +നല്ല ലീനിയർ റഗ്രഷൻ മോഡൽ ഏറ്റവും ഉയർന്ന (0-ൽ നിന്നും അടുത്ത് 1) സഹസംവാദ ഘടകമുള്ള ലിസ്റ്റ്-സ്‌ക്വയർസ് റഗ്രഷൻ രേഖയോട് അനുയോജ്യമായതാണ്. -✅ ഈ പാഠത്തോടൊപ്പം നൽകുന്ന നോട്ട് ബുക്ക് ഓടിച്ച് മാസവും വിലയും തമ്മിൽ ഉണ്ടാകുന്ന സ്‌കാറർപ്ലോട്ടുകൾ നോക്കുക. പമ്പ്കിൻ വിൽപ്പനയ്ക്ക് മാസവും വിലയുടെ ദൃശ്യമേഖലയിൽ высокого или низкого корреляции? അത് മാറ്റപ്പെടുമോ, നിങ്ങൾ കൂടുതൽ സൂക്ഷ്മമായ നിർവചനമായ *ആ വർഷത്തിലെ ദിവസം* (ആ വർഷം ആരംഭിച്ചിട്ട് എത്ര ദിവസം കഴിഞ്ഞുവോ) ഉപയോഗിച്ചാൽ? +✅ ഈ പാഠവുമായി അനുബന്ധമുള്ള നോട്ട് ബുക്ക് ഓടിച്ച് Month to Price സ്‌കാറ്റർപ്ലോട്ട് നോക്കുക. പംകിൻ വിൽപ്പനയ്ക്ക് മാസം-വില ബന്ധം നിങ്ങളുടെ സമീപന പ്രകാരം ഉയർന്നതോ കുറവോ സഹസംവാദം കാണിക്കുന്നുണ്ടോ? `Month`-നുവേണ്ടി finer granularity ഉപയോഗിച്ചാൽ (ഉദാ., *വത്സരത്തിലെ ദിവസം*, ജനുവരി 1 മുതൽ നാളുകൾ എണ്ണം) മാറുമോയെന്ന് പരിശോധിക്കുക. -ഇതോ, നിലവാരം ശുദ്ധീകരിച്ചും, `new_pumpkins` എന്ന ഡാറ്റാഫ്രെയിം വാങ്ങിയിട്ടുണ്ടെന്നു കരുതിയാൽ, ഇത് താഴെപറയുന്ന പോലെ കാണാം: +താഴെയുള്ള കോഡിൽ, ഡാറ്റ ശുദ്ധീകരിച്ച് ഞങ്ങൾക്ക് `new_pumpkins` എന്ന ഡാറ്റാഫ്രെയിം ലഭിച്ചിരിക്കുന്നു എന്ന فرضദ്ധയത്തിൽ പോകുന്നു, ഇത് തികഞ്ഞിരിക്കുന്നു: ID | Month | DayOfYear | Variety | City | Package | Low Price | High Price | Price ---|-------|-----------|---------|------|---------|-----------|------------|------- @@ -102,36 +102,36 @@ ID | Month | DayOfYear | Variety | City | Package | Low Price | High Price | Pri 73 | 10 | 274 | PIE TYPE | BALTIMORE | 1 1/9 bushel cartons | 17.0 | 17.0 | 15.454545 74 | 10 | 281 | PIE TYPE | BALTIMORE | 1 1/9 bushel cartons | 15.0 | 15.0 | 13.636364 -> ക്‌ളീനിംഗ് കോഡ് [`notebook.ipynb`](notebook.ipynb) ൽ ലഭ്യമാണ്. മുൻപത്തെ പാഠത്തിലും ചെയ്തതുപോലെ തന്നെ ക്ലീനിംഗ് ചെയ്തിട്ടുണ്ട്, കൂടാതെ `DayOfYear` കൾക്കൂലേഷനായി താഴെ കൊടുത്തു ഉപയോഗിച്ചിരിക്കുന്നു: +> ഡാറ്റ ശുദ്ധീകരിക്കുന്ന കോഡ് [`notebook.ipynb`](notebook.ipynb) ൽ ലഭ്യമാണ്. മുൻപത്തെ പാഠത്തിലുള്ളതുപോലെ ശുദ്ധീകരണം നടത്തി, `DayOfYear` തലവരി താഴെ കാണുന്ന പ്രകാരം കണക്കാക്കി: ```python day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days) ``` + +ലീനിയർ റഗ്രഷന്റെ ഗണിതം മനസ്സിലാക്കിയതിനുശേഷം, പംകിൻ പാക്കേജുകളുടെ വിലക്ക് ഏറ്റവും അനുയോജ്യമായ പാക്കേജ് ഏതെന്ന് പ്രവചിക്കാൻ റഗ്രഷൻ മോഡൽ സൃഷ്‌ടിക്കാം. ഒരു ഹോളിഡേ പംകിൻ പാച്ചിന് വേണ്ടി പംകിനുകൾ വാങ്ങുന്നവർക്കിന്ന് പാക്കേജുകളുടെ വിലയെ അടിസ്ഥാനമാക്കി ഏറ്റവും മികച്ച ഒപ്ഷൻ എത് എന്നറിയാൻ ഇത് സഹായിക്കും. -ലീനിയർ റെഗ്രഷന്റെ ഗണിത അർത്ഥം അറിഞ്ഞതിന് ശേഷം, പമ്പ്കിൻ വിലകൾക്ക് ഏറ്റവും നല്ല പമ്പ്കിൻ പാക്കേജ് കണക്കാക്കാൻ റെഗ്രഷൻ മോഡൽ സൃഷ്ടിയ്ക്കാം. അവധി കാലം പമ്പ്കിൻ പാച്ചിൻ വേണ്ടി വാങ്ങുന്നവർക്ക് ഈ വിവരങ്ങൾ വാങ്ങൽ മെച്ചപ്പെടുത്താൻ സഹായിക്കും. - -## സഹസംബന്ധം അന്വേഷിക്കൽ +## സഹസംവാദം അന്വേഷിക്കൽ [![ML for beginners - Looking for Correlation: The Key to Linear Regression](https://img.youtube.com/vi/uoRq-lW2eQo/0.jpg)](https://youtu.be/uoRq-lW2eQo "ML for beginners - Looking for Correlation: The Key to Linear Regression") -> 🎥 കൂടുതൽ വിവരങ്ങൾക്ക് മുകളിൽ കാണുന്ന ചിത്രത്തിൽ ക്ലിക്ക് ചെയ്യുക. +> 🎥 സഹസംവാദത്തെ കുറിച്ചുള്ള ചെറിയ വീഡിയോ അവലോകനത്തിന് മുകളിൽ ചിത്രത്തിൽ ക്ലിക്ക്ചെയ്യുക. -മുമ്പത്തെ പാഠത്തിൽ നിങ്ങൾക്ക് കണ്ടിരുന്നതിനനുസരിച്ച്, വ്യത്യസ്ത മാസങ്ങളുടെ ശരാശരി വില ഇങ്ങനെ കാണാനാകാം: +മുൻപത്തെ പാഠത്തിൽ നിങ്ങൾ കണ്ടതുപോലെ, വ്യത്യസ്ത മാസങ്ങളിൽ ശരാശരി വില ഇങ്ങനെ കാണപ്പെടും: Average price by month -ഇതുവഴി ഒരു ചെറിയ സഹസംബന്ധം ഉണ്ടാകണമെന്നും, നാം ലീനിയർ റെഗ്രഷൻ മോഡൽ ട്രെയിന്‍ ചെയ്ത് `Month`-ഉം `Price`-ഉം തമ്മിലുള്ള ബന്ധം പ്രവചിക്കാമെന്നും, അല്ലെങ്കിൽ `DayOfYear`-ഉം `Price`-ഉം തമ്മിലുള്ള ബന്ധം പ്രവചിക്കാമെന്നും തോന്നുന്നു. ഇത് കാണിക്കുന്ന സ്‌കാറ്റർപ്ലോട്ട് ഇവിടെ: +ഇത് ഏതാനും സഹസംവാദം ഉണ്ട് എന്നു സൂചിപ്പിക്കുന്നു, ഒപ്പം `Month`-ഉം `Price`-ഉം അല്ലെങ്കിൽ `DayOfYear`-ഉം `Price`-ഉം തമ്മിലുള്ള ബന്ധം കാണാൻ ലീനിയർ റഗ്രഷൻ പരിശീലിപ്പിക്കാൻ ശ്രമിക്കാം. താഴെ കാണുന്ന സ്‌കാറ്റർ പ്ലോട്ട് രണ്ടാമത്തെ ബന്ധം കാണിക്കുന്നു: Scatter plot of Price vs. Day of Year -`corr` ഫംഗ്ഷൻ ഉപയോഗിച്ച് സഹസംബന്ധം പരിശോധിക്കാം: +`corr` ഫംഗ്ഷൻ ഉപയോഗിച്ച് സഹസംവാദം പരിശോധിക്കാം: ```python print(new_pumpkins['Month'].corr(new_pumpkins['Price'])) print(new_pumpkins['DayOfYear'].corr(new_pumpkins['Price'])) ``` - -സഹസംബന്ധം കുറവായി തോന്നുന്നു, മാസമോട് -0.15, ‘DayOfMonth’ വരെയും -0.17, എന്നാൽ പമ്പ്കിൻ വിതിന അനുസരിച്ച് വ്യത്യസ്ത ക്ലസ്റ്ററുകളായി ഉണ്ട്. ഈ സിദ്ധാന്തം സ്ഥിരീകരിക്കാൻ ഓരോ പമ്പ്കിൻ വർഗ്ഗവും വ്യത്യസ്ത നിറത്തിൽ പ്ലോട്ട് ചെയ്തു നോക്കാം. `scatter` ഫംഗ്ഷനിൽ `ax` പാരാമീറ്റർ നൽകി എല്ലാ പോയിന്റുകളും ഒരേ ഗ്രാഫിൽ കാണിക്കും: + +സഹസംവാദം വളരെ ചെറിയതാണ്, `Month`-നുവേണ്ടി -0.15, `DayOfYear`-നുവേണ്ടി -0.17; പക്ഷേ മറ്റൊരു പ്രധാനപ്പെട്ട ബന്ധം ഉണ്ടാകാം. വില വ്യത്യാസങ്ങൾ പംകിൻ വെരൈറ്റിക്കുകൾക്കിടയിൽ വ്യത്യാസപ്പെടുന്നു. ഈ സിദ്ധാന്തം സ്ഥിരീകരിക്കാൻ, ഓരോ പംകിൻ വർഗ്ഗവും വ്യത്യസ്ത നിറത്തിൽ പ്ലോട്ടുചെയ്യാം. `scatter` ഫംഗ്ഷനിൽ `ax` പാരാമീറ്റർ നൽകി എല്ലാം ഒരേ ഗ്രാഫിൽ ചിത്രീകരിക്കാൻ കഴിയും: ```python ax=None @@ -140,75 +140,75 @@ for i,var in enumerate(new_pumpkins['Variety'].unique()): df = new_pumpkins[new_pumpkins['Variety']==var] ax = df.plot.scatter('DayOfYear','Price',ax=ax,c=colors[i],label=var) ``` - + Scatter plot of Price vs. Day of Year -പമ്പ്കിൻ വർഗ്ഗം മുഴുവൻ വിലയിൽ കൂടിയ സ്വാധീനം കാണിക്കുന്നു, വിൽപ്പന തീയതിയേക്കാൾ. ബാർ ഗ്രാഫിൽ ഇത് കാണാം: +പാങ്ങൽ സൂചന പ്രകാരം വിലക്ക് വിൽപ്പന തീയതിക്കാൾ പംകിൻ വർഗ്ഗം കൂടുതൽ സ്വാധീനം ചെലുത്തുന്നു. ഇത് ഒരു ബാർ ഗ്രാഫിലും കാണാം: ```python new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar') ``` - + Bar graph of price vs variety -ഇപ്പോൾ “പൈ ടൈപ്പ്” പമ്പ്കിൻ വർഗ്ഗത്തിലേക്ക് മാത്രം ശ്രദ്ധ കേന്ദ്രീകരിച്ച് തീയതി വിലയിൽ എത്ര സ്വാധീനം ചെലുത്തുന്നു എന്ന് നോക്കാം: +ഇപ്പോൾ 'പൈ ടൈപ്പ്' എന്ന ഒറ്റ പംകിൻ വർഗ്ഗത്തിൽ മാത്രം ശ്രദ്ധ കേന്ദ്രീകരിച്ച് തീയതി വിലയ്ക്ക് എങ്ങനെയാണ് സ്വാധീനം കാണിക്കുന്നത് എന്ന് പരിശോധിക്കാം: ```python pie_pumpkins = new_pumpkins[new_pumpkins['Variety']=='PIE TYPE'] pie_pumpkins.plot.scatter('DayOfYear','Price') ``` -Scatter plot of Price vs. Day of Year +Scatter plot of Price vs. Day of Year -`Price` യും `DayOfYear` യും തമ്മിലുള്ള `corr` ഉപയോഗിച്ച് സംഘം കണക്കാക്കിയാൽ, -0.27 വരും, അതായത് പ്രവചനാടിസ്ഥാനത്തിലുള്ള മോഡൽ പരിശീലിപ്പിക്കുന്നതു് യുക്തിയുള്ളതായി തോന്നുന്നു. +ഇപ്പോൾ `Price`-നും `DayOfYear`-നും തമ്മിലുള്ള സഹസംവാദം `corr` ഉപയോഗിച്ച് കണക്കാക്കിയാൽ `-0.27` കിട്ടും — അഥവാ പ്രവചന മാതൃക പരിശീലിപ്പിക്കുന്നത് ബുദ്ധിമുട്ടില്ല. -> ലീനിയർ റെഗ്രഷൻ മോഡൽ പരിശീലിപ്പിക്കുന്നതിന് മുമ്പ്, ഡാറ്റ ശുദ്ധിയാക്കേണ്ടത് നിശ്ചിതമാണ്. നഷ്ടപ്പെട്ട മൂല്യങ്ങൾ ഉള്ള ഡാറ്റയുമായി ലീനിയർ റെഗ്രഷൻ നല്ല പ്രകടനം നൽകാനാകില്ല, അതിനാൽ ശൂന്യമായ എല്ലാ സെല്ലുകളും ഒഴിവാക്കുക ഇടക്കാലം നല്ലതാകും: +> ലീനിയർ റഗ്രഷൻ മോഡൽ പരിശീലിപ്പിക്കുന്നതിന് മുൻപ്, ഡാറ്റ ശുദ്ധമായിരിക്കണം. ലീനിയർ റഗ്രഷൻ നഷ്ടപ്പെട്ട മൂല്യങ്ങളോടു പൊരുത്തപ്പെടാനായില്ല. ഡാറ്റയിൽ ശൂന്യമായ സെലുകൾ നീക്കം ചെയ്യുന്നത് ഉചിതം: ```python pie_pumpkins.dropna(inplace=True) pie_pumpkins.info() ``` + +ഒരു ബദൽ വഴിയാണ് ശൂന്യമായ മൂല്യങ്ങൾ അനുയോജ്യമായ കോളത്തിന്റ മീനിലുള്ള മൂല്യങ്ങൾ ഉപയോഗിച്ച് പൂരിപ്പിക്കൽ. -അടുത്തൊരു മാർഗ്ഗം ശൂന്യമായ മൂല്യങ്ങൾ പ്രസക്തമായ കോളത്തിന്റെ ശരാശരി മൂല്യത്തിൽ പൂരിപ്പിക്കുന്നതാണ്. - -## ലളിതമായ ലീനിയർ റെഗ്രഷൻ +## ലളിതമായ ലീനിയർ റഗ്രഷൻ [![ML for beginners - Linear and Polynomial Regression using Scikit-learn](https://img.youtube.com/vi/e4c_UP2fSjg/0.jpg)](https://youtu.be/e4c_UP2fSjg "ML for beginners - Linear and Polynomial Regression using Scikit-learn") -> 🎥 ലീനിയർ, പൊളിനോമിയൽ റെഗ്രഷൻ സംബന്ധിച്ച ചുരുക്ക വീഡിയോക്‌ളിക്ക് മുകളിൽ ചിത്രത്തിൽ ക്ലിക്ക് ചെയ്യുക. +> 🎥 ലീനിയർ, പൊളിനോമിയൽ റഗ്രഷൻ ലഘുചിത്ര അവലോകനത്തിന് മുകളിൽ ചിത്രത്തിൽ ക്ലിക്കുക. -നാം **Scikit-learn** ലൈബ്രറി ഉപയോഗിച്ച് ലീനിയർ റെഗ്രഷൻ മോഡൽ പരിശീലിപ്പിക്കും. +ലീനിയർ റഗ്രഷൻ മോഡൽ പരിശീലിപ്പിക്കാൻ **Scikit-learn** ലൈബ്രറി ഉപയോഗിക്കും. ```python from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error from sklearn.model_selection import train_test_split ``` - -ആദ്യമേ, ഇൻപുട്ട് മൂല്യങ്ങളായ ഫീച്ചറുകളും പ്രതീക്ഷിത ഔട്ട്പുട്ടായ ലേബലും വേർതിരിക്കാം numpy array ആയി: + +ആദ്യമായി ഇൻപുട്ട് മൂല്യങ്ങൾ (ഫീച്ചറുകൾ) ഔട്ട്‌പുട്ട് (ലെബിൾ) അവിടെ വിഭജിച്ച് numpy ആരേസായി വേർതിരിക്കും: ```python X = pie_pumpkins['DayOfYear'].to_numpy().reshape(-1,1) y = pie_pumpkins['Price'] ``` + +> ലീനിയർ റഗ്രഷൻ പാക്കേജ് ശരിയായി മനസ്സിലാക്കാൻ ഇൻപുട്ട് ഡാറ്റ reshaping നടത്തേണ്ടി വന്നു. ലീനിയർ റഗ്രഷൻ 2D-ആണെന്നും ചിലവിൽ ആയുള്ള വീതി N×1 ആയി വേണം. (N dataset വലിപ്പം) -> ലീനിയർ റെഗ്രഷനിൽ പാക്കേജ് ശരിയായി പ്രവർത്തിക്കാൻ ഇൻപുട്ട് ഡാറ്റ reshaping ചെയ്തതായാണ് ശ്രദ്ധിക്കുക. ലീനിയർ റെഗ്രഷൻ ഒരു 2D-അറേ മുഖ്യം കാണുന്നു, ഓരോ വരിയും ഫീച്ചറുകളുടെ വെക്ടർ ആണ്. ഇവിടെ മാത്രം ഒരു ഫീച്ചറുണ്ട്, അതിനാൽ N×1 ആകൃതിയിലുള്ള അറേ വേണം, ഇവിടെ N dataset വലിപ്പം. - -ശേഷം, പരിശീലനത്തിനും പരിശോധനയ്ക്കുമായ ഡാറ്റ വേർതിരിക്കേണ്ടതാണ്, മോഡൽ പരിശീലിക്കുന്നതിന് ശേഷം മെച്ചം വിലയിരുത്താൻ. +അടുത്തത്, മോഡലിനെ‌ പരിശീലിപ്പിക്കുന്നതിന് മുമ്പ്, ഡാറ്റ ട്രെയിൻ, ടെസ്റ്റ് സെറ്റായി വിഭജിക്കണം: ```python X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0) ``` - -അവസാനമായി, ലീനിയർ റെഗ്രഷൻ മോഡൽ പരിശീലിപ്പിക്കുന്നത് രണ്ട് കോഡ് വരികൾകൊണ്ട് നടന്ന് തീരും. `LinearRegression` ഒബ്‌ജെക്ട് നിർദ്ദിഷ്ടമാക്കി, `fit` മെതഡിലൂടെ ഡാറ്റയിൽ മോഡൽ ഫിറ്റ് ചെയ്ത്: + +അവസാനമായി, ലീനിയർ റഗ്രഷൻ മോഡൽ പരിശീലിപ്പിക്കാൻ രണ്ട് കോഡ് ലൈനുകൾ മാത്രം വേണ്ടിവരും. `LinearRegression` объек്റ്റ് നിർവചിച്ച്, `fit` മെത്തഡ് ഉപയോഗിച്ച് ഡാറ്റയ്ക്ക് ഫിറ്റ് ചെയ്യുക: ```python lin_reg = LinearRegression() lin_reg.fit(X_train,y_train) ``` -`fit` ചെയ്‌തശേഷം `LinearRegression` αντικείμεന്റ് റഗ്രഷന്റെ എല്ലാ കോഫിഷ്യന്റുകളും ഉൾക്കൊള്ളുന്നു, അവ `.coef_`പ്രോപ്പർട്ടി വഴി ആക്‌സസ് ചെയ്യാം. ഞങ്ങളുടെ കേസിൽ, ഒരു കോഫിഷ്യന്റ് മാത്രമാണ് ഉള്ളത്, അത് ഏകദേശം `-0.017`ഓളം ആകാം. ഇതിന്റെ അർത്ഥം വിലകൾ നേരത്തെ കുറുകെ കുറെ കുറയുന്നു എന്ന് കാണിക്കുന്നു, എന്നാൽ അത്ര അധികമല്ല, പ്രതി ദിവസം ഏകദേശം 2 സെന്റുകൾ കുറയുന്നു. റഗ്രഷന്റെ Y-അക്ഷം മുറിച്ചിടുന്ന പോയിന്റ് `lin_reg.intercept_` ഉപയോഗിച്ച് ആക്‌സസ് ചെയ്യാം - ഇത് നമ്മുടെ കേസിൽ ഏകദേശം `21` ആയിരിക്കും, വർഷത്തിന്റെ ആരംഭത്തിലെ വില സൂചിപ്പിക്കുന്നു. +`fit`-ചെയ്ത ശേഷമുള്ള `LinearRegression` വസ്തുവിൽ എല്ലാ റെഗ്രഷൻ കോഫീഷൻറുകളും അടങ്ങിയിരിക്കുന്നു, ഇവക്ക് `.coef_` പ്രോപ്പർട്ടി ഉപയോഗിച്ച് പ്രവേശിക്കാം. നമ്മുടെ കേസിൽ, ഒരു കോഫീഷൻറുമാത്രം ഉണ്ട്, അത് ഏകദേശം `-0.017` ആയിരിക്കണം. ഇത് വർഷകാലക്രമേണ വിലകൾ കുറയുന്നുണ്ടെന്ന് സൂചിപ്പിക്കുന്നു, പക്ഷേ ഏറെ കൂടെ അല്ല, ദിവസానికి ഏകദേശം 2 സെന്റ്. റെഗ്രഷൻ Y-അക്ഷം കൂടിയിടുന്ന ബിന്ദു `lin_reg.intercept_` ഉപയോഗിച്ച് ലഭിക്കാം - ഇത് നമ്മുടെ പ്രശ്നത്തിൽ ഏകദേശം `21` ആയിരിക്കും, വർഷത്തിന്റെ തുടക്കത്തിലെ വില സൂചിപ്പിക്കുന്നു. -ഞങ്ങളുടെ മോഡൽ എത്രത്തോളം കൃത്യമാണെന്ന് കാണാൻ, ടെസ്റ്റ് ഡേറ്റാസെറ്റിൽ വിലകൾ പ്രവചിച്ച്, പിന്നെ പ്രവചനങ്ങൾ പ്രതീക്ഷിച്ച മൂല്യങ്ങളോട് എത്ര അടുത്താണ് എന്ന് അളക്കാം. ഇത് തീരുവായും അനുകൂലമായ മൂല്യങ്ങളുടെയും പ്രവചന മൂല്യങ്ങളുടെയും ചതുരസമമായ വ്യത്യാസങ്ങളുടെ ശരാശരി മൂല്യത്തിന്റെ വേരായിരിക്കും (RMSE) ഉപയോഗിച്ചാണ് ചെയ്യുന്നത്. +നമ്മുടെ മോഡൽ എത്രത്തോളം കൃത്യമാണ് എന്ന് കാണാൻ, ടെസ്റ്റ് ഡാറ്റാസെറ്റിൽ വിലകൾ പ്രവചിച്ച്, പ്രവചനങ്ങളും പ്രതീക്ഷിച്ച മൂല്യങ്ങളും തമ്മിലുള്ള ഏകീകൃതത കാണാം. ഇത് ചെയ്യാൻ മോഡൽ പ്രവചനവും യഥാർത്ഥ മൂല്യങ്ങളും തമ്മിലുള്ള സമസ്ത ചതുരം വ്യത്യാസങ്ങളുടെ ശരാശരി മൂല്യത്തിന്റെ മൂലകത്തിൽ നിന്നുള്ള യഥാർത്ഥ മൂല്യം, അതായത് root mean square error (RMSE) ഉപയോഗിക്കാം. ```python pred = lin_reg.predict(X_test) @@ -216,38 +216,38 @@ pred = lin_reg.predict(X_test) rmse = np.sqrt(mean_squared_error(y_test,pred)) print(f'RMSE: {rmse:3.3} ({rmse/np.mean(pred)*100:3.3}%)') ``` - -ഞങ്ങളുടെ പിശക് ഏകദേശം 2 പോയിന്റ് നീണ്ടതാണ്, എത്രത്തോളം ~17%. വളരെച്ചങ്കമായില്ല. മോഡൽ ഗുണമേന്മയുടെ മറ്റൊരു സൂചനയാണ് **നിർണ്ണയ സഹഗം**, ഇത് ഇങ്ങനെ ലഭിക്കും: + +നമ്മുടെ പിശക് ഏകദേശം 2 പോയിന്റുകൾ ആണ്, ഇത് ഏകദേശം 17% ആണ്. അത്ര മികച്ചത് അല്ല. മോഡൽ ഗുണനിലവാരം അറിയാൻ മറ്റൊരു സൂചിക **coefficient of determination** ആണ്, ഇത് ഇങ്ങനെ ലഭിക്കും: ```python score = lin_reg.score(X_train,y_train) print('Model determination: ', score) ``` + +മൂല്യം 0 ആണെങ്കിൽ, മോഡൽ ഇന്‍പുട്ട് ഡാറ്റ ശ്രദ്ധിക്കാതെ, എല്ലാ ഫലത്തിലും ശരാശരിയായ മൂല്യം പ്രവചിക്കുന്ന *കഴിവില്ലാത്ത ലിനിയർ പ്രവചകമായ* പ്രവർത്തിക്കുന്നു. മൂല്യം 1 ആണെങ്കിൽ, എല്ലാ പ്രതീക്ഷിച്ച ഫലങ്ങളും പൂർണ്ണമായി പ്രവചിക്കാനാകും. നമ്മുടെ കേസിൽ, കോഫീഷൻറിന്റെ മൂല്യം ഏകദേശം 0.06 ആണ്, ഇത് വളരെ കുറവാണ്. -മൂല്യം 0 ആണെങ്കിൽ മോഡൽ ഇൻപുട്ട് ഡാറ്റ പരിഗണിക്കാറില്ല എന്നർത്ഥം, അത് *മുന്നോൽപ്പത്തി മോശമായ ലീനിയർ പ്രവചനകർ* ആയി പ്രവർത്തിക്കുന്നു, അത് ഫലത്തിന്റെ ശരാശരി മൂല്യമാണ്. മൂല്യം 1 ആണെങ്കിൽ, നാം പ്രതീക്ഷിച്ച എല്ലാ ഔട്ട്പട്ടുകളും പൂർണ്ണമായി പ്രവചിക്കാം. ഞങ്ങളുടെ കേസിൽ, നിർണ്ണയ സഹഗം ഏകദേശം 0.06 ആണുള്ളത്, ഇത് വളരെ കുറവാണ്. - -നാം റഗ്രഷൻ വരിയോടൊപ്പം ടെസ്റ്റ് ഡാറ്റ ചേർത്ത്, ഇത് എങ്ങനെ പ്രവർത്തിക്കുന്നു എന്ന് മികച്ചറിയാനായി പ്ലോട്ട് ചെയ്യാം: +റെഗ്രഷൻ ലൈൻ ടെസ്റ്റ് ഡാറ്റയുമായി ചേർന്ന് പ്ലോട്ട് ചെയ്താൽ, നമ്മുടെ കേസിൽ റെഗ്രഷൻ എങ്ങനെ പ്രവർത്തിക്കുന്നു എന്ന് നന്നായി കാണാം: ```python plt.scatter(X_test,y_test) plt.plot(X_test,pred) ``` - + Linear regression -## പോളിനോമിയൽ റഗ്രഷൻ +## പോളിനോമിയൽ റെഗ്രഷൻ -മറ്റൊരു തരം ലീനിയർ റഗ്രഷൻ പോളിനോമിയൽ റഗ്രഷനാണ്. ചിലപ്പോൾ വേരിയബിൾസ് തമ്മിൽ ലീനിയർ ബന്ധം ഉണ്ടായിരിക്കും - വോളിയം കൂടുതലുള്ള പംകിൻ വില ഉയർന്നിരിക്കും - എന്നാൽ ചിലപ്പോൾ ഈ ബന്ധം ഒരു സമതലോ നേരെയുള്ള വരിയോ ആയി പ്രദർശിപ്പിക്കാനാകില്ല. +മറ്റൊരു തരം ലിനിയർ റെഗ്രഷൻ ആണ് പോളിനോമിയൽ റെഗ്രഷൻ. ചിലപ്പോൾ വേരിയബിളുകൾക്ക് ലിനിയർ ബന്ധമുണ്ടാകാം - അളവിൽ വലിയ പംപ്കിൻ വില ഉയർന്നതായിരുന്നു - എന്നാൽ ചിലപ്പോൾ ഈ ബന്ധങ്ങൾ ഒരു തിട്ടത്തെയോ നേരിയ രേഖയെയോ പോലെ പ്രത്യക്ഷപ്പെടുന്നില്ല. -✅ പോളിനോമിയൽ റഗ്രഷൻ ഉപയോഗിക്കാവുന്ന [കൂടുതൽ ഉദാഹരണങ്ങൾ](https://online.stat.psu.edu/stat501/lesson/9/9.8) ഇവയാണ് +✅ ഇവിടെ ചില അധിക ഉദാഹരണങ്ങൾ ഉണ്ട് [Polynomial Regression](https://online.stat.psu.edu/stat501/lesson/9/9.8) ഉപയോഗിക്കാനുള്ള ഡാറ്റ. -Date ഒപ്പം Price നുള്ള ബന്ധം വീണ്ടും നോക്കാം. ഈ സ്കാറ്റർപ്ലോട്ട് ഒരിടത്തേക്ക് മാത്രം ഒതുക്കേണ്ടതുണ്ടോ? വിലകൾ മാറിയില്ലേ? ഈ സാഹചര്യത്തിൽ, നിങ്ങൾ പോളിനോമിയൽ റഗ്രഷൻ ശ്രമിക്കാം. +തീയതി, വില എന്നിവയുടെ ബന്ധം വീണ്ടും നോക്കൂ. ഈ സ്കാറ്റർ പ്ലോട്ട് അവശ്യം നേരിയ രേഖ ഉപയോഗിച്ച് വിശകലനം ചെയ്യേണ്ടതുണ്ടോ? വിലകൾ മാറിവരുമോ? ഈ രൂപത്തിൽ, പോളിനോമിയൽ റെഗ്രഷൻ പരീക്ഷിക്കാം. -✅ പോളിനോമിയലുകൾ ഒരോവയോ കൂടുതൽ വേരിയബിൾസും കോഫിഷ്യന്റ്സും അടങ്ങിയ ഗണിതീയ പ്രകടപഥങ്ങളാണ് +✅ പോളിനോമിയലുകൾ ഒരു അല്ലെങ്കിൽ കൂടുതൽ വേരിയബിളുകളും കോഫീഷൻറുകളും ഉള്ള ഗണിത വർഷണങ്ങൾ ആണ്. -പോളിനോമിയൽ റഗ്രഷൻ nonlinear ഡാറ്റയ്ക്ക് മെച്ചമായ ഫിറ്റ് നൽകാൻ ഒരു വളഞ്ഞ വരി സൃഷ്ടിക്കുന്നു. നമ്മുടെ കേസിൽ, squared `DayOfYear` വേരിയബിൾ ഡാറ്റയിൽ ഉൾപ്പെടുത്തിയാൽ, വർഷത്തിനുള്ളിൽ ഏതെങ്കിലും പോയിന്റിൽ കുറഞ്ഞ മൂല്യമുള്ള പരബോളിക് വളവ് ഫിറ്റ് ചെയ്യാം. +പോൾവളിയേർ റെഗ്രഷൻ nonlinear ഡാറ്റയ്ക്കായി അഭ്രാന്ത രേഖകൾ ഉപയോഗിച്ച് കൂടുതൽ മികച്ച फिटിംഗ് നൽകുന്നു. നമ്മുടെ വിഷയം പരിശോധിച്ചാൽ, input ഡാറ്റയിൽ `DayOfYear`-ന്റെ വർഗ്ഗം ഉൾപ്പെടുത്തുന്നത്, ഒരു പരബോളിക് കർവ് പോലുള്ള ഘടനയിൽ ഡാറ്റ ഫിറ്റ് ചെയ്യാൻ സഹായിക്കും, വർഷത്തിന്റെ ഏതെങ്കിലും ഭാഗത്ത് കുറഞ്ഞ മൂല്യം ഉണ്ടാകുന്നു. -Scikit-learn ല് ഉള്ള സഹായകരമായ [pipeline API](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) പലദശങ്ങളും ഡാറ്റ പ്രോസസ്സിംഗ് ഘട്ടങ്ങൾ കൂട്ടിച്ചേർക്കാൻ ഉണ്ട്. **pipeline** എന്നത് **estimators**യുടെ ശൃംഖല ആണ്. നമ്മുടെ കേസിൽ, ആദ്യം പോളിനോമിയൽ ഫീച്ചറുകൾ മodel ൽ ചേർക്കുകയും സായിപ്പും റഗ്രഷൻ പരിശീലിപ്പിക്കുകയും ചെയ്യുന്ന ഒരു പൈപ്പ്‌ലൈനുണ്ടാക്കും: +Scikit-learn ല് ഒരു സഹായകമായ [pipeline API](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) ഉണ്ട് ഡാറ്റ പ്രോസസിങ് ഘടകങ്ങൾ കൂട്ടി കൈകാര്യം ചെയ്യാൻ. **pipeline** ധാരാളം **estimators**-ന്റെ ഒരുശൃംഖലയാണ്. നാം ആദ്യം പോളിനോമിയൽ ഫീച്ചറുകൾ ചേർക്കുകയും തുടർന്ന് റെഗ്രഷൻ പരിശീലിപ്പിക്കുകയും ചെയ്യുന്ന pipeline സൃഷ്ടിക്കുന്നു: ```python from sklearn.preprocessing import PolynomialFeatures @@ -257,61 +257,83 @@ pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression()) pipeline.fit(X_train,y_train) ``` + +`PolynomialFeatures(2)` ഉപയോഗിക്കുന്നത് ഇൻപുട്ട് ഡാറ്റയിലെ എല്ലാ രണ്ടാം-ഡിഗ്രി പോളിനോമിയലുകളും ഉൾപ്പെടുത്തും. നമ്മുടെ കേസിൽ ഇത് `DayOfYear`2 എന്നത് മാത്രം ആയിരിക്കും, പക്ഷേ രണ്ട് ഇൻപുട്ട് വേരിയബിളുകൾ X, Y ഉണ്ട് എങ്കിൽ, ഇത് X2, XY, Y2 ഉൾപ്പെടും. കൂടുതൽ ഡിഗ്രി പോളിനോമിയലുകൾ കൂടി ഉപയോഗിക്കാം. -`PolynomialFeatures(2)` ഉപയോഗിക്കുന്നത് ഇൻപുട്ട് ഡാറ്റയിലെ എല്ലാ രണ്ടാം-ഡിഗ്രി പോളിനോമിയലുകളും ഉൾക്കൊള്ളിക്കാർയാൻ ആണ്. നമ്മുടെ കെടയിൽ അത് DayOfYear2 മാത്രമേ ആകൂ, പക്ഷേ രണ്ട് ഇൻപുട്ടുകൾ X, Y ഉണ്ടെങ്കിൽ ഇത് X2, XY, Y2 ചേർക്കും. കൂടിയ ഡിഗ്രി പോളിനോമിയലും ഉപയോഗിക്കാം. +pipeline-കൾ പൊതുവും `LinearRegression` വസ്തുവുപോലെ `fit` ചെയ്ത്, `predict` ഉപയോഗിച്ച് പ്രവചന ഫലങ്ങൾ കിട്ടും: -പൈപ്പ്‌ലൈനുകൾ ഇപ്പോഴത്തെ `LinearRegression` αντικείμεന്റേതുപോലെ ഉപയോഗിക്കാം, അഥവാ പൈപ്പ്‌ലൈൻ `fit` ചെയ്യാം പിന്നെ `predict` ഉപയോഗിച്ച് പ്രവചന ഫലം കാണാം. ടെസ്റ്റ് ഡാറ്റയും അനുയോജ്യ വളവും കാണിച്ചിരിക്കുന്ന ഗ്രാഫ് ഇതാ: +```python +pred = pipeline.predict(X_test) + +rmse = np.sqrt(mean_squared_error(y_test,pred)) +print(f'RMSE: {rmse:3.3} ({rmse/np.mean(pred)*100:3.3}%)') + +score = pipeline.score(X_train,y_train) +print('Model determination: ', score) +``` + +മമനിണ്ണിതമായ സംവരണമായ കർവ് പ്ലോട്ട് ചെയ്യാൻ, `np.linspace` ഉപയോഗിച്ച് ഒരു ഏകരം മാറ്റങ്ങളുള്ള ഇൻപുട്ട് റേഞ്ച് സൃഷ്ടിക്കുന്നു, unordered ടെസ്റ്റ് ഡാറ്റയിൽ നേരിട്ട് പ്ലോട്ട് ചെയ്യുന്നത് ഒഴിവാക്കുന്നു (zigzag ലൈൻ ഉണ്ടാകാനുള്ള സാധ്യത): + +```python +X_range = np.linspace(X_test.min(), X_test.max(), 100).reshape(-1,1) +y_range = pipeline.predict(X_range) + +plt.scatter(X_test, y_test) +plt.plot(X_range, y_range) +``` + +ടെസ്റ്റ് ഡാറ്റയും അനുയോജ്യമായ കർവും ചേർന്ന് ഒരു ഗ്രാഫ് ഇതാണ്: Polynomial regression -പോളിനോമിയൽ റഗ്രഷൻ ഉപയോഗിച്ച് നാം കുറച്ചു കുറഞ്ഞ MSE ഉം ഉയർന്ന നിർണ്ണയവും നേടാം, പക്ഷേ വളരെ വ്യത്യാസമില്ല. മറ്റു ഫീച്ചറുകളും പരിഗണിക്കണം! +Polynomial Regression ഉപയോഗിച്ച് RMSE കുറവും നിർണ്ണായകത കൂടുതലുമായിരിക്കും, പക്ഷേ ഗണ്യമായ മികവുണ്ടാകില്ല. മറ്റു ഫീച്ചറുകളും പരിഗണിക്കണം! -> നിങ്ങൾക്ക് കാണാം, പംകിൻ വിലകളുടെ ഏറ്റവും കുറഞ്ഞ സ്ഥിതിവിശേഷങ്ങൾ ഹാലോവีนിനടുത്താണ്. ഇതെങ്ങനെ വ്യാഖ്യാനിക്കാം? +> പംപ്കിൻ വിലകളുടെ ഏറ്റവും കുറഞ്ഞ വില ഹാലോവീൻ സമയത്ത് ഉണ്ടാകുന്നുണ്ടെന്ന് നിങ്ങൾ കാണാമോ? എങ്ങനെ ഇതിനെ വിശദീകരിക്കാം? -🎃 അഭിനന്ദനങ്ങൾ, നിങ്ങൾ പൈ പംകിനുകളുടെ വില പ്രവചിക്കാൻ സഹായിക്കുന്ന ഒരു മോഡൽ സൃഷ്ടിച്ചു. നിക്ഷേപിച്ചുമാത്രം ബാക്കി പംകിൻ തരങ്ങൾക്കും ഇതുപോലെ ചെയ്യാവുന്നതാണ്, പക്ഷേ അത് ഉപയോഗിക്കാനുള്ള പ്രക്രിയ സമ്മർദ്ദകരമാണ്. ഇപ്പോൾ പഠിക്കാം പംകിൻ വകഭേദം ഞങ്ങളുടെ മോഡലിൽ എങ്ങനെ പരിഗണിക്കാം! +🎃 അഭിനന്ദനങ്ങൾ, പൈ പംപ്കിൻ വില പ്രവചിക്കാൻ സഹായിക്കുന്ന ഒരു മോഡൽ നിങ്ങൾ സൃഷ്ടിച്ചു. സർവ്വവിധ പംപ്കിൻ തരങ്ങൾക്കും നിങ്ങളത് ആവർത്തിക്കാം, പക്ഷേ അത് ബുദ്ധിമുട്ടുണ്ട്. ഇപ്പോൾ മോഡലിൽ പംപ്കിൻ വിഭാഗം പരിഗണിക്കുന്നത് പഠിക്കാം! -## വർഗ്ഗീകരണ ഫീച്ചറുകൾ +## വർഗ്ഗീയ പീച്ചറുകൾ -ആദർശ ലോകത്തിൽ, നാം ഒരേ മോഡൽ ഉപയോഗിച്ച് വ്യത്യസ്ത പംകിൻ വകഭേദങ്ങളുടെ വില പ്രവചിക്കാൻ ആഗ്രഹിക്കുന്നു. എന്നാൽ `Variety` കോളം `Month` പോലുള്ള കോളങ്ങളേക്കാൾ വ്യത്യസ്തമാണ്, കാരണം അതിൽ അക്കാത്മകമല്ലാത്ത മൂല്യങ്ങൾ ഉണ്ട്. ഇത്തരം കോളങ്ങൾ **categorical** എന്നു പറയുന്നു. +ആദർശലോകത്ത്, വ്യത്യസ്ത പംപ്കിൻ തരങ്ങളുടെ വില നിശ്ചയിക്കാൻ ഒരേ മോഡലിനെ ഉപയോഗിക്കാനാകണം. പക്ഷേ `Variety` കോളം `Month` പോലുള്ള കോളങ്ങളിൽ നിന്ന് വ്യത്യസ്തമാണ്, കാരണം അതിൽ അക്കമില്ലാത്ത മൂല്യങ്ങൾ ഉണ്ടാകാം. ഇത്തരമുള്ള കോളങ്ങൾ **വർഗ്ഗീയമായ** (categorical) എന്ന് വിളിക്കുന്നു. [![ML for beginners - Categorical Feature Predictions with Linear Regression](https://img.youtube.com/vi/DYGliioIAE0/0.jpg)](https://youtu.be/DYGliioIAE0 "ML for beginners - Categorical Feature Predictions with Linear Regression") -> 🎥 കോറ്ററായി വർഗ്ഗീകരണ ഫീച്ചറുകൾ ഉപയോഗിക്കുന്നതിന്റെ ചുരുക്ക വീഡിയോക്കായി ചിത്രത്തെ ക്ലിക്കുചെയ്യുക. +> 🎥 മുകളിൽ കാണുന്ന ചിത്രത്തില്‍ ക്ലിക്ക് ചെയ്ത് വർഗ്ഗീയ പീച്ചറുകൾ ഉപയോഗിക്കുന്നതിൻറെ ലഘു വീഡിയൊ കാണാം. -ഇവിടെ നിങ്ങൾക്ക് കാണാം പംകിൻ വകഭേദം അനുസരിച്ച് ശരാശരി വില: +ഇവിടെ വർഗ്ഗത്തിൽ ആശ്രയിച്ചുള്ള ശരാശരി വില കാണാം: Average price by variety -വകഭേദം പരിഗണിക്കാൻ ആദ്യം അതിനെ അക്കാത്മക രൂപത്തിലാക്കണം, അതായത് **encode** ചെയ്യണം. ഇതിന് പല മാർഗ്ഗങ്ങളുണ്ട്: +വ്യത്യസ്തത പരിഗണിക്കാൻ, ആദ്യം അക്കമില്ലാത്ത മൂല്യങ്ങളെ അക്കങ്ങളാക്കി മാറ്റണം, അതായത് **എൻകോഡ്** ചെയ്യണം. ഇതിന് വിവിധ രീതികളുണ്ട്: -* ലളിതമായ **നമ്പറികൽ എന്‍കോഡിംഗ്** വ്യത്യസ്ത വകഭേദങ്ങളുടെ പട്ടിക ഉണ്ടാക്കുകയും, ശേഷം അഡ്രസ്സിംഗ് പട്ടികയിൽ അവയുടെ നാമം സൂചിക കൊണ്ട് മാറ്റുകയും ചെയ്യുന്നു. ഇത് ലീനിയർ റഗ്രഷനിലേക്ക് മികച്ച ആശയമല്ല, കാരണം ലീനിയർ റഗ്രഷൻ സൂചികയുടെ അക്കാത്മക മൂല്യം എടുത്ത് കോഫിഷ്യന്റുമായി ഗുണിച്ച് ഫലത്തിൽ ചേർക്കുന്നു. ഞങ്ങളുടെ കേസിൽ, സൂചിക സംഖ്യയും വിലയും തമ്മിലുള്ള ബന്ധം സുതാര്യമായി nonlinear ആണ്, ഇന്ത്യൻ സൂചികകളെ ക്രമീകരിച്ചാലും. -* **വൺ-ഹോട്ട് എൻകോഡിംഗ്** `Variety` കോളം 4 വേറെ കോളങ്ങളാക്കി മാറ്റും, ഓരോ വകഭേദത്തിനും ഒരുകോളം. ഒരു വരി ആ വകഭേദത്തോട് പറ്റിയുള്ളത് ആണെങ്കിൽ ആ കോളത്തിൽ `1` ഉണ്ടാകും, അല്ലെങ്കിൽ `0`. ഇതിന്റെ ഫലമായി, പംകിൻ വകഭേദങ്ങൾക്ക് ഓരോൊരു കോഫിഷ്യന്റുമുള്ള നാലു കോഫിഷ്യന്റുകൾ ഉണ്ടാകും, അവ "ആരംഭ വില" (കൂടാതെ "കൂടുതൽ വില") പ്രതിനിധീകരിക്കുന്നു. +* ലളിതമായ **ന്യുമറിക് എൻകോഡിംഗ്** വ്യത്യസ്ത തരങ്ങളുടെ പട്ടിക നിർമ്മിച്ച്, ഓരോ തരം പേരിനും പട്ടികയിലെ സൂചിക നൽകിയ ശേഷം അതേ സൂചികയുടെ സംഖ്യത്തോടെ (ഇൻഡക്സ് ത്തിൽ ഉള്ള സംഖ്യയായി) മാറ്റുന്നു. ഇത് ലിനിയർ റെഗ്രഷനിൽ നല്ലത് അല്ല, കാരണം ലിനിയർ റെഗ്രഷൻ ആ സൂചികയുടെ മൂല്യത്തെ എടുത്ത് ചില കൂട്ടിച്ചേർക്കലുകൾ നടത്തുമ്പോൾ ഈ എൻഡക്സ്-വിലകളും വിലയും നേരിയ ബന്ധത്തിലല്ല. +* **വൺ-ഹോട്ട് എൻകോഡിംഗ്** `Variety` കോളം നാലു വ്യത്യസ്ത കോളം ആയി മാറ്റുന്നു, ഓരോ തരത്തിനും ഒരു കോളം. ഓരോ കോളത്തിനും ഒരു വരി ആ ടൈപ്പിന്റെ വരി ആണെങ്കിൽ `1` , അല്ലെങ്കിൽ `0` ന് നൽകിയിരിക്കും. ഇതിലൂടെ നാലു കോഫീഷൻറുകൾ ഉണ്ടാകും, ഓരോ പംപ്കിൻ തരത്തിനും ചേർന്ന "ആരംഭ വില" (അഥവാ "അധിക വില") കാണിക്കുന്നതിനു. -വൺ-ഹോട്ട് എൻകോഡിംഗ് എങ്ങനെ നടക്കും എന്ന് താഴെയുള്ള കോഡ് കാണിക്കുന്നു: +നമ്മൾ ഒന്ന്-ഹോട്ട് എൻകോഡ് ഒരു variety ഇങ്ങനെ ചെയ്യാം: ```python pd.get_dummies(new_pumpkins['Variety']) ``` - - ID | FAIRYTALE | MINIATURE | MIXED HEIRLOOM VARIETIES | PIE TYPE -----|-----------|-----------|--------------------------|---------- -70 | 0 | 0 | 0 | 1 -71 | 0 | 0 | 0 | 1 -... | ... | ... | ... | ... -1738 | 0 | 1 | 0 | 0 -1739 | 0 | 1 | 0 | 0 -1740 | 0 | 1 | 0 | 0 -1741 | 0 | 1 | 0 | 0 -1742 | 0 | 1 | 0 | 0 - -വൺ-ഹോട്ട് എൻകോഡുചെയ്ത വകഭേദം ഇൻപുട്ടായി ഉപയോഗിച്ച് ലീനിയർ റഗ്രഷൻ പരിശീലിപ്പിക്കാൻ, `X` , `y` ഡാറ്റ ശരിയായി ഇൻഷിയലൈസ് ചെയ്യണം: + + ID | FAIRYTALE | MINIATURE | MIXED HEIRLOOM VARIETIES | PIE TYPE +----|-----------|-----------|--------------------------|---------- +70 | 0 | 0 | 0 | 1 +71 | 0 | 0 | 0 | 1 +... | ... | ... | ... | ... +1738 | 0 | 1 | 0 | 0 +1739 | 0 | 1 | 0 | 0 +1740 | 0 | 1 | 0 | 0 +1741 | 0 | 1 | 0 | 0 +1742 | 0 | 1 | 0 | 0 + +ഒന്ന്-ഹോട്ട് എൻകോഡ് ചെയ്ത variety ഉപയോഗിച്ച് ലിനിയർ റെഗ്രഷൻ പരിശീലിപ്പിക്കാൻ, `X` , `y` ഡാറ്റ ശരിയായി നിർവഹിക്കണം: ```python X = pd.get_dummies(new_pumpkins['Variety']) y = new_pumpkins['Price'] ``` - -മറ്റുള്ള കോഡ് മുകളിൽ ലീനിയർ റഗ്രഷൻ ട്രെയിനിംഗിൽ ഉപയോഗിച്ചതുപോലെ തന്നെയാണ്. നിങ്ങൾ ശ്രമിക്കുകയാണെങ്കിൽ, ശരാശരി ചതുരം പിശക് ഏകദേശം മുൻപുപോലെ തന്നെയാണെന്ന് ശ്രദ്ധിക്കും, പക്ഷേ നിർണ്ണയ സഹഗം വളരെ ഉയരുന്നു (~77%). മികച്ച പ്രവചനങ്ങൾക്ക്, കൂടുതൽ വർഗ്ഗീകരണ ഫീച്ചറുകളും അക്കാത്മക ഫീച്ചറുകളും ഉൾപ്പെടുത്താം, ഉദാഹരണത്തിന് `Month`യും `DayOfYear`ഉം. വലിയ ഫീച്ചർ അണിയറയ്ക്ക് `join` ഉപയോഗിക്കാം: + +ഇനി ലിനിയർ റെഗ്രഷൻ പരിശീലിപ്പിക്കാൻ മുമ്പത്തെ പോലെയ്‌ക്കോഡ് ഉപയോഗിക്കാം. നിങ്ങൾ പരീക്ഷിച്ചാൽ ശരാശരി ചതുരഘടിത പിശക് ഒരുപോലെയായിരിക്കും, പക്ഷേ coefficient of determination (~77%) കൂടുതലായി കാണും. കൃത്യത കൂടുതൽ വർദ്ധിപ്പിക്കാൻ, മറ്റ് വർഗ്ഗീയ പീച്ചറുകളും അക്കമാറ്റം ചെയ്ത പീച്ചറും (ഉദാഹരണത്തിന് `Month` അല്ലെങ്കിൽ `DayOfYear`) കൂടി ഉപയോഗിക്കാം. അക്കമാറ്റം ചെയ്ത പീച്ചറുകളെ ഒന്നിച്ച് ചേർക്കാൻ `join` ഉപയോഗിക്കുന്നു: ```python X = pd.get_dummies(new_pumpkins['Variety']) \ @@ -320,12 +342,12 @@ X = pd.get_dummies(new_pumpkins['Variety']) \ .join(pd.get_dummies(new_pumpkins['Package'])) y = new_pumpkins['Price'] ``` + +ഇവിടെയാണ് `City` , `Package` തരം പരിഗണിക്കുന്നു, ഇത് RMSE 2.84 (10.5%) , determination 0.94 ലേക്ക് വർദ്ധിക്കുന്നു! -ഇവിടെ നാം `City`യും `Package` തരം കൂടി ഉൾപ്പെടുത്തിയിട്ടുണ്ട്, ഇത് MSE 2.84 (10%), നിർണ്ണയം 0.94 ഉം നൽകുന്നു! - -## എല്ലാം ചേർന്ന് +## ഒടുക്കം എല്ലാം ചേർക്കൽ -മികച്ച മോഡൽ ഉണ്ടാക്കാൻ, മുകളില് നൽകിയ ഒന്നുഹോട്ട് എൻകോഡിംഗ് ചെയ്ത വർഗ്ഗികവും അക്കാത്മകവും ഉള്ള ഡാറ്റയും പോളിനോമിയൽ റഗ്രഷനുമായും സംയോജിപ്പിച്ച് ഉപയോഗിക്കാം. നിങ്ങളുടെ സൗകര്യത്തിനു പൂർണ്ണ കോഡ് ഇവിടെ: +ഉത്തരവാദിത്തമുള്ള ഏറ്റവും നല്ല മോഡൽ പുൾവളിയേർ റെഗ്രഷനുമായി ഒന്നിച്ച് ( ഒന്ന്-ഹോട്ട് എൻകോഡ് വർഗ്ഗീയ + അക്കമാറ്റ പീച്ചറുകൾ ) ഡാറ്റ ഉപയോഗിക്കാം. സൗകര്യത്തിനായി പൂർണ്ണ കോഡ് ഇതാണ്: ```python # പരിശീലന ഡാറ്റ സജ്ജമാക്കുക @@ -335,54 +357,54 @@ X = pd.get_dummies(new_pumpkins['Variety']) \ .join(pd.get_dummies(new_pumpkins['Package'])) y = new_pumpkins['Price'] -# ട്രെയിന്-ടെസ്റ്റ് വിഭജനമുണ്ടാക്കുക +# ട്രെയിൻ-ടെസ്റ്റ് വിഭജനം നടത്തുക X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0) # പൈപ്പ്‌ലൈൻ സജ്ജമാക്കി പരിശീലിപ്പിക്കുക pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression()) pipeline.fit(X_train,y_train) -# ടെസ്റ്റ് ഡാറ്റയ്ക്കുള്ള ഫലം പ്രവചിക്കുക +# ടെസ്റ്റ് ഡാറ്റയ്ക്ക് ഫലം പ്രവചിക്കുക pred = pipeline.predict(X_test) -# MSEയും നിർണയ കുറവും حسابിക്കുക -mse = np.sqrt(mean_squared_error(y_test,pred)) -print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)') +# RMSEയും നിശ്ചയകാംശവും കണക്കാക്കുക +rmse = mean_squared_error(y_test, pred, squared=False) +print(f'RMSE: {rmse:3.3} ({rmse/pred.mean()*100:3.3}%)') score = pipeline.score(X_train,y_train) print('Model determination: ', score) ``` + +ഇതിലൂടെ ഏകദേശം 97% ഡിറ്റർമിനേഷൻ കോഫീഷൻറ്, RMSE=2.23 (~8% പ്രവചന പിശക്) ലഭിക്കും. -ഏകദേശം 97% ശരിയായ നിർണ്ണയം സഹിതം, MSE=2.23 (~8% പ്രവചന പിശക്) നൽകുമെന്ന് ഇത് പ്രതീക്ഷിക്കാം. +| മോഡൽ | RMSE | ഡിറ്റർമിനേഷൻ | +|-------|-----|---------------| +| `DayOfYear` ലിനിയർ | 2.77 (17.2%) | 0.07 | +| `DayOfYear` പോളിനോമിയൽ | 2.73 (17.0%) | 0.08 | +| `Variety` ലിനിയർ | 5.24 (19.7%) | 0.77 | +| എല്ലാ പീച്ചറുകളും ലിനിയർ | 2.84 (10.5%) | 0.94 | +| എല്ലാ പീച്ചറുകളും പോളിനോമിയൽ | 2.23 (8.25%) | 0.97 | -| മോഡൽ | MSE | നിർണ്ണയം | -|-------|-----|---------| -| `DayOfYear` ലീനിയർ | 2.77 (17.2%) | 0.07 | -| `DayOfYear` പോളിനോമിയൽ | 2.73 (17.0%) | 0.08 | -| `Variety` ലീനിയർ | 5.24 (19.7%) | 0.77 | -| എല്ലാ ഫീച്ചറുകളും ലീനിയർ | 2.84 (10.5%) | 0.94 | -| എല്ലാ ഫീച്ചറുകളും പോളിനോമിയൽ | 2.23 (8.25%) | 0.97 | +🏆 നല്ലതാണ്! നിങ്ങൾ ഒരു പാഠത്തിൽ നാല് റെഗ്രഷൻ മോഡലുകളും സൃഷ്ടിച്ചു, മോഡൽ ഗുണനിലവാരം 97% വരെ മെച്ചപ്പെടുത്തി. റെഗ്രഷൻയുടെ അവസാന വിഭാഗത്തിൽ, വർഗ്ഗീയീകരണ നിശ്ചയിക്കാൻ ലോജിസ്റ്റിക് റെഗ്രഷൻ പഠിക്കും. -🏆 പ്രശംസകൾ! ഒരു പാഠത്തിൽ നാലു Regression മോഡലുകളും സൃഷ്ടിച്ചു, മോഡൽ ഗുണമേന്മ 97% വരെ മെച്ചപ്പെടുത്തിയിരിക്കുന്നു. അവസാന Regression ഭാഗത്ത് നിങ്ങൾക്ക് Logistic Regression ഉപയോഗിച്ച് വർഗ്ഗങ്ങൾ നിർണയിക്കുന്നതിനെ കുറിച്ച് പഠിക്കാം. - ---- -## 🚀ചിലവരികൾ +--- +## 🚀പതിൻകല -ഈ നോട്ട് ബുക്ക്-ൽ വ്യത്യസ്ത വേരിയബിൾസും പരീക്ഷിച്ച്, ടീമിനും മോഡൽ കൃത്യതയുമായി എങ്ങനെ ബന്ധമുണ്ടെന്ന് കണ്ടെത്തൂ. +ഈ നോട്ട്‌ബുക്കിൽ വിവിധ വേരിയബിളുകൾ പരീക്ഷിച്ച് അവയുടെ മോഡൽ കൃത്യതയോടുള്ള ബന്ധം പരിശോധിക്കുക. -## [പാ‌ഠാനന്തര പരീക്ഷ](https://ff-quizzes.netlify.app/en/ml/) +## [പാഠാനന്തര ക്വിസ്](https://ff-quizzes.netlify.app/en/ml/) -## അവലോകനം & സ്വയം പഠനം +## പുനപരിശോധന & സ്വയം പഠനം -ഈ പാഠത്തിൽ നാം ലീനിയർ റഗ്രഷൻ പഠിച്ചു. മറ്റു പ്രധാനമായ Regression തരംകൾ ഉണ്ട്. Stepwise, Ridge, Lasso, Elasticnet സാങ്കേതിക വിദ്യകൾ പഠിക്കുക. മികച്ച കോഴ്‌സ് ഒരുപാട് പഠിക്കാൻ [Stanford Statistical Learning course](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning) ആണ്. +ഈ പാഠത്തിൽ ലിനിയർ റെഗ്രഷൻ പഠിച്ചു. മറ്റ് പ്രധാന റെഗ്രഷൻ തരംകൾ ഉണ്ട്. Stepwise, Ridge, Lasso, Elasticnet സാങ്കേതികതകൾ പഠിക്കുക. കൂടുതൽ പഠനത്തിനായി മികച്ച കോഴ്സ് [Stanford Statistical Learning course](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning) ആണ്. -## അസൈൻമെന്റ് +## അസൈന്മെന്റ് -[മോഡൽ നിർമ്മിക്കുക](assignment.md) +[ഒരു മോഡൽ നിർമ്മിക്കുക](assignment.md) --- -**ഡിസ്ക്ലെയിമർ**: -ഈ ഡോക്യുമെന്റ് എ.ഐ. ഭാഷാന്തര സേവനം [Co-op Translator](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് വിവർത്തനം ചെയ്തതാണ്. നമുക്ക് വ്യക്തതയുടെ വേണ്ടി ശ്രമിക്കുന്നുണ്ടെങ്കിലും, സ്വയമേറ്റു ചെയ്‌ത വിവർത്തനങ്ങളിൽ പിശകുകൾ ഉണ്ടാകാനുള്ള സാധ്യതയുണ്ടെന്ന് ദയവായി ശ്രദ്ധിക്കുക. യഥാർത്ഥ ഭാഷയിലെ മൂല ഡോക്യുമെന്റാണ് അതിന്റെ അവകാശപ്രദമായ ഉറവിടമെന്ന് കരുതേണ്ടതാണ്. നിർണായക വിവരങ്ങൾക്ക്, പ്രൊഫഷണൽ മനുഷ്യ വിവർത്തനത്തിന്റെ ശിപാർശ ചെയ്യുന്നു. ഈ വിവർത്തനത്തിന്റെ ഉപയോഗത്തിൽ നിന്നുണ്ടാകുന്ന ഏതൊരു തെറ്റായ ധാരണകൾക്കും അഭ്യൂഹങ്ങൾക്കും ഞങ്ങൾ ഉത്തരവാദികളല്ല. +**അക്കറപ്പ്**: +ഈ രേഖ [Co-op Translator](https://github.com/Azure/co-op-translator) എന്ന AI തർജ്ജമ സർവീസ് ഉപയോഗിച്ച് വിവർത്തനം ചെയ്തതാണ്. നാം കൃത്യതയ്ക്കായി ശ്രമിച്ചാലും, ഓട്ടോമേറ്റഡ് തർജ്ജമകളിൽ പിശകുകൾ അല്ലെങ്കിൽ അസംബന്ധതകൾ ഉണ്ടാകാവുന്നതാണ് എന്നതു ദയവായി അറിയുക. ഉറപ്പായ ഉറവിടമായി ആ ഇന്ത്യി ഭാഷയിലെ പ്രമാണം പരിഗണിക്കേണ്ടതാണ്. നിർണായക വിവരങ്ങൾക്കായി പ്രൊഫഷണൽ മാന്‍വീയം തർജ്ജമ ശുപാർശ ചെയ്യുന്നു. ഈ തർജ്ജമ ഉപയോഗിച്ചതിനാൽ ഉണ്ടാകാവുന്ന തെറ്റിദ്ധാരണകൾക്കും തെറ്റായ വ്യാഖ്യാനങ്ങൾക്കും ഞങ്ങൾ ഉത്തരവാദിത്വം ഏറ്റെടുക്കുന്നില്ല. \ No newline at end of file diff --git a/translations/ml/2-Regression/3-Linear/solution/notebook.ipynb b/translations/ml/2-Regression/3-Linear/solution/notebook.ipynb index 7937aba69..8b9d31200 100644 --- a/translations/ml/2-Regression/3-Linear/solution/notebook.ipynb +++ b/translations/ml/2-Regression/3-Linear/solution/notebook.ipynb @@ -4,14 +4,14 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## പമ്പ്‌കിൻ വിലനിർണ്ണയത്തിനുള്ള ലീനിയർ ആൻഡ് പോളിനോമിയൽ റെഗ്രഷൻ - പാഠം 3\n", + "## കമ്ബളിക്കായ് വിലക്കണക്കുകൂട്ടലിനായുള്ള രേഖീയവും പോളിനോമിയൽ റെഗ്രഷനും - പാഠം 3\n", "\n", - "ആവശ്യമായ ലൈബ്രറികളും ഡാറ്റാസെറ്റും ലോഡ് ചെയ്യുക. ഡാറ്റയുടെ ഒരു ഉപസമൂഹം അടങ്ങിയ ഡാറ്റാഫ്രെയിമിലേക്ക് ഡാറ്റ മാറ്റുക:\n", + "ആവശ്യമായ ലൈബ്രറികളും ഡാറ്റാസെറ്റുകളും ലോഡ് ചെയ്യുക. ഡാറ്റയുടെ ഒരു ഉപസമൂഹം അടങ്ങിയ ഡാറ്റാഫ്രെയിമിലേക്ക് ഡാറ്റയെ പരിവർത്തനം ചെയ്യുക: \n", "\n", - "- ബഷെൽ പ്രകാരം വില നിശ്ചയിച്ച പമ്പ്‌കിനുകൾ മാത്രം എടുക്കുക\n", - "- തീയതി ഒരു മാസമായി മാറ്റുക\n", - "- വില ഉയർന്നതും താഴ്ന്നതും ശരാശരി ആയി കണക്കാക്കുക\n", - "- വില ബഷെൽ അളവിൽ വിലനിർണ്ണയം പ്രതിഫലിപ്പിക്കുന്ന വിധം മാറ്റുക\n" + "- ബഷെൽ അടിസ്ഥാനത്തിൽ വില നിശ്ചയിച്ച കമ്ബളികൾ മാത്രമേ ഉൾപ്പെടുത്തൂ\n", + "- തിയതി ഒരു മാസമായി മാറ്റുക\n", + "- വിലയെ ഉയർന്നതും താഴ്ന്നതുമായ വിലകളുടെ ശരാശരിയായി കണക്കാക്കുക\n", + "- വില ബഷെൽ അളവിന്റെ അടിസ്ഥാനത്തിൽ പ്രകടിപ്പിക്കാൻ മാറ്റുക\n" ] }, { @@ -377,7 +377,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "ഒരു സ്‌കാറ്റർപ്ലോട്ട് നമ്മെ ഓർമ്മിപ്പിക്കുന്നു, ഞങ്ങൾക്ക് ആഗസ്റ്റ് മുതൽ ഡിസംബർ വരെ മാത്രമേ മാസ ഡാറ്റ ഉണ്ടായുള്ളൂ. ലീനിയർ രീതിയിൽ നിഗമനങ്ങൾ വരുത്താൻ കൂടുതൽ ഡാറ്റ ആവശ്യമുണ്ടാകാം.\n" + "ഒരു സ്‌കാറ്റർപ്ലോട്ട് നമ്മെ ഓർമ്മപ്പെടുത്തുന്നു, ആഗസ്റ്റ് മുതൽ ഡിസംബർ വരെ മാത്രമേ മാസം വിവരങ്ങൾ ഉണ്ടായിരിക്കുകയുള്ളൂ. രേഖാചിത്രരീതിയിൽ നിഗമനങ്ങൾ വരുത്താൻ കൂടുതൽ വിവരങ്ങൾ ആവശ്യമുണ്ടാകും.\n" ] }, { @@ -474,7 +474,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "സംബന്ധം വളരെ ചെറുതാണ് പോലെ തോന്നുന്നു, പക്ഷേ മറ്റൊരു കൂടുതൽ പ്രധാനപ്പെട്ട ബന്ധം ഉണ്ടെന്ന് തോന്നുന്നു - മുകളിൽ കാണിച്ച പ്ലോട്ടിലെ വില പോയിന്റുകൾ പല വ്യത്യസ്ത ക്ലസ്റ്ററുകളായി കാണപ്പെടുന്നു. വ്യത്യസ്ത പംപ്കിൻ വർഗ്ഗങ്ങൾ കാണിക്കുന്ന ഒരു പ്ലോട്ട് ഉണ്ടാക്കാം:\n" + "സംബന്ധം വളരെ ചെറിയതായിരുന്നാലും മറ്റൊരു പ്രധാനപ്പെട്ട ബന്ധമാണ് ഉള്ളത് - മുകളിൽ കൊടുത്തിരിക്കുന്ന പ്ലോട്ടിലുള്ള വിലയിരുത്തലുകളിൽ പല വിചിത്രങ്ങളായ ക്ലസ്റ്ററുകൾ വന്നിരിക്കുന്നത് കാണാം. വ്യത്യസ്തമായ പംപ്കിൻ ജാതികൾ കാണിക്കുന്ന ഒരു പ്ലോട്ട് ഉണ്ടാക്കിയാലോ:\n" ] }, { @@ -538,7 +538,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "ഇപ്പോൾ, നാം ഒരു തരത്തിൽ മാത്രം ശ്രദ്ധ കേന്ദ്രീകരിക്കാം - **പൈ തരം**.\n" + "ഇപ്പോൾ, ഒരു തരത്തിൽ മാത്രമേ ശ്രദ്ധ കേന്ദ്രീകരിക്കൂ - **പൈ ടൈപ്പ്**.\n" ] }, { @@ -586,9 +586,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### ലീനിയർ റെഗ്രഷൻ\n", + "### ലൈനിയർ റെഗ്രഷൻ\n", "\n", - "നാം ലീനിയർ റെഗ്രഷൻ മോഡൽ പരിശീലിപ്പിക്കാൻ Scikit Learn ഉപയോഗിക്കും:\n" + "നാം ലൈനിയർ റെഗ്രഷൻ മോഡൽ പരിശീലിപ്പിക്കാൻ Scikit Learn ഉപയോഗിക്കും:\n" ] }, { @@ -666,7 +666,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "രേഖാഖണ്ഡത്തിന്റെ സ്ലോപ്പ് ലീനിയർ റെഗ്രഷൻ കോഫിഷ്യന്റുകളിൽ നിന്ന് നിർണയിക്കാം:\n" + "രേഖയുടെ സൈന്യവുംIntercept=\\\"0\\\" (linear regression coefficients) നിന്ന് രേഖയുടെ ഈര്ച്ചകവുമായെത്താം:\n" ] }, { @@ -693,7 +693,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "നാം പരിശീലിപ്പിച്ച മോഡൽ ഉപയോഗിച്ച് വില പ്രവചിക്കാം:\n" + "നാം പരിശീലിപ്പിച്ച മോഡൽ ഉപയോഗിച്ച് വില മുൻകൂട്ടി പ്രവചിക്കാം:\n" ] }, { @@ -722,11 +722,11 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### പോളിനോമിയൽ റെഗ്രഷൻ\n", + "### പൊളിനോമിയൽ റെഗ്രഷൻ\n", "\n", - "സവിശേഷതകളും ഫലങ്ങളും തമ്മിലുള്ള ബന്ധം സ്വാഭാവികമായി നോൺ-ലീനിയർ ആയിരിക്കാം. ഉദാഹരണത്തിന്, മത്തങ്ങയുടെ വില ശീതകാലത്ത് (മാസങ്ങൾ=1,2) ഉയർന്നിരിക്കാം, പിന്നീട് വേനലിൽ (മാസങ്ങൾ=5-7) താഴ്ന്ന്, പിന്നെ വീണ്ടും ഉയരാം. ലീനിയർ റെഗ്രഷൻ ഈ ബന്ധം കൃത്യമായി കണ്ടെത്താൻ കഴിയില്ല.\n", + "ഫീച്ചറുകൾക്കും ഫലങ്ങൾക്കും ഇടയിലുള്ള ബന്ധം സ്വാഭാവികമായി нелിനിയർ ആകുന്നപ്പോൾ ചിലപ്പോൾ സംഭവിക്കുന്നു. ഉദാഹരണത്തിന്, പംപ്കിൻ വിലകൾ ശീതകാലത്ത് (മാസങ്ങൾ=1,2) ഉയർന്നിരിക്കും, തുടർന്ന് വേനലിൽ (മാസങ്ങൾ=5-7) കുറയുകയും പിന്നീട് വീണ്ടും ഉയരുകയും ചെയ്യാം. ലിനിയർ റെഗ്രഷൻ ഈ ബന്ധം കൃത്യമായി കണ്ടെത്താനാവില്ല.\n", "\n", - "ഈ സാഹചര്യത്തിൽ, അധിക സവിശേഷതകൾ ചേർക്കുന്നത് പരിഗണിക്കാം. ലളിതമായ മാർഗം ഇൻപുട്ട് സവിശേഷതകളിൽ നിന്നുള്ള പോളിനോമിയലുകൾ ഉപയോഗിക്കുക എന്നതാണ്, ഇത് **പോളിനോമിയൽ റെഗ്രഷൻ** എന്ന ഫലത്തിലേക്ക് നയിക്കും. Scikit Learn-ൽ, പൈപ്പ്ലൈനുകൾ ഉപയോഗിച്ച് പോളിനോമിയൽ സവിശേഷതകൾ സ്വയം മുൻകൂട്ടി കണക്കാക്കാം: \n" + "ഇത്തരത്തിൽ, അധിക ഫീച്ചറുകൾ ചേർക്കുക പരിഗണിക്കാം. എളുപ്പം ചെയ്തത് ഇൻപുട്ട് ഫീച്ചറുകളിൽ നിന്ന് പൊളിനോമിയലുകൾ ഉപയോഗിക്കുക എന്നാണ്, ഇത് **പൊളിനോമിയൽ റെഗ്രഷൻ** ആകും. Scikit Learn-ഉം പൈപ്പ്ലൈനുകൾ ഉപയോഗിച്ച് പൊളിനോമിയൽ ഫീച്ചറുകൾ സ്വയം മുൻകൂട്ടി കണക്കാക്കാൻ കഴിയും:\n" ] }, { @@ -781,22 +781,25 @@ "score = pipeline.score(X_train,y_train)\n", "print('Model determination: ', score)\n", "\n", - "plt.scatter(X_test,y_test)\n", - "plt.plot(sorted(X_test),pipeline.predict(sorted(X_test)))" + "X_range = np.linspace(X_test.min(), X_test.max(), 100).reshape(-1,1)\n", + "y_range = pipeline.predict(X_range)\n", + "\n", + "plt.scatter(X_test, y_test)\n", + "plt.plot(X_range, y_range)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### എൻകോഡിംഗ് വൈവിധ്യങ്ങൾ\n", + "### കോഡിംഗ് വകഭേദങ്ങൾ\n", "\n", - "ആദർശ ലോകത്ത്, നാം ഒരേ മോഡൽ ഉപയോഗിച്ച് വ്യത്യസ്ത പംപ്കിൻ വൈവിധ്യങ്ങളുടെ വിലകൾ പ്രവചിക്കാൻ ആഗ്രഹിക്കുന്നു. വൈവിധ്യം പരിഗണിക്കാൻ, ആദ്യം അത് സംഖ്യാത്മക രൂപത്തിലേക്ക് മാറ്റേണ്ടതുണ്ട്, അല്ലെങ്കിൽ **എൻകോഡ്** ചെയ്യേണ്ടതുണ്ട്. നാം ഇത് ചെയ്യാൻ പല മാർഗ്ഗങ്ങളുണ്ട്:\n", + "ആദർശ ലോകത്തിൽ, ഒരേ മോഡൽ ഉപയോഗിച്ച് വ്യത്യസ്ത മത്തങ്ങ വകഭേദങ്ങൾക്കായുള്ള വിലകളെ പ്രവചിക്കാൻ കഴിയും ആകണം. വകഭേദത്തെ ആശ്രയത്തിൽക്കൾക്കായി, ആദ്യം അതിനെ സംഖ്യാത്മക രൂപത്തിലേക്ക്, അല്ലെങ്കിൽ **എൻകോഡ്** ചെയ്യണം. ഇത് ചെയ്യാനുള്ള പല മാർഗങ്ങൾ ഉണ്ട്:\n", "\n", - "* ലളിതമായ സംഖ്യാത്മക എൻകോഡിംഗ്, ഇത് വ്യത്യസ്ത വൈവിധ്യങ്ങളുടെ ഒരു പട്ടിക നിർമ്മിച്ച്, പിന്നീട് ആ പട്ടികയിലെ സൂചിക ഉപയോഗിച്ച് വൈവിധ്യത്തിന്റെ പേര് മാറ്റും. ഇത് ലീനിയർ റെഗ്രഷനിൽ മികച്ച ആശയമല്ല, കാരണം ലീനിയർ റെഗ്രഷൻ സൂചികയുടെ സംഖ്യാത്മക മൂല്യം പരിഗണിക്കും, ആ സംഖ്യാത്മക മൂല്യം വിലയുമായി സംഖ്യാത്മകമായി ബന്ധപ്പെടാൻ സാധ്യതയില്ല.\n", - "* വൺ-ഹോട്ട് എൻകോഡിംഗ്, ഇത് `Variety` കോളം 4 വ്യത്യസ്ത കോളങ്ങളായി മാറ്റും, ഓരോ വൈവിധ്യത്തിനും ഒന്ന്, അതായത് നൽകിയ വരി ആ വൈവിധ്യത്തിനുള്ളതാണെങ്കിൽ 1, അല്ലെങ്കിൽ 0 അടങ്ങിയിരിക്കും.\n", + "* വ്യത്യസ്ത വകഭേദങ്ങളുടെ പട്ടിക ഒരുങ്ങിച്ചു, തുടർന്ന് പട്ടികയിലെ ഒരു സൂചിക ഉപയോഗിച്ച് വകഭേദത്തിന്റെ പേര് മാറ്റുന്ന ലളിത സംഖ്യാത്മക കോഡിംഗ്. ഇത് രേഖീയ റഗ്രഷൻയ്ക്ക് ഏറ്റവും നല്ല ആശയം അല്ല, കാരണം രേഖീയ റഗ്രഷൻ ആ സൂചികയുടെ സംഖ്യാത്മക മൂല്യത്തെ പരിഗണിക്കുന്നത്, ആ സംഖ്യാത്മക മൂല്യം വിലയുമായി സംഖ്യാത്മകമായി സാമ്യം കാണിക്കാതെ പോകാൻ സാധ്യതയുള്ളതാണ്.\n", + "* വൺ-ഹോട്ട് കോഡിംഗ്, ഇത് `Variety` കോളം നാലു വ്യത്യസ്ത കോളങ്ങളാൽ മാറ്റുകയും ഓരോ വകഭേദത്തിനും ഒരു കോളം നൽകുകയും ചെയ്യും, അതിൽ ബന്ധപ്പെട്ട വരി ആ വകഭേദത്തോട് അനുബന്ധമുള്ളതെങ്കിൽ 1 ഉണ്ടാകുകയും അല്ലെങ്കിൽ 0 ആയിരിക്കുകയും ചെയ്യും.\n", "\n", - "താഴെയുള്ള കോഡ് ഒരു വൈവിധ്യം വൺ-ഹോട്ട് എൻകോഡ് ചെയ്യുന്നത് എങ്ങനെ ചെയ്യാമെന്ന് കാണിക്കുന്നു:\n" + "തുടർന്ന് കൊടുക്കുന്ന കോഡ് ഏതെങ്ങനെ ഒരു വകഭേദം വൺ-ഹോട്ട് എൻകോഡ് ചെയ്യാമെന്ന് കാണിക്കുന്നു:\n" ] }, { @@ -944,9 +947,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### വൈവിധ്യത്തിൽ ലീനിയർ റെഗ്രഷൻ\n", + "### വൈവിധ്യത്തില്‍ ലിനിയര്‍ റെഗ്രഷന്‍ \n", "\n", - "മുകളിൽ നൽകിയ കോഡ് തന്നെ ഇനി ഉപയോഗിക്കും, പക്ഷേ `DayOfYear` എന്നതിന് പകരം ഞങ്ങൾ നമ്മുടെ വൺ-ഹോട്ട്-എൻകോഡഡ് വൈവിധ്യത്തെ ഇൻപുട്ടായി ഉപയോഗിക്കും:\n" + "മുകളിലുള്ളത് പോലെ തന്നെ കോഡ് നമ്മള്‍ ഇനി ഉപയോഗിക്കും, പക്ഷേ `DayOfYear` ന്റെ പകരമായി ഞങ്ങളുടെ വണ്‍-ഹോട്ട്-എൻകോഡഡ് വൈവിധ്യം ഇന്‍പുട്ടായി ഉപയോഗിക്കും:\n" ] }, { @@ -994,7 +997,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "നാം മറ്റുള്ള ഫീച്ചറുകളും അതേ രീതിയിൽ ഉപയോഗിച്ച്, അവയെ സംഖ്യാത്മക ഫീച്ചറുകളുമായി, ഉദാഹരണത്തിന് `Month` അല്ലെങ്കിൽ `DayOfYear` എന്നിവയുമായി സംയോജിപ്പിച്ച് പരീക്ഷിക്കാം:\n" + "നാം മറ്റേതെങ്കിലും ഫീച്ചറുകളും അതേ രീതിയിൽ പരീക്ഷിച്ചു കാണാം, കൂടാതെ അവയെ സംഖ്യാത്മക ഫീച്ചറുകളുമായും, ഉദാഹരണത്തിന് `Month` അല്ലെങ്കിൽ `DayOfYear` ഫീച്ചറുകളുമായും സംയോജിപ്പിക്കാം:\n" ] }, { @@ -1025,9 +1028,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### പോളിനോമിയൽ റെഗ്രഷൻ\n", + "### പൊളിനോമിയൽ റിപ്പ്രെഷൻ\n", "\n", - "ഒന്ന്-ഹോട്ട് എൻകോഡുചെയ്ത വർഗ്ഗീയ ഫീച്ചറുകളോടും പോളിനോമിയൽ റെഗ്രഷൻ ഉപയോഗിക്കാം. പോളിനോമിയൽ റെഗ്രഷൻ പരിശീലിപ്പിക്കുന്ന കോഡ് മുകളിൽ കാണിച്ചതുപോലെ തന്നെ ആയിരിക്കും.\n" + "ഒന്ന്-ഹോട്ട് എങ്കോഡുചെയ്‌ത വർഗ്ഗീകരണ ഫീച്ചറുകളോടും പൊളിനോമിയൽ റിപ്പ്രെഷൻ ഉപയോഗിക്കാം. പൊളിനോമിയൽ റിപ്പ്രെഷൻ ട്രെയിൻ ചെയ്യാനുള്ള കോഡ് മുകളിൽ നോക്കിയതുപോലെ തന്നെ ആയിരിക്കും.\n" ] }, { @@ -1074,7 +1077,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "---\n\n\n**അസൂയാപത്രം**: \nഈ രേഖ AI വിവർത്തന സേവനം [Co-op Translator](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് വിവർത്തനം ചെയ്തതാണ്. നാം കൃത്യതയ്ക്ക് ശ്രമിച്ചിട്ടുണ്ടെങ്കിലും, യന്ത്രം ചെയ്ത വിവർത്തനങ്ങളിൽ പിശകുകൾ അല്ലെങ്കിൽ തെറ്റുകൾ ഉണ്ടാകാമെന്ന് ദയവായി ശ്രദ്ധിക്കുക. അതിന്റെ മാതൃഭാഷയിലുള്ള യഥാർത്ഥ രേഖ അധികാരപരമായ ഉറവിടമായി കണക്കാക്കപ്പെടണം. നിർണായക വിവരങ്ങൾക്ക്, പ്രൊഫഷണൽ മനുഷ്യ വിവർത്തനം ശുപാർശ ചെയ്യപ്പെടുന്നു. ഈ വിവർത്തനം ഉപയോഗിക്കുന്നതിൽ നിന്നുണ്ടാകുന്ന ഏതെങ്കിലും തെറ്റിദ്ധാരണകൾക്കോ തെറ്റായ വ്യാഖ്യാനങ്ങൾക്കോ ഞങ്ങൾ ഉത്തരവാദികളല്ല.\n\n" + "---\n\n\n**സ്പെഷൽ നോട്ടീസ്**: \nഈ പ്രമാണം AI പരിഭാഷ സേവനമായ [Co-op Translator](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് പരിഭാഷപ്പെടുത്തി. നിഷ്‌ക്കളങ്കതയ്ക്ക് ഞങ്ങൾ ശ്രമിച്ചുവെങ്കിലും, യന്ത്രം നിർവഹിക്കുന്ന പരിഭാഷയിൽ പിഴവുകൾ അല്ലെങ്കിൽ അശുദ്ധികൾ ഉണ്ടാകാൻ സാദ്ധ്യമാണ്. പ്രമാണം ആർക്കും അന്യഭാഷയിൽ ഏറ്റവും ഔദ്യോഗികമായ ഉറവിടമായി പരിഗണിക്കപ്പെടേണ്ടത് ആണ്. നിർണ്ണായക വിവരങ്ങൾക്ക്, പ്രൊഫഷണൽ മാനവ പരിഭാഷ ശുപാര്‍ശ ചെയ്യുന്നു. ഈ പരിഭാഷയുടെ ഉപയോഗത്തിൽ നിന്നുള്ള തെറ്റുപറിച്ചോ തെറ്റായി വ്യാഖ്യാനിച്ചതിലോ ഞങ്ങൾ ഉത്തരവാദിത്വം വഹിക്കുന്നില്ല.\n\n" ] } ], @@ -1104,13 +1107,7 @@ "hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d" } }, - "orig_nbformat": 2, - "coopTranslator": { - "original_hash": "d77bd89ae7e79780c68c58bab91f13f8", - "translation_date": "2025-12-19T16:19:46+00:00", - "source_file": "2-Regression/3-Linear/solution/notebook.ipynb", - "language_code": "ml" - } + "orig_nbformat": 2 }, "nbformat": 4, "nbformat_minor": 2 diff --git a/translations/te/.co-op-translator.json b/translations/te/.co-op-translator.json index 5206c1ffb..f9acb5783 100644 --- a/translations/te/.co-op-translator.json +++ b/translations/te/.co-op-translator.json @@ -36,8 +36,8 @@ "language_code": "te" }, "1-Introduction/4-techniques-of-ML/README.md": { - "original_hash": "9d91f3af3758fdd4569fb410575995ef", - "translation_date": "2025-12-19T13:34:27+00:00", + "original_hash": "84b1715a6be62ef1697351dcc5d7b567", + "translation_date": "2026-04-26T19:31:56+00:00", "source_file": "1-Introduction/4-techniques-of-ML/README.md", "language_code": "te" }, @@ -90,8 +90,8 @@ "language_code": "te" }, "2-Regression/3-Linear/README.md": { - "original_hash": "26c53a922f1f1e8542b0ea41ff52221a", - "translation_date": "2026-04-20T18:32:43+00:00", + "original_hash": "8b776e731c35b171d316d01d0e7b1369", + "translation_date": "2026-04-26T19:31:18+00:00", "source_file": "2-Regression/3-Linear/README.md", "language_code": "te" }, @@ -107,6 +107,12 @@ "source_file": "2-Regression/3-Linear/solution/Julia/README.md", "language_code": "te" }, + "2-Regression/3-Linear/solution/notebook.ipynb": { + "original_hash": "6781223ffbe8cfdaa38d0200f08e1288", + "translation_date": "2026-04-26T19:28:52+00:00", + "source_file": "2-Regression/3-Linear/solution/notebook.ipynb", + "language_code": "te" + }, "2-Regression/4-Logistic/README.md": { "original_hash": "abf86d845c84330bce205a46b382ec88", "translation_date": "2025-12-19T14:03:43+00:00", diff --git a/translations/te/1-Introduction/4-techniques-of-ML/README.md b/translations/te/1-Introduction/4-techniques-of-ML/README.md index 6e9e6297a..90fde0274 100644 --- a/translations/te/1-Introduction/4-techniques-of-ML/README.md +++ b/translations/te/1-Introduction/4-techniques-of-ML/README.md @@ -1,125 +1,125 @@ # మెషీన్ లెర్నింగ్ సాంకేతికతలు -మెషీన్ లెర్నింగ్ మోడల్స్ మరియు అవి ఉపయోగించే డేటాను నిర్మించడం, ఉపయోగించడం మరియు నిర్వహించడం అనేది అనేక ఇతర అభివృద్ధి వర్క్‌ఫ్లోల నుండి చాలా భిన్నమైన ప్రక్రియ. ఈ పాఠంలో, మేము ఈ ప్రక్రియను సులభతరం చేస్తాము, మరియు మీరు తెలుసుకోవలసిన ప్రధాన సాంకేతికతలను వివరించబోతున్నాము. మీరు: +మెషీన్ లెర్నింగ్ మోడల్స్ మరియు అవి ఉపయోగించే డేటాను నిర్మించడం, ఉపయోగించడం మరియు నిర్వహించడం అనేది అనేక ఇతర అభివృద్ధి పనితీరుల నుండి పూర్తిగా భిన్నమైన ప్రక్రియ. ఈ పాఠంలో, మేము ఈ ప్రక్రియను సులభతరం చేస్తాము మరియు మీరు తెలుసుకోవలసిన ప్రధాన సాంకేతికతలను వివరించబోతున్నాము. మీరు: -- మెషీన్ లెర్నింగ్ ఆధారిత ప్రక్రియలను ఉన్నత స్థాయిలో అర్థం చేసుకుంటారు. -- 'మోడల్స్', 'పూర్వానుమానాలు', మరియు 'శిక్షణ డేటా' వంటి ప్రాథమిక భావనలను అన్వేషిస్తారు. +- మెషీన్ లెర్నింగ్ ఆధారమైన ప్రక్రియలను ఉన్నతస్థాయిలో అర్థం చేసుకుంటారు. +- 'మోడల్స్', 'ప్రిడిక్షన్స్', మరియు 'ట్రైనింగ్ డేటా' వంటి ప్రాథమిక భావనలు తోచుకుంటారు. -## [పూర్వ-లెక్చర్ క్విజ్](https://ff-quizzes.netlify.app/en/ml/) +## [ప్రీ-లెక్చర్ క్విజ్](https://ff-quizzes.netlify.app/en/ml/) [![ML for beginners - Techniques of Machine Learning](https://img.youtube.com/vi/4NGM0U2ZSHU/0.jpg)](https://youtu.be/4NGM0U2ZSHU "ML for beginners - Techniques of Machine Learning") -> 🎥 ఈ పాఠం ద్వారా పనిచేసే చిన్న వీడియో కోసం పై చిత్రాన్ని క్లిక్ చేయండి. +> 🎥 ఈ పాఠాన్ని వివరించే చిన్న వీడియో కోసం పై చిత్రం క్లిక్ చేయండి. ## పరిచయం -ఉన్నత స్థాయిలో, మెషీన్ లెర్నింగ్ (ML) ప్రక్రియలను సృష్టించే కళ అనేక దశలతో కూడి ఉంటుంది: +మెషీన్ లెర్నింగ్ (ML) ప్రక్రియలను సృష్టించడం అంటే అనేక దశల కలయికగా ఉంటుంది: -1. **ప్రశ్నను నిర్ణయించండి**. చాలా ML ప్రక్రియలు సాధారణ కండిషనల్ ప్రోగ్రామ్ లేదా నియమాల ఆధారిత ఇంజిన్ ద్వారా సమాధానం ఇవ్వలేని ప్రశ్న అడగడం ద్వారా ప్రారంభమవుతాయి. ఈ ప్రశ్నలు తరచుగా డేటా సేకరణ ఆధారంగా పూర్వానుమానాల చుట్టూ ఉంటాయి. -2. **డేటాను సేకరించి సిద్ధం చేయండి**. మీ ప్రశ్నకు సమాధానం ఇవ్వడానికి, మీరు డేటా అవసరం. మీ డేటా నాణ్యత మరియు కొన్నిసార్లు పరిమాణం మీ ప్రారంభ ప్రశ్నకు మీరు ఎంత బాగా సమాధానం ఇవ్వగలరో నిర్ణయిస్తుంది. డేటాను దృశ్యీకరించడం ఈ దశలో ముఖ్యమైన అంశం. ఈ దశలో డేటాను శిక్షణ మరియు పరీక్షా సమూహాలుగా విభజించడం కూడా ఉంటుంది. -3. **శిక్షణ పద్ధతిని ఎంచుకోండి**. మీ ప్రశ్న మరియు డేటా స్వభావం ఆధారంగా, మీరు మీ డేటాను ప్రతిబింబించే మరియు దాని పై ఖచ్చితమైన పూర్వానుమానాలు చేయగలిగే మోడల్‌ను శిక్షణ ఇవ్వడానికి ఎలా శిక్షణ ఇవ్వాలనే నిర్ణయించుకోవాలి. ఇది మీ ML ప్రక్రియలో ప్రత్యేక నైపుణ్యం మరియు తరచుగా అనేక ప్రయోగాలు అవసరమయ్యే భాగం. -4. **మోడల్‌ను శిక్షణ ఇవ్వండి**. మీ శిక్షణ డేటాను ఉపయోగించి, మీరు వివిధ అల్గోరిథమ్స్ ఉపయోగించి డేటాలో నమూనాలను గుర్తించే మోడల్‌ను శిక్షణ ఇస్తారు. మోడల్ అంతర్గత బరువులను ఉపయోగించి, డేటా యొక్క కొన్ని భాగాలను ప్రాధాన్యం ఇవ్వడానికి సర్దుబాటు చేయవచ్చు. -5. **మోడల్‌ను మూల్యాంకనం చేయండి**. మీరు సేకరించిన డేటా నుండి ఇప్పటివరకు చూడని డేటా (మీ పరీక్షా డేటా) ఉపయోగించి మోడల్ ఎలా పనిచేస్తుందో చూడండి. -6. **పారామీటర్ ట్యూనింగ్**. మీ మోడల్ పనితీరు ఆధారంగా, మీరు మోడల్ శిక్షణకు ఉపయోగించే అల్గోరిథమ్స్ ప్రవర్తనను నియంత్రించే వివిధ పారామీటర్లను మార్చి ప్రక్రియను మళ్లీ చేయవచ్చు. -7. **పూర్వానుమానం చేయండి**. మీ మోడల్ ఖచ్చితత్వాన్ని పరీక్షించడానికి కొత్త ఇన్‌పుట్‌లను ఉపయోగించండి. +1. **ప్రశ్నను నిర్ణయించండి**. ఎక్కువ ML ప్రక్రియలు సరళ కండిషనల్ ప్రోగ్రామ్ లేదా నియమాల ఆధారిత ఇంజిన్ ద్వారా సమాధానం చెప్పలేని ప్రశ్నతో ప్రారంభమవుతాయి. ఈ ప్రశ్నలు సాధారణంగా డేటా సేకరణ ఆధారంగా భవిష్యత్ అంచనాల చుట్టూ ఉంటాయి. +2. **డేటా సేకరించి సిద్ధం చేసుకోండి**. మీ ప్రశ్నకు సమాధానం చెప్పడానికి మీరు డేటా అవసరం. డేటా గുണాత్మకత మరియు కొన్నిసార్లు పరిమాణం మీ ఆరంభ ప్రశ్నకు మీరు ఎంత బాగా సమాధానం చెప్పగలరో నిర్ణయిస్తుంది. ఈ దశలో డేటా విజువలైజేషన్ చాలా ముఖ్యం. ఈ దశలో డేటాను ట్రెయినింగ్ మరియు టెస్టింగ్ గ్రూపులుగా విభజించడం కూడా ఉంటుంది. +3. **ట్రైనింగ్ పద్ధతి ఎంచుకోండి**. మీ ప్రశ్న మరియు డేటా స్వభావాన్ని బట్టి, మోడల్ ను ఉత్తమంగా ప్రతిబింబించడానికి మరియు ఖచ్చితంగా అంచనా వేయడానికి మీరు ఎలా ట్రెయిన్ చేయాలనుకుంటున్నారో ఎంచుకోవాలి. ఇది మీ ML ప్రక్రియలో ప్రత్యేక నైపుణ్యం మరియు చాలాసార్లు చాలా ప్రయోగాలు అవసరమయ్యే భాగం. +4. **మోడల్ ట్రెయిన్ చేయండి**. మీరు ట్రెయినింగ్ డేటా ఉపయోగించి వివిధ అల్గోరిథమ్ల ద్వారా ప్యాటర్న్లను గుర్తించేందుకు మోడల్ ను ట్రెయిన్ చేస్తారు. మోడల్ అనేకమైన అంతర్గత బరువులను ఉపయోగించి డేటాలో కొన్ని భాగాలపై ఎక్కువ ప్రాధాన్యత ఇవ్వడానికి సర్దుబాటు చేయవచ్చు. +5. **మోడల్ ను అంచనా వేయండి**. మీ సేకరించిన డేటా నుండి ఇప్పటివరకూ చూసిన విషయం కాని డేటా (టెస్టింగ్ డేటా) ఉపయోగించి మోడల్ ప్రదర్శనను పరిశీలిస్తారు. +6. **పారామీటర్ సర్దుబాటు**. మోడల్ ప్రదర్శన ఆధారంగా, మీరు ట్రెయినింగ్ అల్గోరిథమ్ నడిపే వివిధ పారామీటర్లను మారుస్తూ ప్రక్రియను పునరావృతం చేయవచ్చు. +7. **అంచనా వేయండి**. కొత్త ఇన్‌పుట్లను ఉపయోగించి మోడల్ ఖచ్చితత్వాన్ని పరీక్షించండి. -## ఏ ప్రశ్న అడగాలి +## ఎలాంటి ప్రశ్న అడగాలి -కంప్యూటర్లు డేటాలో దాగి ఉన్న నమూనాలను కనుగొనడంలో ప్రత్యేక నైపుణ్యం కలిగి ఉంటాయి. ఈ ఉపయోగం, ఒక నిర్దిష్ట డొమైన్ గురించి ప్రశ్నలు ఉన్న పరిశోధకులకు చాలా సహాయకరం, వీటిని సులభంగా కండిషనల్ నియమాల ఇంజిన్ సృష్టించడం ద్వారా సమాధానం ఇవ్వలేము. ఉదాహరణకు, ఒక ఆక్చ్యూరియల్ పని కోసం, డేటా సైంటిస్ట్ పొగతాగేవారు మరియు పొగతాగని వారి మరణాలపై చేతితో తయారు చేసిన నియమాలను నిర్మించవచ్చు. +కంప్యూటర్లు డేటాలో దాగిన నమూనాలు కనుగొనడంలో ప్రత్యేక నైపుణ్యం కలిగి ఉంటాయి. ఈ ఉపయోగకరత అనేక రంగాలలో సులభంగా పరిష్కరించలేని ప్రశ్నలను ఎవరిదైనా అడగడానికి సహాయం చేస్తుంది. ఉదాహరణకు, ఒక్క వ్యక్తి ఆరోగ్య చరిత్ర ఆధారంగా భవిష్యత్ మరణాల రేట్లను అంచనా వేసేందుకు ML మోడల్ ఉపయోగపడవచ్చు. -అయితే, మరిన్ని వేరియబుల్స్ ఈ సమీకరణలో చేర్చినప్పుడు, గత ఆరోగ్య చరిత్ర ఆధారంగా భవిష్యత్ మరణాల రేట్లను పూర్వానుమానించడానికి ML మోడల్ మరింత సమర్థవంతంగా ఉండవచ్చు. మరింత సంతోషకరమైన ఉదాహరణగా, ఒక నిర్దిష్ట ప్రదేశంలో ఏప్రిల్ నెలకు వాతావరణ పూర్వానుమానాలు చేయడం, ఇందులో అక్షాంశం, రేఖాంశం, వాతావరణ మార్పు, సముద్రానికి సమీపత, జెట్ స్ట్రీమ్ నమూనాలు మరియు మరిన్ని డేటా ఉంటాయి. +రెండవ ఉదాహరణకి, ఎпрిల్ నెలలో ఇచ్చిన ప్రాంతంలో వాతావరణ అంచనాలు latitude, longitude, వాతావరణ మార్పులు, సముద్రం సమీపత, జెట్ స్ట్రీమ్ నమూనాలు వంటి డేటాను ఉపయోగించి చేయవచ్చు. -✅ ఈ [స్లైడ్ డెక్](https://www2.cisl.ucar.edu/sites/default/files/2021-10/0900%20June%2024%20Haupt_0.pdf) వాతావరణ మోడల్స్ పై ML వాడకం కోసం చారిత్రక దృష్టికోణాన్ని అందిస్తుంది. +✅ ఈ [స్లైడ్ డెక్](https://www2.cisl.ucar.edu/sites/default/files/2021-10/0900%20June%2024%20Haupt_0.pdf) వాతావరణ నమూనాలపై ইতিহাসాత్మక దృష్టికోణాన్ని ML ఉపయోగంతో అందిస్తుంది. -## నిర్మాణానికి ముందు పనులు +## నిర్మాణానికి ముందున్న పనులు -మీ మోడల్‌ను నిర్మించడం ప్రారంభించే ముందు, మీరు పూర్తి చేయవలసిన కొన్ని పనులు ఉన్నాయి. మీ ప్రశ్నను పరీక్షించడానికి మరియు మోడల్ పూర్వానుమానాల ఆధారంగా ఒక హైపోథసిస్ రూపొందించడానికి, మీరు కొన్ని అంశాలను గుర్తించి కాన్ఫిగర్ చేయాలి. +మీ మోడల్ నిర్మాణం మొదలుపెట్టేముందు కొన్ని పనులు పూర్తి చేయాలి. ఒక మోడల్ భవిష్యత్ అంచనాలపై మీరు మీ ప్రశ్నను పరీక్షించడానికి మరియు హైపోతసిస్ చేయడానికి, మీరు కొన్ని అంశాలను గుర్తించి సెట్ చేసుకోవాలి. ### డేటా -మీ ప్రశ్నకు ఏదైనా స్థాయిలో సమాధానం ఇవ్వడానికి, మీరు సరైన రకమైన మంచి పరిమాణంలో డేటా అవసరం. ఈ సమయంలో మీరు చేయవలసిన రెండు విషయాలు: +మీ ప్రశ్నకు నిశ్చయంగా సమాధానం చెప్పడానికి సరైన రకమైన పెద్ద డేటా అవసరం. ఈ సమయంలో మీరు చేయవలసింది: -- **డేటాను సేకరించండి**. డేటా విశ్లేషణలో న్యాయసమ్మతతపై గత పాఠాన్ని గుర్తుంచుకుని, జాగ్రత్తగా డేటాను సేకరించండి. ఈ డేటా మూలాలను, దాని లోపభూయిష్టతలను తెలుసుకోండి మరియు మూలాన్ని డాక్యుమెంట్ చేయండి. -- **డేటాను సిద్ధం చేయండి**. డేటా సిద్ధం ప్రక్రియలో అనేక దశలు ఉంటాయి. మీరు డేటాను సేకరించి, వేర్వేరు మూలాల నుండి వచ్చినట్లయితే సాధారణీకరించవలసి ఉంటుంది. మీరు డేటా నాణ్యత మరియు పరిమాణాన్ని మెరుగుపరచడానికి వివిధ పద్ధతులు ఉపయోగించవచ్చు, ఉదాహరణకు స్ట్రింగ్స్‌ను సంఖ్యలుగా మార్చడం ([క్లస్టరింగ్](../../5-Clustering/1-Visualize/README.md) లో చేయడం లాంటిది). మీరు కొత్త డేటాను కూడా సృష్టించవచ్చు, అసలు డేటా ఆధారంగా ([వర్గీకరణ](../../4-Classification/1-Introduction/README.md) లో చేయడం లాంటిది). మీరు డేటాను శుభ్రపరచి సవరించవచ్చు ([వెబ్ యాప్](../../3-Web-App/README.md) పాఠం ముందు). చివరగా, మీరు శిక్షణ సాంకేతికతలపై ఆధారపడి డేటాను యాదృచ్ఛికంగా మార్చి కలపవలసి ఉండవచ్చు. +- **డేటా సేకరించండి**. గత పాఠంలో డేటా న్యాయవంతత్వంపై నేర్చుకున్నట్లు, జాగ్రత్తగా డేటాను సేకరించండి. డేటా మూలాలపై జాగ్రత్త వహించండి, దానికి సంబంధించిన అహంకారాలు (biases) తెలుసుకోండి మరియు మూలాన్ని డాక్యుమెంట్ చేయండి. +- **డేటా సిద్ధం చేయండి**. డేటా సిద్ధం చేసే ప్రక్రియలో అనేక దశలు ఉంటాయి. మీ డేటా వేర్వేరు మూలాల నుండి వస్తే, ఒకే రూపంలో మార్చడం అవసరం. మీ డేటా నాణ్యత మరియు పరిమాణాన్ని మెరుగుపరచడానికి స్ట్రింగ్స్‌ని నంబర్లుగా మార్చడం వంటి మార్గాలు స్వీకరించవచ్చు (మనము [క్లస్టరింగ్](../../5-Clustering/1-Visualize/README.md) లో చేయడం). మీరు కొత్త డేటా కూడా సృష్టించవచ్చు (మనము [వర్గీకరణ](../../4-Classification/1-Introduction/README.md) లో చేయడం). మీరు డేటాను శుభ్రపరచడం మరియు సవరించవచ్చు ([వెబ్ యాప్](../../3-Web-App/README.md) పాఠం ముందు). చివరిగా, ట్రెయినింగ్ సాంకేతికతల ఆధారంగా డేటాను రాండమ్ చేసుకోవచ్చు మరియు షఫుల్ చేయవచ్చు. -✅ డేటాను సేకరించి ప్రాసెస్ చేసిన తర్వాత, దాని ఆకారం మీ ఉద్దేశించిన ప్రశ్నను పరిష్కరించగలదా అని ఒక క్షణం పరిశీలించండి. మీ డేటా మీ పని లో బాగా పనిచేయకపోవచ్చు, ఇది మేము మా [క్లస్టరింగ్](../../5-Clustering/1-Visualize/README.md) పాఠాలలో కనుగొంటాము! +✅ డేటాను సేకరించి ప్రాసెస్ చేసిన తర్వాత, దాని ఆకారం మీ ప్రశ్నను సమర్థవంతంగా పరిష్కరించగలదా అని చూడండి. మనం [క్లస్టరింగ్](../../5-Clustering/1-Visualize/README.md) పాఠాలలో చూచినట్లు, కొన్నిసార్లు డేటా పనితీరు తక్కువగా ఉండవచ్చు! -### లక్షణాలు మరియు లక్ష్యం +### ఫీచర్స్ మరియు లక్ష్యం -[లక్షణం](https://www.datasciencecentral.com/profiles/blogs/an-introduction-to-variable-and-feature-selection) అనేది మీ డేటా యొక్క కొలవదగిన లక్షణం. అనేక డేటాసెట్‌లలో ఇది 'తేదీ', 'పరిమాణం' లేదా 'రంగు' వంటి కాలమ్ శీర్షికగా వ్యక్తమవుతుంది. మీ లక్షణ వేరియబుల్, సాధారణంగా కోడ్‌లో `X` గా సూచించబడుతుంది, మోడల్ శిక్షణకు ఉపయోగించే ఇన్‌పుట్ వేరియబుల్‌ను సూచిస్తుంది. +[ఫీచర్](https://www.datasciencecentral.com/profiles/blogs/an-introduction-to-variable-and-feature-selection) అనేది మీ డేటా యొక్క కొలవగల గుణం. చాలా డేటాసెట్లలో ఇది కాలమ్ పేర్లుగా ఉంటుంది, ఉదా: 'తేదీ', 'పరిమాణం', లేదా 'రంగు'. మీ ఫీచర్ వేరియబుల్ సాధారణంగా కోడ్ లో `X` ద్వారా సూచించబడుతుంది, ఇది మోడల్ ట్రెయిన్ చేయడానికి ఉపయోగించే ఇన్‌పుట్ వేరియబుల్. -లక్ష్యం మీరు పూర్వానుమానం చేయదలచిన విషయం. లక్ష్యం సాధారణంగా కోడ్‌లో `y` గా సూచించబడుతుంది, ఇది మీరు మీ డేటాకు అడగదలచిన ప్రశ్నకు సమాధానం సూచిస్తుంది: డిసెంబర్‌లో, ఏ **రంగు** గుమ్మడికాయలు చౌకగా ఉంటాయి? సాన్ ఫ్రాన్సిస్కోలో, ఏ ప్రాంతాల్లో ఉత్తమ రియల్ ఎస్టేట్ **ధర** ఉంటుంది? కొన్నిసార్లు లక్ష్యాన్ని లేబుల్ అట్రిబ్యూట్ అని కూడా పిలుస్తారు. +లక్ష్యం అంటే మీరు అంచనా వేయాలనుకుంటున్న విషయం. లక్ష్యం సాధారణంగా కోడ్ లో `y` ద్వారా సూచించబడుతుంది, ఇది మీరు అడగాలనుకుంటున్న ప్రశ్నకు సమాధానం: డిసెంబర్ నెలలో, ఏ **రంగు** తో కాకులు చౌకగా ఉంటాయి? శాన్ ఫ్రాన్సిస్కో లో ఏ ప్రాంతాల్లో ఉత్తమ ఆస్తి **ధర** ఉంటుంది? లక్ష్యాన్ని లేబుల్ అట్రిబ్యూట్ అని కూడా పిలుస్తారు. -### మీ లక్షణ వేరియబుల్‌ను ఎంచుకోవడం +### ఫీచర్ వేరియబుల్ ఎంచుకోవడం -🎓 **లక్షణ ఎంపిక మరియు లక్షణ ఉత్పత్తి** మోడల్ నిర్మిస్తున్నప్పుడు మీరు ఏ వేరియబుల్ ఎంచుకోవాలో ఎలా తెలుసుకుంటారు? మీరు ఎక్కువగా పనితీరు ఉన్న మోడల్ కోసం సరైన వేరియబుల్స్ ఎంచుకోవడానికి లక్షణ ఎంపిక లేదా లక్షణ ఉత్పత్తి ప్రక్రియలోకి వెళ్తారు. అవి ఒకే విషయం కాదు: "లక్షణ ఉత్పత్తి అసలు లక్షణాల ఫంక్షన్ల నుండి కొత్త లక్షణాలను సృష్టిస్తుంది, అయితే లక్షణ ఎంపిక లక్షణాల ఉపసమితిని తిరిగి ఇస్తుంది." ([మూలం](https://wikipedia.org/wiki/Feature_selection)) +🎓 **ఫీచర్ ఎంపిక మరియు ఫీచర్ ఎక్స్‌ట్రాక్షన్** మోడల్ క్రియేటింగ్ సమయంలో ఎటువంటి వేరియబుల్ ఎంచుకోవాలో ఎలా తెలుసుకోవాలి? మీరు పనితీరు మెరుగైన ఫీచర్‌లను ఎంచుకునేందుకు ఫీచర్ ఎంపిక లేదా ఫీచర్ ఎక్స్‌ట్రాక్షన్ ప్రక్రియలను అనుసరిస్తారు. అవి ఒకే విషయం కావు: "ఫీచర్ ఎక్స్‌ట్రాక్షన్ అనేది అసలు ఫీచర్‌ల నుండి కొత్త ఫీచర్‌లను సృష్టించడం, ఫీచర్ ఎంపిక అనేది ఫీచర్‌లలో ఒక ఉపసమితి ఎంపిక చేయడం." ([మూలం](https://wikipedia.org/wiki/Feature_selection)) -### మీ డేటాను దృశ్యీకరించండి +### డేటాను విజువలైజ్ చేయండి -డేటా సైంటిస్ట్ టూల్‌కిట్‌లో ఒక ముఖ్యమైన అంశం అనేక అద్భుతమైన లైబ్రరీలు వంటి Seaborn లేదా MatPlotLib ఉపయోగించి డేటాను దృశ్యీకరించడం. మీ డేటాను దృశ్య రూపంలో ప్రదర్శించడం దాగి ఉన్న సంబంధాలను కనుగొనడానికి సహాయపడవచ్చు. మీ దృశ్యీకరణలు పక్షపాతం లేదా అసమతులిత డేటాను కూడా కనుగొనడంలో సహాయపడవచ్చు ([వర్గీకరణ](../../4-Classification/2-Classifiers-1/README.md) లో మేము కనుగొంటాము). +డేటా సెయింటిస్ట్ సాధనాలలో మేజరు పార్ట్ డేటాను వ్యూయలైజ్ చేయగల సామర్థ్యం. సీబోర్న్ లేదా మ్యాట్ప్లాట్‌లిబ్ వంటి గొప్ప లైబ్రరీలను ఉపయోగించి మీరు డేటాను విజువలైజ్ చేయవచ్చు. ఇలా చేస్తే దాగున్న సంబంధాలను కనుగొనడం సులభం అవుతుంది. మీ విజువలైజేషన్స్ బయస్ లేదా అసమతులిత డేటాను కూడా బయట పారవేయడానికి సహాయపడతాయి ([వర్గీకరణ](../../4-Classification/2-Classifiers-1/README.md) లో చూశాం). -### మీ డేటాసెట్‌ను విభజించండి +### డేటాసెట్ విభజించండి -శిక్షణకు ముందు, మీరు మీ డేటాసెట్‌ను రెండు లేదా అంతకంటే ఎక్కువ భాగాలుగా విభజించాలి, ఇవి అసమాన పరిమాణాలైనప్పటికీ డేటాను బాగా ప్రతిబింబించాలి. +ట్రెయినింగ్‌కు ముందు, మీరు డేటాను రెండు లేదా దానికంటే ఎక్కువ భాగాలుగా విభజించాలి, వాటి పరిమాణాలు సమానంగా లేకపోయినా, డేటాను బాగానే ప్రాతినిధ్యం వహించాలి. -- **శిక్షణ**. డేటాసెట్ ఈ భాగం మీ మోడల్‌కు సరిపోతుంది, దీని ద్వారా మోడల్ శిక్షణ పొందుతుంది. ఇది అసలు డేటాసెట్‌లో ఎక్కువ భాగాన్ని కలిగి ఉంటుంది. -- **పరీక్ష**. పరీక్షా డేటాసెట్ స్వతంత్ర డేటా సమూహం, తరచుగా అసలు డేటా నుండి సేకరించబడినది, దీన్ని మీరు నిర్మించిన మోడల్ పనితీరును నిర్ధారించడానికి ఉపయోగిస్తారు. -- **ధృవీకరణ**. ధృవీకరణ సెట్ అనేది చిన్న స్వతంత్ర ఉదాహరణల సమూహం, దీన్ని మీరు మోడల్ యొక్క హైపర్‌పారామీటర్లను లేదా నిర్మాణాన్ని మెరుగుపరచడానికి ఉపయోగిస్తారు. మీ డేటా పరిమాణం మరియు మీరు అడుగుతున్న ప్రశ్న ఆధారంగా, మీరు ఈ మూడవ సెట్‌ను నిర్మించాల్సిన అవసరం ఉండకపోవచ్చు ([టైమ్ సిరీస్ ఫోర్కాస్టింగ్](../../7-TimeSeries/1-Introduction/README.md) లో మేము గమనిస్తాము). +- **ట్రెయినింగ్**. ఈ డేటా మోడల్ ట్రెయినింగ్ కోసం ఉపయోగిస్తారు. ఇది అసలు డేటాసెట్ యొక్క ముఖ్య భాగం. +- **టెస్టింగ్**. టెస్టింగ్ డేటా ఒక స్వతంత్ర గ్రూప్ డేటా, సాధారణంగా అసలు డేటా నుంచి తీసుకున్నది, దీన్ని మోడల్ పనితీరు నిర్ధారించడానికి ఉపయోగిస్తారు. +- **వెలిడేషన్**. వెలిడేషన్ సెట్ చిన్న స్వతంత్ర ఉదాహరణల సమూహం, దీన్ని మోడల్ హైపరparameters లేదా నిర్మాణం సవరించడానికి ఉపయోగిస్తారు. మీ డేటా పరిమాణం మరియు ప్రశ్న ఆధారంగా, మీరు ఈ మూడవ సెట్ అవసరం లేకపోవచ్చు ([టైమ్ సిరీస్ ఫోర్కాస్టింగ్](../../7-TimeSeries/1-Introduction/README.md) లో). -## మోడల్ నిర్మాణం +## మోడల్ నిర్మించడం -మీ శిక్షణ డేటాను ఉపయోగించి, మీరు వివిధ అల్గోరిథమ్స్ ఉపయోగించి మీ డేటా యొక్క గణాంకాత్మక ప్రాతినిధ్యంగా ఒక మోడల్‌ను **శిక్షణ** ఇవ్వడం లక్ష్యం. మోడల్ శిక్షణ డేటాను చూసి, దాని లోపల ఉన్న నమూనాలను గుర్తించి, అంచనాలు వేస్తుంది, వాటిని ధృవీకరిస్తుంది మరియు అంగీకరిస్తుంది లేదా తిరస్కరిస్తుంది. +ట్రెయినింగ్ డేటా ఉపయోగించి, మీరు వివిధ అల్గోరిథమ్‌లను ఉపయోగించి మోడల్ లేదా మీ డేటా యొక్క గణాంకాత్మక ప్రాతినిధ్యం నిర్మించడానికి ట్రెయిన్ చేస్తారు. మోడల్‌ను ట్రెయిన్ చేస్తే, అది డేటాలో తీసుకువచ్చిన నమూనాలను గుర్తించి అంచనా వేయగలుగుతుంది, తన అనుమానాలను కూడా ధృవీకరించడంతో పాటు అంగీకరించవచ్చు లేదా తిరస్కరించవచ్చు. -### శిక్షణ పద్ధతిని నిర్ణయించండి +### ట్రెయినింగ్ పద్ధతిని నిర్ణయించండి -మీ ప్రశ్న మరియు డేటా స్వభావం ఆధారంగా, మీరు శిక్షణ ఇవ్వడానికి ఒక పద్ధతిని ఎంచుకుంటారు. ఈ కోర్సులో మేము ఉపయోగించే [Scikit-learn డాక్యుమెంటేషన్](https://scikit-learn.org/stable/user_guide.html) ద్వారా మీరు మోడల్ శిక్షణకు అనేక మార్గాలను అన్వేషించవచ్చు. మీ అనుభవం ఆధారంగా, మీరు ఉత్తమ మోడల్ నిర్మించడానికి అనేక పద్ధతులను ప్రయత్నించవలసి ఉండవచ్చు. డేటా సైంటిస్ట్‌లు మోడల్ పనితీరును అంచనా వేయడానికి, దాన్ని చూడని డేటాతో పరీక్షించి, ఖచ్చితత్వం, పక్షపాతం మరియు ఇతర నాణ్యతను తగ్గించే సమస్యలను పరిశీలించి, ఆ పని కోసం సరైన శిక్షణ పద్ధతిని ఎంచుకుంటారు. +మీ ప్రశ్న మరియు డేటా స్వభావం బట్టి, మీరు ఒక పద్ధతిని ఎంచుకుంటారు. ఈ కోర్సులో ఉపయోగించే [Scikit-learn డాక్యుమెంటేషన్](https://scikit-learn.org/stable/user_guide.html)లో మీరు వివిధ మోడల్ ట్రెయినింగ్ పద్ధతులు తెలుసుకోవచ్చు. మీ అనుభవం ప్రకారం, అద్భుతమైన మోడల్ సంపాదించడానికి మీరు అనేక పద్ధతులను ప్రయత్నించాల్సి ఉండవచ్చు. డేటా శాస్త్రవేత్తలు ఒకసారి కోల్పోయిన డేటా ఫీడ్ చేసి లోపాలు, పక్షపాతం మరియు ఇతర నాణ్యత సమస్యలను పరిశీలించి, ఆ పని కోసం సరైన ట్రెయినింగ్ పద్ధతిని ఎంచుకుంటారు. -### మోడల్‌ను శిక్షణ ఇవ్వండి +### మోడల్ ట్రెయిన్ చేయండి -మీ శిక్షణ డేటాతో, మీరు దాన్ని 'ఫిట్' చేయడానికి సిద్ధంగా ఉంటారు. మీరు అనేక ML లైబ్రరీలలో 'model.fit' కోడ్‌ను కనుగొంటారు - ఈ సమయంలో మీరు మీ లక్షణ వేరియబుల్‌ను విలువల శ్రేణిగా (సాధారణంగా 'X') మరియు లక్ష్య వేరియబుల్‌ను (సాధారణంగా 'y') పంపిస్తారు. +మీ ట్రెయినింగ్ డేటాతో, మీరు 'model.fit' అనే కోడ్‌లో ఇన్‌పుట్ ఫీచర్ వేరియబుల్ (సాధారణంగా 'X') మరియు లక్ష్య వేరియబుల్ ('y') పంపించి మోడల్ ట్రెయిన్ చేస్తారు. -### మోడల్‌ను మూల్యాంకనం చేయండి +### మోడల్‌ను అంచనా వేయండి -శిక్షణ ప్రక్రియ పూర్తయిన తర్వాత (పెద్ద మోడల్ శిక్షణకు అనేక పునరావృతాలు లేదా 'ఎపోక్స్' అవసరం కావచ్చు), మీరు పరీక్షా డేటాను ఉపయోగించి మోడల్ నాణ్యతను అంచనా వేయగలుగుతారు. ఈ డేటా మోడల్ ముందుగా విశ్లేషించని అసలు డేటా ఉపసమితి. మీరు మీ మోడల్ నాణ్యత గురించి మెట్రిక్స్ పట్టికను ప్రింట్ చేయవచ్చు. +ట్రెయినింగ్ ప్రక్రియ పూర్తయ్యాక (బహుశా ఎన్నో iterations లేదా 'epochs' పట్టవచ్చు), మీరు టెస్ట్ డేటా ఉపయోగించి మోడల్ నాణ్యతను అంచనా వేయవచ్చు. ఈ డేటా మొదటి డేటా సెట్ నుండి తీసుకున్నది కాని, మోడల్ ముందుగానే ఉపయోగించలేదు. మీరు మీ మోడల్ నాణ్యతపై గణాంక పట్టికను ప్రింట్ చేయవచ్చు. 🎓 **మోడల్ ఫిట్టింగ్** -మెషీన్ లెర్నింగ్ సందర్భంలో, మోడల్ ఫిట్టింగ్ అనేది మోడల్ యొక్క అంతర్గత ఫంక్షన్ ఖచ్చితత్వాన్ని సూచిస్తుంది, ఇది పరిచయమయ్యే డేటాను విశ్లేషించడానికి ప్రయత్నిస్తుంది. +మెషీన్ లెర్నింగ్ సందర్భంలో, మోడల్ ఫిట్టింగ్ అంటే మోడల్ యొక్క ఆధారభూత ఫంక్షన్ కొత్త డేటాను విశ్లేషించేటప్పుడు ఖచ్చితత్వం. -🎓 **అండర్‌ఫిట్టింగ్** మరియు **ఓవర్‌ఫిట్టింగ్** సాధారణ సమస్యలు, ఇవి మోడల్ నాణ్యతను తగ్గిస్తాయి, ఎందుకంటే మోడల్ సరైన రీతిలో సరిపోలడం లేదా ఎక్కువగా సరిపోలడం లేదు. ఓవర్‌ఫిట్ మోడల్ శిక్షణ డేటాను చాలా బాగా పూర్వానుమానిస్తుంది, ఎందుకంటే అది డేటా వివరాలు మరియు శబ్దాన్ని బాగా నేర్చుకుంది. అండర్‌ఫిట్ మోడల్ ఖచ్చితంగా లేదు, ఎందుకంటే అది తన శిక్షణ డేటాను లేదా ఇప్పటి వరకు 'చూసిన' డేటాను సరిగ్గా విశ్లేషించలేకపోతుంది. +🎓 **అండర్‌ఫిట్టింగ్** మరియు **ఓవర్‌ఫిట్టింగ్** అనేవి సాధారణ సమస్యలు, ఇవి మోడల్ నాణ్యతను తగ్గిస్తాయి. మోడల్ బాగా సరిపోకపోవడం లేదా ఎక్కువ సరిపోయి ట్రెయినింగ్ డేటాతో కూడిన శబ్దం కూడా నేర్చుకోవడం వల్ల పరిస్థితి కలుగుతుంది. ఓవర్‌ఫిట్ మోడల్ ట్రెయినింగ్ డేటాను చాలా బాగా అంచనా వేస్తుంది కానీ అదే విధంగా సాధారణీకరించలేకపోవచ్చు. అండర్‌ఫిట్ మోడల్ ట్రెయినింగ్ డేటాను కూడా ఖచ్చితంగా విశ్లేషించలేకపోతుంది. ![overfitting model](../../../../translated_images/te/overfitting.1c132d92bfd93cb6.webp) -> ఇన్ఫోగ్రాఫిక్ [జెన్ లూపర్](https://twitter.com/jenlooper) ద్వారా +> ఇన్ఫోగ్రాఫిక్: [జెన్ లూపర్](https://twitter.com/jenlooper) -## పారామీటర్ ట్యూనింగ్ +## పారామీటర్ సర్దుబాటు -మీ ప్రారంభ శిక్షణ పూర్తయిన తర్వాత, మోడల్ నాణ్యతను గమనించి, దాని 'హైపర్‌పారామీటర్లను' సర్దుబాటు చేయడం ద్వారా మెరుగుపరచాలని పరిగణించండి. ఈ ప్రక్రియ గురించి మరింత చదవండి [డాక్యుమెంటేషన్‌లో](https://docs.microsoft.com/en-us/azure/machine-learning/how-to-tune-hyperparameters?WT.mc_id=academic-77952-leestott). +మీ ప్రారంభ ట్రెయినింగ్ పూర్తయ్యాక మోడల్ నాణ్యతను పరిశీలించి, 'హైపర్‌పారామీటర్'లను సర్దుబాటు చేసి మెరుగుపరచుకోండి. ఈ ప్రక్రియ గురించి మరింత [డాక్యుమెంటేషన్‌లో చదవండి](https://docs.microsoft.com/en-us/azure/machine-learning/how-to-tune-hyperparameters?WT.mc_id=academic-77952-leestott). -## పూర్వానుమానం +## అంచనా -ఇది మీరు పూర్తిగా కొత్త డేటాను ఉపయోగించి మీ మోడల్ ఖచ్చితత్వాన్ని పరీక్షించే క్షణం. 'అప్లైడ్' ML సెట్టింగ్‌లో, మీరు ప్రొడక్షన్‌లో మోడల్ ఉపయోగించడానికి వెబ్ ఆస్తులను నిర్మిస్తున్నప్పుడు, ఈ ప్రక్రియలో యూజర్ ఇన్‌పుట్ (ఉదాహరణకు బటన్ నొక్కడం) సేకరించి, వేరియబుల్ సెట్ చేసి, మోడల్‌కు ఇన్ఫరెన్స్ లేదా మూల్యాంకన కోసం పంపడం ఉండవచ్చు. +ఇది మీరు పూర్తిగా కొత్త డేటాను మీ మోడల్ ఖచ్చితత్వం పరీక్షించడానికి ఉపయోగించే దశ. 'అప్లైడ్' ML సెట్టింగ్‌లో, మీరు ప్రొడక్షన్‌లో మోడల్ ఉపయోగించడానికి వెబ్ ఆస్తులను తయారుచేస్తున్నప్పుడు, యూజర్ ఇన్‌పుట్ (ఉదా: బటన్ నొక్కడం) సేకరించి, దాన్ని మోడల్‌కు పంపించి అంచనా చేయించవచ్చు. -ఈ పాఠాలలో, మీరు ఈ దశలను ఉపయోగించి ఎలా సిద్ధం చేయాలో, నిర్మించాలో, పరీక్షించాలో, మూల్యాంకనం చేయాలో, మరియు పూర్వానుమానం చేయాలో తెలుసుకుంటారు - డేటా సైంటిస్ట్ యొక్క అన్ని చర్యలు మరియు మరిన్ని, మీరు 'ఫుల్ స్టాక్' ML ఇంజనీర్‌గా మారే ప్రయాణంలో. +ఈ పాఠాల్లో, మీరు ఈ దశల ద్వారా డేటాను సిద్ధం చేయడం, నిర్మించడం, పరీక్షించడం, అంచనా వేయడం, మరియు అంచనా వేయడం నేర్చుకుంటారు — డేటా శాస్త్రవేత్తల అలవాట్లు మరియు మరింత, ఒక 'ఫుల్ స్టాక్' ML ఇంజనీర్ అవడంలో మీ ప్రయాణంలో. --- ## 🚀సవాలు -ML ప్రాక్టిషనర్ దశలను ప్రతిబింబించే ఒక ఫ్లో చార్ట్ డ్రా చేయండి. మీరు ప్రస్తుతంలో ఈ ప్రక్రియలో ఎక్కడ ఉన్నారు? మీరు ఎక్కడ కష్టాన్ని ఎదుర్కొంటారని భావిస్తున్నారు? మీకు ఏది సులభంగా అనిపిస్తుంది? +ML ప్రాక్టీషనర్ దశలను ప్రతిబింబించే ఫ్లో చార్ట్ రూపొందించండి. మీరు ప్రస్తుతం ఏ దశలో ఉన్నారు? మీరు ఎక్కడ కష్టాన్ని ఎదుర్కొంటారని భావిస్తున్నారు? మీకు ఏది సులభంగా అనిపిస్తుంది? ## [పోస్ట్-లెక్చర్ క్విజ్](https://ff-quizzes.netlify.app/en/ml/) -## సమీక్ష & స్వీయ అధ్యయనం +## సమీక్ష & స్వయంఅధ్యయనం -డేటా సైంటిస్ట్‌లు వారి రోజువారీ పనిని చర్చించే ఇంటర్వ్యూలను ఆన్‌లైన్‌లో వెతకండి. ఇక్కడ [ఒకటి](https://www.youtube.com/watch?v=Z3IjgbbCEfs) ఉంది. +డేటా శాస్త్రవేత్తల ఇంటర్వ్యూలను ఆన్‌లైన్‌లో వెతకండి, వారు వారి రోజువారీ పని గురించి మాట్లాడతారు. ఇక్కడ [ఒకటి](https://www.youtube.com/watch?v=Z3IjgbbCEfs) ఉంది. ## అసైన్‌మెంట్ -[డేటా సైంటిస్ట్‌ను ఇంటర్వ్యూ చేయండి](assignment.md) +[డేటా శాస్త్రవేత్త ఇంటర్వ్యూ](assignment.md) --- -**అస్పష్టత**: -ఈ పత్రాన్ని AI అనువాద సేవ [Co-op Translator](https://github.com/Azure/co-op-translator) ఉపయోగించి అనువదించబడింది. మేము ఖచ్చితత్వానికి ప్రయత్నించినప్పటికీ, ఆటోమేటెడ్ అనువాదాల్లో పొరపాట్లు లేదా తప్పిదాలు ఉండవచ్చు. మూల పత్రం దాని స్వదేశీ భాషలోనే అధికారిక మూలంగా పరిగణించాలి. ముఖ్యమైన సమాచారానికి, ప్రొఫెషనల్ మానవ అనువాదం సిఫార్సు చేయబడుతుంది. ఈ అనువాదం వాడకం వల్ల కలిగే ఏవైనా అపార్థాలు లేదా తప్పుదారుల బాధ్యత మేము తీసుకోము. +**డిస్క్లెయిమర్**: +ఈ డాక్యుమెంట్ AI అనువాద సేవ [Co-op Translator](https://github.com/Azure/co-op-translator) ఉపయోగించి అనువదించబడింది. మేము ఖచ్చితత్వానికి శ్రమిస్తున్నప్పటికీ, ఆటోమేటెడ్ అనువాదాల్లో తప్పులు లేదా అసత్యతలు ఉండే అవకాశముంది. అసలు డాక్యుమెంట్ native భాషలో ఉన్నదే అధికారపూర్వక మూలం అని పరిగణించాలి. ముఖ్యమైన సమాచారానికి, ప్రొఫెషనల్ మానవ అనువాదాన్ని సూచించబడుతుంది. ఈ అనువాదం వలన కలిగే ఏదైనా అపవాదాలు లేదా తప్పుదారులు విషయానికి మేము బాధ్యులు కాదు. \ No newline at end of file diff --git a/translations/te/2-Regression/3-Linear/README.md b/translations/te/2-Regression/3-Linear/README.md index 6f7d94112..683224a8e 100644 --- a/translations/te/2-Regression/3-Linear/README.md +++ b/translations/te/2-Regression/3-Linear/README.md @@ -1,136 +1,135 @@ -# స్కికిట్-లెర్న్ ఉపయోగించి రిగ్రెషన్ మోడల్ అన్వయించండి: రిగ్రెషన్ నాలుగు మార్గాలు +# Scikit-learn ఉపయోగించి రిగ్రెషన్ మోడల్ నిర్మించండి: రిగ్రెషన్ నలుగురు మార్గాలు -## ప్రారంభిక గమనిక +## ప్రారంభకులు కోసం గమనిక -లీనియర్ రిగ్రెషన్ ను మనం **సంఖ్యాత్మక విలువ** (ఉదాహరణకి, ఇల్లు ధర, ఉష్ణోగ్రత, లేదా అమ్మకాలు) అంచనా వేయాలనుకునేటప్పుడు ఉపయోగిస్తాము. ఇది ఇన్‌పుట్ లక్షణాలు మరియు ఔట్‌పుట్ మధ్య సంబంధాన్ని ఉత్తమంగా వివరించే ఒక సరళ రేఖను కనుగొనేంది. +లీనియర్ రిగ్రెషన్ మనము ఒక **సంఖ్యాత్మక విలువ** ను (ఉదాహరణకి, ఇంటి ధర, ఉష్ణోగ్రత, లేదా అమ్మకాలు) అంచనా వేయాలనుకునే సమయంలో ఉపయోగిస్తారు. ఇది ఇన్పుట్ లక్షణాలు మరియు ఔట్పుట్ మధ్య ఉన్న సంబంధాన్ని ఉత్తమంగా ప్రతిబింబించే ఒక సమరు రేఖను కనుగొనడం ద్వారా పనిచేస్తుంది. -ఈ పాఠంలో, మరింత ముందడుగు రిగ్రెషన్ సాంకేతికతలను అన్వేషించే ముందు కాన్సెప్టును అర్థం చేసుకోవడంపై మనం దృష్టి ఇస్తాము. +ఈ పాఠంలో, మేము మరిన్ని అభివృద్ధి చెందిన రిగ్రెషన్ సాంకేతికతలను అధ్యయనం చేయక ముందుగా ఈ సిద్ధాంతాన్ని అర్థం చేసుకోవటానికి దృష్టి పెడతాము. ![Linear vs polynomial regression infographic](../../../../translated_images/te/linear-polynomial.5523c7cb6576ccab.webp) -> ఇన్ఫోగ్రాఫిక్ అందించిన [దసాని మడిపల్లి](https://twitter.com/dasani_decoded) ద్వారా -## [పూర్వ-పాఠ్య క్విజ్](https://ff-quizzes.netlify.app/en/ml/) +> ఇన్ఫోగ్రాఫిక్ రచయిత [Dasani Madipalli](https://twitter.com/dasani_decoded) +## [పాఠం ముందస్తు క్విజ్](https://ff-quizzes.netlify.app/en/ml/) -> ### [ఈ పాఠం R లో అందుబాటులో ఉంది!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html) +> ### [ఈ పాఠం R లో కూడా అందుబాటులో ఉంది!](../../../../2-Regression/3-Linear/solution/R/lesson_3.html) ### పరిచయం -ఇప్పటి వరకు మీరు రిగ్రెషన్ అంటే ఏమిటో, మరియు మనం ఈ పాఠంలో మొత్తం ఉపయోగించే పంక్‌పిన్ ధరల డేటా సెట్ నుండి సేకరించిన నమూనా డేటాతో ఎలా పరిశీలించారో తెలుసుకున్నారు. మీరు Matplotlib ఉపయోగించి దాన్ని విజువలైజ్ కూడా చేశారు. +ఇప్పటి వరకు మీరు pumpkin ధరల డాటాసెట్ నుండి సేకరించిన నమూనా డేటాతో రిగ్రెషన్ అంటే ఏమిటి అనేదాన్ని అన్వేషించారు. అలాగే మీరు దాన్ని Matplotlib ఉపయోగించి విజువలైజ్ చేశారు. -ఇప్పుడు మీరు ML కోసం రిగ్రెషన్ లో మరింత లోతుగా దిగి చూడడానికి సిద్ధంగా ఉన్నారు. విజువలైజేషన్ డేటాను అర్థం చేసుకోవడానికి ఉపయోగపడినప్పటికీ, మెషిన్ లెర్నింగ్ యొక్క వాస్తవ శక్తి _మోడల్స్ శిక్షణ_ లోనిది. మోడల్స్ పాత డేటా పై శిక్షణ పొందుతాయి, డేటా సంబంధాలను ఆటోమేటిక్‌గా క్యాప్చర్ చేయడానికి, మరియు కొత్త డేటా కోసం ఫలితాలను అంచనా వేయడానికి వీలు కల్పిస్తాయి, మోడల్ ముందు చూడని డేటా కావు. +ఇప్పుడు మీరు ML కోసం రిగ్రెషన్ లో మరింత లోతుగా కావాలనుకుంటున్నారు. విజువలైజేషన్ డేటాను అర్థం చేసుకోవటానికి ఉపయోగపడుతుండగా, యధార్థ శక్తి మిషన్ లెర్నింగ్ లో _మోడల్స్ శిక్షణ_ లో ఉంటుంది. మోడల్స్ చరిత్రాత్మక డేటా పై శిక్షణ పొందుతాయి, ఆటోమేటిగ్గా డేటా ఆధారిత సంబంధాలను గమనిస్తాయి, మరియు కొత్త డేటా కోసం ఫలితాలను అంచనా వేయగలవు, ఆ మోడల్ ముందుగా చూడని డేటా. -ఈ పాఠంలో, మీరు రెండు రకాల రిగ్రెషన్ల గురించి మెరుపు అవుతారు: _మూల లీనియర్ రిగ్రెషన్_ మరియు _పోలినోమియల్ రిగ్రెషన్_, వీటి పక్కన ఈ సాంకేతికతలకు మత్తమెరుగైన గణితంను తెలుసుకుంటారు. ఆ మోడల్స్ మనకు వేర్వేరు ఇన్‌పుట్ డేటాపై ఆధారపడి పంక్‌పిన్ ధరలను అంచనా వేయడానికి అనుమతిస్తాయి. +ఈ పాఠంలో, మీరు రెండు రకాల రిగ్రెషన్ గురించి తెలుసుకుంటారు: _బేసిక్ లీనియర్ రిగ్రెషన్_ మరియు _పాలినోమియల్ రిగ్రెషన్_, మరియు ఈ సాంకేతికతల క్రింద ఉన్న కొంత గణితాన్ని కూడా తెలుసుకుంటారు. ఆ మోడల్స్ మనం pumpkin ధరలను వేర్వేరు ఇన్పుట్ డేటాకు అనుగుణంగా అంచనా వేయగలుగుతాయి. [![ML for beginners - Understanding Linear Regression](https://img.youtube.com/vi/CRxFT8oTDMg/0.jpg)](https://youtu.be/CRxFT8oTDMg "ML for beginners - Understanding Linear Regression") -> 🎥 లీనియర్ రిగ్రెషన్ యొక్క చిన్న వీడియో ఓవర్వ్యూ కోసం పై చిత్రాన్నిపై క్లిక్ చేయండి. +> 🎥 లీనియర్ రిగ్రెషన్ యొక్క సంక్షిప్త వీడియో అవలోకనానికి పై చిత్రంపై క్లిక్ చేయండి. -> ఈ సిలబస్ అంతటా, మనం గణితంలో కనీస పరిమిత జ్ఞానం కలిగి ఉన్నవారిగా భావించి, ఇతర రంగాల నుండే వచ్చే విద్యార్థులకు సులభంగా అర్థం అవ్వాలనే ఉద్దేశంతో, గమనికలు, 🧮 సూచనలు, చిత్రలేఖనాలు మరియు ఇతర శిక్షణా పరికరాలతో సహాయపడుతాము. +> ఈ పాఠ్యాంశంలో, గణితంపై తక్కువ పరిజ్ఞానం ఉన్న వారికి కూడా అర్థమయ్యేలా చేసేందుకు ప్రత్యేక శ్రద్ధ వహించి, గమనికలు, 🧮 కాలౌట్లు, చిత్రాలు మరియు ఇతర విద్యా సాధనాలను ఉపయోగిస్తున్నాం. -### ముందస్తు అవగాహన +### ముందు తెలుసుకోవలసినవి -మీరు ఇప్పటివరకు పరిశీలిస్తున్న పంక్‌పిన్ డేటా నిర్మాణాన్ని బాగా తెలుసుకుని ఉండాలి. ఈ పాఠంలోని _notebook.ipynb_ ఫైల్‌లో అది ముందే లోడ్ చేసి శుభ్రపరిచిన రూపంలో ఉంటుంది. ఆ ఫైలులో, పంక్‌పిన్ ధర కొత్త డేటా ఫ్రేమ్‌లో బయటపడ్డాయి, బషెల్‌కు సంబంధించి. మీరు Visual Studio Code లో కర్నల్స్ లో ఈ నోట్బుక్స్ ను అమలు చేయగలదని నిర్ధారించుకోండి. +మీరెప్పటికైనా pumpkin డేటా నిర్మాణం గురించి అవగాహన కలిగి ఉండాలి. ఈ పాఠంలోని _notebook.ipynb_ ఫైల్ లో అది ముందుగా లోడ్ చేయబడింది మరియు శుభ్రపరిచింది. ఆ ఫైలులో, pumpkin ధర బుషెల్ కింద ప్రదర్శించబడింది. మీరు Visual Studio Code లో కర్నల్స్ లో ఈ నోట్‌బుక్స్ నడిపేందుకు సిద్దంగా ఉండాలి. -### సిద్ధంగా ఉండటం +### సిద్ధం కావటం -గమనికగా, మీరు ఈ డేటాను లోడ్ చేయడం ఆ డేటాపై ప్రశ్నలు అడగడానికి సిధ్ధమవుతున్నారు. +మరలా గుర్తు పెట్టుకోండి, మీరు ఈ డేటాను లోడ్ చేస్తున్నప్పుడు దానిపై ప్రశ్నలు అడగటానికి. -- పంక్‌పిన్‌లు కొనడానికి ఉత్తమ సమయం ఎప్పుడు? -- మినియేచర్ పంక్‌పిన్‌ల కేసు ధర ఎంత ఆశించవచ్చు? -- వాటిని అర్థ బషెల్ కార్టన్లలో కొనాలా లేదా 1 1/9 బషెల్ బాక్స్ ద్వారా కొనాలా? +- pumpkin లను కొనుగోలు చేయడానికి ఉత్తమ సమయం ఎప్పుడు? +- మినీచర్ pumpkin ల విలువ ఎంత ఉంటుందనే అంచనా? +- వాటిని హాఫ్-బుషెల్ బాస్కెట్లలో కొనాలి లేదా 1 1/9 బుషెల్ బాక్స్ ద్వారా కొనవలసినదా? +మరింత సమాచారం కోసం ఈ డేటాను వడపోయింది. -ఈ డేటాను మరింత అన్వేషించుకుందాం. +మునుపటి పాఠంలో, మీరు ఒక Pandas డేటాఫ్రేమ్ సృష్టించి, మూల dataset నుండి కొంత భాగాన్ని, ధరను బుషెల్ ద్వారా సాంద్రీకృతం చేసిన డేటాతో నింపారు. అయినప్పటికీ, మీరు సుమారు 400 డేటా పాయింట్లు మాత్రమే సేకరించగలిగారు, అవి కేవలం వేసవి నెలలకు సంబంధించినవి. -గత పాఠంలో, మీరు పాండాస్ డేటా ఫ్రేమ్ సృష్టించి, ఆదిలో భాగాన్నిఉండే డేటాసెట్ నుండి కొంత భాగాన్ని అద్దకెక్కించారు, ధరలను బషెల్ కు ప్రమాణీకరించారు. అయితే అది కేవలం సుమారు 400 డేటాపాయింట్ల వరకు మరియు కేవలం శరదృతువు నెలల వరకు మాత్రమే పరిమితం అయ్యింది. +ఈ పాఠంకు సంబంధించిన నోట్‌బుక్ లో ముందుగా లోడ్ చేసిన డేటాను చూడండి. డేటా ముందుగా లోడ్ చేయబడింది మరియు మొదటి స్కాటర్ప్లాట్ నెలల డేటాను చూపిస్తుంది. మరింత శుభ్రపరచడం ద్వారా డేటా స్వభావం గురించి మరింత వివరాలు తెలుసుకోవచ్చు. -ఈ పాఠంలో ప్రీ-లోడ్ చేసిన డేటాతో కూడిన నోట్బుక్ లో డేటాను చూడండి. డేటా ముందేనే లోడ్ చేసి, నెల డేటాను చూపించే ప్రారంభ స్కాటర్ప్లాట్ రూపొందించారు. మనం దాన్ని మరింత శుభ్రపరిచి డేటా స్వభావం గురించి మరింత వివరాలు దొరకొచ్చు. +## లీనియర్ రిగ్రెషన్ రేఖ -## లీనియర్ రిగ్రెషన్ లైన్ +మీరు పాఠం 1 లో నేర్చుకున్నట్లుగా, లీనియర్ రిగ్రెషన్ వ్యాయామంలో ఉద్దేశ్యం: -పాఠం 1లో నేర్చుకున్నట్లుగా, లీనియర్ రిగ్రెషన్ వ్యాయామం యొక్క లక్ష్యం ఒక లైన్ ని ప్లోట్ చేయడమే: +- **వేరియబుల్ సంబంధాలను చూపడం**. వేరియబుల్స్ మధ్య సంబంధాన్ని చూపించడం +- **అంచనాలు చేయడం**. కొత్త డేటా పాయింట్ ఆ రేఖకు సంబంధించిన ఎక్కడ పడుతుందో ఖచ్చితంగా అంచనా వేయడం -- **లక్షణాల మధ్య సంబంధాలను చూపించాలి**. వేరియబుల్స్ మధ్య సంబంధాన్ని చూపించాలి -- **అంచనాలు చేయాలి**. కొత్త డేటాపాయింట్ ఆ లైన్ కింద ఎక్కడ పడుతుందో ఖచ్చితంగా అంచనా వేయాలి +**లీస్ట్-స్క్వేర్ రిగ్రెషన్** ఈ రకం రేఖను గీసే విషయంలో సాంప్రదాయకం. "లీస్ట్-స్క్వేర్" అనగా మన మోడల్ లో మొత్తం లోపం పరిమాణాన్ని తగ్గించడం. ప్రతి డేటా పాయింట్ కు నిజమైన పాయింట్ మరియు మన రిగ్రెషన్ రేఖ మధ్య లంబ దూరం (రెసిడ్యువల్ అని పిలవబడేది) కొలుస్తాం. -**లీస్ట్-స్క్వాయర్స్ రిగ్రెషన్** సాధారణంగా ఇలాంటి రేఖను గీస్తుంది. "లీస్ట్-స్క్వాయర్స్" పదం మన మోడల్ లో సంపూర్ణ లోపాన్ని తగ్గించే ప్రక్రియకు సూచిస్తుంది. ప్రతి డాటాపాయింట్ కి, మనము ఉన్న లైన్ నుండి అసలు డాటాపాయింట్ మధ్య నిలువు దూరం (రెస్టిడ్యూల్) ను కొలుస్తాము. +మా ఉద్దేశ్యం ఆ దూరాలను చతురస్రం చెయ్యడం రెండు కారణాల వల్ల: -మనం ఆ దూరాలను రెండు ముఖ్య కారణాల కోసం స్క్వేర్ (వరుస కీ పెడతాము): +1. **గదిలో కాకుండా పరిమాణం:** -5 లోపం ను +5 లోపంతో సమానంగా చూడాలనుకుంటాం. చతురస్రం ఈ విలువలను సానుకూలంగా మార్చుతుంది. -1. **దిశ కన్నా పరిమాణం ముఖ్యం**: -5 లోపం, +5 లోపం సమానంగా చూడాలి. స్క్వేర్ చేయడం వల్ల అన్ని విలువలు పాజిటివ్ అవుతాయి. +2. **అగ్రస్థితి విలువలకు కఠినతరం:** చతురస్రం పెద్ద లోపాలకు ఎక్కువ బరువు ఇస్తుంది, కనుక రేఖ దూరం ఉన్న పాయింట్లకి దగ్గరగా ఉండటం అవసరం. -2. **బాహ్య విలక్షణాలను శిక్షించడం**: పెద్ద లోపాలకు మరింత భారం ఇస్తుంది, తద్వారా లైన్ చాలా దూరంలో ఉన్న పాయింట్లకు దగ్గరగా ఉంటుంది. +ఇక మొత్తం చతురస్రాలను జోడిస్తాం. ఈ మొత్తాన్ని గరిష్టంగా తగ్గించే ప్రత్యేక రేఖ కనుగొనాల్సి ఉంటుంది — అందుకే దీన్ని "లీస్ట్-స్క్వేర్" అంటారు. -తరువాత, అన్ని స్క్వేర్ విలువలను తిసికోవచ్చు. మన లక్ష్యం ఈ మొత్తాన్ని కనీసం చేసే నిర్దిష్ట రేఖను కనుగొనడం. - -> **🧮 నాకు గణితం చూపించు** -> -> ఈ లైన్, _ఉత్తమ అనుపాత రేఖ_ అనే పేరు తో, [సమీయం ద్వారా వ్రాయబడుతుంది](https://en.wikipedia.org/wiki/Simple_linear_regression): +> **🧮 గణితం చూపించండి** +> +> ఈ రేఖను, _సర్వోత్తమ సరిపోలిక రేఖ_ అనే పిలుస్తారు, దీన్ని [సమీకరణ](https://en.wikipedia.org/wiki/Simple_linear_regression) రూపంలో ఇలా తెలిపవచ్చు: > > ``` > Y = a + bX > ``` > -> `X` అనేది 'వివరణాత్మక వేరియబుల్'. `Y` అనేది 'ఆధారిత వేరియబుల్'. లైన్ యొక్క వంపు `b` మరియు `a` అనేది y-ఇంటెర్ప్సెప్టు, అంటే `X = 0` ఉన్నప్పుడు `Y` విలువ. +> `X` అనగా ‘వివరణాత్మక వేరియబుల్’. `Y` అనగా 'ఆధారపడిన వేరియబుల్'. రేఖ యొక్క దిక్కు `b` కాగా, `a` అనగా వై-ఇంటర్‌సెప్టు, అంటే `X = 0` ఉన్నప్పుడు `Y` విలువ. > ->![దూరం ఊహించు](../../../../translated_images/te/slope.f3c9d5910ddbfcf9.webp) +>![calculate the slope](../../../../translated_images/te/slope.f3c9d5910ddbfcf9.webp) > -> ముందుగా వంపు `b` ను గణించండి. ఇన్ఫోగ్రాఫిక్ [జెన్ లూపర్](https://twitter.com/jenlooper) చేత +> ముందుగా, దిక్కు `b` ను లెక్కించండి. ఇన్ఫోగ్రాఫిక్ రచయిత [Jen Looper](https://twitter.com/jenlooper) > -> మరి, మన పంక్‌పిన్ డేటా యొక్క ప్రాథమిక ప్రశ్నను ఉద్దేశించి: "నెల వారీగా ఒక బషెల్ పంక్‌పిన్ ధరను అంచనా వేయండి", ఇక్కడ `X` ధరకి మరియు `Y` అమ్మకపు నెలకి సూచిస్తుందని అనుకోండి. +> మరో మాటలో చెప్పాలంటే, మన pumpkin డేటా యొక్క అసలు ప్రశ్న: "నెలల వారీగా బుషెల్ కొరకు pumpkin ధర అంచనా వేయండి", ఇక్కడ `X` ధరకు మరియు `Y` అమ్మకపు నెలకు సూచిస్తుంది. > ->![సమీకరణ పూర్తి చేయండి](../../../../translated_images/te/calculation.a209813050a1ddb1.webp) +>![complete the equation](../../../../translated_images/te/calculation.a209813050a1ddb1.webp) > -> Y విలువను గణించండి. మీరు సుమారు $4 చెల్లిస్తున్నారు అంటే, అది ఏప్రిల్ కావచ్చు! ఇన్ఫోగ్రాఫిక్ [జెన్ లూపర్](https://twitter.com/jenlooper) చేత +> `Y` విలువను లెక్కించండి. మీరు సుమారు $4 చుట్టూ చెల్లిస్తుంటే, అది తప్పకుండా ఏప్రిల్! ఇన్ఫోగ్రాఫిక్ రచయిత [Jen Looper](https://twitter.com/jenlooper) > -> లైన్ గణించే గణితం వంపును చూపించాలి, ఇది ఇంటెర్ప్సెప్టును ఆధారపడి ఉంటుంది, లేదా `X=0` ఉన్నప్పుడు `Y` స్థానం. +> ఈ రేఖ గణితంలో దిక్కు తెలిసినప్పుడు, ఇది ఇంటర్‌సెప్టు పరంగా కూడా ఆధారపడుతుంటుంది, అప్పుడు `X = 0` వద్ద `Y` విలువ ఎక్కడ ఉంటుంది. > -> ఈ విలువల గణనా పద్ధతి మీరు [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html) వెబ్ సైట్ లో చూడవచ్చు. అంకెలు లైను పై ప్రభావం ఎలా ఉందో చూసేందుకు [ఈ లీస్ట్-స్క్వాయర్స్ కాలిక్యులేటర్](https://www.mathsisfun.com/data/least-squares-calculator.html) ను కూడా సందర్శించండి. +> గణిత లెక్కింపు విధానాన్ని [Math is Fun](https://www.mathsisfun.com/data/least-squares-regression.html) వెబ్‌సైట్ లో చూడవచ్చు. అలాగే ఈ గణకాన్ని [Least-squares calculator](https://www.mathsisfun.com/data/least-squares-calculator.html) లో ప్రయత్నించి అర్థం చేసుకోవచ్చు. -## సంబంధం (కොරిలేషన్) +## సహసంబంధం -ఇంకో టెర్మ్ అర్థం చేసుకోవాలి అంటే **సంబంధ గుణకం** (Correlation Coefficient) ఒక X మరియు Y వేరియబుల్స్ కొరకు. స్కాటర్ప్లాట్ ఉపయోగించి మీరు దీన్ని తక్షణం చూడవచ్చు. ఒక ఆకర్షణీయమైన సరళమైన రేఖలో వివరించిన డేటాపాయింట్లు ఉన్న ప్లాట్ అధిక సంబంధాన్ని సూచిస్తుంది, కానీ X మరియు Y మధ్య అన్ని దిశలలో వ్యాపించిన పాయింట్లు ఉన్న ప్లాట్ తక్కువ సంబంధం ఉన్నదని సూచిస్తుంది. +మరొక అర్థం చేసుకోవలసిన పదం **కోరలేషన్ కోఎఫిషియెంట్**. ఇచ్చిన X మరియు Y వేరియబుల్స్ మధ్య ఉన్న సంబంధాన్ని సూచిస్తుంది. స్కాటర్ప్లాట్ ద్వారా మీరు ఈ కోఎఫిషియెంట్ ను వేగంగా చూడవచ్చు. ఒక రేఖల్లో సమతుల్యంగా పాయింట్లు ఉన్న స్కాటర్ప్లాట్ కు అధిక సహసంబంధం ఉంటుంది, కానీ ఎక్కడేమాలో బల్కంగా పాయింట్లు ఉంటే తక్కువ సహసంబంధం ఉంటుంది. -చెత్తతక్కువ లోపాల లీస్ట్-స్క్వాయర్స్ రిగ్రెషన్ పద్ధతితో అధిక (0 కాకుండా 1కి సమీపంలో ఉన్న) సంబంధ గుణకం ఉన్న మోడల్ మంచి లీనియర్ రిగ్రెషన్ మోడల్ అవుతుంది. +మంచి లీనియర్ రిగ్రెషన్ మోడల్ అంటే ఇది ఉంటుంది: లీస్ట్-స్క్వేర్ రిగ్రెషన్ పద్ధతి ఉపయోగించి అధిక (0 కంటే 1 కు దగ్గరగా) సహసంబంధ కోఎఫిషియెంట్ తో కూడిన రేఖ. -✅ ఈ పాఠానికి తోడు ఉన్న నోట్బుక్ నడపండి మరియు నెల నుండి ధర వరకూ స్కాటర్ప్లాట్ పరిశీలించండి. మీరు చూసిన స్కాటర్ప్లాట్ ప్రకారం, పంక్‌పిన్ అమ్మకాల నెల మరియు ధర సంబంధం అధిక కొరకు లేదా తక్కువ కొరకు అనిపిస్తుందా? మీరు `నెల` కన్నా మరింత సున్నితమైన కొలత ఉపయోగిస్తే (ఉదా: *సంవత్సరపు రోజు* (అంటే సంవత్సర ప్రారంభం నుండి రోజుల సంఖ్య)), అది మారుతుందా? +✅ ఈ పాఠానికి సంభందించిన నోట్‌బుక్ నడపండి మరియు నెల నుండి ధర వైపు స్కాటర్ప్లాట్ చూడండి. pumpkin అమ్మకాల కోసం నెల మరియు ధర మధ్య సంబంధం మీరు చూసిన స్కాటర్ప్లాట్ ద్వారా అధికం లేదా తక్కువం అనిపిస్తుందా? మీరు `నెల` బదులు *సంవత్సరంలో రోజు* (అంటే సంవత్సర ప్రారంభం నుండి వివిధ రోజుల సంఖ్య) ఉపయోగిస్తే ఇది మారుతుందా? -క్రింది కోడ్ లో, మనం డేటాను శుభ్రం చేసామని, మరియు `new_pumpkins` అనే డేటా ఫ్రేమ్ తీసుకున్నామని అంగీకరిద్దాం, ఇది క్రింది విధంగా ఉంటుంది: +కోడ్ లో, మేము డేటాను శుభ్రం చేశామని మరియు `new_pumpkins` అనే డేటాఫ్రేమ్ ను పొందాము అని అనుకుంటున్నాము, ఈ క్రింద ఇవ్వబడింది: -ID | నెల | సంవత్సరపు రోజు | జాతి | నగరం | ప్యాకేజీ | తక్కువ ధర | ఎక్కువ ధర | ధర +ID | నెల | సంవత్సరం రోజు | వేరియటీ | నగరం | ప్యాకేజీ | తక్కువ ధర | ఎక్కువ ధర | ధర ---|-------|-----------|---------|------|---------|-----------|------------|------- -70 | 9 | 267 | PIE TYPE | BALTIMORE | 1 1/9 బషెల్ కార్టన్లు | 15.0 | 15.0 | 13.636364 -71 | 9 | 267 | PIE TYPE | BALTIMORE | 1 1/9 బషెల్ కార్టన్లు | 18.0 | 18.0 | 16.363636 -72 | 10 | 274 | PIE TYPE | BALTIMORE | 1 1/9 బషెల్ కార్టన్లు | 18.0 | 18.0 | 16.363636 -73 | 10 | 274 | PIE TYPE | BALTIMORE | 1 1/9 బషెల్ కార్టన్లు | 17.0 | 17.0 | 15.454545 -74 | 10 | 281 | PIE TYPE | BALTIMORE | 1 1/9 బషెల్ కార్టన్లు | 15.0 | 15.0 | 13.636364 +70 | 9 | 267 | PIE TYPE | BALTIMORE | 1 1/9 బుషెల్ కార్టన్లు | 15.0 | 15.0 | 13.636364 +71 | 9 | 267 | PIE TYPE | BALTIMORE | 1 1/9 బుషెల్ కార్టన్లు | 18.0 | 18.0 | 16.363636 +72 | 10 | 274 | PIE TYPE | BALTIMORE | 1 1/9 బుషెల్ కార్టన్లు | 18.0 | 18.0 | 16.363636 +73 | 10 | 274 | PIE TYPE | BALTIMORE | 1 1/9 బుషెల్ కార్టన్లు | 17.0 | 17.0 | 15.454545 +74 | 10 | 281 | PIE TYPE | BALTIMORE | 1 1/9 బుషెల్ కార్టన్లు | 15.0 | 15.0 | 13.636364 -> డేటాను శుభ్రం చేసే కోడ్ [`notebook.ipynb`](notebook.ipynb) లో అందుబాటులో ఉంది. గత పాఠంలో చేసినట్లే శుభ్రత చర్యలు మనం చేశాము, అలాగే క్రింది వ్యక్తీకరణతో `DayOfYear` కాలమ్ లెక్కించాము: +> డేటాను శుభ్రం చేయడానికి కోడ్ [`notebook.ipynb`](notebook.ipynb) లో ఉన్నాయి. మేము గత పాఠంలో చేయబడిన శుభ్రపరిచే దశలను పాటించి, క్రింది సూత్రం ఉపయోగించి `DayOfYear` కాలమ్ లెక్కించాం: ```python day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days) ``` -ఇప్పుడు మీరు లీనియర్ రిగ్రెషన్ వెనుక గణితాన్ని అర్థం చేసుకున్న తర్వాత, రిగ్రెషన్ మోడల్ సృష్టిద్దాం, పంక్‌పిన్ ప్యాకేజీలలో ఏది ఉత్తమ ధర కలిగిందో అంచనా వేయడానికి ప్రయత్నిద్దాం. పంక్‌పిన్ ప్యాచ్ కు కొనుగోలు చేసే వారు తమ కొనుగోళ్లను సరిగ్గా సమన్వయించడానికి ఈ సమాచారము కావచ్చు. +లీనియర్ రిగ్రెషన్ వెనకని గణితాన్ని అర్థం చేసుకున్న తర్వాత, ఏ pumpkin ప్యాకేజీ ఉత్తమ ధర తీసుకొస్తుందో అంచనా వేయడానికి రిగ్రెషన్ మోడల్ సృష్టిద్దాం. ఎవరైనా అనుకొనేవారు తమ హాలిడే pumpkin ప్యాచ్ కోసం ఈ సమాచారం ఉపయోగించి కొనుగోలు ఆప్టిమైజ్ చేసుకోవచ్చు. -## సంబంధం కోసం వెతుకుతాము +## సహసంబంధం కోసం శోధన [![ML for beginners - Looking for Correlation: The Key to Linear Regression](https://img.youtube.com/vi/uoRq-lW2eQo/0.jpg)](https://youtu.be/uoRq-lW2eQo "ML for beginners - Looking for Correlation: The Key to Linear Regression") -> 🎥 సంబంధం గురించి చిన్న వీడియో సమీక్ష కోసం పై చిత్రంపై క్లిక్ చేయండి. +> 🎥 సహసంబంధం యొక్క సంక్షిప్త వీడియో అవలోకనానికి పై చిత్రంపై క్లిక్ చేయండి. -గత పాఠం నుండి మీరు కనిపెట్టిన విధంగా, వేర్వేరు నెలల సగటు ధర ఇలా ఉంటుంది: +మునుపటి పాఠం నుండి మీరు అతివేగంగా చూసినట్లయితే, వేర్వేరు నెలల సగటు ధర ఇలానే ఉంది: Average price by month -ఇది కొంత సంబంధం ఉండాలని సూచిస్తుంది, మరియు మనం లీనియర్ రిగ్రెషన్ మోడల్ శిక్షణ ఇస్తూ, `నెల` మరియు `ధర` లేదా `సంవత్సరపు రోజు` మరియు `ధర` మధ్య సంబంధాన్ని అంచనా వేయవచ్చు. క్రింది స్కాటర్ప్లాట్ ఆ చివరివిషయాన్ని చూపుతుంది: +దీనివలన కొంత సహసంబంధం ఉందనే భావన వస్తుంది, మరియు మనం `నెల` మరియు `ధర` మధ్య, లేదా `DayOfYear` మరియు `ధర` మధ్య సంబంధాన్ని అంచనా వేసేందుకు లీనియర్ రిగ్రెషన్ మోడల్ శిక్షణ ఇస్తే మంచిది. క్రింద ఉన్న స్కాటర్ ప్లాట్ చివరిదాన్ని చూపిస్తుంది: Scatter plot of Price vs. Day of Year -`corr` ఫంక్షన్ ఉపయోగించి సంబంధం చూసేద్దాం: +`corr` ఫంక్షన్ ఉపయోగించి సహసంబంధం ఉందో లేదో చూద్దాం: ```python print(new_pumpkins['Month'].corr(new_pumpkins['Price'])) print(new_pumpkins['DayOfYear'].corr(new_pumpkins['Price'])) ``` -సంబంధం తక్కువగా -0.15 `నెల` పరిధిలో, మరియు -0.17 `DayOfMonth` లో ఉంది, కానీ మరొక ముఖ్యమైన సంబంధం ఉండొచ్చు. వివిధ పంక్‌పిన్ వేరియటీలకు వేర్వేరు ధర క్లస్టర్లు కనిపిస్తున్నాయి. ఈ ఊహను నిర్ధారించడానికి, ప్రతి వర్గానికి వేరే రంగు ఉపయోగించి స్కాటర్ప్లాట్ ప్లోట్ చేద్దాం. `scatter` ఫంక్షన్ కి `ax` ప్యారామీటర్ ఇవ్వడంతో మనం అన్ని పాయింట్లను ఒకే గ్రాఫ్ పై చూపించవచ్చు: +సహసంబంధం కొంచెం తక్కువగా కనిపిస్తోంది, `నెల` పరంగా -0.15 మరియు `DayOfYear` పరంగా -0.17. కాని మరో ముఖ్యమైన సంబంధం ఉండొచ్చు. వేర్వేరు pumpkin వేరియెటీలు ధరకు ప్రభావం చూపిస్తాయి. ఈ ఊహను ధృవీకరించడానికి, ప్రతి pumpkin వర్గాన్ని వేరే రంగులో చిత్రిద్దాం. `ax` పేరామితి ద్వారా `scatter` ఫంక్షన్ లో ఇచ్చి అన్ని పాయింట్లను ఒకే గ్రాఫ్ లో చూపవచ్చు: ```python ax=None @@ -142,7 +141,7 @@ for i,var in enumerate(new_pumpkins['Variety'].unique()): Scatter plot of Price vs. Day of Year -మన పరిశోధన సూచిస్తుంది వేరియిటీ మొత్త ధరపై ఎక్కువ ప్రభావం చూపుతుంది, అమ్మకపు తేదీ కంటే. మనం దీన్ని బార్ గ్రాఫ్ తో కూడా చూడవచ్చు: +మా పరిశీలన ప్రకారం, pumpkin వేరియెటీ ధరపై యధార్థ విక్రయ తేదీ కంటే ఎక్కువ ప్రభావం చూపుతుంది. దీనిని బార్ గ్రాఫ్ తో చూడొచ్చు: ```python new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar') @@ -150,7 +149,7 @@ new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar') Bar graph of price vs variety -ఇప్పుడే ఒక పంక్‌పిన్ వేరియటీ 'పై టైపు' మీద మాత్రమే దృష్టి సారిద్దాం, తేదీ ధరపై ఏమి ప్రభావం చూపుతుందో చూద్దాం: +ఇప్పుడు, ‘pie type’ అనే ఒకే pumpkin వేరియెటీపైన దృష్టి పెట్టి, అమ్మకాల తేదీ ధరపై ఏ ప్రభావం ఉందో చూద్దాం: ```python pie_pumpkins = new_pumpkins[new_pumpkins['Variety']=='PIE TYPE'] @@ -158,24 +157,24 @@ pie_pumpkins.plot.scatter('DayOfYear','Price') ``` Scatter plot of Price vs. Day of Year -`corr` ఫంక్షన్ ఉపయోగించి `ధర` మరియు `సంవత్సరపు రోజు` మధ్య సంబంధాన్ని లెక్కిస్తే, సుమారు `-0.27` వస్తుంది - అంటే శిక్షణ మోడల్ అంచనాకు అనుకూలం. +ఇప్పుడు `corr` ఫంక్షన్ ఉపయోగించి `Price` మరియు `DayOfYear` మధ్య సహసంబంధం లెక్కించగా, అది సుమారు `-0.27` ఉంటుంది. అంటే శిక్షణకు అనువైన మోడల్ తయారు చేయవచ్చు. -> లీనియర్ రిగ్రెషన్ మోడల్ శిక్షణకు ముందే, డేటా శుభ్రంగా ఉందని నిర్ధారించుకోవాలి. లీనియర్ రిగ్రెషన్ లో మిస్సింగ్ విలువలతో సమస్య ఉంటుంది, కాబట్టి ఖాళీ సెల్స్ తొలగించడం మంచిది: +> లీనియర్ రిగ్రెషన్ మోడల్ శిక్షణకు ముందు డేటా పద్ధతి అమర్చడమూ చాలా ముఖ్యం. లీనియర్ రిగ్రెషన్ లోపభూయిస్థితులు ఉన్న వాల్యూస్ తో బాగా పనిచేయదు, కాబట్టి ఖాళీ శ్రేణులన్నిటినీ తొలగించడం మంచిది: ```python pie_pumpkins.dropna(inplace=True) pie_pumpkins.info() ``` -మరో మార్గం ఖాళీ విలువలను ఆ కాలమ్ యొక్క సగటు విలువతో భర్తీ చేయడమవుతుంది. +మరొక మార్గం ఖాళీ విలువలను ఆ కాలమ్ యొక్క సగటు విలువలతో భర్తీ చేయడం. -## సాదా లీనియర్ రిగ్రెషన్ +## సింపుల్ లీనియర్ రిగ్రెషన్ [![ML for beginners - Linear and Polynomial Regression using Scikit-learn](https://img.youtube.com/vi/e4c_UP2fSjg/0.jpg)](https://youtu.be/e4c_UP2fSjg "ML for beginners - Linear and Polynomial Regression using Scikit-learn") -> 🎥 లీనియర్ మరియు పోలినోమియల్ రిగ్రెషన్ పై చిన్న వీడియో సమీక్ష కోసం పై చిత్రాన్నిపై క్లిక్ చేయండి. +> 🎥 లీనియర్ మరియు పాలినోమియల్ రిగ్రెషన్ పై సంక్షిప్త వీడియో అవలోకనానికి పై చిత్రంపై క్లిక్ చేయండి. -మన లీనియర్ రిగ్రెషన్ మోడల్ శిక్షణ కోసం **స్కికిట్-లెర్న్** లైబ్రరీ ఉపయోగిస్తాము. +మన లీనియర్ రిగ్రెషన్ మోడల్ శిక్షణకు, మనం **Scikit-learn** లైబ్రరీని ఉపయోగిస్తాము. ```python from sklearn.linear_model import LinearRegression @@ -183,31 +182,31 @@ from sklearn.metrics import mean_squared_error from sklearn.model_selection import train_test_split ``` -ముందుగా ఇన్‌పుట్ విలువలు (లక్షణాలు) మరియు అంచనా వేయవలసిన అవుట్‌పుట్ (లేబుల్) అన్నింటిని విడగొట్టి numpy అర్రేలుగా విడగొడతాము: +ముందుగా ఇన్పుట్ విలువలు (లక్షణాలు) మరియు అభ్యర్థిత ఔట్పుట్ (లేబుల్) ను వేరే numpy అర్రేలుగా విడగొడతాము: ```python X = pie_pumpkins['DayOfYear'].to_numpy().reshape(-1,1) y = pie_pumpkins['Price'] ``` -> గమనిక: లీనియర్ రిగ్రెషన్ ప్యాకేజీ సరిగా అర్థం చేసుకునేందుకు ఇన్‌పుట్ డేటాకు `reshape` నిర్వహించాల్సి వచ్చింది. లీనియర్ రిగ్రెషన్ 2D అర్రే అందుకోవాలని కోరుతుంది, ప్రతి వరుస ఒక లక్షణాల వెక్టార్‌కు సరిపోయింది. మన కేసులో, ఒకే ఒక ఇన్‌పుట్ ఉన్నందున N×1 శేప్ ఉన్న అర్రే కావాలి, ఇక్కడ N డేటాసెట్ పరిమాణం. +> ఇక్కడ గమనించండి, లీనియర్ రిగ్రెషన్ ప్యాకేజీకు సరైన ఫార్మాట్ లో డేటా ఇచ్చేందుకు `reshape` అవసరం. లీనియర్ రిగ్రెషన్ 2D అర్రే (పంక్తులలో ఇన్పుట్ లక్షణాల వెక్టర్) కోరుతుంది. మన వద్ద ఒక్కొ ఇన్పుట్ మాత్రమే ఉన్నందున, N×1 ఆకృతి ఉన్న అర్రే అవసరం, ఇక్కడ N అనగా డేటా పరిమాణం. -త్వరలో, శిక్షణ మరియు పరీక్ష డేటాసెట్స్ గా భేధించి, శిక్షణ తర్వాత మోడల్ ని ధృవీకరించవలసి ఉంటుంది: +తర్వాత, శిక్షణ మరియు పరీక్ష డేటాసెట్ లుగా డేటా పంచాలి, అంతేకాదు శిక్షణ తరువాత మనం మోడల్ ను పరీక్షించగలుగుతాము: ```python X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0) ``` -చివరకు, లీనియర్ రిగ్రెషన్ మోడల్ శిక్షణ కేవలం రెండు కోడ్ లైన్లలో జరుగుతుంది. `LinearRegression` ఆబ్జెక్ట్ నిర్వచించి, దాన్ని `fit` పద్ధతితో మన డేటాకు అన్వయిస్తాము: +చివరకు, లీనియర్ రిగ్రెషన్ మోడల్ ను శిక్షణ చేయడం కేవలం రెండు కోడ్ లైన్లలో చేస్తారు. ముందుగా `LinearRegression` ఆబ్జెక్ట్ ను నిర్వచించి, `fit` మేతడ్ తో డేటాకు సరిపొడచేస్తారు: ```python lin_reg = LinearRegression() lin_reg.fit(X_train,y_train) ``` -`fit` చేసిన తర్వాత `LinearRegression` ఆబ్జెక్ట్ లో రిగ్రెషన్ యొక్క అన్నీ కోఎఫిషియెంట్లు ఉంటాయి, అవి `.coef_` ప్రాపర్టీ ద్వారా అక్సెస్ చేయవచ్చు. మన సందర్భంలో, ఒకే ఒక కోఎఫిషియెంట్ ఉంది, అది సుమారు `-0.017` ఉండాలి. అంటే ధరలు సమయానికి కొద్దిగా తగ్గుతున్నట్టు చూపిస్తుంది, కానీ చాలా కాదు, రోజుకు సుమారు 2 సెంట్లు వరకు. రిగ్రెషన్ యొక్క Y-అక్షాన్ని ఇంతర్‌సెక్షన్ పాయింట్ కూడా `lin_reg.intercept_` ద్వారా క్రిందిచూడవచ్చు - ఇది మన కేసులో సుమారు `21` ఉంటుంది, సంవత్సరం ఆరంభంలో ధరను సూచిస్తుంది. +`fit` చేసిన తర్వాత `LinearRegression` ఆబ్జెక్ట్ అన్ని రిగ్రెషన్ యొక్క గుణకాలాన్ని కలిగి ఉంటుంది, దాన్ని `.coef_` ప్రోపర్టీ ద్వారా యాక్సెస్ చేయవచ్చు. మన సందర్భంలో, ఒక్క గుణకం ఉంటుంది, ఇది సుమారు `-0.017` ఉండాలి. దీని అర్థం, ధరలు సమయం గడచిన కొద్దిగా తగ్గుతున్నట్లు కనిపిస్తుంది, కానీ ఎక్కువగా కాదు, రోజుకు సుమారు 2 సెంట్లు. రిగ్రెషన్ రేఖ Y-అక్షంతో కలిసే బిందువు `lin_reg.intercept_` ద్వారా కూడా యాక్సెస్ చేయవచ్చు - ఇది మన సందర్భంలో సుమారు `21` ఉంటుంది, సంవత్సర ప్రారంభంలో ధరను సూచిస్తుంది. -మన మోడల్ ఎంత ఖచ్చితమో చూసేందుకు, మనం టెస్ట్ డేటాసెట్ పై ధరలను అంచనా వేయవచ్చు, ఆ తరువాత మన అంచనాలు అనుకూల విలువలకు ఎంత దగ్గరలో ఉందో కొలవచ్చు. దీన్ని రూట్ మీన్ స్క్వేర్ ఎర్రర్ (RMSE) metrics ఉపయోగించి చేయవచ్చు, ఇది అనుకున్న మరియు అంచనా విలువల మధ్య అన్ని స్క్వేర్ చేసిన తేడాల మీన్ యొక్క రూట్. +మన మోడల్ ఎన్ని ఖచ్చితంగా ఉందో చూడటానికి, టెస్ట్ డేటాసెట్‌లో ధరలను అంచనా వేయవచ్చు, ఆ తర్వాత మన అంచనాలు ఆశించిన విలువలకు ఎంత దగ్గరగా ఉన్నాయో కొలవచ్చు. ఇది రూట్ మీన్ స్క్వేర్ ఎర్రర్ (RMSE) మెట్రిక్స్ ఉపయోగించి చేయవచ్చు, ఇది సంగీత విలువల మధ్యలో ఉన్న స్క్వేర్ తేడాల యొక్క సగటు వేరియంతరాల వేరియంట్ మూలం. ```python pred = lin_reg.predict(X_test) @@ -216,16 +215,16 @@ rmse = np.sqrt(mean_squared_error(y_test,pred)) print(f'RMSE: {rmse:3.3} ({rmse/np.mean(pred)*100:3.3}%)') ``` -మన పొరపాటు సుమారు 2 పాయింట్లుగా ఉంది, అంటే సుమారు ~17%. చాలా బాగోలేదు. మోడల్ నాణ్యతకు మ دیگری సూచిక **నిర్ణయ కోఎఫిషియెంట్ (coefficient of determination)**, దీన్ని ఇలా పొందవచ్చు: +మన పొరపాటు సుమారు 2 పాయింట్లు ఉంది, ఇది ~17%. చాలా బాగూ లేదు. మోడల్ నాణ్యతకు మరొక సూచిక **నిర్ణాయక గుణకం** (coefficient of determination), దీన్ని ఇలా పొందవచ్చు: ```python score = lin_reg.score(X_train,y_train) print('Model determination: ', score) ``` -విలువ 0 అయితే, అర్థం మోడల్ ఇన్‌పుట్ డేటాను పరిగణలోకి తీసుకోదు మరియు *చాలామొత్తం లీనియర్ პროგ్నోస్టికేటర్* గా పనిచేస్తుంది, దీని ఫలితం సాదారణ విలువనే ఉంటుంది. విలువ 1 అంటే మనం అన్ని అంచనా సూచనలను సరిగ్గా అంచనా వేయగలిగినట్టుగా ఉంటుంది. మన కేసులో, కోఎఫిషియెంట్ సుమారు 0.06, ఇది చాల తక్కువ. +విలువ 0 ఉంటే, అర్థం మోడల్ ఇన్‌పుట్ డేటాను పరిగణించట్లేదు, మరియు అదొక *ఎక్కువ చెడ్డ రేఖీయ అంచనా*గా పనిచేస్తోంది, ఇది ఫలితాల సాధారణ సగటు విలువ మాత్రమే. విలువ 1 ఉంటే, మనం అన్ని ఆశించిన అవుట్‌పుట్లను పూర్తిగా అంచనా వేయగలమని అర్ధం. మన సందర్భంలో గుణకం సుమారు 0.06 ఉంటుంది, ఇది చాలా తక్కువది. -మనం రిగ్రెషన్ లైన్ తో కూడిన టెస్ట్ డేటా కూడా గ్రాఫ్ లో చూపించి మన కేసులో రిగ్రెషన్ ఎలా పనిచేస్తుందో మెరుగ్గా చూడవచ్చు: +రిగ్రెషన్ లైన్ తో టెస్ట్ డేటాను కలిసి ప్లాట్ చేయడం ద్వారా మన కేసులో రిగ్రెషన్ ఎలా పనిచేస్తుందో మెరుగుగా చూడవచ్చు: ```python plt.scatter(X_test,y_test) @@ -236,17 +235,17 @@ plt.plot(X_test,pred) ## పాలినోమియల్ రిగ్రెషన్ -మరొకరకంగా లీనియర్ రిగ్రెషన్ అంటే పాలినోమియల్ రిగ్రెషన్. మారకాల మధ్య కొన్నిసార్లు లీనియర్ సంబంధం ఉంటే—పంప్కిన్ వాల్యూమ్ ఎక్కువగా ఉంటే ధర ఎక్కువగా ఉండడం వంటివి—కొన్నిసార్లు ఈ సంబంధాలని సూటిగా లేదా విమానంగా చూపించడం కష్టం. +లీనియర్ రిగ్రెషన్ ఇంకొక రకం పాలినోమియల్ రిగ్రెషన్. కొన్ని సార్లు వేరియబుల్స్ మధ్య లీనియర్ సంబంధం ఉంటుంది - వాల్యూమ్ లో భారీ పంప్కిన్, ధర ఎక్కువగా ఉంటుంది - కొన్ని సార్లు ఈ సంబంధాలను స్థలంగా లేదా సరళరేఖగా ప్రదర్శించలేము. -✅ ఇక్కడ కొన్ని మరిన్ని ఉదాహరణలు ఉన్నాయి [https://online.stat.psu.edu/stat501/lesson/9/9.8](https://online.stat.psu.edu/stat501/lesson/9/9.8) పాలినోమియల్ రిగ్రెషన్ ఉపయోగించవచ్చిన డేటా గురించి +✅ ఇక్కడ [ఇంకా కొన్ని ఉదాహరణలు](https://online.stat.psu.edu/stat501/lesson/9/9.8) ఉన్నాయి, పాలినోమియల్ రిగ్రెషన్‌కు ఉపయోగపడే డేటాకు -తేదీ మరియు ధర మధ్య సంబంధాన్ని మరోసారి పరిశీలించండి. ఈ స్కాటర్ప్లాట్ తప్పకుండా సూటిగా విశ్లేషించాలి అనిపిస్తుందా? ధరలు అతిశయంగా మారవచ్చా? ఈ సందర్భంలో, పాలినోమియల్ రిగ్రెషన్ ప్రయత్నించవచ్చు. +తేదీ మరియు ధర మధ్య సంబంధాన్ని మరలా చూద్దాం. ఈ స్కాటర్‌ప్లాట్ తప్పకుండా సరళరేఖ ద్వారా విశ్లేషించాల్సి ఉందా? ధరలు మార్పు చెందలేవా? ఈ సందర్భంలో, మీరు పాలినోమియల్ రిగ్రెషన్ ప్రయత్నించవచ్చు. -✅ పాలినోమియల్స్ అనేవి గణిత సంబంధాలు, ఇవి ఒకటి కంటే ఎక్కువ వేరియబుల్స్ మరియు కోఎఫిషియెంట్లతో ఉండవచ్చు +✅ పాలినోమియల్స్ గణితీయ సంకేతాలు, ఇవి ఒకటి లేదా ఎక్కువ వేరియబుల్స్ మరియు గుణకాలాలతో కూడి ఉండవచ్చు -పాలినోమియల్ రిగ్రెషన్ అప్రత్యక్ష డేటాతో మంచి సరిపోయే వంకర గraphను సృష్టిస్తుంది. మన కేసులో, `DayOfYear` వేరియబుల్ యొక్క వర్గమూలాన్ని ఇన్‌పుట్ లో చేర్చితే, మన డేటాను ఒక పారబాలిక్ వంకరతో సరిపెట్టవచ్చు, ఇది సంవత్సరంలో ఒక నిర్దిష్ట స్థలంలో కనిష్టం కలిగివుంటుంది. +పాలినోమియల్ రిగ్రెషన్ వంకర వక్రరేఖను సృష్టిస్తుంది, లీనియర్ కాకపోయే డేటాను మెరుగైన ఫిట్ కోసం. మన సందర్భంలో, ఇన్‌పుట్ డేటాలో స్క్వేర్ చేయబడిన `DayOfYear` వేరియబుల్ చేర్చితే, మన డేటాను పారాబాలిక్ వక్రంతో సరిపోతుందనుకుంటాం, ఇది సంవత్సరంలో ఒక నిర్దిష్ట బిందువులో కనిష్టం కలిగి ఉంటుంది. -Scikit-learn సహాయకమైన [pipeline API](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) ను కలిపి వేరే డేటా ప్రాసెసింగ్ స్టెప్పులను కలపడానికి వాడుతుంది. ఒక **pipeline** అనేది **estimators** చైన్. మనం మొదట పాలినోమియల్ ఫీచర్స్ మన మోడల్ లో చేర్చి, తరువాత రిగ్రెషన్ శిక్షణ ఇస్తాం: +Scikit-learn దశలను కలిపే ఉపయోగకరమైన [pipeline API](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline)‌ను కలిగి ఉంది. ఒక **pipeline** అనేది **estimators** సంక్రమం. మన సందర్భంలో, మొదట పాలినోమియల్ ఫీచర్లను జోడించి, ఆపై రిగ్రెషన్ శిక్షణ ఇస్తున్న pipeline సృష్టించతాము: ```python from sklearn.preprocessing import PolynomialFeatures @@ -257,36 +256,58 @@ pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression()) pipeline.fit(X_train,y_train) ``` -`PolynomialFeatures(2)` ఉపయోగించడం అంటే మనం ఇన్‌పుట్ డేటాలో రెండవ గుణకాన్ని కలిగి ఉంటాం. మన సందర్భంలో అది కేవలం `DayOfYear`2, అయితే రెండు ఇన్‌పుట్ X మరియు Y ఉంటే, ఇది X2, XY మరియు Y2 ను కూడా చేర్చుతుంది. మనం కావాలంటే ఎక్కువ అర్ధం గల పాలినోమియల్స్ కూడా ఉపయోగించవచ్చు. +`PolynomialFeatures(2)` ఉపయోగించడం అంటే మనం ఇన్‌పుట్ డేటా నుండి అన్ని రెండవ డిగ్రీ పాలినోమియల్స్‌ని చేర్చుతాము. మన సందర్భంలో ఇది కేవలం `DayOfYear`2, కానీ రెండు ఇన్‌పుట్ వేరియబుల్స్ X మరియు Y ఉంటే, ఇది X2, XY మరియు Y2ని చేర్చుతుంది. మనకు కావాలంటే మరింత గుణకాలు కూడా ఉపయోగించవచ్చు. + +పipelinesను అసలు `LinearRegression` ఆబ్జెక్ట్‌లాగా ఉపయోగించవచ్చు, అంటే pipeline ని `fit` చేసి, ఆపై `predict` ఉపయోగించి అంచనాలు పొందవచ్చు: + +```python +pred = pipeline.predict(X_test) + +rmse = np.sqrt(mean_squared_error(y_test,pred)) +print(f'RMSE: {rmse:3.3} ({rmse/np.mean(pred)*100:3.3}%)') + +score = pipeline.score(X_train,y_train) +print('Model determination: ', score) +``` + +స్మూత్ అప్రాక్సిమేషన్ వక్రరేఖను చిత్రించడానికి, `np.linspace` ఉపయోగించి సమాన శ్రేణి ఇన్‌పుట్ విలువలను సృష్టిస్తాము, అలాగే టెస్ట్ డేటా మీద నేరుగా చిత్రించకపోవడం (దీనివల్ల జిగ్-జాగ్ లైన్లు వస్తాయి): + +```python +X_range = np.linspace(X_test.min(), X_test.max(), 100).reshape(-1,1) +y_range = pipeline.predict(X_range) + +plt.scatter(X_test, y_test) +plt.plot(X_range, y_range) +``` -Pipeline లను మొదటి `LinearRegression` ఆబ్జెక్ట్ లాగా ఉపయోగించవచ్చు, అంటే pipeline పై `fit` చేసి, తరువాత `predict` తో అంచనా ఫలితాలు పొందవచ్చు. ఇక్కడ టెస్ట్ డేటా మరియు సమీపీకరణ వంకర చూపబడింది: +ఇది టెస్ట్ డేటా మరియు అప్రాక్సిమేషన్ వక్రరేఖను చూపిస్తున్న గ్రాఫ్: Polynomial regression -పాలినోమియల్ రిగ్రెషన్ ఉపయోగించి, కొంత తక్కువ MSE మరియు ఎక్కువ నిర్ణయ కోఎఫిషియెంట్ పొందవచ్చు, కానీ పెద్దభాగంగా కాదు. ఇంకొన్ని లక్షణాలు పరిగణించాలి! +పాలినోమియల్ రిగ్రెషన్ ఉపయోగించడం వలన కొంచెం తక్కువ RMSE మరియు ఎక్కువ నిర్ధారణను పొందవచ్చు, కానీ గణనీయంగా కాదు. మనం మరింత ఫీచర్లను పరిగణలోనికి తీసుకోవాలి! -> నూతనంగా, కంటిపప్పు ధరలు సాధారణంగా హాలోవీన్ సమీపంలో తక్కువగా ఉంటాయి. దీని కారణం ఏమిటి? +> పంప్కిన్ ధరలు కనీసం హాలోవీన్ దగ్గరగా ఉంటున్నాయని చూడవచ్చు. దీన్ని ఎలా వివరిస్తారు? -🎃 అభినందనలు, మీరు పాయ్ పంప్కిన్ ధర అంచనా వేయడానికి ఒక మోడల్ సృష్టించారు. మీరు వేరే అన్ని పంప్కిన్ రకాలకు కూడా ఇదే విధానం అనుసరించవచ్చు, కానీ అది బరువు పని అవుతుంది. ఇప్పుడు మనం పంప్కిన్ రకాన్ని మన మోడల్ లో ఎలా పరిగణించాలో నేర్చుకుందాం! +🎃 అభినందనలు, మీకు పంప్కిన్ ధర అంచనా వేయగలిగే మోడల్ తయారైంది. మీరు ఇతర అన్ని పంప్కిన్ రకాలకూ ఇదే విధంగా చేయవచ్చు, కానీ అది చాలా కష్టంగా ఉంటుంది. ఇప్పుడు మనం పంప్కిన్ జాతి కూడా మోడల్ లో ఎలా పరిగణించాలో నేర్చుకుందాం! -## వర్గీకృత లక్షణాలు +## వర్గీకరణ ఫీచర్లు -సంపూర్ణ ప్రపంచంలో, వేరే పంప్కిన్ రకాల ధరలను ఒకే మోడల్ ద్వారా అంచనా వేయగలగాలి. కానీ, `Variety` కాలమ్ కొన్ని రకాల విలువలను కలిగి ఉంటుంది, ఉదాహరణకి సంఖ్యలేం కాదు. అటువంటి కాలమ్స్ ని **categorical** అంటారు. +ఆదర్శ ప్రపంచంలో, వేర్వేరు పంప్కిన్ జాతుల ధరలను ఒకే మోడల్ ఉపయోగించి అంచనా వేయగలగాలి. అయితే, `Variety` కాలమ్ `Month` లాంటి కాలమ్స్ నుండి కొంత భిన్నంగా ఉంటుంది, ఎందుకంటే ఇది సంఖ్యలు కాకుండా విలువలను కలిగి ఉంటుంది. ఇలాంటి కాలమ్స్ ను **వర్గీకరణ** (categorical) కాలమ్స్ అంటారు. [![ML for beginners - Categorical Feature Predictions with Linear Regression](https://img.youtube.com/vi/DYGliioIAE0/0.jpg)](https://youtu.be/DYGliioIAE0 "ML for beginners - Categorical Feature Predictions with Linear Regression") -> 🎥 పై చిత్రంపై క్లిక్ చేసి వర్గీకృత లక్షణాలు ఉపయోగించడం గురించికొత్త వీడియో చూపించండి. +> 🎥 పై చిత్రాన్ని క్లిక్ చేస్తే వర్గీకరణ ఫీచర్‌లు ఉపయోగించి మోడల్ తయారీపై సంక్షిప్త వీడియో చూస్తారు. -ఇక్కడ మీరు చూస్తారు, సగటు ధర రకం పై ఆధారపడి ఉంటుంది: +ఇక్కడ మీరు చూడవచ్చు, సమాన ధర వేరియిటీలపై ఆధారపడి ఎలా మారుతుంది: Average price by variety -రకాన్ని పరిగణించేందుకు, మునుపటి సంఖ్య రూపంలో మార్చాలి, దీన్ని **encode** అంటారు. దీని కొరకు ఎన్నో మార్గాలు ఉన్నాయి: +జాతిని పరిగణించడానికి, మొదట దాన్ని సంఖ్య రూపంలోకి మార్చాలి లేదా **ఎంకోడ్** చేయాలి. దీనికి కొన్ని విధానాలు ఉన్నాయి: -* సింపుల్ **న్యూమరిక్ ఎన్‌కోడింగ్** వేర్వేరు రకాల పట్టికని తయారు చేసి, ఆ రకం పేరును సూచికతో భర్తీ చేస్తుంది. లీనియర్ రిగ్రెషన్ కోసం ఇది మంచి ఆలోచన కాదు, ఎందుకంటే రిగ్రెషన్ సూచిక సంఖ్య యొక్క అసలు సంఖ్యను తీసుకుంటుంది మరియు ఫలితానికి ఒక కొఫిషియెంట్ తో గుణిస్తుంది. మన కేసులో, సూచిక సంఖ్య మరియు ధర మధ్య సంబంధం స్పష్టంగా లీనియర్ కాదు, సూచికలు ఏ విధంగా వరుసబద్దం చేసినా సరే. -* **వన్-హాట్ ఎన్‌కోడింగ్** `Variety` కాలమ్ ని 4 విడి కాలమ్స్ గా భర్తీ చేస్తుంది, ఒక్కో రకానికి ఒకటి. ప్రతి కాలమ్ లో, సంబంధిత వరుస ఆ రకానికి చెందినదైతే `1`, లేకపోతే `0` ఉంటుంది. దీని అర్థం, లీనియర్ రిగ్రెషన్ లో నాలుగు కొఫిషియెంట్లు ఉంటాయి, ఒక్కో పంప్కిన్ రకానికి ఒకటి, ఆ రకానికి చెందిన "ప్రారంభ ధర" లేదా "అదనపు ధర" కొరకు. +* సాదాసీదా **న్యూమరిక్ ఎంకోడింగ్** వేర్వేరు జాతుల పట్టికను తయారుచేసి, ఆ పట్టికలో జాతి పేరును ఇండెక్స్ తో బదిలీ చేయడం. ఇది లీనియర్ రిగ్రెషన్ కు సరైన ఆలోచన కాదు, ఎందుకంటే లీనియర్ రిగ్రెషన్ ఇండెక్స్ యొక్క నిజమైన సంఖ్య విలువను తీసుకొని ఫలితం లో కొంత గుణకం తో కలిపేస్తుంది. మనం చూసినా, ఇండెక్స్ సంఖ్య మరియు ధర మధ్య సంబంధం స్పష్టంగా లీనియర్ కాదు, అది సరిగ్గా క్రమంలో వుండకపోయినా. +* **వన్-హాట్ ఎంకోడింగ్** `Variety` కాలమ్ నాలుగు వేరే కాలమ్స్ తో బదిలీ చేస్తుంది, ఒక్క ఒక్క జాతికి ఒక కాలమ్ ఉంటుంది. సంబంధిత రో కృషి జాతి ఉంటే 1 ఉండి, లేనట్లయితే 0 ఉంటుంది. దీని అర్థం లీనియర్ రిగ్రెషన్‌లో నాలుగు గుణకాలు ఉంటాయి, ఒక్కొ జాతికి ఒకటి, అది ఆ జాతికి ప్రత్యేక "ప్రారంభ ధర" (లేదా "అదనపు ధర") ప్రతినిధిగా ఉంటుంది. -కోడ్ క్రింద చూపుతోంది ఒకరకాన్ని వన్-హాట్ ఎన్‌కోడ్ ఎలా చేయాలో: +కింది కోడ్ వన్-హాట్ ఎంకోడింగ్ ఎలా చేస్తుందో చూపిస్తుంది: ```python pd.get_dummies(new_pumpkins['Variety']) @@ -303,14 +324,14 @@ pd.get_dummies(new_pumpkins['Variety']) 1741 | 0 | 1 | 0 | 0 1742 | 0 | 1 | 0 | 0 -వన్-హాట్ ఎన్‌కోడ్ రకాన్ని ఇన్‌పుట్‌గా ఉపయోగించి లీనియర్ రిగ్రెషన్ ట్రెయిన్ చేయడానికి, మనం `X` మరియు `y` డేటాను సరైన విధంగా ఇనిషియలైజ్ చేయాలి: +వన్-హాట్ ఎంకోడింగ్ చేసిన జాతి ఇన్‌పుట్ గా ఉపయోగించి లీనియర్ రిగ్రెషన్ శిక్షణకి `X` మరియు `y` డేటాలు సరైన విధంగా ప్రారంభించాలి: ```python X = pd.get_dummies(new_pumpkins['Variety']) y = new_pumpkins['Price'] ``` -ఇంకా మిగతా కోడ్ పైన లీనియర్ రిగ్రెషన్ ట్రెయిన్ చేసిన విధంగా ఏమాత్రం తేడా లేదు. మీరు ప్రయత్నిస్తే, ఒకటే సగటు స్క్వేర్ ఎర్రర్ సుమారు అదే ఉంటుంది, కానీ నిర్ణయ కోఎఫిషియెంట్ (~77%) చాలా ఎక్కువ ఉంది. మరింత ఖచ్చితమైన అంచనాలకి, మరిన్ని వర్గీకృత లక్షణాలు మరియు సంఖ్యలు, ఉదా: `Month` లేదా `DayOfYear`, పరిగణించవచ్చు. అన్ని లక్షణాలను ఒక పెద్ద అర్రేలాగా మార్పిడి చేయడానికి `join` ఉపయోగిస్తారు: +మిగతా కోడ్ పైగా ఉపయోగించిన లీనియర్ రిగ్రెషన్ శిక్షణ కోడుతో సమానం. మీరు ప్రయత్నిస్తే, మీయిన్ స్క్వేర్ ఎర్రర్ సుమారు ఒకటే ఉంటుంది, కానీ నిర్ధారణ గుణకం చాలా ఎక్కువ (సుమారు 77%). మరింత ఖచ్చితమైన అంచనాల కోసం, మరిన్ని వర్గీకరణ ఫీచర్లను కూడా, అలాగే సంఖ్యాత్మక ఫీచర్లు (ఉదా: `Month`, `DayOfYear`) కూడా పరిగణించవచ్చు. పెద్ద ఫీచర్ అర్రే కోసం, `join` ఉపయోగించవచ్చు: ```python X = pd.get_dummies(new_pumpkins['Variety']) \ @@ -320,68 +341,68 @@ X = pd.get_dummies(new_pumpkins['Variety']) \ y = new_pumpkins['Price'] ``` -ఇక్కడ మనం కూడా `City` మరియు `Package` రకాలను పరిగణలోకి తీసుకుంటాం, ఇది మనకు MSE 2.84 (10%), మరియు నిర్ణయ కోఎఫిషియెంట్ 0.94 అందిస్తుంది! +ఇక్కడ `City` మరియు `Package` రకాలను కూడా పరిగణించి, మనకు RMSE 2.84 (10.5%), నిర్ధారణ 0.94 వస్తుంది! -## అంతటిని కలిపి చూడటం +## మొత్తం కలిపి -మంచి మోడల్ చేసేందుకు, పైన ఉదాహరణలోని కలిపిన (వన్-హాట్ వర్గీకరణ + న్యూమరిక్) డేటాని పాలినోమియల్ రిగ్రెషన్ తో చేర్చవచ్చు. మీ సౌకర్యార్థం పూర్తిగా కింది కోడ్ ఉంది: +మెరుగైన మోడల్ కోసం, పై ఉదాహరణలో ఉన్న కలుపుతో (వన్-హాట్ ఎంకోడెడ్ వర్గీకరణ + సంఖ్యాత్మక డేటా) పాలినోమియల్ రిగ్రెషన్ ఉపయోగించవచ్చు. ఇక్కడ మీ సౌలభ్యం కొరకు పూర్తి కోడ్: ```python -# శిక్షణ డేటాను సెట్ చేయండి +# శిక్షణ డేటాను సెటప్ చేయండి X = pd.get_dummies(new_pumpkins['Variety']) \ .join(new_pumpkins['Month']) \ .join(pd.get_dummies(new_pumpkins['City'])) \ .join(pd.get_dummies(new_pumpkins['Package'])) y = new_pumpkins['Price'] -# శిక్షణ-పరీక్ష విభజన చేయండి +# ట్రైన్-టెస్ట్ విభజన చేయండి X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0) -# పైప్లైన్‌ని సెట్ చేసి శిక్షణ ఇచ్చుకోండి +# పైప్ లైన్‌ను సెటప్ చేసి శిక్షణ ఇవ్వండి pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression()) pipeline.fit(X_train,y_train) -# పరీక్షా డేటా కోసం ఫలితాలు అనుమానించండి +# ట్రస్ట్ డేటా కోసం ఫలితాలను అంచనా వేయండి pred = pipeline.predict(X_test) -# MSE మరియు నిర్ధారణను లెక్కించండి -mse = np.sqrt(mean_squared_error(y_test,pred)) -print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)') +# RMSE మరియు నిర్ధారణ లెక్కించండి +rmse = mean_squared_error(y_test, pred, squared=False) +print(f'RMSE: {rmse:3.3} ({rmse/pred.mean()*100:3.3}%)') score = pipeline.score(X_train,y_train) print('Model determination: ', score) ``` -అది మాకు సుమారు 97% నిర్ణయ కోఎఫిషియెంట్ మరియు MSE=2.23 (~8% అంచనా పొరపాటు) ఇస్తుంది. +దీంతో సుమారు 97% నిర్ధారణ గుణకం మరియు RMSE=2.23 (~8% అంచనా పొరపాటు) పొందగలుగుతాము. -| Model | MSE | Determination | -|-------|-----|--------------| -| `DayOfYear` Linear | 2.77 (17.2%) | 0.07 | -| `DayOfYear` Polynomial | 2.73 (17.0%) | 0.08 | -| `Variety` Linear | 5.24 (19.7%) | 0.77 | -| All features Linear | 2.84 (10.5%) | 0.94 | -| All features Polynomial | 2.23 (8.25%) | 0.97 | +| మోడల్ | RMSE | నిర్ధారణ | +|-------|-----|---------------| +| `DayOfYear` లీనియర్ | 2.77 (17.2%) | 0.07 | +| `DayOfYear` పాలినోమియల్ | 2.73 (17.0%) | 0.08 | +| `Variety` లీనియర్ | 5.24 (19.7%) | 0.77 | +| అన్ని ఫీచర్లు లీనియర్ | 2.84 (10.5%) | 0.94 | +| అన్ని ఫీచర్లు పాలినోమియల్ | 2.23 (8.25%) | 0.97 | -🏆 బాగుంది! మీరు ఒక పాఠంలో నాలుగు రిగ్రెషన్ మోడల్స్ తయారుచేసి, నాణ్యతను 97% కి పెంచేశారు. రిగ్రెషన్ చివరి భాగంలో, మీరు వర్గాలను నిర్ణయించే లాజిస్టిక్ రిగ్రెషన్ గురించినది నేర్పుకోనున్నారు. +🏆 చాలా బాగుంది! మీరు ఒక్క పాఠంలోనే నాలుగు రిగ్రెషన్ మోడల్స్ సృష్టించి, మోడల్ నాణ్యతను 97% వరకు మెరుగుపరిచారు. రిగ్రెషన్ పై చివరి విభాగంలో, మీరు వర్గాల కోసం లాజిస్టిక్ రిగ్రెషన్ గురించి నేర్చుకోగలుగుతారు. --- ## 🚀సవాల్ -ఈ నోట్బుక్ లో వివిధ వేరియబుల్స్ ని పరీక్షించి, అవి మోడల్ ఖచ్చితత్వం కి సంబంధించి ఎలా ఉంటాయో చూడండి. +ఈ నోట్‌బుక్‌లో కొన్ని వేరియబుల్స్‌తో పరీక్షించి, సహసంబంధం మోడల్ ఖచ్చితత్వంతో ఎలా అనుసంధానం అవుతుందో చూడండి. -## [పోస్టు-లెక్షర్ క్విజ్](https://ff-quizzes.netlify.app/en/ml/) +## [ఉపన్యాసం తరువాత క్విజ్](https://ff-quizzes.netlify.app/en/ml/) -## సమీక్ష & స్వీయ అధ్యయనం +## సమీక్ష & స్వయంపఠనం -ఈ పాఠంలో మనం లీనియర్ రిగ్రెషన్ గురించి నేర్చుకున్నాం. ఇతర ముఖ్య రిగ్రెషన్ రకాలూ ఉన్నాయి. స్టెప్‌వైజ్, రిడేజ్, లాస్సో మరియు ఎలాస్టిక్‌నెట్ టెక్నిక్స్ గురించి చదవండి. మరింత నేర్చుకోవడానికి మంచి కోర్సు [స్టాన్ఫోర్డ్ స్టాటిస్టికల్ లెర్నింగ్ కోర్సు](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning)గా ఉంది. +ఈ పాఠంలో మేము లీనియర్ రిగ్రెషన్ గురించి నేర్చుకున్నాము. ఇతర ముఖ్యమైన రిగ్రెషన్ రకాలు కూడా ఉన్నాయి. Stepwise, Ridge, Lasso మరియు Elasticnet సాంకేతికతల గురించి చదవండి. మరింత నేర్చుకోవడానికి మంచి కోర్సు [Stanford Statistical Learning course](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning) ఆసక్తికరంగా ఉంటుంది. ## అసైన్‌మెంట్ -[మోడల్ నిర్మించండి](assignment.md) +[మోడల్ ను నిర్మించండి](assignment.md) --- -**గమనిక**: -ఈ డాక్యూమెంట్ [Co-op Translator](https://github.com/Azure/co-op-translator) AI అనువాద సేవను ఉపయోగించి అనువదించబడింది. మేము ఖచ్చితత్వం కోసం ప్రయత్నించినప్పటికీ, ఆటోమేటెడ్ అనువాదాల్లో పొరపాట్లు లేదా అసత్యతలు ఉండవచ్చు. మౌలిక భాషలో ఉన్న అసలు డాక్యూమెంట్ ను అధికారిక స్రోతస్ఫూర్తిగా పరిగణించాలి. కీలక సమాచారం కోసం, వృత్తిపరమైన మానవ అనువాదాన్ని సూచించబడుతుంది. ఈ అనువాదం ఉపయోగం నుండి వచ్చేప్రమాదాలు లేదా తప్పుదొర్లికలకు మేము బాధ్యత వహించడానికి లేదు. +**అస్పష్టత**: +ఈ డాక్యుమెంట్‌ను AI అనువాద సేవ అయిన [Co-op Translator](https://github.com/Azure/co-op-translator) ఉపయోగించి అనువదించబడింది. మేము సరైనత కోసం ప్రయత్నిస్తూన్నా, ఆటోమేటెడ్ అనువాదాల్లో పొరపాట్లు లేదా తప్పులు ఉండవచ్చని దయచేసి గమనించండి. మూల భాషలోని డాక్యుమెంట్‌ని అధికారిక మూలంగా పరిగణించాలి. ముఖ్యమైన సమాచారం కోసం, వృత్తిపరమైన మానవ అనువాదాన్ని సిఫార్సు చేయబడింది. ఈ అనువాదాన్ని ఉపయోగించడంలో జరిగిన ఏమైనా అవగాహన లోపాలు లేదా తప్పుగా అర్థం చేసుకోవడమ్కు మేము బాధ్యులం కం కుండా ఉంటాము. \ No newline at end of file diff --git a/translations/te/2-Regression/3-Linear/solution/notebook.ipynb b/translations/te/2-Regression/3-Linear/solution/notebook.ipynb index 8825e36af..5f23f85dd 100644 --- a/translations/te/2-Regression/3-Linear/solution/notebook.ipynb +++ b/translations/te/2-Regression/3-Linear/solution/notebook.ipynb @@ -4,14 +4,14 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## లీనియర్ మరియు పాలినోమియల్ రిగ్రెషన్ పంప్కిన్ ధరల కోసం - పాఠం 3\n", + "## పంప్కిన్ ధరల కోసం లీనియర్ మరియు పాలినోమియల్ రిగ్రెషన్ - పాఠం 3\n", "\n", - "అవసరమైన లైబ్రరీలు మరియు డేటాసెట్‌ను లోడ్ చేయండి. డేటాను ఒక డేటాఫ్రేమ్‌గా మార్చండి, ఇందులో డేటా యొక్క ఉపసమితి ఉంటుంది:\n", + "అవసరమైన లైబ్రరీలు మరియు డేటాసెట్‌ను లోడ్ చేయండి. డేటాను ఒక డేటాఫ్రేమ్‌గా మార్చండి, ఇందులో డేటా యొక్క ఉపసెట్ ఉంటుంది:\n", "\n", - "- బషెల్ ద్వారా ధర పెట్టబడిన పంప్కిన్లను మాత్రమే పొందండి\n", + "- బస్సెల్ ద్వారా ధర పెడతున్న పంప్కిన్లనే పొందండి\n", "- తేదీని నెలగా మార్చండి\n", - "- ధరను గరిష్ట మరియు కనిష్ట ధరల సగటుగా లెక్కించండి\n", - "- ధరను బషెల్ పరిమాణం ప్రకారం ప్రతిబింబించేలా మార్చండి\n" + "- ధరను హై మరియు లో ధరల సగటుగా లెక్కించండి\n", + "- ధరను బస్సెల్ పరిమాణం ప్రకారం మార్చండి\n" ] }, { @@ -377,7 +377,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "ఒక స్కాటర్ప్లాట్ మనకు ఆగస్టు నుండి డిసెంబర్ వరకు మాత్రమే నెలల డేటా ఉందని గుర్తుచేస్తుంది. రేఖీయంగా నిర్ణయాలు తీసుకోవడానికి మనకు ఎక్కువ డేటా అవసరం కావచ్చు.\n" + "ఒక స్క్యాటర్ప్లాట్ మనకు ఆగస్టు నుండి డిసెంబరు వరకు నెలల డేటా మాత్రమే ఉందని గుర్తు చేస్తుంది. సరళ రీతిలో నిర్ణయాలు తీసుకోవడానికి మనకు మరింత డేటా అవసరం కావచ్చు.\n" ] }, { @@ -448,7 +448,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "మనం చూడాలి సంబంధం ఉందా:\n" + "రెండింటి మధ్య సంబంధం ఉందో చూద్దాం:\n" ] }, { @@ -474,7 +474,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "కోరిలేషన్ చాలా తక్కువగా కనిపిస్తోంది, కానీ మరొక ముఖ్యమైన సంబంధం ఉంది - ఎందుకంటే పై ప్లాట్‌లో ధర పాయింట్లు కొన్ని ప్రత్యేక క్లస్టర్లను కలిగి ఉన్నట్లు కనిపిస్తున్నాయి. వేర్వేరు పంప్కిన్ రకాలను చూపించే ఒక ప్లాట్ తయారు చేద్దాం:\n" + "కోర్‌లేషన్ చాలా తక్కువగా కనిపిస్తోంది, కానీ మరికొన్ని ముఖ్యమైన సంబంధాలు ఉన్నట్లుగా ఉంది - ఎందుకంటే పై ప్లాట్‌లో ధర పాయింట్లు స్పష్టమైన అనేక క్లస్టర్లను చూపిస్తున్నాయి. వివిధ గుమ్మడికాయ జాతులను చూపించే ఒక ప్లాట్ సృష్టించిద్దాం:\n" ] }, { @@ -538,7 +538,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "ప్రస్తుతం, మనం ఒక రకమైనదానిపై మాత్రమే దృష్టి పెట్టుదాం - **పై టైప్**.\n" + "తాత్కాలికంగా, మనం ఒకే రకాన్ని మాత్రమే దృష్టి సారిద్దాం - **పై రకం**.\n" ] }, { @@ -586,9 +586,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### లీనియర్ రిగ్రెషన్\n", + "### లినియర్ రిగ్రెషన్\n", "\n", - "మేము లీనియర్ రిగ్రెషన్ మోడల్‌ను శిక్షణ ఇవ్వడానికి Scikit Learn ఉపయోగిస్తాము:\n" + "లినియర్ రిగ్రెషన్ మోడల్‌ని ట్రెయిన్ చేయడానికి మేము Scikit Learn ఉపయోగిస్తాము:\n" ] }, { @@ -666,7 +666,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "రేఖీయ రిగ్రెషన్ గుణకాలు నుండి రేఖ యొక్క వక్రీకరణాన్ని నిర్ణయించవచ్చు:\n" + "రేఖీయ రిగ్రెషన్ కోయిఫిషియెంట్ల నుండి రేఖ యొక్క ఎడమను నిర్ణయించవచ్చు:\n" ] }, { @@ -693,7 +693,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "మేము శిక్షణ పొందిన మోడల్‌ను ధరను అంచనా వేయడానికి ఉపయోగించవచ్చు:\n" + "మేము తారగత మోడల్‌ను ధర అంచనా కోసం ఉపయోగించవచ్చు:\n" ] }, { @@ -724,9 +724,9 @@ "source": [ "### పాలినోమియల్ రిగ్రెషన్\n", "\n", - "కొన్నిసార్లు ఫీచర్లు మరియు ఫలితాల మధ్య సంబంధం స్వభావతః నాన్-లీనియర్ ఉంటుంది. ఉదాహరణకు, పంప్కిన్ ధరలు శీతాకాలంలో (నెలలు=1,2) ఎక్కువగా ఉండవచ్చు, ఆపై వేసవిలో (నెలలు=5-7) తగ్గి, మళ్లీ పెరుగుతాయి. లీనియర్ రిగ్రెషన్ ఈ సంబంధాన్ని సరిగ్గా కనుగొనలేకపోతుంది.\n", + "కొన్నిసార్లు లక్షణాలు మరియు ఫలితాల మధ్య సంబంధం స్వభావतः నాన్-లీనియర్ ఉంటుంది. ఉదాహరణకు, పుంకిన్ల ధరలు శీతాకాలంలో (నెలలు=1,2) ఎక్కువగ ఉండవచ్చు, త్రాటు కాలంలో (నెలలు=5-7) తగ్గి మళ్ళీ పెరుగుతాయి. లీనియర్ రిగ్రెషన్ ఈ సంబంధాన్ని సరిగా కనుగొనలేను.\n", "\n", - "ఈ సందర్భంలో, అదనపు ఫీచర్లను జోడించడం గురించి ఆలోచించవచ్చు. సులభమైన మార్గం ఇన్‌పుట్ ఫీచర్ల నుండి పాలినోమియల్స్ ఉపయోగించడం, ఇది **పాలినోమియల్ రిగ్రెషన్** కు దారితీస్తుంది. Scikit Learn లో, మేము పైప్లైన్లను ఉపయోగించి ఆటోమేటిక్‌గా పాలినోమియల్ ఫీచర్లను ముందుగా లెక్కించవచ్చు: \n" + "ఈ సందర్భంలో, అదనపు లక్షణాలను చేర్చడం పరిగణించవచ్చు. ఒక సులభ మార్గం ఇన్పుట్ లక్షణాల నుండి పాలినోమియల్స్ ఉపయోగించడం, దీనివల్ల **పాలినోమియల్ రిగ్రెషన్** ఏర్పడుతుంది. Scikit Learn లో, మేము ఆటోమేటిగ్గా పాలినోమియల్ లక్షణాలను పైప్‌లైన్ల ద్వారా ప్రీ-కంప్యూట్ చేయవచ్చు: \n" ] }, { @@ -781,22 +781,25 @@ "score = pipeline.score(X_train,y_train)\n", "print('Model determination: ', score)\n", "\n", - "plt.scatter(X_test,y_test)\n", - "plt.plot(sorted(X_test),pipeline.predict(sorted(X_test)))" + "X_range = np.linspace(X_test.min(), X_test.max(), 100).reshape(-1,1)\n", + "y_range = pipeline.predict(X_range)\n", + "\n", + "plt.scatter(X_test, y_test)\n", + "plt.plot(X_range, y_range)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### ఎన్‌కోడింగ్ రకాలు\n", + "### ఎన్‌కోడింగ్ రకాల\n", "\n", - "ఆదర్శ ప్రపంచంలో, మేము ఒకే మోడల్ ఉపయోగించి వివిధ పంప్కిన్ రకాలకు ధరలను అంచనా వేయగలగాలి. రకాన్ని పరిగణనలోకి తీసుకోవడానికి, ముందుగా దాన్ని సంఖ్యాత్మక రూపంలోకి మార్చాలి, లేదా **ఎన్‌కోడ్** చేయాలి. దీని కోసం మనకు కొన్ని మార్గాలు ఉన్నాయి:\n", + "ఇడియల్ ప్రపంచంలో, మనం ఒకే మోడల్ ఉపయోగించి భిన్నమైన పమ్మకిన్ రకాల ధరలను అంచనా వేయగలగాలి. రకాన్ని పరిగణలోకి తీసుకోవాలంటే, ముందు దాన్ని సంఖ్యాత్మక రూపంలోకి మార్చాలి, అంటే **ఎన్‌కోడింగ్** చేయాలి. దీనికి కొన్ని మార్గాలు ఉన్నాయి:\n", "\n", - "* సాదా సంఖ్యాత్మక ఎన్‌కోడింగ్, ఇది వివిధ రకాల పట్టికను నిర్మించి, ఆ పట్టికలోని సూచికతో రకం పేరును మార్చుతుంది. ఇది లీనియర్ రిగ్రెషన్ కోసం ఉత్తమ ఆలోచన కాదు, ఎందుకంటే లీనియర్ రిగ్రెషన్ సూచిక యొక్క సంఖ్యాత్మక విలువను పరిగణలోకి తీసుకుంటుంది, మరియు ఆ సంఖ్యాత్మక విలువ ధరతో సంఖ్యాత్మకంగా సంబంధం ఉండకపోవచ్చు.\n", - "* వన్-హాట్ ఎన్‌కోడింగ్, ఇది `Variety` కాలమ్‌ను 4 వేర్వేరు కాలమ్స్‌తో మార్చుతుంది, ప్రతి రకానికి ఒకటి, ఆ కాలమ్‌లో సంబంధిత వరుస ఆ రకానికి చెందినదైతే 1 ఉంటుంది, లేకపోతే 0 ఉంటుంది.\n", + "* సింపుల్ సంఖ్యాత్మక ఎన్‌కోడింగ్, ఇది వివిధ రకాల పట్టికను తయారు చేసి, ఆ పట్టికలోని సూచిక ద్వారా రకపు పేరును మార్చుతుంది. ఇది లీనియర్ రిగ్రెషన్ కోసం ఉత్తమ ఆలోచన కాదు, ఎందుకంటే లీనియర్ రిగ్రెషన్ సూచిక యొక్క సంఖ్యాత్మక విలువను పరిగణలోకి తీసుకుంటుంది, ఆ సంఖ్యాత్మక విలువ ధరతో గణితపరమైన సంబంధం లేదనేది తేలకపోవచ్చు.\n", + "* వన్-హాట్ ఎన్‌కోడింగ్, దీనిలో `Variety` కాలమ్‌ను 4 వేర్వేరు కాలమ్‌లుగా మార్చి, ప్రతి రకానికి ఒక కాలమ్ ఉంటుంది, ఆ కాలమ్‌లో సంబంధిత వరుస ఆ రకానికి సంబంధించకుండా ఉంటే 0, ఉంటే 1 ఉంటుంది.\n", "\n", - "క్రింది కోడ్ ఒక రకాన్ని వన్-హాట్ ఎన్‌కోడ్ చేయడం ఎలా చేయాలో చూపిస్తుంది:\n" + "కింది కోడ్ రకాన్ని వన్-హాట్ ఎన్‌కోడింగ్ ఎలా చేయాలో చూపిస్తుంది:\n" ] }, { @@ -944,9 +947,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### రేఖీయ రిగ్రెషన్ వేరియటీపై\n", + "### వేరియేటిపై లీనియర్ రిగ్రెషన్\n", "\n", - "మేము ఇప్పుడు పై కోడ్‌ను అదే విధంగా ఉపయోగించబోతున్నాము, కానీ `DayOfYear` బదులు మా వన్-హాట్-ఎంకోడ్ చేసిన వేరియటీని ఇన్‌పుట్‌గా ఉపయోగిస్తాము:\n" + "ముందు భాగంలో ఇచ్చిన కోడ్‌ని ఇదే విధంగా ఉపయోగిస్తాము, కానీ `DayOfYear` స్థానంలో మా వన్-హాట్-ఎంకోడెడ్ వేరియేటిని ఇన్‌పుట్‌గా ఉపయోగిస్తాము:\n" ] }, { @@ -994,7 +997,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "మేము అదే విధంగా ఇతర లక్షణాలను కూడా ప్రయత్నించవచ్చు, మరియు వాటిని సంఖ్యాత్మక లక్షణాలతో కలపవచ్చు, ఉదాహరణకు `Month` లేదా `DayOfYear`:\n" + "మేము అదే విధంగా ఇతర లక్షణాలను కూడా ప్రయత్నించవచ్చు, మరియు వాటిని సంఖ్యా లక్షణాలతో కలిపి ఉపయోగించవచ్చు, ఉదాహరణకు `Month` లేదా `DayOfYear`:\n" ] }, { @@ -1027,7 +1030,7 @@ "source": [ "### పాలినోమియల్ రిగ్రెషన్\n", "\n", - "పాలినోమియల్ రిగ్రెషన్‌ను ఒక-హాట్-ఎన్‌కోడ్ చేసిన వర్గీకరణ లక్షణాలతో కూడా ఉపయోగించవచ్చు. పాలినోమియల్ రిగ్రెషన్‌ను శిక్షణ ఇవ్వడానికి కోడ్ మునుపటి విధంగా ఉంటుంది.\n" + "పాలినోమియల్ రిగ్రెషన్‌ను ఒక-హాట్-ఎంకోడ్ చేసిన వర్గీకరణ లక్షణాలతో కూడా ఉపయోగించవచ్చు. పాలినోమియల్ రిగ్రెషన్‌ను శిక్షణ ఇవ్వడానికి కోడ్ మునుపటి పద్దతితో సాదారణంగా అదే ఉంటుంది.\n" ] }, { @@ -1074,7 +1077,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "---\n\n\n**అస్పష్టత**: \nఈ పత్రాన్ని AI అనువాద సేవ [Co-op Translator](https://github.com/Azure/co-op-translator) ఉపయోగించి అనువదించబడింది. మేము ఖచ్చితత్వానికి ప్రయత్నించినప్పటికీ, ఆటోమేటెడ్ అనువాదాల్లో పొరపాట్లు లేదా తప్పిదాలు ఉండవచ్చు. అసలు పత్రం దాని స్వదేశీ భాషలోనే అధికారిక మూలంగా పరిగణించాలి. ముఖ్యమైన సమాచారానికి, ప్రొఫెషనల్ మానవ అనువాదం సిఫార్సు చేయబడుతుంది. ఈ అనువాదం వాడకం వల్ల కలిగే ఏవైనా అపార్థాలు లేదా తప్పుదారుల బాధ్యత మేము తీసుకోము.\n\n" + "---\n\n\n**వేలంట్**: \nఈ పత్రాన్ని AI అనువాద సేవ [Co-op Translator](https://github.com/Azure/co-op-translator) ఉపయోగించి అనువదించారు. మేము సరైనదిగా ఉండేందుకు ప్రయత్నిస్తున్నప్పటికీ, స్వయంచాలక అనువాదాల్లో పొరపాట్లు లేదా తప్పులుండే అవకాశం ఉంది. దయచేసి, మౌళిక భాషలో ఉన్న మూల పత్రాన్ని అధికారిక ఆధారంగా పరిగణించాలి. కీలక సమాచారం కోసం నిపుణుల انسانی అనువాదం చేయించడం మంచిది. ఈ అనువాదం వాడకం నుండి కలిగే ఏవైనా అపార్థాలు లేదా తప్పుదారులు గురించి మేము బాధ్యత వహించము.\n\n" ] } ], @@ -1104,13 +1107,7 @@ "hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d" } }, - "orig_nbformat": 2, - "coopTranslator": { - "original_hash": "d77bd89ae7e79780c68c58bab91f13f8", - "translation_date": "2025-12-19T16:19:13+00:00", - "source_file": "2-Regression/3-Linear/solution/notebook.ipynb", - "language_code": "te" - } + "orig_nbformat": 2 }, "nbformat": 4, "nbformat_minor": 2