La semana pasada se vio cómo se puede realizar análisis se sentimientos en inglés con NLTK. A pesar de que NLTK es una librería muy potente, no cuenta con un lematizador para español, por lo que no es adecuado para trabajar en nuestro idioma. Una alternativa que sí permite realizar análisis de sentimientos en español en Python es spaCy, la cual también es bastante fácil de … [Leer más...] acerca de Análisis de sentimientos en español con spaCy en Python
Python
Python es un lenguaje de programación interpretado con una filosofía basada en la legibilidad del código. Un lenguaje que gracias posee un gran ecosistema de librerías para la ciencia de datos. Por lo que es uno de los más populares en la actualidad entre los científicos de datos. Además, es uno de los lenguajes más deseados y adorados por los programadores según las encuestas de Stack Overflow.
Python es un lenguaje de programación interpretado de propósito general que obliga al uso de una sintaxis clara, gracias a la cual el código es altamente legible. Siendo un lenguaje potente y fácil de aprender. Además, permite utilizar múltiples paradigmas de programación. Lo que permite usar desde programación orientada a objetos, pasando por programación imperativa o funcional.
Los paquetes de Python más utilizados por los científicos son:
- NumPy: permite el tratamiento de datos basados en matrices,
- Pandas: ideal para la manipulación de datos heterogéneos mediante objetos DataFrame,
- SciPy: implementa tareas habituales en computación científica,
- Matplotlib: facilita la visualización de datos y scikit-learn creación de modelos de aprendizaje automático.
Las publicaciones de esta sección versan sobre estas librerías y las bases del lenguaje.
Análisis de sentimientos con NLTK en Python
La librería de referencia el Python para realizar procesado del lenguaje natural (PLN) es NLTK (Natural Language Toolkit). Lo que se debe a que prácticamente incluye todas las herramientas necesarias para trabajar con PLN, entre las que se incluyen tokenización, lematización, etiquetado gramatical, análisis sintáctico y análisis de sentimientos. Facilitando de esta manera el … [Leer más...] acerca de Análisis de sentimientos con NLTK en Python
Ordenar textos en Python con acentos en diferentes idiomas
Las listas que contienen cadenas de texto se pueden ordenar el Python mediante el uso de la función sorted(). Cuando se trabaja con cadenas de texto en inglés el resultado de la ordenación es correcto, pero no así en otros idiomas como el español donde existen acentos los cuales Python no ordena correctamente. Una solución a este problema se puede conseguir con el paquete … [Leer más...] acerca de Ordenar textos en Python con acentos en diferentes idiomas
Diferencias entre fit(), predict() y fit_predict() en Scikit-learn
Scikit-learn (muchas veces reverenciada como sklearn) es posiblemente la librería de Aprendizaje Automático más popular actualmente en Python. Lo que se debe a la cantidad de modelos que implementa y su sencillez. En la mayoría de los objetos de esta librería se encuentran implementados los métodos fit(), predict() y fit_predict() usados para entrenar y realizar predicciones … [Leer más...] acerca de Diferencias entre fit(), predict() y fit_predict() en Scikit-learn
Uso de comillas simples o dobles en Python
A diferencia de otros lenguajes de programación Python ofrece la posibilidad de escribir las cadenas de texto dentro de comillas simples o dobles. Aunque en la mayoría de los casos es posible usar indistintamente unas u otras, existen situaciones en las que no es así. Ante la duda de cual usar se podría consultar PEP8, pero en este caso el estándar no hace ninguna recomendación … [Leer más...] acerca de Uso de comillas simples o dobles en Python
Eliminar las filas con valores nulos en Pandas
Cuando se importa un conjunto de datos en un DataFrame de Pandas es posible que existan valores nulos. Cuya presencia puede afectar a las conclusiones de los análisis que se desean realizar. Para evitar esto una posible solución es eliminar las filas con valores nulos, tanto sea en una única columna, en cualquiera o en un subconjunto.Conjuntos de datos con valores nulos en … [Leer más...] acerca de Eliminar las filas con valores nulos en Pandas
Obtener los índices de los N valores máximos en NumPy
En NumPy existe la función np.max() para obtener el máximo de un vector o matriz y np.argmax() para obtener la posición del máximo. De forma análoga también existen las funciones np.min() y np.argmin() para el caso de querer obtener el mínimo o su posición. Pero, en el caso de que se desee obtener los índices de los N valores máximos en NumPy no existe una función directa y es … [Leer más...] acerca de Obtener los índices de los N valores máximos en NumPy
Gráficos de cascada: visualizar la evolución de los datos en Python
Los gráficos de cascada (Waterfall charts) son una herramienta para visualizar de una forma sencilla cómo se acumulan los valores positivos y negativos en una serie de datos. Pudiendo ofrecer en algunos casos más información que los gráficos de barras o líneas. Actualmente no existe en Matplotlib o Seaborn una forma sencilla de crear estos gráficos, pero existen otros paquetes … [Leer más...] acerca de Gráficos de cascada: visualizar la evolución de los datos en Python
Gráficos de densidad: alternativa a los gráficos de dispersión en Python
En una publicación anterior se vieron algunos de los problemas que muestran los gráficos de dispersión cuando se cuentan con grandes conjuntos de datos, proponiendo en aquella ocasión el uso de los gráficos de Hexbin como alternativa. Otros gráficos que se pueden emplear en estas situaciones son los gráficos de densidad. Unos gráficos en los que se dibujan los contornos en los … [Leer más...] acerca de Gráficos de densidad: alternativa a los gráficos de dispersión en Python
Gráficos de Hexbin: alternativa a los gráficos de dispersión en Python
Los gráficos de dispersión son uno de los más utilizados para representar cómo se distribuyen los valores de un conjunto de datos en un plano. Son fáciles de crear y sencillos de interpretar. Aunque, cuando el conjunto de datos cuenta con centenas de registros, los gráficos de dispersión pueden ser demasiado densos para interpretarlos. En esta situación una alternativa es … [Leer más...] acerca de Gráficos de Hexbin: alternativa a los gráficos de dispersión en Python
Uso del método de Pandas diff() con cadenas de texto
El método diff() de Pandas permite obtener la diferencia entre los valores de un registro y el siguiente para todos una serie. Aunque solamente funciona cuando las series contienen valores de tipo numérico o fecha, no cadenas de texto. Si se necesita saber cuándo los valores de una serie con texto cambian de un registro a al siguiente, será necesario crear un método equivalente … [Leer más...] acerca de Uso del método de Pandas diff() con cadenas de texto
Optimizar código en Jupyter con el decorador @profile
En una publicación anterior se vio como se puede optimizar el código Python usando LineProfiler, una librería con la se puede analizar el tiempo que necesita cada línea de un programa para finalizar. Lo que permite centrar las mejoras solamente en aquellas áreas donde el código es lento. En aquella ocasión se vio como en un archivo de Python la forma más sencilla de usar esta … [Leer más...] acerca de Optimizar código en Jupyter con el decorador @profile











