# Посібник з усунення несправностей Цей посібник допоможе вам вирішити поширені проблеми під час роботи з навчальним курсом "Машинне навчання для початківців". Якщо ви не знайдете рішення тут, перевірте наші [обговорення в Discord](https://aka.ms/foundry/discord) або [створіть нову проблему](https://github.com/microsoft/ML-For-Beginners/issues). ## Зміст - [Проблеми з установкою](../..) - [Проблеми з Jupyter Notebook](../..) - [Проблеми з Python-пакетами](../..) - [Проблеми з середовищем R](../..) - [Проблеми з додатком для тестів](../..) - [Проблеми з даними та шляхами до файлів](../..) - [Поширені повідомлення про помилки](../..) - [Проблеми з продуктивністю](../..) - [Середовище та конфігурація](../..) --- ## Проблеми з установкою ### Установка Python **Проблема**: `python: command not found` **Рішення**: 1. Встановіть Python 3.8 або новішу версію з [python.org](https://www.python.org/downloads/) 2. Перевірте установку: `python --version` або `python3 --version` 3. На macOS/Linux можливо, доведеться використовувати `python3` замість `python` **Проблема**: Конфлікти через кілька версій Python **Рішення**: ```bash # 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 **Проблема**: `jupyter: command not found` **Рішення**: ```bash # Install Jupyter pip install jupyter # Or with pip3 pip3 install jupyter # Verify installation jupyter --version ``` **Проблема**: Jupyter не відкривається в браузері **Рішення**: ```bash # 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 **Проблема**: R-пакети не встановлюються **Рішення**: ```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 **Рішення**: ```r # In R console install.packages('IRkernel') IRkernel::installspec(user = TRUE) ``` --- ## Проблеми з Jupyter Notebook ### Проблеми з ядром **Проблема**: Ядро постійно завершує роботу або перезапускається **Рішення**: 1. Перезапустіть ядро: `Kernel → Restart` 2. Очистіть вивід і перезапустіть: `Kernel → Restart & Clear Output` 3. Перевірте проблеми з пам'яттю (див. [Проблеми з продуктивністю](../..)) 4. Запускайте клітинки окремо, щоб знайти проблемний код **Проблема**: Вибрано неправильне ядро Python **Рішення**: 1. Перевірте поточне ядро: `Kernel → Change Kernel` 2. Виберіть правильну версію Python 3. Якщо ядро відсутнє, створіть його: ```bash python -m ipykernel install --user --name=ml-env ``` **Проблема**: Ядро не запускається **Рішення**: ```bash # Reinstall ipykernel pip uninstall ipykernel pip install ipykernel # Register the kernel again python -m ipykernel install --user ``` ### Проблеми з клітинками в ноутбуці **Проблема**: Клітинки виконуються, але не показують результат **Рішення**: 1. Перевірте, чи клітинка все ще виконується (шукайте індикатор `[*]`) 2. Перезапустіть ядро і виконайте всі клітинки: `Kernel → Restart & Run All` 3. Перевірте консоль браузера на наявність помилок JavaScript (F12) **Проблема**: Клітинки не виконуються - немає реакції на натискання "Run" **Рішення**: 1. Перевірте, чи сервер Jupyter все ще працює в терміналі 2. Оновіть сторінку браузера 3. Закрийте та знову відкрийте ноутбук 4. Перезапустіть сервер Jupyter --- ## Проблеми з Python-пакетами ### Помилки імпорту **Проблема**: `ModuleNotFoundError: No module named 'sklearn'` **Рішення**: ```bash 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'` **Рішення**: ```bash # Update scikit-learn to latest version pip install --upgrade scikit-learn # Check version python -c "import sklearn; print(sklearn.__version__)" ``` ### Конфлікти версій **Проблема**: Помилки несумісності версій пакетів **Рішення**: ```bash # 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` не працює через помилки дозволів **Рішення**: ```bash # 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 ``` ### Проблеми з завантаженням даних **Проблема**: `FileNotFoundError` при завантаженні CSV-файлів **Рішення**: ```python 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') ``` --- ## Проблеми з середовищем R ### Установка пакетів **Проблема**: Установка пакета завершується помилками компіляції **Рішення**: ```r # 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` не встановлюється **Рішення**: ```r # 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 **Проблема**: RMarkdown не рендериться **Рішення**: ```r # 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` не працює **Рішення**: ```bash # 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 вже зайнятий **Рішення**: ```bash # 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 /F ``` ### Помилки збірки **Проблема**: `npm run build` не працює **Рішення**: ```bash # 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 ``` **Проблема**: Помилки лінтингу заважають збірці **Рішення**: ```bash # Fix auto-fixable issues npm run lint -- --fix # Or temporarily disable linting in build # (not recommended for production) ``` --- ## Проблеми з даними та шляхами до файлів ### Проблеми з шляхами **Проблема**: Дані не знайдено при виконанні ноутбуків **Рішення**: 1. **Завжди запускайте ноутбуки з їхньої директорії** ```bash cd /path/to/lesson/folder jupyter notebook ``` 2. **Перевірте відносні шляхи в коді** ```python # Correct path from notebook location df = pd.read_csv('../data/filename.csv') # Not from your terminal location ``` 3. **Використовуйте абсолютні шляхи, якщо потрібно** ```python import os base_path = os.path.dirname(os.path.abspath(__file__)) data_path = os.path.join(base_path, 'data', 'filename.csv') ``` ### Відсутні файли даних **Проблема**: Файли з даними відсутні **Рішення**: 1. Перевірте, чи дані повинні бути в репозиторії - більшість наборів даних включені 2. Деякі уроки можуть вимагати завантаження даних - перевірте README уроку 3. Переконайтеся, що ви завантажили останні зміни: ```bash git pull origin main ``` --- ## Поширені повідомлення про помилки ### Помилки пам'яті **Помилка**: `MemoryError` або ядро завершує роботу при обробці даних **Рішення**: ```python # 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` **Рішення**: ```python 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 **Рішення**: ```python # Enable inline plotting %matplotlib inline # Import pyplot import matplotlib.pyplot as plt # Show plot explicitly plt.plot(data) plt.show() ``` **Проблема**: Графіки Seaborn виглядають інакше або викликають помилки **Рішення**: ```python import warnings warnings.filterwarnings('ignore', category=UserWarning) # Update to compatible version # pip install --upgrade seaborn matplotlib ``` ### Помилки кодування/Unicode **Проблема**: `UnicodeDecodeError` при читанні файлів **Рішення**: ```python # 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') ``` --- ## Проблеми з продуктивністю ### Повільне виконання ноутбуків **Проблема**: Ноутбуки виконуються дуже повільно **Рішення**: 1. **Перезапустіть ядро, щоб звільнити пам'ять**: `Kernel → Restart` 2. **Закрийте невикористовувані ноутбуки**, щоб звільнити ресурси 3. **Використовуйте менші вибірки даних для тестування**: ```python # Work with subset during development df_sample = df.sample(n=1000) ``` 4. **Профілюйте ваш код**, щоб знайти вузькі місця: ```python %time operation() # Time single operation %timeit operation() # Time with multiple runs ``` ### Високе використання пам'яті **Проблема**: Система вичерпує пам'ять **Рішення**: ```python # 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) ``` --- ## Середовище та конфігурація ### Проблеми з віртуальним середовищем **Проблема**: Віртуальне середовище не активується **Рішення**: ```bash # 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 ``` **Проблема**: Пакети встановлені, але не знайдені в ноутбуці **Рішення**: ```bash # 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) ``` ### Проблеми з Git **Проблема**: Неможливо завантажити останні зміни - конфлікти злиття **Рішення**: ```bash # 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 ``` ### Інтеграція з VS Code **Проблема**: Jupyter ноутбуки не відкриваються в VS Code **Рішення**: 1. Встановіть розширення Python у VS Code 2. Встановіть розширення Jupyter у VS Code 3. Виберіть правильний інтерпретатор Python: `Ctrl+Shift+P` → "Python: Select Interpreter" 4. Перезапустіть VS Code --- ## Додаткові ресурси - **Обговорення в Discord**: [Ставте запитання та діліться рішеннями в каналі #ml-for-beginners](https://aka.ms/foundry/discord) - **Microsoft Learn**: [Модулі "Машинне навчання для початківців"](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum) - **Відеоуроки**: [Плейлист на YouTube](https://aka.ms/ml-beginners-videos) - **Трекер проблем**: [Повідомляйте про помилки](https://github.com/microsoft/ML-For-Beginners/issues) --- ## Все ще виникають проблеми? Якщо ви спробували наведені вище рішення і все ще стикаєтеся з проблемами: 1. **Шукайте існуючі проблеми**: [GitHub Issues](https://github.com/microsoft/ML-For-Beginners/issues) 2. **Перевірте обговорення в Discord**: [Discord Discussions](https://aka.ms/foundry/discord) 3. **Створіть нову проблему**: Включіть: - Вашу операційну систему та її версію - Версію Python/R - Повідомлення про помилку (повний стек трасування) - Кроки для відтворення проблеми - Що ви вже спробували Ми тут, щоб допомогти! 🚀 --- **Відмова від відповідальності**: Цей документ був перекладений за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, звертаємо вашу увагу, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникли внаслідок використання цього перекладу.