The ethnicity and ancestry (little a-) information is only as good as the reference data used. There are several methods to compute this, including principle components analysis and structure/admixture, but what is basically happening is that sections of your genotype are compared to sections of lots of other people’s genotypes. Then when matches are found, classifications can be made. So, for example, if 20% of your genome looks really similar to parts from other people who are Irish, then you’re 20% Irish.
There can be holes in the reference panel. 5% of your genome might not really be close to any group in the reference panel, but it is the closest match to Koreans, so the test will come back and say you’re 5% Korean, even though you have no reason to believe you have any Korean ancestors. It could be random chance (that 5% is going to be closest to something), or it could even be real.
Mine, for instance, says I’m 70% European, but then 30% something else. The service I used said North African, but when I did it myself using 1000 Genomes as the reference panel it came back with 5% Finish, 20% South Asian (India, etc.), and 5% miscellaneous (plus 70% European). The issue here is that I strongly suspect I have lots of Jewish Eastern European and Russian ancestry, but those groups are not represented in 1000 Genomes.
The bottom line is, that these things can be pretty good, but weird, low percentage results, are probably wrong.
Non-commercial commercial: A free method to do this is by using Genes for Good. It is an academic project based out of the University of Michigan, but it uses Facebook as the platform to collect information. Once you answer enough of the survey questions you will be sent a test kit. After returning your sample, you will be given access to various results, including ancestry and the raw data. Full disclosure: I work near people who work on this project, and work with them on other projects, but I don’t work on Genes for Good, though I am a participant. If you are interested search for it on Facebook (to join) or on Google for general information.