Another update on ranking:

I optimized the logistic regression a bit (it's about 8ms / iteration on 1000 events x 10 features). It could be made much faster, but I think it's fast enough, as Newton-Raphson method converges well.

I also added the API for groups, so now the model learns if a user likes some event that somebody usually likes, and the user likes some event that a somebody publishes (experimenting with adding a ,,self like'' automatically would be interesting as well).

Next steps are feature / model evaluation without using time, and then adding the time component (which is always a bit hacky, there's no real elegant solution).

Also I separated ranking to a function so that it's easy to include into clients later:

https://github.com/adamritter/light-nostr-client/blob/master/src/lib/ranking.ts

The current function call is this:

function processEventForLogisticRegression(

event: Event,

logisticRegressor: LogisticRegressor,

loggedInUser: string,

parentEvent?: Event

)

(the model can be trained and predictions for events retrieved later)

Reply to this note

Please Login to reply.

Discussion

No replies yet.