Home » Articole » RO » Afaceri » Știința datelor (Data Science) » Data mining » Data mining: Similaritatea cosinusoidală

Data mining: Similaritatea cosinusoidală

Similaritatea cosinusoidală este o formulă foarte populară în mineritul de text, dar este utilizată și în filtrarea colaborativă. Pentru a vedea când putem folosi această formulă, să presupunem că îmi schimb ușor exemplul. Vom urmări de câte ori o persoană a redat o anumită melodie și vom folosi aceste informații pentru a ne baza pe ea în recomandările noastre.

Numărul de piese
The Decemberists: The King is Dead Radiohead: The King of Limbs Katy Perry: E.T.
Ann 10 5 32
Ben 15 25 1
Sally 12 6 27

Doar examinând graficul de mai sus (și folosind oricare dintre formulele de distanță menționate mai sus) putem vedea că Sally este mai asemănătoare cu obiceiurile de ascultare ale lui Ann decât cu cele ale lui Ben.

Deci care este problema?

Am în jur de patru mii de melodii în iTunes. Iată un instantaneu al primelor câteva ordonate după numărul de piese:

Playlist - iTunes

Deci melodia mea de top este Moonlight Sonata de Marcus Miller cu 25 de ascultări. Șansele sunt să fi ascultat acea piesă de zero ori. De fapt, sunt mari șanse să nu fi ascultat niciuna dintre melodiile mele de top. În plus, există peste 15 milioane de melodii în iTunes și eu am doar patru mii. Deci, datele pentru o singură persoană sunt rare, deoarece au relativ puține atribute diferite de zero (ascultările unei piese). Când comparăm două persoane, folosind numărul de piese din cele 15 milioane de piese, cele mai multe vor avea zero în comun. Cu toate acestea, nu vrem să folosim aceste zerouri partajate atunci când calculăm similaritatea.

Un caz similar poate fi făcut atunci când comparăm documente text folosind cuvinte. Să presupunem că ne-a plăcut o anumită carte, să spunem Tom Corbett, Space Cadet: The Space Pioneers de Carey Rockwell și vrem să găsim o carte similară. O modalitate posibilă este utilizarea frecvenței cuvintelor. Atributele vor fi cuvinte individuale, iar valorile acestor atribute vor fi frecvența acelor cuvinte din carte. Deci 6,13% din cuvintele din The Space Pioneers sunt apariții ale cuvântului the, 0,89% sunt cuvântul Tom, 0,25% din cuvinte sunt space. Pot calcula similaritatea acestei cărți cu altele folosind aceste frecvențe de cuvinte. Totuși, aceeași problemă legată de raritatea datelor apare și aici. Există 6.629 de cuvinte unice în The Space Pioneers și există puțin peste un milion de cuvinte unice în limba engleză. Deci, dacă atributele noastre sunt cuvinte în limba engleză, vor exista relativ puține atribute diferite de zero pentru The Space Pioneers sau orice altă carte. Din nou, orice măsură de similitudine nu ar trebui să depindă de valorile zero partajate.

Similaritatea cosinusoidală ignoră scorurile 0-0. Este definită ca

cos(x, y) = (x ∙ y) / (||x|| × ||y||)

unde • indică produsul punct și ||x|| indică lungimea vectorului x. Lungimea unui vector este

√Σi=1nxi2

Să încercăm acest lucru cu exemplul de acord perfect utilizat mai sus:

Blues Traveler Norah Jones Phoenix The Strokes Weird Al
Clara 4.75 4.5 5 4.25 4
Robert 4 3 5 2 1

Cei doi vectori sunt:

||x|| = (4,75, 4,5, 5, 4,25, 4)
y = (4, 3, 5, 2, 1)

atunci

||x|| = √(4,752 +  4,52 + 52 + 4,252 + 42) = √101,875 = 10,09
||y|| = √(42 +  32 +  52 +  22 +  12) = √55 = 7,416

Produsul dot este

x ∙ y = (4.75 × 4) + (4.5 × 3) + (5 × 5) + (4.25 × 2) + (4 ×1) = 70

și similaritatea cosinusoidală este

cos(x,y) = 70 / (10,093 × 7,416) = 70 / 74,85 = = 0,935

Evaluarea similarității cosinusoidale variază de la 1 (care indică asemănarea perfectă) la -1 (care indică asemănare negativă perfectă). Deci 0.935 reprezintă un acord foarte bun.

Exercițiu

Calculați similaritatea cosinusoidală dintre Angelica și Veronica (din setul nostru de date). (considerați liniuțele ca fiind egale cu zero)

Blues Traveler Broken Bells Deadmau 5 Norah Jones Phoenix Slightly Stoopid The Strokes Vampire Weekend
Angelica 3.5 2 4.5 5 1.5 2.5 2
Veronica 3 5 4 2.5 3

Sursa: Ron Zacharski, A Programmer’s Guide to Data Mining – The Ancient Art of the Numerati. Licența CC BY-NC 3.0. Traducere și adaptare: Nicolae Sfetcu

Articol oferit sub licență CC BY-NC 3.0

Marketing ecologic în Uniunea Europeană
Marketing ecologic în Uniunea Europeană

Într-o economie globalizată, nivelurile medii de consum sunt în creştere ca urmare: a populaţiei mondiale în creştere; sporirii numărului de consumatori cu venituri medii şi mici şi extinderii unei culturi generale a consumului; sistemelor economice din societăţile industrializate bazate pe … Citeşte mai mult

Nu a fost votat 0.00 Selectează opțiunile
Inteligența emoțională
Inteligența emoțională

Inteligența emoțională este un set de abilități pentru răspunsurile la evenimente care constituie emoții. Prin integrarea inteligenței cu emoția se pot determina „cel puțin unele răspunsuri „corecte” în ceea ce privește sentimentele” pentru a distinge indivizii în funcţie de inteligența … Citeşte mai mult

Nu a fost votat 3.537.93 Selectează opțiunile
Bucharest Tourist Guide (Ghid turistic București)
Bucharest Tourist Guide (Ghid turistic București)

Bilingual English/Romanian Guide (Ghid bilingv engleză/română) Bucharest offers some excellent attractions, and during the recent years has cultivated a sophisticated, trendy, and modern sensibility that many have come to expect from a European capital. Perhaps the most prominent landmark is … Citeşte mai mult

Nu a fost votat 4.42 Selectează opțiunile

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

%d blogeri au apreciat: