I have a survey dataset collected from several countries. The questions are mostly on a likert type 5-point scale, and the rest consists of yes/no questions. I have no hypothesis to test, but I believe that some countries differ from each other. Previous studies usually present descriptives of the surveys and try to explain the results, but I think machine learning can be applied here:

Responses to survey questions of a single person can be considered as a data point, and that person's country will be the class of the data point. Then, I can apply a machine learning classifier (such as a Random Forest) to:

  • All countries
  • One country vs others (US vs others; Japan vs others; etc.)
  • One country vs another country (US vs Japan; etc.)

And I can interpret the results based on which features (feature = question) had the most/least predictive power. For example,

"We found that this question/feature was most powerful in distinguishing US from Japan. When we removed this question, the prediction accuracy dropped from 90% to 70%."

I have no intention of predicting the country, and I am just trying to understand the data. Is it a good idea to apply machine learning here?

Edit: The number of data points is about 10 000. That is, 10 000 people from 12 countries filled the questionnaire. The number of classes for the classification task is the number of countries, which is 12.


Machine learning is a field with many diverse techniques. Thus, whether can you apply it here depends very much of what you are trying to achieve and what technique you have in mind. Perhaps, you could describe it more precisely in your question.

Having said that, the small size of the dataset (there are a bit more than 200 countries in the world) rules out some approaches, such as artificial neural networks. On the other hand, clustering approaches (e.g., hierarchical clustering) could provide some valuable insights.

  • $\begingroup$ Thank you for the answer, please see the edit at the end of the question. $\endgroup$ Jul 28 '20 at 14:50
  • $\begingroup$ If you already know what country people come from, you do not need a classifier/clustering for that. You could however use clustering to see, if respondents share some characteristics. PCA, suggested in another answer is a good approach as well. $\endgroup$ Jul 28 '20 at 15:18

From your particular description of your problem, your goal is performing some exploratory data analysis. One field of Machine Learning is called Unsupervised Learning. I believe this is what you should look into.

The previous answer suggested hierarchical clustering. That is a good method for performing exploratory data analysis from a small-ish number of observations. Two other interesting methods to look into are k-means clustering and neural networks (if you have enough observations). Neural networks can be used for unsupervised or supervised learning.

Doing Principal Component Analysis (PCA) to be able to plot your data in 2D is a possible first step for you to get a look at a projection of your data and it can show you which countries mix and which are distinctive at first glance (by coloring the points by country, for example).


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.