Anaconda es una plataforma de ciencia de datos y aprendizaje automático para los lenguajes de programación de Python y R. Está diseñado para hacer el proceso de creación y distribución de proyectos simples, estables y reproducibles en todos los sistemas y está disponible en Linux, Windows y OSX. Anaconda es una plataforma basada en Python que cura los principales paquetes de ciencia de datos que incluyen Pandas, Scikit-Learn, Scipy, Numpy y la plataforma de aprendizaje automático de Google, TensorFlow. Viene empaquetado con conda (una herramienta de instalación de PIP), Anaconda Navigator para una experiencia de GUI y Spyder para un IDE.Este tutorial atravesará algunos de los conceptos básicos de Anaconda, Conda y Spyder para el lenguaje de programación de Python y le presentará los conceptos necesarios para comenzar a crear sus propios proyectos.
Instalación
Hay muchos artículos excelentes en este sitio para instalar Anaconda en diferentes sistemas de gestión de paquetes nativos y distribuciones. Por esa razón, proporcionaré algunos enlaces a este trabajo a continuación y saltaré a cubrir la herramienta misma.
Conceptos básicos de conda
Conda es la herramienta de gestión de paquetes y medio ambiente de Anaconda, que es el núcleo de Anaconda. Es muy parecido a PIP con la excepción de que está diseñado para funcionar con Python, C y R Management de paquetes. Conda también administra entornos virtuales de una manera similar a VirtualEnv, sobre el que he escrito aquí.
Confirmar la instalación
El primer paso es confirmar la instalación y la versión en su sistema. Los comandos a continuación verificarán que se instale Anaconda e imprima la versión en la terminal.
$ conda --versión
Debería ver resultados similares a la siguiente. Actualmente tengo la versión 4.4.7 instalado.
$ conda --versión
conda 4.4.7
Versión actualizada
Conda se puede actualizar utilizando el argumento de actualización de Conda, como a continuación.
$ conda actualización conda
Este comando se actualizará a Conda a la versión más actual.
Proceder ([y]/n)? Y
Descargar y extraer paquetes
conda 4.4.8: ############################################ ########### | 100%
OpenSSL 1.0.2n: ############################################ ####### | 100%
Certifi 2018.1.18: ############################################ ##### | 100%
CA Certificados 2017.08.26: ######################################## | 100%
Preparación de la transacción: Hecho
Verificación de la transacción: Hecho
Ejecución de transacción: Hecho
Al ejecutar el argumento de la versión nuevamente, vemos que mi versión se actualizó a 4.4.8, que es el lanzamiento más reciente de la herramienta.
$ conda --versión
conda 4.4.8
Creando un nuevo entorno
Para crear un nuevo entorno virtual, ejecuta la serie de comandos a continuación.
$ conda create -n tutorialconda python = 3 $ procedir ([y]/n)? Y
Puede ver los paquetes que se instalan en su nuevo entorno a continuación.
Descargar y extraer paquetes
Certifi 2018.1.18: ############################################ ##### | 100%
sqlite 3.22.0: ############################################ ######### | 100%
Rueda 0.30.0: ############################################ ########## | 100%
Tk 8.6.7: ########################################### ############# | 100%
Readline 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%
Preparación de la transacción: Hecho
Verificación de la transacción: Hecho
Ejecución de transacción: Hecho
#
# Para activar este entorno, use:
#> Fuente Activar TutorialConda
#
# Para desactivar un entorno activo, use:
#> Fuente Desactivar
#
Activación
Al igual que VirtualEnv, debe activar su entorno recién creado. El siguiente comando activará su entorno en Linux.
Fuente Activar TutorialConda Bradleys-Mini: ~ Bradyypatton $ Fuente Activar TutorialConda
(TutorialConda) Bradleys-Mini: ~ Bradeypatton $
Instalación de paquetes
El comando de la lista de condición enumerará los paquetes instalados actualmente en su proyecto. Puede agregar paquetes adicionales y sus dependencias con el comando de instalación.
$ Conda List # paquetes en entorno en/usuarios/bradyypatton/anaconda/envs/tutorialconda:
#
# Nombre Versión Build Channel
CA Certificados 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 py36h15555ced_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
Rueda 0.30.0 PY36H5EB2C71_1
XZ 5.2.3 H0278029_2
zlib 1.2.11 HF3CBC9B_2
Para instalar pandas en el entorno actual, ejecutaría el siguiente comando shell.
$ conda install pandas
Descargará e instalará los paquetes y dependencias relevantes.
Se descargarán los siguientes paquetes:
paquete | construir
---------------------------|-----------------
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
seis-1.11.0 | PY36H0E22D5E_1 21 KB
Intel-Openmp-2018.0.0 | H8158457_8 493 KB
------------------------------------------------------------
Total: 170.3 MB
Se instalarán los siguientes nuevos paquetes:
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
Seis: 1.11.0-PY36H0E22D5E_1
Al ejecutar nuevamente el comando de lista, vemos que se instalan los nuevos paquetes en nuestro entorno virtual.
Lista de $ condación
# paquetes en el entorno AT/Usuarios/Bradyypatton/Anaconda/Envs/TutorialConda:
#
# Nombre Versión Build Channel
CA Certificados 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 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 py36h15555ced_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
Seis 1.11.0 PY36H0E22D5E_1
sqlite 3.22.0 H3EFE00B_0
Tk 8.6.7 H35A86E2_3
Rueda 0.30.0 PY36H5EB2C71_1
XZ 5.2.3 H0278029_2
zlib 1.2.11 HF3CBC9B_2
Para los paquetes que no son parte del repositorio de Anaconda, puede utilizar los comandos TIP típicos. No cubriré eso aquí, ya que la mayoría de los usuarios de Python estarán familiarizados con los comandos.
Navegante de Anaconda
Anaconda incluye una aplicación de navegador basada en GUI que facilita la vida para el desarrollo. Incluye el cuaderno de Spyder IDE y Jupyter como proyectos preinstalados. Esto le permite encender un proyecto desde su entorno de escritorio GUI rápidamente.
Para comenzar a trabajar desde nuestro entorno recién creado desde el navegador, debemos seleccionar nuestro entorno en la barra de herramientas a la izquierda.
Luego necesitamos instalar las herramientas que nos gustaría usar. Para mí, esto es, a saber, Spyder IDE. Aquí es donde hago la mayoría de mi trabajo de ciencia de datos y para mí es un IDE de Python eficiente y productivo. Simplemente haga clic en el botón Instalar en el mosaico de muelle para Spyder. Navigator hará el resto.
Una vez instalado, puede abrir el IDE desde el mismo mosaico de muelles. Esto lanzará Spyder desde su entorno de escritorio.
Espía
Spyder es el IDE predeterminado para Anaconda y es poderoso para proyectos de ciencia estándar y de datos en Python. El IDE Spyder tiene un cuaderno integrado de iPython, una ventana de editor de código y ventana de consola.
Spyder también incluye capacidades de depuración estándar y un explorador variable para ayudar cuando algo no sale exactamente según lo planeado.
Como ilustración, he incluido una pequeña aplicación Sklearn que utiliza regresión de Forrest aleatoria para predecir los precios futuros de las acciones. También he incluido parte de la salida del cuaderno de iPython para demostrar la utilidad de la herramienta.
Tengo otros tutoriales que he escrito a continuación si desea continuar explorando la ciencia de los datos. La mayoría de estos están escritos con la ayuda de Anaconda y Spyder ABND deberían funcionar sin problemas en el entorno.
- pandas-data-frame-tutorial
- psicopg2-tutorial
- Kwant
importar pandas como PD
de los datos de importación de pandas_datarader
importar numpy como np
importar talib como ta
de Sklearn.Cross_Validation import torner_test_split
de Sklearn.lineal_model importación lineal
de Sklearn.Métricos Importar Mean_Squared_Error
de Sklearn.ENEMBLE DE IMPORTACIÓN DEL ROLETFORESTREgresor
de Sklearn.Métricos Importar Mean_Squared_Error
Def get_data (símbolos, start_date, end_date, símbolo):
panel = datos.DataReader (símbolos, 'Yahoo', start_date, end_date)
df = panel ['Cerrar']
Imprimir (DF.cabeza (5))
Imprimir (DF.cola (5))
Imprimir DF.Loc ["2017-12-12"]
Imprimir DF.Loc ["2017-12-12", símbolo]
Imprimir DF.Loc [:, símbolo]
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.Bands (NP.Array (DF.iloc [:, 0])) [0]
df ["bbandsl"] = TA.Bands (NP.Array (DF.iloc [:, 0])) [1]
df ["rsi"] = df ["rsi"].cambio (-2)
DF ["SMA"] = DF ["SMA"].cambio (-2)
df ["bbandsu"] = df ["bbandsu"].cambio (-2)
DF ["BBandsl"] = DF ["BBandsl"].cambio (-2)
DF = DF.Fillna (0)
Imprimir DF
Train = DF.muestra (frac = 0.8, Random_state = 1)
prueba = df.loc [~ df.índice.isin (tren.índice)]
Impresión (tren.forma)
Impresión (prueba.forma)
# Obtenga todas las columnas de DataFrame.
columnas = DF.columnas.Listar()
estampado
# Almacenar la variable que predeciremos.
objetivo = símbolo
# Inicializar la clase de modelo.
modelo = RandomForStregressor (n_estimators = 100, min_samples_leaf = 10, random_state = 1)
# Coloque el modelo a los datos de entrenamiento.
modelo.Fit (tren [columnas], tren [objetivo])
# Genere nuestras predicciones para el conjunto de pruebas.
predicciones = modelo.Predecir (prueba [columnas])
Imprimir "Pred"
predicciones de impresión
#DF2 = PD.DataFrame (Data = Predicciones [:])
#Print df2
#DF = PD.concat ([prueba, df2], eje = 1)
# Calcule el error entre nuestras predicciones de prueba y los valores reales.
Imprimir "Mean_squared_error:" + STR (Mean_Squared_error (Predicciones, Test [Target])))
regresar DF
Def Normalize_Data (DF):
regresar DF / DF.Iloc [0 ,:]
def plot_data (df,)::
Ax = DF.tram (title = title, fontSize = 2)
hacha.set_xlabel ("fecha")
hacha.set_ylabel ("precio")
trama.espectáculo()
Def tutorial_run ():
#Símbolos de elección
símbolo = "Egrx"
símbolos = [símbolo]
#obtener datos
df = get_data (símbolos, '2005-01-03', '2017-12-31', símbolo)
normalize_data (df)
Plot_data (DF)
Si __name__ == "__main__":
Tutorial_run () Nombre: Egrx, Longitud: 979, Dtype: Float64
Egrx rsi sma bbandsu bbandsl
Fecha
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
Conclusión
Anaconda es un excelente entorno para la ciencia de datos y el aprendizaje automático en Python. Viene con un repositorio de paquetes seleccionados que están diseñados para trabajar juntos para una plataforma de ciencia de datos potente, estable y reproducible. Esto permite que un desarrollador distribuya su contenido y se asegure de que produzca los mismos resultados en las máquinas y los sistemas operativos. Viene con herramientas incorporadas para facilitar la vida como el navegador, que le permite crear fácilmente proyectos y cambiar de entornos. Es mi opción para desarrollar algoritmos y crear proyectos para el análisis financiero. Incluso encuentro que uso para la mayoría de mis proyectos de Python porque estoy familiarizado con el medio ambiente. Si está buscando comenzar en Python y Data Science, Anaconda es una buena opción.