<p><div><div><div><div data-show-faces="false" data-height="21" data-width="100" data-layout="button_count" data-send="true" data-href="https://www.r-bloggers.com/practical-machine-learning-with-r-and-python-part-6/"></div></div><div></div></div><div></div></div>
<div>
(This article was first published on <strong><a href="https://gigadom.wordpress.com/2017/11/21/practical-machine-learning-with-r-and-python-part-6/"> R – Giga thoughts …</a></strong>, and kindly contributed to <a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers)</a> </div>
<div>
<h1><strong>Introduction</strong></h1>
<p>This is the final and concluding part of my series on ‘Practical Machine Learning with R and Python’. In this series I included the implementations of the most common Machine Learning algorithms in R and Python. The algorithms implemented were</p>
<p>1. <a rel="nofollow" href="https://gigadom.wordpress.com/2017/10/06/practical-machine-learning-with-r-and-python-part-1/" target="_blank">Practical Machine Learning with R and Python – Part 1</a> In this initial post, I touch upon regression of a continuous target variable. Specifically I touch upon Univariate, Multivariate, Polynomial regression and KNN regression in both R and Python<br>
2. <a rel="nofollow" href="https://gigadom.wordpress.com/2017/10/13/practical-machine-learning-with-r-and-python-part-2/" target="_blank">Practical Machine Learning with R and Python – Part 2</a> In this post, I discuss Logistic Regression, KNN classification and Cross Validation error for both LOOCV and K-Fold in both R and Python<br>
3. <a rel="nofollow" href="https://gigadom.wordpress.com/2017/10/20/practical-machine-learning-with-r-and-python-part-3/" target="_blank">Practical Machine Learning with R and Python – Part 3</a> This 3rd part included feature selection in Machine Learning. Specifically I touch best fit, forward fit, backward fit, ridge(L2 regularization) &amp; lasso (L1 regularization). The post includes equivalent code in R and Python.<br>
4. <a rel="nofollow" href="https://gigadom.wordpress.com/2017/10/29/practical-machine-learning-with-r-and-python-part-4/" target="_blank">Practical Machine Learning with R and Python – Part 4</a> In this part I discussed SVMs, Decision Trees, Validation, Precision-Recall, AUC and ROC curves<br>
5. <a rel="nofollow" href="https://gigadom.wordpress.com/2017/11/07/practical-machine-learning-with-r-and-python-part-5/" target="_blank">Practical Machine Learning with R and Python – Part 5</a>  In this penultimate part, I touch upon B-splines, natural splines, smoothing spline, Generalized Additive Models(GAMs), Decision Trees, Random Forests and Gradient Boosted Treess.</p>
<p>In this last part I cover Unsupervised Learning. Specifically I cover the implementations of Principal Component Analysis (PCA). K-Means and Heirarchical Clustering. You can download this R Markdown file from Github at <a rel="nofollow" href="https://github.com/tvganesh/MachineLearning-RandPython-Part6" target="_blank">MachineLearning-RandPython-Part6</a></p>
<div>
<h2>1.1a Principal Component Analysis (PCA) – R code</h2>
<p>Principal Component Analysis is used to reduce the dimensionality of the input. In the code below 8 x 8 pixel of handwritten digits is reduced into its principal components. Then a scatter plot of the first 2 principal components give a very good visial representation of the data</p>
<pre><code><span>library</span><span>(</span><span>dplyr</span><span>)</span></code><code></code><code></code></pre>
<pre><code><span>library</span><span>(</span><span>ggplot2</span><span>)</span>
<span>#Note: This example is adapted from an the example in the book Python Datascience handbook by </span>
<span># Jake VanderPlas (https://jakevdp.github.io/PythonDataScienceHandbook/05.09-principal-component-analysis.html)</span>

<span># Read the digits data (From sklearn datasets)</span>
<span>digits</span><span>=</span> <span>read.csv</span><span>(</span><span>&quot;digits.csv&quot;</span><span>)</span>
<span># Create a digits classes target variable</span>
<span>digitClasses</span> <span>&lt;-</span> <span>factor</span><span>(</span><span>digits</span><span>$</span><span>X0.000000000000000000e.00.29</span><span>)</span>

