Anaconda est une plate-forme de science des données et d'apprentissage automatique pour les langages de programmation Python et R. Il est conçu pour rendre le processus de création et de distribution de projets simples, stables et reproductibles entre les systèmes et est disponible sur Linux, Windows et OSX. Anaconda est une plate-forme basée sur Python qui organise les principaux packages de sciences de données, notamment Pandas, Scikit-Learn, Scipy, Numpy et la plate-forme d'apprentissage automatique de Google, Tensorflow. Il est emballé avec Conda (un outil d'installation de Pip Like), Anaconda Navigator pour une expérience GUI et Spyder pour un IDE.Ce tutoriel traversera certaines des bases d'Anaconda, Conda et Spyder pour le langage de programmation Python et vous présentera les concepts nécessaires pour commencer à créer vos propres projets.
Installation
Il existe de nombreux excellents articles sur ce site pour installer Anaconda sur différentes distributions de distribution et de gestion des emballages natifs. Pour cette raison, je fournirai des liens vers ce travail ci-dessous et je vais passer à la couverture de l'outil lui-même.
Bases de Conda
Conda est l'outil de gestion et d'environnement des packages Anaconda qui est au cœur d'Anaconda. Il ressemble beaucoup à Pip à l'exception qu'il est conçu pour fonctionner avec Python, C et R Package Management. Conda gère également les environnements virtuels d'une manière similaire à VirtualEnv, dont j'ai écrit ici.
Confirmer l'installation
La première étape consiste à confirmer l'installation et la version sur votre système. Les commandes ci-dessous vérifieront que Anaconda est installée et imprime la version au terminal.
$ conda --version
Vous devriez voir des résultats similaires à celle ci-dessous. J'ai actuellement la version 4.4.7 installé.
$ conda --version
conda 4.4.7
Version de mise à jour
Conda peut être mis à jour en utilisant l'argument de mise à jour de Conda, comme ci-dessous.
$ conda met à jour conda
Cette commande se mettra à jour vers Conda à la version la plus récente.
Procéder ([y] / n)? y
Packages de téléchargement et d'extraction
conda 4.4.8: ################################################## ########### | 100%
OpenSSL 1.0.2n: ################################################## ######## | 100%
certif 2018.1.18: ################################################## ##### | 100%
CA-Certificates 2017.08.26: ############################################# 100%
Préparation de la transaction: réalisée
Vérification de la transaction: fait
Transaction d'exécution: fait
En exécutant à nouveau l'argument de la version, nous voyons que ma version a été mise à jour à 4.4.8, qui est la dernière version de l'outil.
$ conda --version
conda 4.4.8
Créer un nouvel environnement
Pour créer un nouvel environnement virtuel, vous exécutez la série de commandes ci-dessous.
$ conda create -n tutorialConda python = 3 $ procédure ([y] / n)? y
Vous pouvez voir les packages installés dans votre nouvel environnement ci-dessous.
Packages de téléchargement et d'extraction
certif 2018.1.18: ################################################## ##### | 100%
sqlite 3.22.0: ################################################## ######### | 100%
roue 0.30.0: ################################################## ########## | 100%
Tk 8.6.7: ################################################ ############## | 100%
LEALLINE 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%
pip 9.0.1: ################################################ ############# | 100%
libcxx 4.0.1: ################################################ ########## | 100%
Préparation de la transaction: réalisée
Vérification de la transaction: fait
Transaction d'exécution: fait
#
# Pour activer cet environnement, utilisez:
#> Source Activer TutorialConda
#
# Pour désactiver un environnement actif, utilisez:
#> source désactiver
#
Activation
Tout comme VirtualEnv, vous devez activer votre environnement nouvellement créé. La commande ci-dessous activera votre environnement sur Linux.
Source Activer TutorialConda Bradleys-mini: ~ Bradleypatton $ source Activer TutorialConda
(TutorialConda) Bradleys-mini: ~ Bradleypatton $
Installation de packages
La commande Conda List répertorie les packages actuellement installés sur votre projet. Vous pouvez ajouter des packages supplémentaires et leurs dépendances avec la commande d'installation.
$ Conda List # Packages en environnement AT / USERS / BRADLEYPATTON / ANACONDA / ENVS / TUTORALCONDA:
#
# Nom Version Build Channel
CA-Certificates 2017.08.26 ha1e5d58_0
certif 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
LEALLINE 7.0 HC1231FA_4
Setuptools 38.4.0 py36_0
sqlite 3.22.0 H3EFE00B_0
Tk 8.6.7 H35A86E2_3
roue 0.30.0 PY36H5EB2C71_1
XZ 5.2.3 H0278029_2
zlib 1.2.11 HF3CBC9B_2
Pour installer des pandas dans l'environnement actuel, vous exécuteriez la commande shell ci-dessous.
$ Conda Installer Pandas
Il téléchargera et installera les packages et dépendances pertinents.
Les packages suivants seront téléchargés:
Package | construire
---------------------------|-----------------
libgfortran-3.0.1 | H93005F0_2 495 Ko
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 Ko
MKL-2018.0.1 | HFBD8650_4 155.1 Mb
PYTZ-2017.3 | PY36HF0BF824_0 210 Ko
six-1.11.0 | py36h0e22d5e_1 21 Ko
Intel-openMP-2018.0.0 | H8158457_8 493 Ko
------------------------------------------------------------
Total: 170.3 Mb
Les nouveaux packages suivants seront installés:
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
Pandas: 0.22.0-PY36H0A44026_0
python-dateutil: 2.6.1-PY36H86D2ABB_1
Pytz: 2017.3-PY36HF0BF824_0
Six: 1.11.0-PY36H0EE22D5E_1
En exécutant à nouveau la commande de liste, nous voyons les nouveaux packages s'installer dans notre environnement virtuel.
$ Conda Liste
# Packages dans l'environnement chez / utilisateurs / Bradleypatton / anaconda / envs / tutorialConda:
#
# Nom Version Build Channel
CA-Certificates 2017.08.26 ha1e5d58_0
certif 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 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
LEALLINE 7.0 HC1231FA_4
Setuptools 38.4.0 py36_0
Six 1.11.0 py36h0e22d5e_1
sqlite 3.22.0 H3EFE00B_0
Tk 8.6.7 H35A86E2_3
roue 0.30.0 PY36H5EB2C71_1
XZ 5.2.3 H0278029_2
zlib 1.2.11 HF3CBC9B_2
Pour les packages qui ne font pas partie du référentiel Anaconda, vous pouvez utiliser les commandes PIP typiques. Je ne couvrirai pas cela ici car la plupart des utilisateurs de Python connaissent les commandes.
Navigateur Anaconda
Anaconda comprend une application Navigator basée sur GUI qui facilite la vie pour le développement. Il comprend le carnet Spyder IDE et Jupyter comme projets préinstallés. Cela vous permet de tirer rapidement un projet depuis votre environnement de bureau GUI.
Afin de commencer à travailler à partir de notre environnement nouvellement créé à partir du navigateur, nous devons sélectionner notre environnement sous la barre d'outils à gauche.
Nous devons ensuite installer les outils que nous aimerions utiliser. Pour moi, c'est à savoir Spyder IDE. C'est là que je fais la plupart de mes travaux de science des données et pour moi, c'est un IDE Python efficace et productif. Vous cliquez simplement sur le bouton Installer sur la tuile de quai pour Spyder. Navigator fera le reste.
Une fois installé, vous pouvez ouvrir l'IDE à partir de la même carreau de quai. Cela lancera Spyder depuis votre environnement de bureau.
Spyder
Spyder est l'IDE par défaut pour Anaconda et est puissant pour les projets de science standard et de données dans Python. L'IDE Spyder a un ordinateur portable IPython intégré, une fenêtre d'éditeur de code et une fenêtre de console.
Spyder comprend également des capacités de débogage standard et un explorateur variable pour aider lorsque quelque chose ne se passe pas exactement comme prévu.
Comme illustration, j'ai inclus une petite application Sklearn qui utilise une régression de Forrest aléatoire pour prédire les cours des actions futures. J'ai également inclus une partie de la sortie de l'ordinateur portable Ipython pour démontrer l'utilité de l'outil.
J'ai d'autres tutoriels que j'ai écrits ci-dessous si vous souhaitez continuer à explorer la science des données. La plupart d'entre eux sont écrits avec l'aide d'Anaconda et Spyder ABD devrait fonctionner de manière transparente dans l'environnement.
- pandas-data-trame-tutorial
- psycopg2-tutorial
- Kwant
Importer des pandas en tant que PD
De Pandas_DataReader Importer des données
Importer Numpy comme NP
importer talib comme ta
de Sklearn.cross_validation import train_test_split
de Sklearn.Linear_Model Import Lineargression
de Sklearn.Les métriques importent Mean_squared_error
de Sklearn.Ensemble Importation RandomForestRegressor
de Sklearn.Les métriques importent Mean_squared_error
def get_data (symboles, start_date, end_date, symbole):
panneau = données.DataReader (symboles, 'yahoo', start_date, end_date)
df = panneau ['close']
Imprimer (DF.tête (5))
Imprimer (DF.queue (5))
Imprimer DF.loc ["2017-12-12"]
Imprimer DF.loc ["2017-12-12", symbole]
Imprimer DF.loc [:, symbole]
df.Fillna (1.0)
df ["rsi"] = ta.RSI (NP.tableau (df.Iloc [:, 0]))
df ["sma"] = ta.SMA (NP.tableau (df.Iloc [:, 0]))
df ["bandsu"] = ta.Bands (NP.tableau (df.iloc [:, 0])) [0]
df ["bandsl"] = ta.Bands (NP.tableau (df.Iloc [:, 0])) [1]
df ["rsi"] = df ["rsi"].Shift (-2)
df ["sma"] = df ["sma"].Shift (-2)
df ["bandSU"] = df ["bbandsu"].Shift (-2)
df ["bandsl"] = df ["bandsl"].Shift (-2)
df = df.Fillna (0)
Imprimer DF
Train = DF.échantillon (frac = 0.8, random_state = 1)
test = df.loc [~ df.indice.isin (train.indice)]
imprimer (entraîner.forme)
imprimer (tester.forme)
# Obtenez toutes les colonnes à partir du dataframe.
colonnes = df.Colonnes.lister()
colonnes d'impression
# Stockez la variable que nous prédire.
cible = symbole
# Initialiser la classe de modèle.
modèle = randomforestRegressor (n_estimators = 100, min_sample_leaf = 10, random_state = 1)
# Ajuster le modèle aux données d'entraînement.
modèle.ajustement (train [colonnes], train [cible])
# Générez nos prédictions pour l'ensemble de tests.
prédictions = modèle.prédire (tester [colonnes])
Imprimer "Pred"
prédictions d'impression
# df2 = pd.DataFrame (data = prédictions [:])
#print df2
#df = pd.concat ([test, df2], axe = 1)
# Calculez une erreur entre nos prévisions de test et les valeurs réelles.
Imprimer "Mean_squared_error:" + str (Mean_squared_error (prédictions, test [cible]))
retourner df
Def Normalize_data (DF):
retourner df / df.Iloc [0 ,:]
DEF PLOT_DATA (DF,):
hache = df.Terrain (title = title, FonTSize = 2)
hache.set_xlabel ("date")
hache.set_ylabel ("prix")
parcelle.montrer()
def tutorial_run ():
#Choose symboles
symbole = "egrx"
symboles = [symbole]
#get data
df = get_data (Symbols, «2005-01-03», «2017-12-31», symbole)
normaliser_data (df)
Plot_data (DF)
Si __name__ == "__main__":
tutoriel_run () Nom: Egrx, longueur: 979, dtype: float64
EGRX RSI SMA BBBBBANSU BBBBBANSL
Date
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
Conclusion
Anaconda est un excellent environnement pour la science des données et l'apprentissage automatique à Python. Il est livré avec un dépôt de packages organisés conçus pour fonctionner ensemble pour une plate-forme de science des données puissante, stable et reproductible. Cela permet à un développeur de distribuer son contenu et de s'assurer qu'il produira les mêmes résultats entre les machines et les systèmes d'exploitation. Il est livré avec des outils intégrés pour faciliter la vie comme le navigateur, ce qui vous permet de créer facilement des projets et de changer d'environnements. C'est mon choix pour développer des algorithmes et créer des projets pour l'analyse financière. Je trouve même que j'utilise pour la plupart de mes projets Python parce que je connais l'environnement. Si vous cherchez à démarrer dans Python et la science des données, Anaconda est un bon choix.