Do you know of any machine learning add-ins that I could use within Excel? For example I would like to be able to select a range of data and use that for training purposes and then use another sheet for getting the results of different learning algorithms.
As far as I know, currently there are not that many projects and products that allow you to perform serious machine learning (ML) work from within Excel.
However, the situation seems to be changing rapidly due to active Microsoft's efforts in popularizing its ML cloud platform Azure ML (along with ML Studio). The recent acquisition of R-focused company Revolution Analytics by Microsoft (which appears to me as more of acqui-hiring to a large extent) is an example of the company's aggressive data science market strategy.
In regard to ML toolkits for Excel, as a confirmation that we should expect most Excel-enabled ML projects and products to be Azure ML-focused, consider the following two projects (the latter is an open source):
- Excel DataScope (Microsoft Research): https://www.microsoft.com/en-us/research/video/excel-datascope-overview/
- Azure ML Excel Add-In (seems to be Microsoft sponsored): https://azuremlexcel.codeplex.com
(Most) Machine Learning algorithms are essentially optimization problems where you minimize/maximize an objective function subject to certain constraints. Excel comes with the Solver add-in which is pretty handy for lightweight problems, so it is entirely possible for you to build a Machine Learning model within Excel! (I've done it myself)
If your data size is reasonably small (say <10k rows and not too many columns), it is in fact pretty quick and easy to build certain ML models within Excel. All you need is to learn how to use the Excel Solver, and the built-in matrix functions for vectorized computations.
For example, Neural Networks and Logistic Regressions are particularly easy to build due to the simplicity of their objective function. If you are really inclined to try you could refer to the following link: http://www.xlpert.com/ebook/Build_Neural_Network_With_MS_Excel_sample.pdf
Now, Excel does has major limitations. There are numerical stability issues, it is tricky to write loops (without VBA), it is a pain to write lengthy functions in Excel and there's no concept of structure so I wouldn't try to build things like Random Forest. That being said, there is still a good amount of algorithms you can implement with Excel for fun.
Of course, for serious analysis, I would still recommend you to use proper tools for that.
First of all, let me tell you that Excel shouldn't be used for machine learning or any data analysis complicated enough that you wouldn't be comfortable doing it on paper. Why? Here is a list of resources to tell you why:
- You shouldn’t use a spreadsheet for important work (I mean it)
- Destroy Your Data Using Excel With This One Weird Trick!
- Using Excel for Statistical Data Analysis - Caveats
- Problems with Excel
- Spreadsheet Addiction
Now, if you really really want to do heavy calculations without exporting your data, I suggest using xlwings. Basically, this allows two-way communication between Excel and Python. Watch the video in the homepage for a quick introduction. In this way, you would be able to use numpy, pandas and scikit-learn (or other machine learning library that you may prefer) without exporting your data first.
Nobody does serious machine learning in Excel; that's not what it's for. Fortunately, you can directly import Excel files into better platforms like python. In particular, there's a great package called
pandas, which makes work very pleasant. Here's a demo.
Weka can import CSV files, and allows you to choose which columns and rows you want to use in your analysis. It's not an "add-in" for Excel per-se, but it might work for you.
You can find an Excel and VBA implementation of Random Forest using the open source ALGLIB Library here
Vortarus Technologies LLC here also have an Excel Add-In that can do various intermediate ML tasks from SVM to Neural Nets to CART etc. The free trial is open ended but has some function limits.
You should take a look at this link.
But...be forewarned...as others have stated, Excel is not really a ML toll, or an AI tool or anything even remotely close.
I have used Jason Brownlee's excel based demos for understanding basic ML concepts. I dont think they can be extended to be used for real data crunching but here it is: