Skip to content

Continually updated data science Python notebooks: Deep learning (TensorFlow, Theano, Caffe), scikit-learn, Kaggle, Spark, Hadoop MapReduce, HDFS, matplotlib, pandas, NumPy, SciPy, Python essentials, AWS, and various command lines. https://bit.ly/data-notes

License

Notifications You must be signed in to change notification settings

ViviLouies/data-science-ipython-notebooks

Repository files navigation


data-science-ipython-notebooks

This repo is a collection of IPython Notebooks I reference while working with data. Although I developed and maintain many notebooks, other notebooks I reference were created by various authors, who are credited within their notebook(s) by providing their names and/or a link to their source.

For detailed instructions, scripts, and tools to more optimally set up your development environment for data analysis, check out the dev-setup repo.


Index


spark

IPython Notebook(s) demonstrating spark and HDFS functionality.

NotebookDescription
sparkIn-memory cluster computing framework, up to 100 times faster for certain applications and is well suited for machine learning algorithms.
hdfsReliably stores very large files across machines in a large cluster.

mapreduce-python

IPython Notebook(s) demonstrating Hadoop MapReduce with mrjob functionality.

NotebookDescription
mapreduce-pythonRuns MapReduce jobs in Python, executing jobs locally or on Hadoop clusters. Demonstrates Hadoop Streaming in Python code with unit test and mrjob config file to analyze Amazon S3 bucket logs on Elastic MapReduce. Disco is another python-based alternative.

kaggle-and-business-analyses

IPython Notebook(s) used in kaggle competitions and business analyses.

NotebookDescription
titanicPredicts survival on the Titanic. Demonstrates data cleaning, exploratory data analysis, and machine learning.
churn-analysisPredicts customer churn. Exercises logistic regression, gradient boosting classifers, support vector machines, random forests, and k-nearest-neighbors. Discussion of confusion matrices, ROC plots, feature importances, prediction probabilities, and calibration/descrimination.

deep-learning

IPython Notebook(s) demonstrating deep learning functionality.


tensor-flow-tutorials

NotebookDescription
tsf-basicsLearn basic operations in TensorFlow, a library for various kinds of perceptual and language understanding tasks from Google.
tsf-linearImplement linear regression in TensorFlow.
tsf-logisticImplement logistic regression in TensorFlow.
tsf-nnImplement nearest neighboars in TensorFlow.
tsf-alexImplement AlexNet in TensorFlow.
tsf-cnnImplement convolutional neural networks in TensorFlow.
tsf-mlpImplement multilayer perceptrons in TensorFlow.
tsf-rnnImplement recurrent neural networks in TensorFlow.
tsf-gpuLearn about basic multi-GPU computation in TensorFlow.
tsf-gvizLearn about graph visualization in TensorFlow.
tsf-lvizLearn about loss visualization in TensorFlow.

tensor-flow-exercises

NotebookDescription
tsf-not-mnistLearn simple data curation by creating a pickle with formatted datasets for training, development and testing in TensorFlow.
tsf-fully-connectedProgressively train deeper and more accurate models using logistic regression and neural networks in TensorFlow.
tsf-regularizationExplore regularization techniques by training fully connected networks to classify notMNIST characters in TensorFlow.
tsf-convolutionsCreate convolutional neural networks in TensorFlow.
tsf-word2vecTrain a skip-gram model over Text8 data in TensorFlow.
tsf-lstmTrain a LSTM character model over Text8 data in TensorFlow.

theano-tutorials

NotebookDescription
theano-introIntro to Theano, which allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently. It can use GPUs and perform efficient symbolic differentiation.
theano-scanLearn scans, a mechanism to perform loops in a Theano graph.
theano-logisticImplement logistic regression in Theano.
theano-rnnImplement recurrent neural networks in Theano.
theano-mlpImplement multilayer perceptrons in Theano.

deep-learning-misc

NotebookDescription
deep-dreamCaffe-based computer vision program which uses a convolutional neural network to find and enhance patterns in images.

scikit-learn

IPython Notebook(s) demonstrating scikit-learn functionality.

NotebookDescription
introIntro notebook to scikit-learn. Scikit-learn adds Python support for large, multi-dimensional arrays and matrices, along with a large library of high-level mathematical functions to operate on these arrays.
knnImplement k-nearest neighbors in scikit-learn.
linear-regImplement linear regression in scikit-learn.
svmImplement support vector machine classifiers with and without kernels in scikit-learn.
random-forestImplement random forest classifiers and regressors in scikit-learn.
k-meansImplement k-means clustering in scikit-learn.
pcaImplement principal component analysis in scikit-learn.
gmmImplement Gaussian mixture models in scikit-learn.
validationImplement validation and model selection in scikit-learn.

statistical-inference-scipy

IPython Notebook(s) demonstrating statistical inference with SciPy functionality.

NotebookDescription
scipySciPy is a collection of mathematical algorithms and convenience functions built on the Numpy extension of Python. It adds significant power to the interactive Python session by providing the user with high-level commands and classes for manipulating and visualizing data.
effect-sizeExplore statistics that quantify effect size by analyzing the difference in height between men and women. Uses data from the Behavioral Risk Factor Surveillance System (BRFSS) to estimate the mean and standard deviation of height for adult women and men in the United States.
samplingExplore random sampling by analyzing the average weight of men and women in the United States using BRFSS data.
hypothesisExplore hypothesis testing by analyzing the difference of first-born babies compared with others.

