Anaconda — платформа для анализа данных и машинного обучения для языков программирования Python и R. Он разработан, чтобы сделать процесс создания и распространения проектов простым, стабильным и воспроизводимым в разных системах, и доступен в Linux, Windows и OSX. Anaconda — это платформа на основе Python, которая курирует основные пакеты для анализа данных, включая pandas, scikit-learn, SciPy, NumPy и платформу машинного обучения Google, TensorFlow. Он поставляется в комплекте с conda (инструмент для установки типа pip), навигатором Anaconda для работы с графическим интерфейсом пользователя и spyder для среды IDE. В этом руководстве будут рассмотрены некоторые основы Anaconda, conda и spyder для языка программирования Python и представлены вам к концепциям, необходимым для начала создания ваших собственных проектов.
На этом сайте есть много замечательных статей по установке Anaconda в различных дистрибутивах и собственных системах управления пакетами. По этой причине я дам несколько ссылок на эту работу ниже и перейду к рассмотрению самого инструмента.
- CentOS
- Ubuntu
Основы conda
Conda — это инструмент управления пакетами и средой Anaconda, который ядро Анаконды. Он очень похож на pip, за исключением того, что он предназначен для работы с управлением пакетами Python, C и R. Conda также управляет виртуальными средами аналогично virtualenv, о котором я писал здесь.
Подтвердить установку
Первый Шаг — подтвердить установку и версию в вашей системе. Приведенные ниже команды проверят, установлена ли Anaconda, и распечатают версию на терминале.
Вы должны увидеть результаты, аналогичные показанным ниже. Сейчас у меня установлена версия 4.4.7.
conda 4.4.7
Обновить версию
conda можно обновить с помощью аргумента conda update, как показано ниже.
Эта команда обновит conda до самой последней версии.
Загрузка и извлечение пакетов
conda 4.4.8: ######################## ################################# | 100%
openssl 1.0.2n: ################################################################ ################## | 100%
certifi 2018.1.18: ################################################################ ############### | 100%
ca-сертификатов 2017.08.26: ###################################################################### ######## | 100%
Подготовка транзакции: выполнено
Проверка транзакции: выполнено
Выполнение транзакции: выполнено
Повторно запустив аргумент версии, мы вижу, что моя версия была обновлена до 4.4.8, которая является последней версией инструмента.
conda 4.4.8
Создание новой среды
Чтобы создать новую виртуальную среду, вы запускаете серию команд ниже.
Ниже вы можете увидеть пакеты, которые установлены в вашей новой среде.
certifi 2018.1.18: ######################################################################## ######### | 100%
sqlite 3.22.0: ################################################################ ################### | 100%
колесо 0.30.0: ########################################################################################### #################### | 100%
tk 8.6.7: #################################### ######################## | 100%
строка чтения 7.0: ################################################################### ################## | 100%
ncurses 6.0: ################################################################### ################### | 100%
libcxxabi 4.0.1: ################################################################ ################# | 100%
python 3.6.4: ############################################################### #################### | 100%
libffi 3.2.1: ############################################################################################ #################### | 100%
setuptools 38.4.0: ############################################################################################ ############### | 100%
libedit 3.1: ################################################################### ################### | 100%
xz 5.2.3: #################################### ######################## | 100%
zlib 1.2.11: #################################### #################### | 100%
пункт 9.0.1: ########################################################################## ###################### | 100%
libcxx 4.0.1: ############################################################### #################### | 100%
Подготовка транзакции: выполнено
Проверка транзакции: выполнено
Выполнение транзакции: выполнено
#
# Чтобы активировать эту среду, используйте:
#> источник активировать tutorialConda
#
# Чтобы деактивировать активную среду, используйте:
#> source deactivate
#
Активация
Как и в virtualenv, вы должны активировать вновь созданную среду. Приведенная ниже команда активирует вашу среду в Linux.
(tutorialConda) Bradleys-Mini: ~ BradleyPatton $
Установка пакетов
Команда conda list выведет список пакетов, установленных в данный момент в вашем проекте. Вы можете добавить дополнительные пакеты и их зависимости с помощью команды установки.
#
# Название Версия Канал сборки
ca-сертификаты 2017.08.26 ha1e5d58_0
certifi 2018.1. 18 py36_0
libcxx 4.0.1 h579ed51_0
libcxxabi 4.0.1 hebd6815_0
libedit 3.1 hb4e282d_0
libffi 3.2.1 h475c297_4
ncurses 6.0 hd04f020_2
openssl 1.0.2n hdbc3d79_0
pip 9.0.1 py36h1555ced_4
python 3.6.4 hc167b69_1
readline 7.0 hc1231fa_4
setuptools 38.4.0 py36_0
sqlite 3.22.0 h3efe00b_0
tk 8.6. 7 h35a86e2_3
wheel 0.30.0 py36h5eb2c71_1
xz 5.2.3 h0278029_2
zlib 1.2.11 hf3cbc9b_2
Чтобы установить панды в В текущей среде вы должны выполнить следующую команду оболочки.
Он загрузит и установит соответствующие пакеты и зависимости.
пакет | сборка
————————— | —————- —
libgfortran-3.0.1 | h93005f0_2 495 КБ
pandas-0.22.0 | py36h0a44026_0 10,0 МБ
numpy-1.14.0 | py36h8a80b8c_1 3,9 МБ
python-dateutil-2.6.1 | py36h86d2abb_1 238 КБ
mkl-2018.0.1 | hfbd8650_4 155,1 МБ
pytz-2017.3 | py36hf0bf824_0 210 КБ
шесть-1.11.0 | py36h0e22d5e_1 21 КБ
intel-openmp-2018.0.0 | h8158457_8 493 КБ
—————————————— ——————
Всего: 170,3 МБ
Будут УСТАНОВЛЕНЫ следующие НОВЫЕ пакеты:
intel-openmp: 2018.0.0-h8158457_8
libgfortran: 3.0.1-h93005f0_2
mkl: 2018.0.1-hfbd8650_4
numpy: 1.14.0-py36h8a80b8c_1
панды: 0.22.0-py36h0a44026_0
python-dateutil: 2.6.1-py36h86d2abb_1
pytz: 2017.3-py36hf0bf824_0
шесть: 1.11.0-py36h0e22d5e_1
Повторно выполнив команду list, мы увидим, что новые пакеты устанавливаются в нашей виртуальной среде.
# пакетов в среде в/Users/BradleyPatton/anaconda/envs/tutorialConda:
#
# Название версии Канал сборки
ca-сертификаты 2017.08.26 ha1e5d58_0
certifi 2018.1.18 py36_0
intel-openmp 2018.0.0 h8158457_8
libcxx 4.0.1 h579ed51_0
libcxxabi 4.0.1 hebd6815_0
libedit 3.1 hb4e282d_0
libffi 3.2.1 h475c297_4
libgfortran 3.0.1 h93005f0_2
mkl 2018.0.1 hf bd8650_4
ncurses 6.0 hd04f020_2
numpy 1.14.0 py36h8a80b8c_1
openssl 1.0.2n hdbc3d79_0
pandas 0.22.0 py36h0a44026_0
pip1555.1_36 # br> python 3.6.4 hc167b69_1
python-dateutil 2.6.1 py36h86d2abb_1
pytz 2017.3 py36hf0bf824_0
readline 7.0 hc1231fa_4
setuptools 38.4.0 py36_0
шесть 1.11.0 py36h0e22d5e_1
sqlite 3.22.0 h3efe00b_0
tk 8.6.7 h35a86e2_3
колесо 0.30.0 py36h5eb2c71_1
xz 5.2.3 h0278029_2
zlib 1.2.11 hf3cbc9b_2
Для пакетов, не входящих в репозиторий Anaconda, вы можете использовать типичные команды pip. Я не буду здесь рассказывать об этом, поскольку большинство пользователей Python знакомы с командами.
Anaconda Navigator
Anaconda включает Приложение-навигатор на основе графического интерфейса, которое упрощает жизнь разработчикам. Он включает в себя spyder IDE и jupyter notebook в качестве предустановленных проектов. Это позволяет быстро запускать проект из среды рабочего стола графического интерфейса пользователя.
Чтобы начать работу с нашей вновь созданной средой из навигатора, мы должны выбрать нашу среду под панелью инструментов слева..
Затем нам нужно установить необходимые инструменты использовать. Для меня это именно spyder IDE. Здесь я выполняю большую часть своей работы по науке о данных, и для меня это эффективная и продуктивная среда разработки Python. Вы просто нажимаете кнопку установки на плитке док-станции для Spyder. Все остальное сделает навигатор.
После установки вы можете откройте IDE из той же плитки док-станции. Это запустит spyder из среды вашего рабочего стола.
Spyder
spyder — это IDE по умолчанию для Anaconda и эффективна как для стандартных проектов, так и для проектов в области науки о данных на Python. В IDE spyder есть встроенный блокнот IPython, окно редактора кода и окно консоли.
Spyder также включает стандартные возможности отладки и обозреватель переменных, чтобы помочь, когда что-то идет не так, как планировалось.
В качестве иллюстрации я добавил небольшое приложение SKLearn, которое использует случайная регрессия Форреста для прогнозирования будущих цен на акции. Я также включил некоторые выходные данные IPython Notebook, чтобы продемонстрировать полезность инструмента.
У меня есть несколько других руководств, которые я написал ниже, если вы хотите продолжить изучение науки о данных. Большинство из них написано с помощью Anaconda, и spyder abnd должен без проблем работать в среде.
- pandas-read_csv-tutorial
- pandas- data-frame-tutorial
- psycopg2-tutorial
- Kwant
из данных импорта pandas_datareader
import numpy as np
import talib as ta
из sklearn.cross_validation import train_test_split
из sklearn.linear_model import LinearRegression
из sklearn.metrics импортировать mean_squared_error
из sklearn.ensemble импортировать RandomForestRegressor
из sklearn.metrics import mean_squared_error
def get_data (symbols, start_date, end_date, символ):
panel = data.DataReader (symbols, ‘yahoo’, start_date, end_date)
df = panel [‘Close’]
print (df .head (5))
print (df.tail (5))
print df.loc [«2017-12-12»]
print df.loc [«2017 -12-12 «, символ]
print df.loc [:, symbol]
df.fillna (1.0)
df [» RSI «] = ta.RSI (np.array (df.iloc [:, 0]))
df [«SMA»] = ta.SMA (np.array (df.iloc [:, 0]))
df [«BBANDSU»] = ta.BBANDS (np.array (df.iloc [:, 0])) [0]
df [«BBANDSL»] = ta.BBANDS (np.array (df. iloc [:, 0])) [1]
df [«RSI»] = df [«RSI»]. shift (-2)
df [«SMA»] = df [» SMA «]. Shift (-2)
df [» BBANDSU «] = df [» BBANDSU «]. Shift (-2)
df [» BBANDSL «] = df [» BBANDSL » ] .shift (-2)
df = df. fillna (0)
print df
train = df.sample (frac = 0.8, random_state = 1)
test = df.loc [~ df.index.isin (train. index)]
print (train.shape)
print (test.shape)
# Получить все столбцы из фрейма данных.
columns = df.columns. tolist ()
print columns
# Сохраните переменную, для которой мы будем делать прогноз.
target = symbol
# Инициализируйте класс модели.
model = RandomForestRegressor (n_estimators = 100, min_samples_leaf = 10, random_state = 1)
# Подгоните модель под данные обучения.
model.fit (train [columns], train [target])
# Сгенерируйте наши прогнозы для набора тестов.
predictions = model.predict (test [columns])
print «predictions»
печать прогнозов
# df2 = pd.DataFrame (data = predictions [:])
#print df2
#df = pd.concat ([test, df2], axis = 1)
# Вычислить ошибку между нашими тестовыми прогнозами и фактическими значениями.
print «mean_squared_error: «+ str (mean_squared_error (прогнозы, тест [цель]))
re Turn df
def normalize_data (df):
return df/df.iloc [0,:]
def plot_data (df, title = «Цены акций»):
ax = df.plot (title = title, fontsize = 2)
ax.set_xlabel («Date»)
ax.set_ylabel («Цена»)
plot.show ()
def tutorial_run ():
# Выбрать символы
symbol = «EGRX»
symbols = [symbol]
#get data
df = get_data (symbols, ‘2005-01-03 ‘,’ 2017-12-31 ‘, символ)
normalize_data (df)
plot_data (df)
if __name__ == «__main __»:
tutorial_run ()
EGRX RSI SMA BBANDSU BBANDSL
Дата
29.12.2017 53.419998 0.000000 0.000000 0.000000 0.000000
28.12.2017 54.740002 0.000000 0.000000 0.000000 0.000000
27.12.2017 54.160000 0.000000 0.000000 55.271265 54.289999
Заключение
Anaconda — отличная среда для науки о данных и машинного обучения на Python. Он поставляется с репозиторием тщательно отобранных пакетов, которые предназначены для совместной работы на мощной, стабильной и воспроизводимой платформе анализа данных. Это позволяет разработчику распространять свой контент и гарантировать, что он будет давать одинаковые результаты на разных машинах и операционных системах. Он поставляется со встроенными инструментами, облегчающими жизнь, такими как навигатор, который позволяет легко создавать проекты и переключать среды. Я занимаюсь разработкой алгоритмов и созданием проектов финансового анализа. Я даже обнаружил, что использую его в большинстве своих проектов Python, потому что знаком с окружающей средой. Если вы хотите начать работать с Python и наукой о данных, Anaconda — хороший выбор.