0
$\begingroup$

I'm rather new to machine learning but would like to use this to learn. I have access to a customer database with all transactions at the unit level. I'm pretty good with SQL so I can get the data in any shape required. My analysis tools would be either Base SAS or Python.

Is there a preferred method of clustering customers according to their transactions across various product segments?

$\endgroup$
  • $\begingroup$ Since you have data with lots of dimensions (did they purchase a certain product?) and assume a large amount of inter-variable structure (certain transactions can be grouped under different product segments) I'd recommend trying a dimensionality-reduction technique at some point. That may make your eventual results simpler to interpret and easier to act on. Otherwise, you may be getting rules which are supported by evidence but hard to explain (hair spray implies chocolate bar). $\endgroup$ – Christopher Krapu Jul 13 '15 at 19:06
2
$\begingroup$

I don't think clustering is what you are looking for.

Most clustering algorithms assume that a) every user is typical of one kind and b) every user is only of one kind.

Say you have the pattern of beer fans and football addicts, are you sure these are disjoint? What about someone that really doesn't fit to any "cluster"?

Instead, look at market basket analysis. It can identify frequent behavior, without assuming everything to be disjoint and the need to put everything somewhere.

$\endgroup$
0
$\begingroup$

When you first approach the clustering task you must answer to one biggest question which will influence all your subsequent actions - which distance measure to use. Distance measure describes 'how far away from each other 2 points'. In your setting the points are customers and they are described by lots of dimensions. You need to decide how you can compare 'similarity' between 2 users and either use some standard distance measure or create your own function for distance measures.

After that you could try to cluster your data with different algorithms and check the results. To choose the algorithm you will need to spend some time on trial and errors but having good distance measure you will be able to evaluate your result.

For further reading I would suggest a 'Mahout in action' book. Though it focused on Mahout library it has very good coverage of theoretical part and provides examples of real-world clustering problems and even the way of using custom distance measures.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.