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/zh-TW/AGENTS.md

336 lines
10 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.

# AGENTS.md
## 專案概述
這是 **機器學習初學者課程**一個為期12週、共26課的完整課程涵蓋使用 Python主要使用 Scikit-learn和 R 的經典機器學習概念。本儲存庫設計為自學資源,包含實作專案、測驗和作業。每節課透過來自世界各地不同文化和地區的真實數據探索機器學習概念。
主要內容:
- **教育內容**26課涵蓋機器學習入門、回歸、分類、聚類、自然語言處理NLP、時間序列和強化學習
- **測驗應用程式**:基於 Vue.js 的測驗應用程式,提供課前和課後評估
- **多語言支持**:透過 GitHub Actions 自動翻譯至40多種語言
- **雙語支持**:課程提供 PythonJupyter notebooks和 RR 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` - Python Jupyter notebook
- `solution/` - 解答程式碼Python 和 R 版本)
- `assignment.md` - 練習題
- `images/` - 視覺資源
## 設置指令
### Python 課程
大多數課程使用 Jupyter notebooks。安裝所需的依賴項
```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"))
```
### 測驗應用程式
測驗應用程式是一個位於 `quiz-app/` 資料夾中的 Vue.js 應用程式:
```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 notebook
```bash
jupyter notebook notebook.ipynb
```
3. 完成課程內容和練習
4. 如有需要,可查看 `solution/` 資料夾中的解答
### Python 開發
- 課程使用標準的 Python 數據科學庫
- 使用 Jupyter notebooks 進行互動式學習
- 每個課程的 `solution/` 資料夾中提供解答程式碼
### R 開發
- R 課程以 `.rmd` 格式R Markdown提供
- 解答位於 `solution/R/` 子資料夾中
- 使用 RStudio 或帶有 R kernel 的 Jupyter 運行 R notebooks
### 測驗應用程式開發
```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
```
**注意**:這主要是一個教育課程儲存庫,課程內容沒有自動化測試。驗證方式包括:
- 完成課程練習
- 成功運行 notebook 的每個單元格
- 將輸出與解答中的預期結果進行比對
## 程式碼風格指南
### Python 程式碼
- 遵循 PEP 8 風格指南
- 使用清晰、描述性的變數名稱
- 對複雜操作添加註解
- Jupyter notebooks 應包含解釋概念的 markdown 單元格
### JavaScript/Vue.js測驗應用程式
- 遵循 Vue.js 風格指南
- ESLint 配置位於 `quiz-app/package.json`
- 運行 `npm run lint` 檢查並自動修復問題
### 文件
- Markdown 文件應清晰且結構良好
- 在圍欄代碼塊中包含代碼示例
- 使用相對鏈接進行內部引用
- 遵循現有的格式約定
## 構建與部署
### 測驗應用程式部署
測驗應用程式可部署至 Azure 靜態網頁應用程式:
1. **先決條件**
- Azure 帳戶
- GitHub 儲存庫(已分叉)
2. **部署至 Azure**
- 創建 Azure 靜態網頁應用程式資源
- 連接至 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. **測試您的程式碼** - 確保所有 notebook 單元格成功運行
5. **驗證鏈接和圖片**是否正常工作
6. **提交拉取請求**並提供清晰的描述
### 拉取請求指南
- **標題格式**`[章節] 簡要描述更改`
- 示例:`[回歸] 修正第5課中的拼寫錯誤`
- 示例:`[測驗應用程式] 更新依賴項`
- **提交前**
- 確保所有 notebook 單元格無錯誤執行
- 如果修改測驗應用程式,運行 `npm run lint`
- 驗證 Markdown 格式
- 測試任何新的代碼示例
- **拉取請求必須包含**
- 更改描述
- 更改原因
- 如果有 UI 更改,提供截圖
- **行為準則**:遵循 [Microsoft 開源行為準則](CODE_OF_CONDUCT.md)
- **CLA**:您需要簽署貢獻者許可協議
## 課程結構
每節課遵循一致的模式:
1. **課前測驗** - 測試基礎知識
2. **課程內容** - 書面指導和解釋
3. **代碼演示** - notebook 中的實作示例
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)
- **視頻講解**[YouTube 播放列表](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 Notebooks
- **內核問題**如果單元格掛起重啟內核Kernel → Restart
- **導入錯誤**:確保使用 pip 安裝所有所需套件
- **路徑問題**:從包含 notebook 的目錄運行
### 測驗應用程式
- **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 套件
- **內核問題**:可能需要為 Jupyter 安裝 IRkernel
## 專案特定注意事項
- 這主要是一個 **學習課程**,而非生產代碼
- 重點在於透過 **實作練習理解機器學習概念**
- 代碼示例以 **清晰性優先於優化**
- 大多數課程是 **自包含的**,可獨立完成
- **提供解答**,但學習者應先嘗試完成練習
- 儲存庫使用 **Docsify** 生成網頁文件,無需構建步驟
- **手繪筆記**提供概念的視覺摘要
- **多語言支持**使內容全球可訪問
---
**免責聲明**
本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,請注意自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或誤釋不承擔責任。