- 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