- cross-posted to:
- [email protected]
- cross-posted to:
- [email protected]
I wrote an ai that classifies spam emails with 99.9% accuracy.
Our test set contained 1000 emails, 999 aren’t spam.
The algorithm:
Honestly I’d rather have that, than randomly have to miss some important E-mail because the system put it in the junk folder.
How many primes are there before 1 and 2^31. IIRC prime numbers get more and more rare as the number increases. I wouldn’t be surprised if this would pass 99% of tests if tested with all positive 32 bit integers.
Per the prime number theorem, for large enough N the proportion of primes less than or equal to N is approximately 1/log(N). For N = 2^(31) that’s ~0.0465. To get under 1% you’d need N ~ 2^(145).
Ah yes, my favorite recurring lemmy post! It even has the same incorrect test output.
Last time I saw this I did a few calculations based on comments people made:
https://l.sw0.com/comment/32691 (when are we going to be able to link to comments across instances?)- There are 9592 prime numbers less than 100,000. Assuming the test suite only tests numbers 1-99999, the accuracy should actually be only 90.408%, not 95.121%
- The 1 trillionth prime number is 29,996,224,275,833. This would mean even the first 29 trillion primes would only get you to 96.667% accuracy.
In response to the question of how long it would take to round up to 100%:
- The density of primes can be approximated using the Prime Number Theorem:
1/ln(x)
. Solving99.9995 = 100 - 100 / ln(x)
for x givese^200000
or7.88 × 10^86858
. In other words, the universe will end before any current computer could check that many numbers.
why would you store comments in git?
Oh. Oh ha ha ha ha you just don’t know ‘checkout’ from ‘check out’. Clean out your desk.
All odd numbers are prime: 1 is prime, 3 is prime, 5 is prime, 7 is prime, 9 is experimental error, 11 is prime, and so on, I don’t have funding to check all of them, but it suggests an avenue of productive further work.
1 is prime
Look, just because it breaks everything, that’s no reason not to include it in a joke. We’ll just have to rebuild the entire edifice of mathematics.
Seriously, thanks for the link, I hadn’t considered the implications of including 1 in the set of primes, and it really does seem to break a lot of ideas.
And if you want to increase accuracy you just add more tests
The failures are probably just flake then
“prime on my machine”
It’s been a fat minute since I last did any programming outside of batch scripts and AHK… I’m struggling to understand how it’s not returning false for 100% of the tests
It is always returning false, but the screen shows a test, where a non-prime evaluating as false is a pass and a prime evaluating as false is a fail :))