Archief - Arrays vergelijken

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Sick-Boy

Legacy Member
Ik ben op zoek naar een algorithme om arrays te vergelijken, 't is te zeggen, hun gelijkwaardigheid procentueel bepalen.

array(d,c,b,a) & array(a,b,c,d) zijn 100% gelijk
array(z) & array(a,b,c,d) zijn 0% gelijk

Maar: array(a) is meer gelijkwaardig met array(a,b,c,d) dan array(a,z)

Iemand die mij verder kan helpen?

Gurdt

Legacy Member
In de datamining kennen ze zo enkele technieken zoals Hamming en Jaccard. Maar die zijn nuttig afhankelijk van het doel. Dus wat wil je precies bereiken, dat er voor elk gelijk element een positieve score geteld wordt en voor elk verschillend element een negatieve score? Je kan dat dan doen door over beiden arrays te itereren en ergens een waarde bij te houden volgens de door jou opgestelde regels.

Zo kan je bv voor elk gelijk element + 1 doen en voor elk verschillend element -0.5 afhankelijk van hoezeer dat voor jouw toepassing belangrijk is.

Edit: let the war begin

Sick-Boy

Legacy Member
Gurdt zei:
In de datamining kennen ze zo enkele technieken zoals Hamming en Jaccard. Maar die zijn nuttig afhankelijk van het doel. Dus wat wil je precies bereiken, dat er voor elk gelijk element een positieve score geteld wordt en voor elk verschillend element een negatieve score? Je kan dat dan doen door over beiden arrays te itereren en ergens een waarde bij te houden volgens de door jou opgestelde regels.

Zo kan je bv voor elk gelijk element + 1 doen en voor elk verschillend element -0.5 afhankelijk van hoezeer dat voor jouw toepassing belangrijk is.

Edit: let the war begin

Grappig, deze morgen heb ik mijn eerste les datamining gehad. :)
Het gaat om een classificatiesysteem waarbij de verschillende deelnemers worden vergeleken.
Ik had ook al gedacht aan een score mee te geven maar ik weet niet of dat wel betrouwbaar is (array met 1 positieve en 3 negatieve krijgt een lagere score dan een array met enkel 1 negatieve).
Die technieken zoek ik alvast eens op, bedankt voor de info!

kwitters

Legacy Member
Je kan een string distance of zogenaamde Levenshtein distance gebruiken. Dit rekent de afstand uit om van de ene combinatie naar de andere te gaan (aantal edits).

Aangezien je zelf een % wil trekken, zou ik de string afstand delen door de lengte van de langste sequentie, en dan 100% - dat resultaat doen. Zo krijg je mooi 100% als beiden matchen, 0% bij geen enkel element, en bv 25% bij en [a,b,c,d].
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan