<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/xgboost-support-added-to-rattle/"></div></div><div></div></div><div></div></div>
<div>
(This article was first published on <strong><a href="http://blog.revolutionanalytics.com/2017/07/xgboost-support-added-to-rattle.html"> Revolutions</a></strong>, and kindly contributed to <a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers)</a> </div>
<div>
<p><em>by Fang Zhou, Data Scientist; and Graham Williams, Director of Data Science, all at Microsoft</em></p>
<p><a rel="nofollow" href="http://rattle.togaware.com/" target="_blank"><strong>Rattle</strong></a> — the R Analytical Tool To Learn Easily — is a popular open-source GUI for data mining using <a rel="nofollow" href="http://r-project.org/" target="_blank">R</a>. It presents statistical and visual summaries of data, transforms data that can be readily modelled, builds both unsupervised and supervised models from the data, presents the performance of models graphically, and scores new datasets. All of the underlying R code is presented as a script for learning R and for running independent of Rattle.</p>
<p>Collaborating with IGD Data Insight Team and under the guidance of the author of Rattle, Graham Williams, we took the challenging task to understand the existing code base and re-engineer it to support the latest machine learning algorithms in Open Source R and Microsoft R Server for model development and evaluation.</p>
<p>Extreme Gradient Boosting algorithm from the R package <a rel="nofollow" href="http://xgboost.readthedocs.io/en/latest/" target="_blank">xgboost</a><em>, </em>is one of the newly added features, to provide alternative option for implementing boosting model.  The main effort in integrating xgboost into Rattle lies in three aspects:</p>
<ol>
<li>Define generic functions to provide a formula interface to streamline the process of fitting extreme gradient boosting model.</li>
<li>Define the main R script to build, display and evaluate the model.</li>
<li>Update the Rattle GUI to support the choice of xgboost using Glade Interface Designer and interactive R commands.</li>
</ol>
<p>Now we demonstrate the usage of Rattle for xgboost on the credit card data set from <a rel="nofollow" href="https://www.kaggle.com/datasets?sortBy=relevance&group=featured&search=credit+card+fraud+detection" target="_blank">Kaggle Competition- Credit Card Fraud Detection</a>.</p>
<p><a rel="nofollow" href="http://revolution-computing.typepad.com/.a/6a010534b1db25970b01b8d29373c3970c-pi" target="_blank"><img border="0" alt="Rattle1" title="Rattle1" src="http://revolution-computing.typepad.com/.a/6a010534b1db25970b01b8d29373c3970c-800wi"></a></p>
<p>After loading the credit card data in CSV file from Rattle’s <strong>Data Tab</strong>, we can click on <strong>Model Tab</strong> to navigate to Boosting Model. By choosing the <strong>Model Builder </strong>xgb and a set of hyper-parameters, we can easily build a xgboost model without coding.</p>
<p><a rel="nofollow" href="http://revolution-computing.typepad.com/.a/6a010534b1db25970b01b7c9092ce2970b-pi" target="_blank"><img border="0" alt="Rattle2" title="Rattle2" src="http://revolution-computing.typepad.com/.a/6a010534b1db25970b01b7c9092ce2970b-800wi"></a></p>
<p>The measure and visualization of feature importance as well as training error can be generated by clicking the <strong>Importance</strong> and <strong>Errors</strong> buttons.</p>
<p><a rel="nofollow" href="http://revolution-computing.typepad.com/.a/6a010534b1db25970b01b8d293c63c970c-pi" target="_blank"><img border="0" alt="Rattle4" title="Rattle4" src="http://revolution-computing.typepad.com/.a/6a010534b1db25970b01b8d293c63c970c-800wi"></a></p>
<p>Performance evaluation is also supported. By navigating to the <strong>Evaluate Tab, </strong>we can calculate the confusion matrix and draw various statistical plots for model evaluation, such as ROC curve, Risk chart and Lift chart.</p>
<p><a rel="nofollow" href="http://revolution-computing.typepad.com/.a/6a010534b1db25970b01b8d2937403970c-pi" target="_blank"><img border="0" alt="Rattle3" title="Rattle3" src="http://revolution-computing.typepad.com/.a/6a010534b1db25970b01b8d2937403970c-800wi"></a></p>
<p>Do check the <strong>Log Tab</strong> to review the commands that were executed underneath.</p>
<p>Inspired by the work of IGD Data Insight Team (see this blog <a rel="nofollow" href="https://blogs.msdn.microsoft.com/rserver/2017/04/14/microsoft-r-server-support-for-rattle/" target="_blank">Microsoft R Server support for Rattle</a>) and the latest release of <a rel="nofollow" href="https://github.com/Microsoft/LightGBM" target="_blank">LightGBM</a>, <a rel="nofollow" href="http://mxnet.io/index.html" target="_blank">mxnet</a>, <a rel="nofollow" href="https://docs.microsoft.com/en-us/r-server/r-reference/microsoftml/microsoftml-package" target="_blank">MicrosoftML</a> etc, we could extend Rattle to expose plenty of functionality in the near future.</p>
<p>The latest release of Rattle (Version 5.0.18) is available on <a rel="nofollow" href="https://bitbucket.org/kayontoga/rattle" target="_blank"><u>Bitbucket</u></a>.</p>
<p>You can try this new version out using either <a rel="nofollow" href="https://msdn.microsoft.com/en-us/microsoft-r/r-client-get-started" target="_blank">Microsoft R Client on Windows</a> or fire up an <a rel="nofollow" href="https://togaware.com/the-azure-linux-data-science-virtual-machine/" target="_blank">Azure Linux Data Science Virtual Machine</a> which comes with the developer version of Microsoft R Server installed. Then upgrade the pre-installed Rattle to this new release.</p>
<p>togaware: <a rel="nofollow" href="https://rattle.togaware.com/" target="_blank">Rattle: A Graphical User Interface for Data Mining using R</a></p>
</div>
	<p>
<div>
<div>To <strong>leave a comment</strong> for the author, please follow the link and comment on their blog: <strong><a href="http://blog.revolutionanalytics.com/2017/07/xgboost-support-added-to-rattle.html"> Revolutions</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 width="1" alt="" src="http://feeds.feedburner.com/~r/RBloggers/~4/Tp2HZnOIeVs" height="1"></a></div>