- From: Kjetil Kjernsmo <kjetil@kjernsmo.net>
- Date: Sun, 26 Jul 2015 17:54:56 +0200
- To: public-rww@w3.org
On Saturday 25. July 2015 21.34.24 Melvin Carvalho wrote:
> I multiply the #followers * 3 up to a maximum of 30 followers. e.g.
>
> http://gitpay.org/torvalds -- 90%
> http://gitpay.org/stratus -- 9 followers = 27%
>
> I am looking for ideas on how to improve this algorithm, or maybe find a
> set of algorithms people can choose from to get out a trust score
> (however i am scpetical people will have time to code them).
Very cool already!
To convert numbers in an interval from 0 to something unbounded into
something, I tend to suggest functions that will do it, rather than cap.
For example
1-e^(-x)
That will always make sure that the number you get back is in the [0,1)
intervall, if the input is in the [0,Inf] interval.
And then, you can add some factors to adjust it. The first thing to do is
that you might like it to be in the [0,100) interval instead, and then you
just do
100*(1-e^(-x))
and then, you probably want to adjust how fast the score goes up, to do
that, you can introduce a factor r, like this:
100*(1-e^(-x/r))
You can then adjust r based on your assumptions of what a "large x" would
be. So, following your example, where 30 is a large number of followers
that should result in 90%, you'd have r = 15.
You could fire up R (see https://www.r-project.org/ ) to explore the
function, you could define it like this:
score <- function(x, raise) {
return (100*(1-exp(-x/raise)))
}
and then create an array with integers from 0 to 30:
x <- seq(0,30)
and then plot:
plot(x,score(x, 15), type='l')
But to use something more than just #followers for x, perhaps PageRank
would be the modern way to compute it these days...? :-)
Cheers,
Kjetil
Received on Sunday, 26 July 2015 15:56:10 UTC