If you do not live in the US your question is redundant as only Adsense will be available to you. You should also try and do a search here as questions such as yours have been asked and answered many times. If you are elegible for both, apply for them - no use thinking one is superior and not even getting accepted into their program. You can then test to see which of the ad networks works best for your website. There is no correct answer as such to your question.
What's your definition on best? Yahoo hardly has any targeted keywords Google has targeted keywords ( Majority of the time ) So Google > Yahoo this part. Many people said Yahoo pays more Google pays less than yahoo Yahoo > Google Yahoo is in its beta stage only U.S applicants are allow in the program ( rarely ) Google supports almost all countries Google > Yahoo
Yahoo pays 10x than Adsense but you have to geo targeting by yourself or else they'll bang ya @ j/k. After all, I pick Adsense over Yahoo
Yahoo has absolutely horrible, retarded, useless targeting.. So, IMHO Adsense is better simply because they understand the "context" part of word "contextual" ..
i personally think Yahoo ads is terrible especially their geo targeting ads. Adsense will be more simply and goes to international