Ways of doing Data Science Engineering and Machine Learning in R and Python
# Data Science Engineering, your way

[![Join the chat at https://gitter.im/jadianes/data-science-your-way](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/jadianes/data-science-your-way?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

##### An introduction to different Data Science engineering concepts and Applications using Python and R  

These series of tutorials on Data Science engineering will try to compare how different concepts in the discipline can be implemented in the two dominant ecosystems nowadays: R and Python.  

We will do this from a neutral point of view. Our opinion is that each environment has good and bad things, and any data scientist should know how to use both in order to be as prepared as posible for job market or to start personal project.    

To get a feeling of what is going on regarding this hot topic, we refer the reader to [DataCamp's Data Science War](http://blog.datacamp.com/r-or-python-for-data-analysis/) infographic. Their infographic explores what the strengths of **R** are over **Python** and vice versa, and aims to provide a basic comparison between these two programming languages from a data science and statistics perspective.  

Far from being a repetition from the previous, our series of tutorials will go hands-on into how to actually perform different data science taks such as working with data frames, doing aggregations, or creating different statistical models such in the areas of supervised and unsupervised learning.  

We will use real-world datasets, and we will build some real data products. This will help us to quickly transfer what we learn here to actual data analysis situations.  

If your are interested in Big Data products, then you might find interesting our series of [tutorials on using Apache Spark and Python](https://github.com/jadianes/spark-py-notebooks) or [using R on Apache Spark (SparkR)](https://github.com/jadianes/spark-r-notebooks).  

## Tutorials

This is a growing list of tutorials explaining concepts and applications in Python and R. 

### [Introduction to Data Frames](https://github.com/jadianes/data-science-your-way/blob/master/01-data-frames/README.md)  

An introduction to the basic data structure and how to use it in Python/Pandas and R.  

### [Exploratory Data Analysis](https://github.com/jadianes/data-science-your-way/blob/master/02-exploratory-data-analysis/README.md)    

About this important task in any data science engineering project.  

### [Dimensionality Reduction and Clustering](https://github.com/jadianes/data-science-your-way/blob/master/03-dimensionality-reduction-and-clustering/README.md)    
About using Principal Component Analysis and k-means Clustering to better represent and understand our data.  

### [Text Mining and Sentiment Classification](https://github.com/jadianes/data-science-your-way/blob/master/04-sentiment-analysis/README.md)    

How to use text mining techniques to analyse the positive or non-positive sentiment of text documents using just *linear methods*.  

## Applications  

These are some of the applications we have built using the concepts explained in the tutorials.  

### [A web-based Sentiment Classifier using R and Shiny](https://github.com/jadianes/data-science-your-way/blob/master/apps/sentimentclassifier/README.md)  

How to build a web applications where we can upload text documents to be sentiment-analysed using the R-based framework [Shiny](http://shiny.rstudio.com/).  

### [Building Data Products with Python](https://github.com/jadianes/data-science-your-way/blob/master/apps/winerama/README.md)  

Using a [wine reviews and recommendations website](http://jadianes.koding.io:8000/reviews/) as a leitmotif, this series of tutorials, with [its own separate repository](https://github.com/jadianes/winerama-recommender-tutorial) tagged by lessons, digs into how to use Python technologies such as Django, Pandas, or Scikit-learn, in order to build data products.   

### [Red Wine Quality Data analysis with R](https://github.com/jadianes/data-science-your-way/blob/master/apps/wine-quality-data-analysis/README.md)  

Using R and ggplot2, we perform Exploratory Data Analysis of this reference dataset about wine quality.    

### [Information Retrieval algorithms with Python](https://github.com/jadianes/data-science-your-way/blob/master/apps/information-retrieval/README.md)  

Where we show our own implementation of a couple of Information Retrieval algorithms: vector space model, and tf-idf.  

### [Kaggle - The Analytics Edge (Spring 2015)](https://github.com/jadianes/data-science-your-way/blob/master/apps/kaggle-analytics-edge-15/)  

My solution to this Kaggle competition. It was part of the edX MOOC [The Analitics Edge](https://www.edx.org/course/analytics-edge-mitx-15-071x-0). I highly recommend this on-line course. It is one of the most applied I have ever taken about using R for data anlysis and machine learning.  

## Contributing

Contributions are welcome!  For bug reports or requests please [submit an issue](https://github.com/jadianes/data-science-your-way/issues).

## Contact  

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

* Twitter: [@ja_dianes](https://twitter.com/ja_dianes)
* GitHub: [jadianes](https://github.com/jadianes)
* LinkedIn: [jadianes](https://www.linkedin.com/in/jadianes)
* Website: [jadianes.me](http://data.jadianes.com)

## License

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

The content developed by Jose A. Dianes is distributed under the following license:

    Copyright 2016 Jose A Dianes

    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.
