The problem isn't our filters. It's Yahoo. We have made some special adjustments for Yahoo, but we just hope Yahoo fixes their issue.
For some reason, Yahoo is not following 'the rules' for mail servers. And, as such, they are listed as "RFC Ignorant" at rfc-ignorant.org. Mail servers get listed there if they disregard the accepted 'rules', like accepting mail at an 'abuse' account.
Being listed doesn't mean a blocked email. It just adds to the score of message. Messages from Yahoo, because Yahoo is being 'ignorant', are starting with a score over 3. That is a big handicap. That is like playing a game, first one to 5 wins. And you spot your opponent 3 points. They only have to score twice and they win.
So, something as simple as a Happy Birthday email from a friend at Yahoo has to only score 2 more points to be 'spam'. If they use ALL CAPS, or maybe joke about viagra in the email, that message easily jumps into spam territory.
The irony of this is that some spam servers actually make sure they follow all the rules. Well, all except for the spamming part. They try to make their servers as compliant as they can, or they try to hijack a compliant (but insecure) server.
The spammers know how important it is. Why doesn't Yahoo?
There is a more detailed explanation of this issue at https://www.circleid.com/posts/false_positives_and_ignorance/