本指南旨在幫助您解決使用「機器學習初學者課程」時常見的問題。如果您在此未找到解決方案,請查看我們的 Discord 討論區 或 提交問題。
問題: python: command not found
解決方案:
- 從 python.org 安裝 Python 3.8 或更高版本
- 驗證安裝:
python --version或python3 --version - 在 macOS/Linux 上,可能需要使用
python3而非python
問題: 多個 Python 版本導致衝突
解決方案:
# Use virtual environments to isolate projects
python -m venv ml-env
# Activate virtual environment
# On Windows:
ml-env\Scripts\activate
# On macOS/Linux:
source ml-env/bin/activate問題: jupyter: command not found
解決方案:
# Install Jupyter
pip install jupyter
# Or with pip3
pip3 install jupyter
# Verify installation
jupyter --version問題: Jupyter 無法在瀏覽器中啟動
解決方案:
# Try specifying the browser
jupyter notebook --browser=chrome
# Or copy the URL with token from terminal and paste in browser manually
# Look for: http://localhost:8888/?token=...問題: R 套件無法安裝
解決方案:
# Ensure you have the latest R version
# Install packages with dependencies
install.packages(c("tidyverse", "tidymodels", "caret"), dependencies = TRUE)
# If compilation fails, try installing binary versions
install.packages("package-name", type = "binary")問題: IRkernel 無法在 Jupyter 中使用
解決方案:
# In R console
install.packages('IRkernel')
IRkernel::installspec(user = TRUE)問題: 核心持續崩潰或重啟
解決方案:
- 重啟核心:
Kernel → Restart - 清除輸出並重啟:
Kernel → Restart & Clear Output - 檢查記憶體問題 (請參閱 效能問題)
- 嘗試逐個執行程式碼單元以找出問題程式碼
問題: 選擇了錯誤的 Python 核心
解決方案:
- 檢查當前核心:
Kernel → Change Kernel - 選擇正確的 Python 版本
- 如果核心缺失,請建立它:
python -m ipykernel install --user --name=ml-env問題: 核心無法啟動
解決方案:
# Reinstall ipykernel
pip uninstall ipykernel
pip install ipykernel
# Register the kernel again
python -m ipykernel install --user問題: 程式碼單元正在執行但未顯示輸出
解決方案:
- 檢查程式碼單元是否仍在執行 (查看
[*]指示器) - 重啟核心並執行所有程式碼單元:
Kernel → Restart & Run All - 檢查瀏覽器主控台是否有 JavaScript 錯誤 (按 F12)
問題: 無法執行程式碼單元 - 點擊「執行」無反應
解決方案:
- 檢查 Jupyter 伺服器是否仍在終端機中運行
- 刷新瀏覽器頁面
- 關閉並重新打開 Notebook
- 重啟 Jupyter 伺服器
問題: ModuleNotFoundError: No module named 'sklearn'
解決方案:
pip install scikit-learn
# Common ML packages for this course
pip install scikit-learn pandas numpy matplotlib seaborn問題: ImportError: cannot import name 'X' from 'sklearn'
解決方案:
# Update scikit-learn to latest version
pip install --upgrade scikit-learn
# Check version
python -c "import sklearn; print(sklearn.__version__)"問題: 套件版本不相容錯誤
解決方案:
# Create a new virtual environment
python -m venv fresh-env
source fresh-env/bin/activate # or fresh-env\Scripts\activate on Windows
# Install packages fresh
pip install jupyter scikit-learn pandas numpy matplotlib seaborn
# If specific version needed
pip install scikit-learn==1.3.0問題: pip install 因權限錯誤而失敗
解決方案:
# Install for current user only
pip install --user package-name
# Or use virtual environment (recommended)
python -m venv venv
source venv/bin/activate
pip install package-name問題: 載入 CSV 檔案時出現 FileNotFoundError
解決方案:
import os
# Check current working directory
print(os.getcwd())
# Use relative paths from notebook location
df = pd.read_csv('../../data/filename.csv')
# Or use absolute paths
df = pd.read_csv('/full/path/to/data/filename.csv')問題: 套件安裝因編譯錯誤而失敗
解決方案:
# Install binary version (Windows/macOS)
install.packages("package-name", type = "binary")
# Update R to latest version if packages require it
# Check R version
R.version.string
# Install system dependencies (Linux)
# For Ubuntu/Debian, in terminal:
# sudo apt-get install r-base-dev問題: tidyverse 無法安裝
解決方案:
# Install dependencies first
install.packages(c("rlang", "vctrs", "pillar"))
# Then install tidyverse
install.packages("tidyverse")
# Or install components individually
install.packages(c("dplyr", "ggplot2", "tidyr", "readr"))問題: RMarkdown 無法渲染
解決方案:
# Install/update rmarkdown
install.packages("rmarkdown")
# Install pandoc if needed
install.packages("pandoc")
# For PDF output, install tinytex
install.packages("tinytex")
tinytex::install_tinytex()問題: npm install 失敗
解決方案:
# Clear npm cache
npm cache clean --force
# Remove node_modules and package-lock.json
rm -rf node_modules package-lock.json
# Reinstall
npm install
# If still fails, try with legacy peer deps
npm install --legacy-peer-deps問題: 8080 埠已被佔用
解決方案:
# Use different port
npm run serve -- --port 8081
# Or find and kill process using port 8080
# On Linux/macOS:
lsof -ti:8080 | xargs kill -9
# On Windows:
netstat -ano | findstr :8080
taskkill /PID <PID> /F問題: npm run build 失敗
解決方案:
# Check Node.js version (should be 14+)
node --version
# Update Node.js if needed
# Then clean install
rm -rf node_modules package-lock.json
npm install
npm run build問題: Linting 錯誤阻止建置
解決方案:
# Fix auto-fixable issues
npm run lint -- --fix
# Or temporarily disable linting in build
# (not recommended for production)問題: 執行 Notebook 時找不到數據檔案
解決方案:
-
始終從 Notebook 所在目錄執行
cd /path/to/lesson/folder jupyter notebook -
檢查程式碼中的相對路徑
# Correct path from notebook location df = pd.read_csv('../data/filename.csv') # Not from your terminal location
-
必要時使用絕對路徑
import os base_path = os.path.dirname(os.path.abspath(__file__)) data_path = os.path.join(base_path, 'data', 'filename.csv')
問題: 數據集檔案缺失
解決方案:
- 檢查數據是否應包含在存儲庫中 - 大多數數據集已包含
- 某些課程可能需要下載數據 - 請查看課程 README
- 確保您已拉取最新的更改:
git pull origin main
錯誤: MemoryError 或核心在處理數據時崩潰
解決方案:
# Load data in chunks
for chunk in pd.read_csv('large_file.csv', chunksize=10000):
process(chunk)
# Or read only needed columns
df = pd.read_csv('file.csv', usecols=['col1', 'col2'])
# Free memory when done
del large_dataframe
import gc
gc.collect()警告: ConvergenceWarning: Maximum number of iterations reached
解決方案:
from sklearn.linear_model import LogisticRegression
# Increase max iterations
model = LogisticRegression(max_iter=1000)
# Or scale your features first
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)問題: Jupyter 中未顯示繪圖
解決方案:
# Enable inline plotting
%matplotlib inline
# Import pyplot
import matplotlib.pyplot as plt
# Show plot explicitly
plt.plot(data)
plt.show()問題: Seaborn 繪圖顯示不同或出現錯誤
解決方案:
import warnings
warnings.filterwarnings('ignore', category=UserWarning)
# Update to compatible version
# pip install --upgrade seaborn matplotlib問題: 讀取檔案時出現 UnicodeDecodeError
解決方案:
# Specify encoding explicitly
df = pd.read_csv('file.csv', encoding='utf-8')
# Or try different encoding
df = pd.read_csv('file.csv', encoding='latin-1')
# For errors='ignore' to skip problematic characters
df = pd.read_csv('file.csv', encoding='utf-8', errors='ignore')問題: Notebook 執行速度非常慢
解決方案:
- 重啟核心以釋放記憶體:
Kernel → Restart - 關閉未使用的 Notebook 以釋放資源
- 使用較小的數據樣本進行測試:
# Work with subset during development df_sample = df.sample(n=1000)
- 分析程式碼效能以找出瓶頸:
%time operation() # Time single operation %timeit operation() # Time with multiple runs
問題: 系統記憶體不足
解決方案:
# Check memory usage
df.info(memory_usage='deep')
# Optimize data types
df['column'] = df['column'].astype('int32') # Instead of int64
# Drop unnecessary columns
df = df[['col1', 'col2']] # Keep only needed columns
# Process in batches
for batch in np.array_split(df, 10):
process(batch)問題: 虛擬環境無法啟動
解決方案:
# Windows
python -m venv venv
venv\Scripts\activate.bat
# macOS/Linux
python3 -m venv venv
source venv/bin/activate
# Check if activated (should show venv name in prompt)
which python # Should point to venv python問題: 套件已安裝但在 Notebook 中找不到
解決方案:
# Ensure notebook uses the correct kernel
# Install ipykernel in your venv
pip install ipykernel
python -m ipykernel install --user --name=ml-env --display-name="Python (ml-env)"
# In Jupyter: Kernel → Change Kernel → Python (ml-env)問題: 無法拉取最新更改 - 合併衝突
解決方案:
# Stash your changes
git stash
# Pull latest
git pull origin main
# Reapply your changes
git stash pop
# If conflicts, resolve manually or:
git checkout --theirs path/to/file # Take remote version
git checkout --ours path/to/file # Keep your version問題: Jupyter Notebook 無法在 VS Code 中打開
解決方案:
- 在 VS Code 中安裝 Python 擴展
- 在 VS Code 中安裝 Jupyter 擴展
- 選擇正確的 Python 解釋器:
Ctrl+Shift+P→ "Python: Select Interpreter" - 重啟 VS Code
- Discord 討論區: 在 #ml-for-beginners 頻道中提問並分享解決方案
- Microsoft Learn: 機器學習初學者模組
- 影片教程: YouTube 播放列表
- 問題追蹤器: 回報錯誤
如果您已嘗試上述解決方案但仍遇到問題:
- 搜尋現有問題: GitHub Issues
- 查看 Discord 討論: Discord Discussions
- 提交新問題: 包括以下內容:
- 您的操作系統及版本
- Python/R 版本
- 錯誤訊息 (完整回溯)
- 重現問題的步驟
- 您已嘗試的解決方法
我們隨時為您提供幫助!🚀
免責聲明:
本文檔已使用AI翻譯服務 Co-op Translator 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動化翻譯可能包含錯誤或不準確之處。應以原始語言的文件作為權威來源。對於關鍵信息,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或誤釋不承擔責任。