machine-learning учебник
Начало работы с машинным обучением
Поиск…
замечания
Machine Learning - это наука (и искусство) программирования компьютеров, чтобы они могли учиться на данных.
Более формальное определение:
Это область обучения, которая дает компьютерам возможность учиться, не будучи явно запрограммированной. Артур Самуэль, 1959
Более инженерно-ориентированное определение:
Говорят, что компьютерная программа учится на опыте E в отношении некоторой задачи T и некоторой меры производительности P, если ее производительность на T, измеренная P, улучшается с опытом E. Tom Mitchell, 1997
Источник: «Практическое обучение машинам с помощью Scikit-Learn и TensorFlow от Aurélien Géron (O'Reilly). Copyright 2017 Aurélien Géron, 978-1-491-96229-9. "
Машинное обучение (ML) - это область компьютерной науки, которая породила исследования в области искусственного интеллекта. Сила машинного обучения над другими формами аналитики заключается в ее способности выявлять скрытые идеи и прогнозировать результаты будущих, невидимых исходных данных (обобщение). В отличие от итеративных алгоритмов, где операции явно объявлены, алгоритмы машинного обучения заимствуют понятия из теории вероятностей для выбора, оценки и улучшения статистических моделей.
Установка или настройка с использованием Python
1) scikit learn
scikit-learn - это модуль Python для машинного обучения, построенный поверх SciPy и распространяемый по лицензии BSD 3-Clause. Он имеет различные алгоритмы классификации, регрессии и кластеризации, включая векторные векторные машины, случайные леса, повышение градиента, k-средства и DBSCAN и предназначен для взаимодействия с численными и научными библиотеками Python NumPy и SciPy.
Текущая стабильная версия scikit-learn требует :
- Python (> = 2.6 или> = 3.3),
- NumPy (> = 1,6,1),
- SciPy (> = 0,9).
Для большинства pip
установки python менеджер пакетов может установить python и все его зависимости:
pip install scikit-learn
Однако для Linux-систем рекомендуется использовать диспетчер пакетов conda
, чтобы избежать возможных процессов сборки
conda install scikit-learn
Чтобы проверить, что у вас есть scikit-learn
, выполните в оболочке:
python -c 'import sklearn; print(sklearn.__version__)'
Установка Windows и Mac OSX:
Canopy и Anaconda поставляют новую версию scikit-learn в дополнение к большому набору научной библиотеки python для Windows, Mac OSX (также актуальной для Linux).
Официальный репозиторий исходного кода: https://github.com/scikit-learn/scikit-learn
2) Платформа Numenta для интеллектуальных вычислений
Платформа Numenta для интеллектуальных вычислений (NuPIC) - это платформа интеллектуального анализа машин, которая реализует алгоритмы обучения HTM. HTM - подробная вычислительная теория неокортекса. В основе HTM лежат временные алгоритмы непрерывного обучения, которые хранят и запоминают пространственные и временные шаблоны. NuPIC подходит для множества проблем, в частности обнаружения аномалий и прогнозирования потоков данных.
Бинарные файлы NuPIC доступны для:
Linux x86 64bit
OS X 10.9
OS X 10.10
Windows 64bit
Для установки NuPIC во всех операционных системах требуются следующие зависимости.
- Python 2.7
- пип> = 8.1.2
- Setuptools> = 25.2.0
- колесо> = 0.29.0
- NumPy
- Компилятор C ++ 11, такой как gcc (4.8+) или clang
Дополнительные требования к ОС X:
- Инструменты командной строки Xcode
Для установки NuPIC выполните следующие действия:
pip install nupic
Официальный репозиторий исходного кода: https://github.com/numenta/nupic
3) Нилеарн
Nilearn - это модуль Python для быстрого и легкого статистического изучения данных NeuroImaging. Он использует scikit-learn Python toolbox для многомерной статистики с такими приложениями, как интеллектуальное моделирование, классификация, декодирование или анализ связности.
Необходимые зависимости для использования программного обеспечения:
- Python> = 2.6,
- Setuptools
- Numpy> = 1.6.1
- SciPy> = 0,9
- Scikit-learn> = 0.14.1
- Nibabel> = 1,1,0
Если вы используете функции построения nilearn или выполняете примеры, требуется matplotlib> = 1.1.1.
Если вы хотите запустить тесты, вам нужен нос> = 1.2.1 и покрытие> = 3.6.
Сначала убедитесь, что вы установили все перечисленные выше зависимости. Затем вы можете установить nilearn, выполнив следующую команду в командной строке:
pip install -U --user nilearn
Официальный репозиторий исходного кода: https://github.com/nilearn/nilearn/
4) Использование Anaconda
Многие научные библиотеки Python легко доступны в Anaconda. Вы можете получить установочные файлы из здесь . С одной стороны, используя Anaconda, вы не устанавливаете и не настраиваете многие пакеты, это лицензия BSD и имеет тривиальный процесс установки, доступный для Python 3 и Python 2, в то время как, с другой стороны, это дает вам меньшую гибкость. Например, некоторые современные пакеты Python для глубокого обучения могут использовать другую версию numpy, которая была установлена Anaconda. Тем не менее, этот недостаток может быть рассмотрен с использованием другой установки python отдельно (например, в Linux и MAC).
Настройка Anaconda предложит вам установить местоположение установки, а также предложит вам вариант добавления PATH. Если вы добавите Anaconda в свой PATH, ожидается, что ваша ОС найдет Anaconda Python по умолчанию. Поэтому модификации и будущие установки будут доступны только для этой версии Python.
Чтобы было ясно, после установки Anaconda и вы добавите его в PATH, используя Ubuntu 14.04 через терминал, если вы наберете
python
Voila, Anaconda Python - это ваш Python по умолчанию, вы можете сразу начать пользоваться множеством библиотек. Однако, если вы хотите использовать свой старый Python
/usr/bin/python
Короче говоря, Anaconda является одним из самых быстрых способов начать машинное обучение и анализ данных с помощью Python.
Установка или настройка с использованием языка R
Пакеты представляют собой коллекции R-функций, данных и скомпилированного кода в четко определенном формате. Публичные (и частные) репозитории используются для размещения коллекций пакетов R. Самая большая коллекция R-пакетов доступна в CRAN. Некоторые из наиболее популярных пакетов машинного обучения R являются следующими среди других:
1) rpart
Описание: Рекурсивное разбиение на деревья классификации, регрессии и выживания. Реализация большинства функциональных возможностей книги 1984 года Бреймана, Фридмана, Олсена и Стоуна.
Его можно установить из CRAN, используя следующий код:
install.packages("rpart")
Загрузите пакет:
library(rpart)
Официальный источник: https://cran.r-project.org/web/packages/rpart/index.html
2) e1071
Описание: функции для анализа скрытого класса, кратковременного преобразования Фурье, нечеткой кластеризации, векторных машин поддержки, вычисления кратчайших путей, кластеризации с мешками, наивного классификатора Байеса и т. Д.
Установка из CRAN:
install.packages("e1071")
Загрузка пакета:
library(e1071)
Официальный источник: https://cran.r-project.org/web/packages/e1071/index.html
3) Неизвестный
Описание: Классификация и регрессия на основе дерева деревьев с использованием случайных входов.
Установка из CRAN:
install.packages("randomForest")
Загрузка пакета:
library(randomForest)
Официальный источник: https://cran.r-project.org/web/packages/randomForest/index.html
4) каретка
Описание: Различные функции для обучения и построения схем классификации и регрессии.
Установка из CRAN:
install.packages("caret")
Загрузка пакета:
library(caret)
Официальный источник: https://cran.r-project.org/web/packages/caret/index.html