<span>#Invoke the Principal Componsent analysis on columns 1-64</span>
<span>digitsPCA</span><span>=</span><span>prcomp</span><span>(</span><span>digits</span><span>[</span>,<span>1</span><span>:</span><span>64</span><span>]</span><span>)</span>

<span># Create a dataframe of PCA</span>
<span>df</span> <span>&lt;-</span> <span>data.frame</span><span>(</span><span>digitsPCA</span><span>$</span><span>x</span><span>)</span>
<span># Bind the digit classes</span>
<span>df1</span> <span>&lt;-</span> <span>cbind</span><span>(</span><span>df</span>,<span>digitClasses</span><span>)</span>
<span># Plot only the first 2 Principal components as a scatter plot. This plot uses only the</span>
<span># first 2 principal components </span>
<span>ggplot(df1,aes(x=PC1,y=PC2,col=digitClasses)) + geom_point() +</span>
<span> ggtitle(&quot;Top 2 Principal Components&quot;)</span></code></pre>
</div>
<div>
<h2><img data-orig-file="https://gigadom.files.wordpress.com/2017/11/fig1-11.png" data-orig-size="1344,960" data-medium-file="https://gigadom.files.wordpress.com/2017/11/fig1-11.png?w=300" data-attachment-id="5873" data-image-meta="{" data-image-description="" src="https://gigadom.files.wordpress.com/2017/11/fig1-11.png?w=450&h=483&fit=676%2C483" data-permalink="https://gigadom.wordpress.com/2017/11/21/practical-machine-learning-with-r-and-python-part-6/fig1-1-5/" data-large-file="https://gigadom.files.wordpress.com/2017/11/fig1-11.png?w=450&amp;h=483&amp;fit=676%2C483" alt="" data-image-title="fig1-1" sizes="(max-width: 676px) 100vw, 676px" data-comments-opened="1" class="wp-image-5873" data-recalc-dims="1"></h2>
<h2>1.1 b Variance explained vs no principal components – R code</h2>
<p>In the code below the variance explained vs the number of principal components is plotted. It can be seen that with 20 Principal components almost 90% of the variance is explained by this reduced dimensional model.</p>
<pre><code><span># Read the digits data (from sklearn datasets)</span>
<span>digits</span><span>=</span> <span>read.csv</span><span>(</span><span>&quot;digits.csv&quot;</span><span>)</span>
<span># Digits target</span>
<span>digitClasses</span> <span>&lt;-</span> <span>factor</span><span>(</span><span>digits</span><span>$</span><span>X0.000000000000000000e.00.29</span><span>)</span>
<span>digitsPCA</span><span>=</span><span>prcomp</span><span>(</span><span>digits</span><span>[</span>,<span>1</span><span>:</span><span>64</span><span>]</span><span>)</span>


<span># Get the Standard Deviation</span>
<span>sd=digitsPCA</span><span>$</span><span>sdev</span></code></pre>
<pre><code><span># Compute the variance</span>
<span>digitsVar</span><span>=</span><span>digitsPCA</span><span>$</span><span>sdev</span><span>^</span><span>2</span>
<span>#Compute the percent variance explained</span>
<span>percentVarExp</span><span>=</span><span>digitsVar</span><span>/</span><span>sum</span><span>(</span><span>digitsVar</span><span>)</span>

