I've got a Excel file having columns Name, Surname and Community, having around 31 thousand entries. For my college project, the task I have is to write a program to predict "Community" of a person, given their name and surname. For example, the first entry in the file is the name: Yogita Singh. If someone enters a name like Yogta Singha, then approximately it should predict that that person belongs to the Punjabi communtiy.
I did manage to write a program, which does the prediction using the Levenshtein distance. I gave more weightage to the surname (10 times more), than the first name, because surname and community has a greater correlation than first-name and community (naturally, because some first-names are very common and used by people from many different communities).
Any ideas how to improve the accuracy of my model? Has there been any relevant theoretical study regarding name - ethnicity mapping/correlation models? I think Levenshtein distance is a good start but I'm not sure the exact weights I should give to the surname and first name. Also, perhaps I need to give more weight to the characters towards the beginning of the surname, rather than characters towards the end.
Any suggestions regarding how to improve the accuracy of my model will be greatly appreciated. Thanks.