pandas

IPython Notebook(s) demonstrating pandas functionality.

NotebookDescription
pandasSoftware library written for data manipulation and analysis in Python. Offers data structures and operations for manipulating numerical tables and time series.

matplotlib

IPython Notebook(s) demonstrating matplotlib functionality.

NotebookDescription
matplotlibPython 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms.
matplotlib-appliedMatplotlib visualizations appied to Kaggle competitions for exploratory data analysis. Examples of bar plots, histograms, subplot2grid, normalized plots, scatter plots, subplots, and kernel density estimation plots.

numpy

IPython Notebook(s) demonstrating NumPy functionality.

NotebookDescription
numpyAdds Python support for large, multi-dimensional arrays and matrices, along with a large library of high-level mathematical functions to operate on these arrays.

python-data

IPython Notebook(s) demonstrating Python functionality geared towards data analysis.

NotebookDescription
data structuresLearn Python basics with tuples, lists, dicts, sets.
data structure utilitiesLearn Python operations such as slice, range, xrange, bisect, sort, sorted, reversed, enumerate, zip, list comprehensions.
functionsLearn about more advanced Python features: Functions as objects, lambda functions, closures, *args, **kwargs currying, generators, generator expressions, itertools.
datetimeLearn how to work with Python dates and times: datetime, strftime, strptime, timedelta.
loggingLearn about Python logging with RotatingFileHandler and TimedRotatingFileHandler.
pdbLearn how to debug in Python with the interactive source code debugger.
unit testsLearn how to test in Python with Nose unit tests.

aws

IPython Notebook(s) demonstrating Amazon Web Services (AWS) and AWS tools functionality.

Also check out:

  • SAWS: A Supercharged AWS command line interface (CLI).
  • Awesome AWS: A curated list of libraries, open source repos, guides, blogs, and other resources.
NotebookDescription
botoOfficial AWS SDK for Python.
s3cmdInteracts with S3 through the command line.
s3distcpCombines smaller files and aggregates them together by taking in a pattern and target file. S3DistCp can also be used to transfer large volumes of data from S3 to your Hadoop cluster.
s3-parallel-putUploads multiple files to S3 in parallel.
redshiftActs as a fast data warehouse built on top of technology from massive parallel processing (MPP).
kinesisStreams data in real time with the ability to process thousands of data streams per second.
lambdaRuns code in response to events, automatically managing compute resources.

commands

IPython Notebook(s) demonstrating various command lines for Linux, Git, etc.

NotebookDescription
linuxUnix-like and mostly POSIX-compliant computer operating system. Disk usage, splitting files, grep, sed, curl, viewing running processes, terminal syntax highlighting, and Vim.
anacondaDistribution of the Python programming language for large-scale data processing, predictive analytics, and scientific computing, that aims to simplify package management and deployment.
ipython notebookWeb-based interactive computational environment where you can combine code execution, text, mathematics, plots and rich media into a single document.
gitDistributed revision control system with an emphasis on speed, data integrity, and support for distributed, non-linear workflows.
rubyUsed to interact with the AWS command line and for Jekyll, a blog framework that can be hosted on GitHub Pages.
jekyllSimple, blog-aware, static site generator for personal, project, or organization sites. Renders Markdown or Textile and Liquid templates, and produces a complete, static website ready to be served by Apache HTTP Server, Nginx or another web server. Pelican is a python-based alternative.
djangoHigh-level Python Web framework that encourages rapid development and clean, pragmatic design. It can be useful to share reports/analyses and for blogging. Lighter-weight alternatives include Pyramid, Flask, Tornado, and Bottle.

misc

IPython Notebook(s) demonstrating miscellaneous functionality.

NotebookDescription
regexRegular expression cheat sheet useful in data wrangling.

notebook-installation

anaconda

Anaconda is a free distribution of the Python programming language for large-scale data processing, predictive analytics, and scientific computing that aims to simplify package management and deployment.

Follow instructions to install Anaconda or the more lightweight miniconda.

pip-requirements

If you prefer to use a more lightweight installation procedure than Anaconda, first clone the repo then run the following pip command on the provided requirements.txt file:

$ pip install -r requirements.txt 

running-notebooks

To view interactive content or to modify elements within the IPython notebooks, you must first clone or download the repository then run the ipython notebook. More information on IPython Notebooks can be found here.

$ git clone https://github.com/donnemartin/data-science-ipython-notebooks.git $ cd data-science-ipython-notebooks $ ipython notebook 

Notebooks tested with Python 2.7.x.

credits

contributing

Contributions are welcome! For bug reports or requests please submit an issue.

contact-info

Feel free to contact me to discuss any issues, questions, or comments.

license

This repository contains a variety of content; some developed by Donne Martin, and some from third-parties. The third-party content is distributed under the license provided by those parties.

The content developed by Donne Martin is distributed under the following license:

Copyright 2015 Donne Martin Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 

About

Continually updated data science Python notebooks: Deep learning (TensorFlow, Theano, Caffe), scikit-learn, Kaggle, Spark, Hadoop MapReduce, HDFS, matplotlib, pandas, NumPy, SciPy, Python essentials, AWS, and various command lines. https://bit.ly/data-notes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python100.0%