<span># Plot the percent variance exlained as a function of the number of principal components</span>
<span>#plot(cumsum(percentVarExp), xlab=&quot;Principal Component&quot;, </span>
<span># ylab=&quot;Cumulative Proportion of Variance Explained&quot;, </span>
<span># main=&quot;Principal Components vs % Variance explained&quot;,ylim=c(0,1),type='l',lwd=2,</span>
<span># col=&quot;blue&quot;)</span></code></pre>
</div>
<div>
<h2><img data-orig-file="https://gigadom.files.wordpress.com/2017/11/fig2-11.png" data-orig-size="1344,960" data-medium-file="https://gigadom.files.wordpress.com/2017/11/fig2-11.png?w=300" data-attachment-id="5874" data-image-meta="{" data-image-description="" src="https://gigadom.files.wordpress.com/2017/11/fig2-11.png?w=450&h=483&fit=676%2C483" data-permalink="https://gigadom.wordpress.com/2017/11/21/practical-machine-learning-with-r-and-python-part-6/fig2-1-5/" data-large-file="https://gigadom.files.wordpress.com/2017/11/fig2-11.png?w=450&amp;h=483&amp;fit=676%2C483" alt="" data-image-title="fig2-1" sizes="(max-width: 676px) 100vw, 676px" data-comments-opened="1" class="wp-image-5874" data-recalc-dims="1"></h2>
<h2>1.1c Principal Component Analysis (PCA) – Python code</h2>
<pre><code><span>import</span> numpy <span>as</span> np
<span>from</span> sklearn.decomposition <span>import</span> PCA
<span>from</span> sklearn <span>import</span> decomposition
<span>from</span> sklearn <span>import</span> datasets
<span>import</span> matplotlib.pyplot <span>as</span> plt
  
<span>from</span> sklearn.datasets <span>import</span> load_digits
<span># Load the digits data</span>
digits = load_digits()
<span># Select only the first 2 principal components</span>
pca = PCA(<span>2</span>)  <span># project from 64 to 2 dimensions</span>
<span>#Compute the first 2 PCA</span>
projected = pca.fit_transform(digits.data)

<span># Plot a scatter plot of the first 2 principal components</span>
<span>plt.scatter(projected[:, 0], projected[:, 1],</span>
<span> c=digits.target, edgecolor='none', alpha=0.5,</span>
<span> cmap=plt.cm.get_cmap('spectral', 10))</span>
<span>plt.xlabel('PCA 1')</span>
<span>plt.ylabel('PCA 2')</span>
<span>plt.colorbar();</span>
<span>plt.title(&quot;Top 2 Principal Components&quot;)</span>
<span>plt.savefig('fig1.png', bbox_inches='tight')</span></code></pre>
</div>
<div>
<h2><img data-orig-file="https://gigadom.files.wordpress.com/2017/11/fig14.png?w=456" data-orig-size="537,455" data-medium-file="https://gigadom.files.wordpress.com/2017/11/fig14.png?w=456?w=300" data-attachment-id="5875" data-image-meta="{" data-image-description="" src="https://gigadom.files.wordpress.com/2017/11/fig14.png?w=456" data-permalink="https://gigadom.wordpress.com/2017/11/21/practical-machine-learning-with-r-and-python-part-6/fig1-11/" data-large-file="https://gigadom.files.wordpress.com/2017/11/fig14.png?w=456?w=537" alt="" data-image-title="fig1" sizes="(max-width: 537px) 100vw, 537px" data-comments-opened="1" class="wp-image-5875" data-recalc-dims="1"></h2>
<h2>1.1 b Variance vs no principal components</h2>
<h2>– Python code</h2>
<pre><code><span>import</span> numpy <span>as</span> np
<span>from</span> sklearn.decomposition <span>import</span> PCA
<span>from</span> sklearn <span>import</span> decomposition
<span>from</span> sklearn <span>import</span> datasets
<span>import</span> matplotlib.pyplot <span>as</span> plt
  
<span>from</span> sklearn.datasets <span>import</span> load_digits
digits = load_digits()
<span># Select all 64 principal components</span>
pca = PCA(<span>64</span>)  <span># project from 64 to 2 dimensions</span>
projected = pca.fit_transform(digits.data)

<span># Obtain the explained variance for each principal component</span>
varianceExp= pca.explained_variance_ratio_
<span># Compute the total sum of variance</span>
totVarExp=np.cumsum(np.round(pca.explained_variance_ratio_, decimals=<span>4</span>)*<span>100</span>)

