Anaconda è una piattaforma di scienza e apprendimento automatico per i linguaggi di programmazione Python e R. È progettato per rendere il processo di creazione e distribuzione di progetti semplici, stabili e riproducibili tra i sistemi ed è disponibile su Linux, Windows e OSX. Anaconda è una piattaforma basata su Python che cura i principali pacchetti di scienze di dati tra cui Panda, Scikit-Learn, Scipy, Numpy e la piattaforma di apprendimento automatico di Google, Tensorflow. Viene confezionato con Conda (uno strumento di installazione PIP), Anaconda Navigator per un'esperienza GUI e Spyder per un IDE.Questo tutorial attraverserà alcune delle basi di Anaconda, Conda e Spyder per il linguaggio di programmazione Python e ti presenterà i concetti necessari per iniziare a creare i tuoi progetti.
Installazione
Ci sono molti grandi articoli su questo sito per l'installazione di Anaconda su diversi sistemi di gestione dei pacchetti e nativi. Per questo motivo, fornirò alcuni collegamenti a questo lavoro qui sotto e salterò a coprire lo strumento stesso.
Nozioni di base di Conda
Conda è lo strumento di gestione dei pacchetti e ambiente Anaconda che è il nucleo di Anaconda. È molto simile a PIP con l'eccezione che è progettato per funzionare con la gestione dei pacchetti Python, C e R. Conda gestisce anche ambienti virtuali in modo simile a Virtualenv, di cui ho scritto qui.
Conferma l'installazione
Il primo passo è confermare l'installazione e la versione sul sistema. I comandi seguenti verificheranno che Anaconda sia installata e stampano la versione al terminale.
$ conda -version
Dovresti vedere risultati simili a quello seguente. Attualmente ho la versione 4.4.7 installato.
$ conda -version
Conda 4.4.7
Versione aggiornata
Conda può essere aggiornato utilizzando l'argomento di aggiornamento di Conda, come di seguito.
$ conda update Conda
Questo comando si aggiornerà a Conda alla versione più attuale.
Procedere ([y]/n)? y
Download e estrazione di pacchetti
Conda 4.4.8: ######com ########### | 100%
OpenSSL 1.0.2n: ##################################################### ####### | 100%
Certifi 2018.1.18: ##################################################com ##### | 100%
CA-certificati 2017.08.26: ################################################ | | 100%
Preparazione della transazione: fatto
Verifica della transazione: fatto
Esecuzione della transazione: fatto
Eseguendo di nuovo l'argomento della versione, vediamo che la mia versione è stata aggiornata a 4.4.8, che è la più recente versione dello strumento.
$ conda -version
Conda 4.4.8
Creare un nuovo ambiente
Per creare un nuovo ambiente virtuale, si esegue la serie di comandi di seguito.
$ conda create -n tutorialconda python = 3 $ procedere ([y]/n)? y
Puoi vedere i pacchetti installati nel tuo nuovo ambiente di seguito.
Download e estrazione di pacchetti
Certifi 2018.1.18: ##################################################com ##### | 100%
SQLite 3.22.0: ##################################################com ######### | 100%
Ruota 0.30.0: ##################################################com ########## | 100%
TK 8.6.7: ##com ############## | 100%
Readline 7.0: ##################################################com ########## | 100%
ncurses 6.0: ##################################################com ########### | 100%
libcxxabi 4.0.1: #################################################### ####### | 100%
Python 3.6.4: ##com ########## | 100%
Libffi 3.2.1: #################################################### ########## | 100%
setuptools 38.4.0: ##################################################com ##### | 100%
Libedet 3.1: #################################################### ########### | 100%
XZ 5.2.3: ################################################## | ############## | 100%
Zlib 1.2.11: ######com ########### | 100%
PIP 9.0.1: #################################################### ############# | 100%
libcxx 4.0.1: #################################################### ########## | 100%
Preparazione della transazione: fatto
Verifica della transazione: fatto
Esecuzione della transazione: fatto
#
# Per attivare questo ambiente, utilizzare:
#> fonte attiva tutorialconda
#
# Per disattivare un ambiente attivo, utilizzare:
#> DEACTIVATE DI FORNITÀ
#
Attivazione
Proprio come Virtualenv, devi attivare il tuo ambiente appena creato. Il comando seguente attiverà il tuo ambiente su Linux.
fonte attiva tutorialconda bradleys-mini: ~ bradleypatton $ fonte attiva tutorialconda
(Tutorialconda) Bradley-Mini: ~ Bradleypatton $
Installazione di pacchetti
Il comando Elenco Conda elencerà i pacchetti attualmente installati nel progetto. Puoi aggiungere ulteriori pacchetti e le loro dipendenze con il comando di installazione.
$ Conda List # Pacchetti in Ambiente AT/Users/Bradleypatton/Anaconda/Envs/Tutorialconda:
#
# Nome versione Build Channel
CA-certificati 2017.08.26 HA1E5D58_0
Certifi 2018.1.18 py36_0
libcxx 4.0.1 H579ED51_0
libcxxabi 4.0.1 HEBD6815_0
Libedet 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
Ruota 0.30.0 PY36H5EB2C71_1
XZ 5.2.3 H0278029_2
Zlib 1.2.11 HF3CBC9B_2
Per installare i panda nell'ambiente corrente si eseguirebbe il comando di shell seguente.
$ conda installa panda
Scaricherà e installerà i pacchetti e le dipendenze pertinenti.
Verranno scaricati i seguenti pacchetti:
pacchetto | costruire
---------------------------|-----------------
libgfortran-3.0.1 | H93005F0_2 495 KB
Pandas-0.22.0 | PY36H0A44026_0 10.0 mb
Numpy-1.14.0 | PY36H8A80B8C_1 3.9 mb
Python-Dateutil-2.6.1 | PY36H86D2ABB_1 238 KB
MKL-2018.0.1 | HFBD8650_4 155.1 mb
PYTZ-2017.3 | PY36HF0BF824_0 210 KB
sei-1.11.0 | PY36H0E22D5E_1 21 KB
Intel-OpenMP-2018.0.0 | H8158457_8 493 KB
------------------------------------------------------------
Totale: 170.3 mb
Verranno installati i seguenti nuovi pacchetti:
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
Panda: 0.22.0-PY36H0A44026_0
Python-Dateutil: 2.6.1-py36h86d2abb_1
PYTZ: 2017.3-PY36HF0BF824_0
Six: 1.11.0-PY36H0E22D5E_1
Eseguindo nuovamente il comando Elenco, vediamo l'installazione dei nuovi pacchetti nel nostro ambiente virtuale.
Elenco $ Conda
# pacchetti in ambiente AT/Users/Bradleypatton/Anaconda/Envs/Tutorialconda:
#
# Nome versione Build Channel
CA-certificati 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
Libedet 3.1 hb4e282d_0
Libffi 3.2.1 H475C297_4
libgfortran 3.0.1 H93005F0_2
MKL 2018.0.1 HFBD8650_4
ncurses 6.0 HD04F020_2
Numpy 1.14.0 PY36H8A80B8C_1
OpenSSL 1.0.2n HDBC3D79_0
Pandas 0.22.0 PY36H0A44026_0
PIP 9.0.1 PY36H1555CED_4
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
sei 1.11.0 PY36H0E22D5E_1
SQLite 3.22.0 H3EFE00B_0
TK 8.6.7 H35A86E2_3
Ruota 0.30.0 PY36H5EB2C71_1
XZ 5.2.3 H0278029_2
Zlib 1.2.11 HF3CBC9B_2
Per i pacchetti non parte del repository Anaconda, è possibile utilizzare i tipici comandi PIP. Non lo coprirò qui poiché la maggior parte degli utenti di Python avrà familiarità con i comandi.
Anaconda Navigator
Anaconda include un'applicazione Navigator basata su GUI che rende la vita facile per lo sviluppo. Include il taccuino Spyder IDE e Jupyter come progetti preinstallati. Ciò ti consente di accendere rapidamente un progetto dal tuo ambiente desktop GUI.
Per iniziare a lavorare dal nostro ambiente appena creato dal navigatore, dobbiamo selezionare il nostro ambiente sotto la barra degli strumenti a sinistra.
Dobbiamo quindi installare gli strumenti che vorremmo usare. Per me questo è vale a dire spyder ide. Qui è dove faccio la maggior parte del mio lavoro di scienze dei dati e per me questo è un Ide Python efficiente e produttivo. Basta fare clic sul pulsante Installa sulla piastrella del dock per Spyder. Navigator farà il resto.
Una volta installato, è possibile aprire l'IDE dalla stessa piastrella del dock. Questo lancerà Spyder dal tuo ambiente desktop.
Spyder
Spyder è l'IDE predefinito per Anaconda ed è potente per i progetti standard e di scienze dei dati in Python. L'IDE SPYDER ha un taccuino Ipython integrato, una finestra dell'editor di codice e una finestra della console.
Spyder include anche funzionalità di debug standard e un esploratore variabile per aiutare quando qualcosa non va esattamente come previsto.
Come illustrazione, ho incluso una piccola applicazione Sklearn che utilizza la regressione casuale Forrest per prevedere i prezzi delle azioni futuri. Ho anche incluso un po 'dell'output del notebook Ipython per dimostrare l'utilità dello strumento.
Ho alcuni altri tutorial che ho scritto di seguito se desideri continuare a esplorare la scienza dei dati. La maggior parte di questi sono scritti con l'aiuto di Anaconda e Spyder ABND dovrebbe funzionare perfettamente nell'ambiente.
- Pandas-Data-Frame-Tutorial
- Psycopg2-tutorial
- Kwant
Importa panda come PD
Da Pandas_DataReader Import Data
Importa Numpy come NP
Importa Talib come TA
da Sklearn.Cross_validation Import train_test_split
da Sklearn.linear_model import linearregression
da Sklearn.Metriche Importa Mean_Squared_error
da Sklearn.ensemble import casualforestreregressor
da Sklearn.Metriche Importa Mean_Squared_error
def get_data (simboli, start_date, end_date, simbolo):
pannello = dati.DataReader (simboli, 'yahoo', start_date, end_date)
df = pannello ['chiust']
Stampa (df.testa (5))
Stampa (df.coda (5))
Stampa df.loc ["2017-12-12"]
Stampa df.loc ["2017-12-12", simbolo]
Stampa df.loc [:, simbolo]
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)
Stampa df
treno = df.campione (frac = 0.8, random_state = 1)
test = df.loc [~ df.indice.isin (treno.indice)]
Stampa (treno.forma)
Stampa (test.forma)
# Ottieni tutte le colonne dal frame dati.
colonne = df.colonne.elencare()
Stampa colonne
# Memorizza la variabile prevederemo.
Target = simbolo
# Inizializza la classe modello.
Model = RandomForeStrereGressor (N_ESTIMATOR = 100, MIN_SAMPLES_LEAF = 10, random_state = 1)
# Montare il modello ai dati di allenamento.
modello.Fit (treno [colonne], treno [target])
# Genera le nostre previsioni per il set di test.
Previsioni = modello.prevedere (test [colonne])
Stampa "Pred"
Previsioni di stampa
#df2 = pd.DataFrame (data = previsioni [:])
#print df2
#df = pd.concat ([test, df2], asse = 1)
# Calcola l'errore tra le nostre previsioni di test e i valori effettivi.
Stampa "Mean_squared_error:" + STR (mean_squared_error (previsioni, test [target]))
restituire df
def normalize_data (df):
restituire df / df.iloc [0 ,:]
def plot_data (df,):
ax = df.trama (title = title, fontsize = 2)
ascia.set_xlabel ("data")
ascia.set_ylabel ("prezzo")
complotto.spettacolo()
def tutorial_run ():
Simboli #Choose
Symbol = "EGRX"
simboli = [simbolo]
#get Data
df = get_data (simboli, '2005-01-03', '2017-12-31', simbolo)
normalize_data (df)
Plot_data (df)
Se __Name__ == "__main__":
Tutorial_run () Nome: EGRX, lunghezza: 979, dType: float64
EGRX RSI SMA Bbandsu Bbandsl
Data
2017-12-29 53.419998 0.000000 0.000000 0.000000 0.000000
2017-12-28 54.740002 0.000000 0.000000 0.000000 0.000000
2017-12-27 54.160000 0.000000 0.000000 55.271265 54.289999
Conclusione
Anaconda è un ottimo ambiente per la scienza dei dati e l'apprendimento automatico a Python. Viene fornito con un repository di pacchetti curati che sono progettati per lavorare insieme per una piattaforma di scienze dati potente, stabile e riproducibile. Ciò consente a uno sviluppatore di distribuire i propri contenuti e garantire che produrrà gli stessi risultati attraverso le macchine e i sistemi operativi. Viene fornito con strumenti integrati per rendere la vita più semplice come il navigatore, che consente di creare facilmente progetti e cambiare ambienti. È il mio punto di riferimento per lo sviluppo di algoritmi e la creazione di progetti per l'analisi finanziaria. Trovo persino che uso per la maggior parte dei miei progetti Python perché ho familiarità con l'ambiente. Se stai cercando di iniziare a Python e Data Science, Anaconda è una buona scelta.