Data Science

Open source Python packages for data science

ⓘ  This is a selection of open source tools suggested by Mediafutures mentors. Participants are free to use these or other tools.

Natural Language Processing


NLTK is a natural language processing toolkit widely used to process text data with python programming language. With NLTK it is possible to compute text similarity, lemmatization, to remove stop words, sentiment analysis, etc. The NLTK website offers a suite of open source Python modules, data sets, and tutorials supporting research and development in Natural Language Processing.

Topic modelling


Gensim is a python library for topic modelling, document indexing and similarity retrieval with large corpora. Gensm provides a set of pretrained machine learning models and pretrained vectors using large datasets collected from sources like Twitter, Wikipedia.

Machine learning


Python module for machine learning built on top of SciPy. Scikit-learn is a useful package for building machine learning models like clustering, classification, and regression models. It also provides a variety of packages for data transformation such as feature extraction, encoding, normalization etc.

Complex networks


Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks. With NetworkX it is possible to model relationships between entities building directed and undirected graphs and extract quantitative information. It can be used for a variety of network related tasks such as community detection, identifying connected components, and visualizing relationships using graphs.

Data visualization


Comprehensive library for creating static, animated, and interactive visualizations in Python. Matplotlib is widely used for quick visualizations and to get an understanding of a dataset.

Interactive graphing


Interactive graphing library for Python. With Plotly users can visually represent a dataset and study the relationships in an interactive way. Plotly supports various types of plots like line charts, scatter plots, histograms, cox plots, etc. and offers many possibilities for graph customization.