<span># Plot the variance explained as a function of the number of principal components</span>
<span>plt.plot(totVarExp)</span>
<span>plt.xlabel('No of principal components')</span>
<span>plt.ylabel('% variance explained')</span>
<span>plt.title('No of Principal Components vs Total Variance explained')</span>
<span>plt.savefig('fig2.png', bbox_inches='tight')</span></code></pre>
</div>
<div>
<h2><img data-orig-file="https://gigadom.files.wordpress.com/2017/11/fig25.png?w=456" data-orig-size="575,455" data-medium-file="https://gigadom.files.wordpress.com/2017/11/fig25.png?w=456?w=300" data-attachment-id="5876" data-image-meta="{" data-image-description="" src="https://gigadom.files.wordpress.com/2017/11/fig25.png?w=456" data-permalink="https://gigadom.wordpress.com/2017/11/21/practical-machine-learning-with-r-and-python-part-6/fig2-10/" data-large-file="https://gigadom.files.wordpress.com/2017/11/fig25.png?w=456?w=575" alt="" data-image-title="fig2" sizes="(max-width: 575px) 100vw, 575px" data-comments-opened="1" class="wp-image-5876" data-recalc-dims="1"></h2>
<h2>1.2a K-Means – R code</h2>
<p>In the code first the scatter plot of the first 2 Principal Components of the handwritten digits is plotted as a scatter plot. Over this plot 10 centroids of the 10 different clusters corresponding the 10 diferent digits is plotted over the original scatter plot.</p>
<pre><code><span>library</span><span>(</span><span>ggplot2</span><span>)</span>
<span># Read the digits data</span>
<span>digits</span><span>=</span> <span>read.csv</span><span>(</span><span>&quot;digits.csv&quot;</span><span>)</span>
<span># Create digit classes target variable</span>
<span>digitClasses</span> <span>&lt;-</span> <span>factor</span><span>(</span><span>digits</span><span>$</span><span>X0.000000000000000000e.00.29</span><span>)</span>

<span># Compute the Principal COmponents</span>
<span>digitsPCA</span><span>=</span><span>prcomp</span><span>(</span><span>digits</span><span>[</span>,<span>1</span><span>:</span><span>64</span><span>]</span><span>)</span>

<span># Create a data frame of Principal components and the digit classes </span>
<span>df</span> <span>&lt;-</span> <span>data.frame</span><span>(</span><span>digitsPCA</span><span>$</span><span>x</span><span>)</span>
<span>df1</span> <span>&lt;-</span> <span>cbind</span><span>(</span><span>df</span>,<span>digitClasses</span><span>)</span>

<span># Pick only the first 2 principal components</span>
<span>a</span><span>&lt;-</span> <span>df</span><span>[</span>,<span>1</span><span>:</span><span>2</span><span>]</span>
<span># Compute K Means of 10 clusters and allow for 1000 iterations</span>
<span>k</span><span>&lt;-</span><span>kmeans</span><span>(</span><span>a</span>,<span>10</span>,<span>1000</span><span>)</span>

<span># Create a dataframe of the centroids of the clusters</span>
<span>df2</span><span>&lt;-</span><span>data.frame</span><span>(</span><span>k</span><span>$</span><span>centers</span><span>)</span>

<span>#Plot the first 2 principal components with the K Means centroids</span>
<span>ggplot(df1,aes(x=PC1,y=PC2,col=digitClasses)) + geom_point() +</span>
<span> geom_point(data=df2,aes(x=PC1,y=PC2),col=&quot;black&quot;,size = 4) + </span>
<span> ggtitle(&quot;Top 2 Principal Components with KMeans clustering&quot;) </span></code></pre>
</div>
<div>
<h2><img data-orig-file="https://gigadom.files.wordpress.com/2017/11/fig3-11.png" data-orig-size="1344,960" data-medium-file="https://gigadom.files.wordpress.com/2017/11/fig3-11.png?w=300" data-attachment-id="5877" data-image-meta="{" data-image-description="" src="https://gigadom.files.wordpress.com/2017/11/fig3-11.png?w=450&h=483&fit=676%2C483" data-permalink="https://gigadom.wordpress.com/2017/11/21/practical-machine-learning-with-r-and-python-part-6/fig3-1-5/" data-large-file="https://gigadom.files.wordpress.com/2017/11/fig3-11.png?w=450&amp;h=483&amp;fit=676%2C483" alt="" data-image-title="fig3-1" sizes="(max-width: 676px) 100vw, 676px" data-comments-opened="1" class="wp-image-5877" data-recalc-dims="1"></h2>
<h2>1.2b K-Means – Python code</h2>
<p>The centroids of the 10 different handwritten digits is plotted over the scatter plot of the first 2 principal components.</p>
<pre><code><span>import</span> numpy <span>as</span> np
<span>from</span> sklearn.decomposition <span>import</span> PCA
<span>from</span> sklearn <span>import</span> decomposition
<span>from</span> sklearn <span>import</span> datasets
<span>import</span> matplotlib.pyplot <span>as</span> plt
<span>from</span> sklearn.datasets <span>import</span> load_digits
<span>from</span> sklearn.cluster <span>import</span> KMeans
digits = load_digits()

