I'd say neither; you need to understand why you're getting different results for some of the tests, and either improve the tests, so they always pass/fail as they're supposed to, or remove them from your regression bucket.
Improving the tests might mean changing the way you do regression testing; one common reason for things to fail sometimes, but not others, is because there's some sort of interference from other testcase(s) running at the same time, but if you run the test by itself, it runs successfully. Another possibility is that order matters, and the test case needs to reset some system option or something similar that some other testcase has changed during its run.
Having testcases in a regression bucket that you ignore isn't very useful: regression testcases are there to tell you whether you broke one thing while fixing/changing something else, and if you have a regression test case that works 90% of the time, it failing doesn't tell you anything useful, unless you want to dig into the output every time to figure out why it failed.
Now, depending on the type of testing you're doing, this approach may differ; if you're doing load/stress testing, for example, a probabilistic approach to analyzing test case failures may be appropriate, as you'd expect that at least some portion of the time, the system would be too busy to, say, respond to a new packet coming in.