You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ML-For-Beginners/translations/he/AGENTS.md

345 lines
14 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "93fdaa0fd38836e50c4793e2f2f25e8b",
"translation_date": "2025-10-03T11:12:21+00:00",
"source_file": "AGENTS.md",
"language_code": "he"
}
-->
# AGENTS.md
## סקירת הפרויקט
זהו **למידת מכונה למתחילים**, תוכנית לימודים מקיפה בת 12 שבועות ו-26 שיעורים המכסה מושגים קלאסיים בלמידת מכונה באמצעות Python (בעיקר עם Scikit-learn) ו-R. המאגר נועד להיות משאב לימוד בקצב אישי עם פרויקטים מעשיים, חידונים ומשימות. כל שיעור חוקר מושגים בלמידת מכונה דרך נתונים מעולם האמיתי ממגוון תרבויות ואזורים ברחבי העולם.
רכיבים מרכזיים:
- **תוכן חינוכי**: 26 שיעורים המכסים מבוא ללמידת מכונה, רגרסיה, סיווג, אשכולות, NLP, סדרות זמן ולמידת חיזוק
- **אפליקציית חידונים**: אפליקציה מבוססת Vue.js עם הערכות לפני ואחרי השיעור
- **תמיכה רב-שפתית**: תרגומים אוטומטיים ליותר מ-40 שפות באמצעות GitHub Actions
- **תמיכה בשתי שפות**: שיעורים זמינים גם ב-Python (מחברות Jupyter) וגם ב-R (קבצי R Markdown)
- **למידה מבוססת פרויקטים**: כל נושא כולל פרויקטים ומשימות מעשיות
## מבנה המאגר
```
ML-For-Beginners/
├── 1-Introduction/ # ML basics, history, fairness, techniques
├── 2-Regression/ # Regression models with Python/R
├── 3-Web-App/ # Flask web app for ML model deployment
├── 4-Classification/ # Classification algorithms
├── 5-Clustering/ # Clustering techniques
├── 6-NLP/ # Natural Language Processing
├── 7-TimeSeries/ # Time series forecasting
├── 8-Reinforcement/ # Reinforcement learning
├── 9-Real-World/ # Real-world ML applications
├── quiz-app/ # Vue.js quiz application
├── translations/ # Auto-generated translations
└── sketchnotes/ # Visual learning aids
```
כל תיקיית שיעור מכילה בדרך כלל:
- `README.md` - תוכן השיעור הראשי
- `notebook.ipynb` - מחברת Jupyter ב-Python
- `solution/` - קוד פתרון (גרסאות Python ו-R)
- `assignment.md` - תרגילים מעשיים
- `images/` - משאבים חזותיים
## פקודות התקנה
### לשיעורי Python
רוב השיעורים משתמשים במחברות Jupyter. התקן את התלויות הנדרשות:
```bash
# Install Python 3.8+ if not already installed
python --version
# Install Jupyter
pip install jupyter
# Install common ML libraries
pip install scikit-learn pandas numpy matplotlib seaborn
# For specific lessons, check lesson-specific requirements
# Example: Web App lesson
pip install flask
```
### לשיעורי R
שיעורי R נמצאים בתיקיות `solution/R/` כקבצי `.rmd` או `.ipynb`:
```bash
# Install R and required packages
# In R console:
install.packages(c("tidyverse", "tidymodels", "caret"))
```
### לאפליקציית החידונים
אפליקציית החידונים היא אפליקציה מבוססת Vue.js שנמצאת בתיקיית `quiz-app/`:
```bash
cd quiz-app
npm install
```
### לאתר התיעוד
כדי להפעיל את התיעוד באופן מקומי:
```bash
# Install Docsify
npm install -g docsify-cli
# Serve from repository root
docsify serve
# Access at http://localhost:3000
```
## זרימת עבודה לפיתוח
### עבודה עם מחברות שיעור
1. נווט לתיקיית השיעור (לדוגמה, `2-Regression/1-Tools/`)
2. פתח את מחברת Jupyter:
```bash
jupyter notebook notebook.ipynb
```
3. עבד דרך תוכן השיעור והתרגילים
4. בדוק פתרונות בתיקיית `solution/` במידת הצורך
### פיתוח ב-Python
- השיעורים משתמשים בספריות סטנדרטיות של מדעי הנתונים ב-Python
- מחברות Jupyter ללמידה אינטראקטיבית
- קוד פתרון זמין בתיקיית `solution/` של כל שיעור
### פיתוח ב-R
- שיעורי R נמצאים בפורמט `.rmd` (R Markdown)
- פתרונות ממוקמים בתיקיות משנה `solution/R/`
- השתמש ב-RStudio או Jupyter עם ליבת R להפעלת מחברות R
### פיתוח אפליקציית החידונים
```bash
cd quiz-app
# Start development server
npm run serve
# Access at http://localhost:8080
# Build for production
npm run build
# Lint and fix files
npm run lint
```
## הוראות בדיקה
### בדיקת אפליקציית החידונים
```bash
cd quiz-app
# Lint code
npm run lint
# Build to verify no errors
npm run build
```
**הערה**: זהו בעיקר מאגר תוכנית לימודים חינוכית. אין בדיקות אוטומטיות לתוכן השיעורים. האימות מתבצע באמצעות:
- השלמת תרגילי השיעור
- הפעלת תאים במחברות בהצלחה
- בדיקת הפלט מול התוצאות הצפויות בפתרונות
## הנחיות לסגנון קוד
### קוד Python
- עקוב אחר הנחיות הסגנון של PEP 8
- השתמש בשמות משתנים ברורים ותיאוריים
- הוסף הערות לפעולות מורכבות
- מחברות Jupyter צריכות לכלול תאי Markdown המסבירים מושגים
### JavaScript/Vue.js (אפליקציית חידונים)
- עקוב אחר מדריך הסגנון של Vue.js
- תצורת ESLint ב-`quiz-app/package.json`
- הפעל `npm run lint` לבדיקה ותיקון אוטומטי של בעיות
### תיעוד
- קבצי Markdown צריכים להיות ברורים ומובנים היטב
- כלול דוגמאות קוד בבלוקים מוקפים
- השתמש בקישורים יחסיים להפניות פנימיות
- עקוב אחר מוסכמות העיצוב הקיימות
## בנייה ופריסה
### פריסת אפליקציית החידונים
ניתן לפרוס את אפליקציית החידונים ל-Azure Static Web Apps:
1. **דרישות מוקדמות**:
- חשבון Azure
- מאגר GitHub (כבר משוכפל)
2. **פריסה ל-Azure**:
- צור משאב Azure Static Web App
- התחבר למאגר GitHub
- הגדר מיקום אפליקציה: `/quiz-app`
- הגדר מיקום פלט: `dist`
- Azure יוצר באופן אוטומטי זרימת עבודה של GitHub Actions
3. **זרימת עבודה של GitHub Actions**:
- קובץ זרימת עבודה נוצר ב-`.github/workflows/azure-static-web-apps-*.yml`
- נבנה ונפרס באופן אוטומטי בעת דחיפה לענף הראשי
### PDF של תיעוד
צור PDF מהתיעוד:
```bash
npm install
npm run convert
```
## זרימת עבודה לתרגום
**חשוב**: תרגומים מתבצעים באופן אוטומטי באמצעות GitHub Actions עם Co-op Translator.
- תרגומים נוצרים אוטומטית כאשר שינויים נדחפים לענף `main`
- **אין לתרגם תוכן באופן ידני** - המערכת מטפלת בכך
- זרימת עבודה מוגדרת ב-`.github/workflows/co-op-translator.yml`
- משתמש בשירותי Azure AI/OpenAI לתרגום
- תומך ביותר מ-40 שפות
## הנחיות לתרומה
### עבור תורמי תוכן
1. **שכפל את המאגר** ויצור ענף תכונה
2. **בצע שינויים בתוכן השיעור** אם מוסיפים/מעדכנים שיעורים
3. **אין לשנות קבצים מתורגמים** - הם נוצרים אוטומטית
4. **בדוק את הקוד שלך** - ודא שכל תאי המחברות פועלים בהצלחה
5. **אמת קישורים ותמונות** פועלים כראוי
6. **שלח בקשת משיכה** עם תיאור ברור
### הנחיות לבקשת משיכה
- **פורמט כותרת**: `[Section] תיאור קצר של השינויים`
- דוגמה: `[Regression] תיקון שגיאת כתיב בשיעור 5`
- דוגמה: `[Quiz-App] עדכון תלויות`
- **לפני שליחה**:
- ודא שכל תאי המחברות פועלים ללא שגיאות
- הפעל `npm run lint` אם משנים את quiz-app
- אמת עיצוב Markdown
- בדוק כל דוגמאות קוד חדשות
- **PR חייב לכלול**:
- תיאור השינויים
- סיבת השינויים
- צילומי מסך אם יש שינויים בממשק המשתמש
- **קוד התנהגות**: עקוב אחר [קוד ההתנהגות של Microsoft Open Source](CODE_OF_CONDUCT.md)
- **CLA**: תצטרך לחתום על הסכם רישיון התורם
## מבנה השיעור
כל שיעור עוקב אחר דפוס עקבי:
1. **חידון לפני ההרצאה** - בדיקת ידע בסיסי
2. **תוכן השיעור** - הוראות והסברים כתובים
3. **הדגמות קוד** - דוגמאות מעשיות במחברות
4. **בדיקות ידע** - אימות הבנה לאורך השיעור
5. **אתגר** - יישום מושגים באופן עצמאי
6. **משימה** - תרגול מורחב
7. **חידון לאחר ההרצאה** - הערכת תוצאות הלמידה
## הפניות לפקודות נפוצות
```bash
# Python/Jupyter
jupyter notebook # Start Jupyter server
jupyter notebook notebook.ipynb # Open specific notebook
pip install -r requirements.txt # Install dependencies (where available)
# Quiz App
cd quiz-app
npm install # Install dependencies
npm run serve # Development server
npm run build # Production build
npm run lint # Lint and fix
# Documentation
docsify serve # Serve documentation locally
npm run convert # Generate PDF
# Git workflow
git checkout -b feature/my-change # Create feature branch
git add . # Stage changes
git commit -m "Description" # Commit changes
git push origin feature/my-change # Push to remote
```
## משאבים נוספים
- **אוסף Microsoft Learn**: [מודולים של למידת מכונה למתחילים](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
- **אפליקציית חידונים**: [חידונים מקוונים](https://ff-quizzes.netlify.app/en/ml/)
- **לוח דיונים**: [דיונים ב-GitHub](https://github.com/microsoft/ML-For-Beginners/discussions)
- **הדרכות וידאו**: [רשימת השמעה ביוטיוב](https://aka.ms/ml-beginners-videos)
## טכנולוגיות מרכזיות
- **Python**: שפת התכנות הראשית לשיעורי למידת מכונה (Scikit-learn, Pandas, NumPy, Matplotlib)
- **R**: יישום חלופי באמצעות tidyverse, tidymodels, caret
- **Jupyter**: מחברות אינטראקטיביות לשיעורי Python
- **R Markdown**: מסמכים לשיעורי R
- **Vue.js 3**: מסגרת אפליקציית החידונים
- **Flask**: מסגרת אפליקציות אינטרנט לפריסת מודלים של למידת מכונה
- **Docsify**: מחולל אתרי תיעוד
- **GitHub Actions**: CI/CD ותרגומים אוטומטיים
## שיקולי אבטחה
- **אין סודות בקוד**: לעולם אל תתחייב מפתחות API או אישורים
- **תלויות**: שמור על חבילות npm ו-pip מעודכנות
- **קלט משתמש**: דוגמאות אפליקציות אינטרנט Flask כוללות אימות קלט בסיסי
- **נתונים רגישים**: מערכי הנתונים לדוגמה הם ציבוריים ולא רגישים
## פתרון בעיות
### מחברות Jupyter
- **בעיות ליבה**: הפעל מחדש את הליבה אם תאים נתקעים: Kernel → Restart
- **שגיאות ייבוא**: ודא שכל החבילות הנדרשות מותקנות עם pip
- **בעיות נתיב**: הפעל מחברות מתיקייתן המכילה
### אפליקציית חידונים
- **npm install נכשל**: נקה את מטמון npm: `npm cache clean --force`
- **התנגשויות פורט**: שנה פורט עם: `npm run serve -- --port 8081`
- **שגיאות בנייה**: מחק `node_modules` והתקן מחדש: `rm -rf node_modules && npm install`
### שיעורי R
- **חבילה לא נמצאה**: התקן עם: `install.packages("package-name")`
- **המרת RMarkdown**: ודא שחבילת rmarkdown מותקנת
- **בעיות ליבה**: ייתכן שתצטרך להתקין IRkernel עבור Jupyter
## הערות ספציפיות לפרויקט
- זהו בעיקר **תוכנית לימודים ללמידה**, לא קוד ייצור
- המיקוד הוא ב-**הבנת מושגים בלמידת מכונה** דרך תרגול מעשי
- דוגמאות קוד נותנות עדיפות ל-**בהירות על פני אופטימיזציה**
- רוב השיעורים הם **עצמאיים** וניתן להשלים אותם בנפרד
- **פתרונות מסופקים** אך הלומדים צריכים לנסות את התרגילים תחילה
- המאגר משתמש ב-**Docsify** לתיעוד אינטרנטי ללא שלב בנייה
- **סקצ'נוטים** מספקים סיכומים חזותיים של מושגים
- **תמיכה רב-שפתית** הופכת את התוכן לנגיש גלובלית
---
**כתב ויתור**:
מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית [Co-op Translator](https://github.com/Azure/co-op-translator). למרות שאנו שואפים לדיוק, יש לקחת בחשבון שתרגומים אוטומטיים עשויים להכיל שגיאות או אי-דיוקים. המסמך המקורי בשפתו המקורית נחשב למקור הסמכותי. למידע קריטי, מומלץ להשתמש בתרגום מקצועי על ידי בני אדם. איננו נושאים באחריות לכל אי-הבנה או פרשנות שגויה הנובעת משימוש בתרגום זה.