<span># Select only the 1st 2 principal components</span>
pca = PCA(<span>2</span>)  <span># project from 64 to 2 dimensions</span>
projected = pca.fit_transform(digits.data)

<span># Create 10 different clusters</span>
kmeans = KMeans(n_clusters=<span>10</span>)

<span># Compute the clusters</span>
kmeans.fit(projected)
y_kmeans = kmeans.predict(projected)
<span># Get the cluster centroids</span>
centers = kmeans.cluster_centers_
centers

<span>#Create a scatter plot of the first 2 principal components</span>
<span>plt.scatter(projected[:, 0], projected[:, 1],</span>
<span> c=digits.target, edgecolor='none', alpha=0.5,</span>
<span> cmap=plt.cm.get_cmap('spectral', 10))</span>
<span>plt.xlabel('PCA 1')</span>
<span>plt.ylabel('PCA 2')</span>
<span>plt.colorbar();</span>
<span># Overlay the centroids on the scatter plot</span>
<span>plt.scatter(centers[:, 0], centers[:, 1], c='darkblue', s=100)</span>
<span>plt.savefig('fig3.png', bbox_inches='tight')</span></code></pre>
</div>
<div>
<h2><img data-orig-file="https://gigadom.files.wordpress.com/2017/11/fig34.png?w=456" data-orig-size="537,438" data-medium-file="https://gigadom.files.wordpress.com/2017/11/fig34.png?w=456?w=300" data-attachment-id="5878" data-image-meta="{" data-image-description="" src="https://gigadom.files.wordpress.com/2017/11/fig34.png?w=456" data-permalink="https://gigadom.wordpress.com/2017/11/21/practical-machine-learning-with-r-and-python-part-6/fig3-8/" data-large-file="https://gigadom.files.wordpress.com/2017/11/fig34.png?w=456?w=537" alt="" data-image-title="fig3" sizes="(max-width: 537px) 100vw, 537px" data-comments-opened="1" class="wp-image-5878" data-recalc-dims="1"></h2>
<h2>1.3a Heirarchical clusters – R code</h2>
<p>Herirachical clusters is another type of unsupervised learning. It successively joins the closest pair of objects (points or clusters) in succession based on some ‘distance’ metric. In this type of clustering we do not have choose the number of centroids. We can cut the created dendrogram mat an appropriate height to get a desired and reasonable number of clusters These are the following ‘distance’ metrics used while combining successive objects</p>
<ul>
<li>Ward</li>
<li>Complete</li>
<li>Single</li>
<li>Average</li>
<li>Centroid</li>
</ul>
<pre><code><span># Read the IRIS dataset</span>
<span>iris</span> <span>&lt;-</span> <span>datasets</span><span>:</span><span>:</span><span>iris</span>
<span>iris2</span> <span>&lt;-</span> <span>iris</span><span>[</span>,<span>-</span><span>5</span><span>]</span>
<span>species</span> <span>&lt;-</span> <span>iris</span><span>[</span>,<span>5</span><span>]</span>

<span>#Compute the distance matrix</span>
<span>d_iris</span> <span>&lt;-</span> <span>dist</span><span>(</span><span>iris2</span><span>)</span> 

<span># Use the 'average' method to for the clsuters</span>
<span>hc_iris</span> <span>&lt;-</span> <span>hclust</span><span>(</span><span>d_iris</span>, <span>method</span> <span>=</span> <span>&quot;average&quot;</span><span>)</span>

