I have a dataset which has users (rows) with the list of their interests (IABs), which looks like this

user_id | gender | list of interests
user 1  | male   | games, productivity
user 2  | female | games, lifestyle, design
user 3  | male   | travel, games, messaging
user 4  | male   | messaging, blogging, lifestyle

Since the number of unique interests are few (~500) and the number of rows are high (~67M), what are the feature engineering practices that I should follow to get an ML model score a better accuracy?

P.S.: Simple model with one hot/count hot vectorization yields an accuracy of ~52%


1 Answer 1


Good afternoon @theodre7, looking at what you showed, it's a little difficult to get a precise answer. But if it helps I'm happy.

Thinking about a simple model, with what I see in this table being a k-nearest neighbors user rating:

k-nearest neighbors

Because it is very simple, it would be very useful for your "list of interests" column, but before building the model, it would be very good to use one-hot, these features transform columns, we will only have 0|1.


In the gender column it would also be useful, but as it has two different data, with a replace method, "male"== 0 and "female" == 1.

It is also not enough to have a separate "list of interests", if you don't want to, but the interests would be more separated

After this processing, I would create the model, from the first link I passed. Reading the documentation, you can see the options that may be useful for you to work with. For this data sets. I left a link below that has an explanation about K-NN to help understand the concept.

K-Nearest Neighbor

  • $\begingroup$ thanks for the answer. I've tried similar methods (KNN, LR, SVM, etc.) with one hot encoded vectors but the accuracy hasn't budged a bit. I'm looking at some newer metrics which can capture the aspects of data which these models might not be able to after mere one-hot encoding $\endgroup$
    – theodre7
    Mar 13, 2023 at 4:55
  • $\begingroup$ Good afternoon, do a cross-validation test. It could be that your set is learning from the data. cross validation $\endgroup$
    – edd1
    Mar 13, 2023 at 18:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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