How do I do a market basket analysis?
First, you create a RelationalDataSet and add all purchases to separate RelationalSamples:
RelationalDataSet dataSet = new RelationalDataSet(); RelationalSample s = new RelationalSample("OrderID 1234"); s.addObject("Product 1"); s.addObject("Product 2"); s.addObject("Product 3"); s.addObject("Product 4"); dataSet.getSamples().add(s); s = new RelationalSample("OrderID 1235"); s.addObject("Product 1"); s.addObject("Product 2"); s.addObject("Product 3"); dataSet.getSamples().add(s); s = new RelationalSample("OrderID 1236"); s.addObject("Product 1"); s.addObject("Product 6"); s.addObject("Product 7"); dataSet.getSamples().add(s); s = new RelationalSample("OrderID 1237"); s.addObject("Product 7"); s.addObject("Product 2"); s.addObject("Product 3"); s.addObject("Product 8"); dataSet.getSamples().add(s); s = new RelationalSample("OrderID 1238"); s.addObject("Product 7"); s.addObject("Product 4"); s.addObject("Product 3"); s.addObject("Product 8"); dataSet.getSamples().add(s);
After that, you do the analysis and visualize the results:
MarketBasketAnalysis mba = new MarketBasketAnalysis(); mba.setMinSupport(2); dataSet.showGUI(); RelationalDataSet result = mba.calculate(dataSet); result.showGUI();