<span># Plot the clusters</span>
<span>plot(hc_iris)</span>

<span># Cut tree into 3 groups</span>
<span>sub_grp</span> <span>&lt;-</span> <span>cutree</span><span>(</span><span>hc_iris</span>, <span>k</span> <span>=</span> <span>3</span><span>)</span>

<span># Number of members in each cluster</span>
<span>table</span><span>(</span><span>sub_grp</span><span>)</span></code></pre>
<pre><code>## sub_grp
##  1  2  3 
## 50 64 36</code></pre>
<pre><code><span># Draw rectangles around the clusters</span>
<span>rect.hclust(hc_iris, k = 3, border = 2:5)</span></code></pre>
</div>
<div>
<h2><img data-orig-file="https://gigadom.files.wordpress.com/2017/11/fig4-11.png" data-orig-size="1344,960" data-medium-file="https://gigadom.files.wordpress.com/2017/11/fig4-11.png?w=300" data-attachment-id="5879" data-image-meta="{" data-image-description="" src="https://gigadom.files.wordpress.com/2017/11/fig4-11.png?w=450&h=483&fit=676%2C483" data-permalink="https://gigadom.wordpress.com/2017/11/21/practical-machine-learning-with-r-and-python-part-6/fig4-1-5/" data-large-file="https://gigadom.files.wordpress.com/2017/11/fig4-11.png?w=450&amp;h=483&amp;fit=676%2C483" alt="" data-image-title="fig4-1" sizes="(max-width: 676px) 100vw, 676px" data-comments-opened="1" class="wp-image-5879" data-recalc-dims="1"></h2>
<h2>1.3a Heirarchical clusters – Python code</h2>
<pre><code><span>from</span> sklearn.datasets <span>import</span> load_iris
<span>import</span> matplotlib.pyplot <span>as</span> plt
<span>from</span> scipy.cluster.hierarchy <span>import</span> dendrogram, linkage
<span># Load the IRIS data set</span>
iris = load_iris()


<span># Generate the linkage matrix using the average method</span>
Z = linkage(iris.data, <span>'average'</span>)

<span>#Plot the dendrogram</span>
<span>#dendrogram(Z)</span>
<span>#plt.xlabel('Data')</span>
<span>#plt.ylabel('Distance')</span>
<span>#plt.suptitle('Samples clustering', fontweight='bold', fontsize=14);</span>
<span>#plt.savefig('fig4.png', bbox_inches='tight')</span></code></pre>
</div>
</div>
<div>
<h1><img data-orig-file="https://gigadom.files.wordpress.com/2017/11/fig41.png?w=456" data-orig-size="570,480" data-medium-file="https://gigadom.files.wordpress.com/2017/11/fig41.png?w=456?w=300" data-attachment-id="5880" data-image-meta="{" data-image-description="" src="https://gigadom.files.wordpress.com/2017/11/fig41.png?w=456" data-permalink="https://gigadom.wordpress.com/2017/11/21/practical-machine-learning-with-r-and-python-part-6/fig4-5/" data-large-file="https://gigadom.files.wordpress.com/2017/11/fig41.png?w=456?w=570" alt="" data-image-title="fig4" sizes="(max-width: 570px) 100vw, 570px" data-comments-opened="1" class="wp-image-5880" data-recalc-dims="1"></h1>
<h1>Conclusion</h1>
<p>This is the last and concluding part of my series on Practical Machine Learning with R and Python. These parallel implementations of R and Python can be used as a quick reference while working on a large project. A person who is adept in one of the languages R or Python, can quickly absorb code in the other language.</p>
<p>Hope you find this series useful!</p>
<p>More interesting things to come. Watch this space!</p>
<p><strong>References</strong></p>
<ol>
<li><a rel="nofollow" href="https://lagunita.stanford.edu/courses/HumanitiesandScience/StatLearning/Winter2015/about" target="_blank">Statistical Learning</a>, Prof Trevor Hastie &amp; Prof Robert Tibesherani, Online Stanford</li>
<li><a rel="nofollow" href="https://www.coursera.org/learn/python-machine-learning" target="_blank">Applied Machine Learning in Python</a> Prof Kevyn-Collin Thomson, University Of Michigan, Coursera</li>
</ol>
</div>
<p>Also see<br>
1. <a rel="nofollow" href="https://gigadom.wordpress.com/2011/04/26/the-many-faces-of-latency/" target="_blank">The many faces of latency</a><br>
2. <a rel="nofollow" href="https://gigadom.wordpress.com/2013/06/11/simulating-a-web-joint-in-android/" target="_blank">Simulating a Web Join in Android</a><br>
3. <a rel="nofollow" href="https://gigadom.wordpress.com/2012/01/26/the-anomaly/" target="_blank">The Anamoly</a><br>
4. <a rel="nofollow" href="https://gigadom.wordpress.com/2016/04/17/yorkr-pads-up-for-the-twenty20spart-3overall-team-performance-against-all-oppositions/" target="_blank">yorkr pads up for the Twenty20s:Part 3:Overall team performance against all oppositions</a><br>
5. <a rel="nofollow" href="https://gigadom.wordpress.com/2014/11/05/bend-it-like-bluemix-mongodb-using-auto-scale-part-1/" target="_blank">Bend it like Bluemix, MongoDB using Auto-scale – Part 1!</a></p>
<p>To see all posts see ‘<a rel="nofollow" href="https://gigadom.wordpress.com/aa-2/" target="_blank">Index of posts</a>‘</p>
<p> <a rel="nofollow" href="https://feeds.wordpress.com/1.0/gocomments/gigadom.wordpress.com/5869/" target="_blank"><img border="0" alt="" src="https://feeds.wordpress.com/1.0/comments/gigadom.wordpress.com/5869/"></a> <img border="0" alt="" src="https://i1.wp.com/pixel.wp.com/b.gif?resize=1%2C1&ssl=1" data-recalc-dims="1"></p>
	<p>
