Statsmodels is a Python package that allows users to explore data, estimate statistical models, and perform statistical tests. Statsmodels is built on top of the numerical libraries NumPy and SciPy, integrates with Pandas for data handling and uses Patsy for an R-like formula interface.
Statsmodels is part of the scientific Python stack that is oriented towards data analysis, data science and statistics. Statsmodels is built on top of the numerical libraries NumPy and SciPy, integrates with Pandas for data handling and uses Patsy[3] for an R-like formula interface. Graphical functions are based on the Matplotlib library. Statsmodels provides the statistical backend for other Python libraries. Statmodels in free software released under the Modified BSD (3-clause) license.
Features
Linear regression models:
Mixed Linear Model with mixed effects and variance components
GLM: Generalized linear models with support for all of the one-parameter exponential family distributions
Bayesian Mixed GLM for Binomial and Poisson
GEE: Generalized Estimating Equations for one-way clustered or longitudinal data
Discrete models:
Multivariate:
Nonparametric statistics: Univariate and multivariate kernel density estimators
Datasets: Datasets used for examples and in testing
Statistics: a wide range of statistical tests
Imputation with MICE, regression on order statistic and Gaussian imputation
Mediation analysis
Tools for reading Stata .dta files, but pandas has a more recent version
Keras is a high-level neural networks API, written in Python and capable of running on top of TensorFlow, CNTK, or Theano. It was developed with a focus on enabling fast experimentation. Being able to go from idea to result with the least possible delay is key to doing good research.
Features
Allows for easy and fast prototyping (through user friendliness, modularity, and extensibility).
Supports both convolutional networks and recurrent networks, as well as combinations of the two.
Runs seamlessly on CPU and GPU.
Main Benefits
User friendliness. Keras is an API designed for human beings, not machines. It puts user experience front and center. Keras follows best practices for reducing cognitive load: it offers consistent & simple APIs, it minimizes the number of user actions required for common use cases, and it provides clear and actionable feedback upon user error.
Modularity. A model is understood as a sequence or a graph of standalone, fully-configurable modules that can be plugged together with as few restrictions as possible. In particular, neural layers, cost functions, optimizers, initialization schemes, activation functions, regularization schemes are all standalone modules that you can combine to create new models.
Easy extensibility. New modules are simple to add (as new classes and functions), and existing modules provide ample examples. To be able to easily create new modules allows for total expressiveness, making Keras suitable for advanced research.
Work with Python. No separate models configuration files in a declarative format. Models are described in Python code, which is compact, easier to debug, and allows for ease of extensibility
Webware for Python. Webware for Python is an object-oriented, Python web application framework. The suite uses well known design patterns and includes a fast application server, servlets, Python Server Pages (PSP), object-relational mapping, Task Scheduling, Session Management, and many other features.
Webware for Python is a suite of programming tools for constructing web-based applications in Python. It features:
Traditional web development tools:
Python-based Server Pages
HTML/Web templates
Session management
Task scheduling
Object-relational mapping (ORM)
Webware for Python is well proven and platform-independent. It is compatible with multiple web servers, database servers, and operating systems.
Bottleis a WSGI micro web-framework for the Python programming language. It is designed to be fast, simple and lightweight, and is distributed as a single file module with no dependencies other than the Python Standard Library. The same module runs with Python 2.5+ and 3.x.
It offers request dispatching (routes) with URL parameter support, templates, a built-in web server and adapters for many third-party WSGI/HTTP-server and template engines.
It is designed to be lightweight, and to allow development of web applications easily and quickly.
Bottle is a fast, simple and lightweight WSGI micro web-framework for Python. It is distributed as a single file module and has no dependencies other than the Python Standard Library.
Routing: Requests to function-call mapping with support for clean and dynamic URLs. Templates: Fast and pythonic built-in template engine and support for mako, jinja2 and cheetah templates. Utilities: Convenient access to form data, file uploads, cookies, headers and other HTTP-related metadata. Server: Built-in HTTP development server and support for paste, fapws3, bjoern, gae, cherrypy or any other WSGI capable HTTP server.
Features
Single file which runs with both Python 2.5+ and 3.x
Can run as a standalone web server or be used behind ("mounted on") any web server which supports WSGI
Built-in template engine called SimpleTemplate Engine
Support for JSON client data (for REST and JavaScript clients)
Plugins for popular databases and key/value stores and other features
Pyramid is a Python web application framework. It is designed to make creating web applications easier. It is open source. A pyramid is fully compatible with Python 3.
With Pyramid, we can write very small applications without needing to know a lot. And by learning a bit more, you can write very large applications too.
Pyramid will allow you to become productive quickly and will grow with you. It won't hold you back when your application is small, and it won't get in your way when your application becomes large. Other application frameworks seem to fall into two non-overlapping categories: those that support "small apps" and those designed for "big apps".
Pyramid can automatically detect changes you make to template files and code, so your changes are immediately available in your browser. You can debug using plain old print() calls, which will display to your console.
Pyramid has a debug toolbar that allows you to see information about how your application is working right in your browser. See configuration, installed packages, SQL queries, logging statements and more.
Pyramid provides only the core tools needed for nearly all web applications: mapping URLs to code, security, and serving static assets (files like JavaScript and CSS). Additional tools provide templating, database integration and more
Theano is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently. Theano features:
Features
Tight integration with NumPy – Use numpy.ndarray in Theano-compiled functions.
Transparent use of a GPU – Perform data-intensive computations much faster than on a CPU.
Efficient symbolic differentiation – Theano does your derivatives for functions with one or many inputs.
Speed and stability optimizations – Get the right answer for log(1+x) even when x is really tiny.
Dynamic C code generation – Evaluate expressions faster.
Extensive unit-testing and self-verification – Detect and diagnose many types of errors.
Benefits for mathematical expressions
Use of GPU for computations
Constant folding
Merging of similar subgraphs, to avoid redundant calculation
Arithmetic simplification (e.g. x*y/x -> y, --x -> x)
Inserting efficient BLAS operations (e.g. GEMM) in a variety of contexts
Using memory aliasing to avoid calculation
Using inplace operations wherever it does not interfere with aliasing
Loop fusion for elementwise sub-expressions
Improvements to numerical stability (e.g. \log(1+\exp(x)) and \log(\sum_i \exp(x[i])))
Scikit-learn (formerly scikits.learn) is a free software machine learning library for the Python programming language.[3] It features various classification, regression and clustering algorithms including support vector machines, random forests, gradient boosting, k-means and DBSCAN, and is designed to interoperate with the Python numerical and scientific libraries NumPy and SciPy.
Features:
Simple and efficient tools for data mining and data analysis
Accessible to everybody, and reusable in various contexts
Built on NumPy, SciPy, and matplotlib
Open source, commercially usable - BSD license
scikit-learn comes with a few standard datasets, for instance the iris and digits datasets for classification and the boston house prices dataset for regression.
Scikit-learn is largely written in Python, with some core algorithms written in Cython to achieve performance. Support vector machines are implemented by a Cython wrapper around LIBSVM; logistic regression and linear support vector machines by a similar wrapper around LIBLINEAR.