<div>
<div>To <strong>leave a comment</strong> for the author, please follow the link and comment on their blog: <strong><a href="https://gigadom.wordpress.com/2017/11/21/practical-machine-learning-with-r-and-python-part-6/"> R – Giga thoughts …</a></strong>.</div>
<hr>
<a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers.com</a> offers <strong><a rel="nofollow" href="https://feedburner.google.com/fb/a/mailverify?uri=RBloggers">daily e-mail updates</a></strong> about <a rel="nofollow" href="https://www.r-project.org/" title="The R Project for Statistical Computing">R</a> news and <a rel="nofollow" href="https://www.r-bloggers.com/search/tutorial" title="R tutorials">tutorials</a> on topics such as: <a rel="nofollow" href="https://www.r-bloggers.com/search/data%20science" title="Data science">Data science</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/Big%20Data" title="Big Data">Big Data, <a rel="nofollow" href="https://www.r-users.com/" title="R jobs">R jobs</a>, visualization (<a rel="nofollow" href="https://www.r-bloggers.com/search/ggplot2" title="ggplot and ggplot2 tutorials">ggplot2</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/boxplot" title="Boxplots using lattice and ggplot2 tutorials">Boxplots</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/map" title="Maps and gis">maps</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/animation" title="Animation in R">animation</a>), programming (<a rel="nofollow" href="https://www.r-bloggers.com/search/RStudio" title="RStudio IDE for R">RStudio</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/sweave" title="Sweave and literate programming">Sweave</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/LaTeX" title="LaTeX in R">LaTeX</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/SQL" title="SQL and databases">SQL</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/eclipse" title="Eclipse IDE for R">Eclipse</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/git" title="git and github, Version Control System">git</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/hadoop" title="Large data in R using Hadoop">hadoop</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/Web+Scraping" title="Web Scraping of google, facebook, yahoo, twitter and more using R">Web Scraping</a>) statistics (<a rel="nofollow" href="https://www.r-bloggers.com/search/regression" title="Regressions and ANOVA analysis tutorials">regression</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/PCA" title="principal component analysis tutorial">PCA</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/time+series" title="Time series">time series</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/trading" title="finance trading">trading</a>) and more...
<img alt="" width="1" src="http://feeds.feedburner.com/~r/RBloggers/~4/GoM6DuGYMcA" height="1"></a></div>