Celem tego projektu jest analiza danych dotyczących procesorów komputerowych na przestrzeni lat 2007-2022. Dane te zawierają nazwę procesora, jego producentów, cenę, wartości benchmarków jak urządzenie poradziło sobie, maksymalna ilość wydzielanego ciepła w ciągu sekundy, ilość rdzeni, datę testu, socket oraz przeznaczenie.

Tak jak widać na załączonych histogramach największą ilość stanowią tanie procesory o niskich wynikach w testach. Jest to spowodowane tym, iż producenci skupiają się głównie na urządzeniach przeznaczonych dla zwykłego użytkownika komputera domowego. Wartości odstającymi są w tym wypadku drogie procesory osiągające dużo wyższe wyniki lecz przeznaczone są one w szczególności dla zaawansowanych użytkowników stąd też małe prawdopodobieństwo, że losowo wybrana osoba akurat będzie właścicielem takiego urządzenia.

##      price            cpuMark         cpuValue        threadMark  
##  Min.   :   3.99   Min.   :  159   Min.   :  0.22   Min.   : 224  
##  1st Qu.:  66.33   1st Qu.: 1652   1st Qu.: 12.73   1st Qu.:1086  
##  Median : 161.00   Median : 3937   Median : 25.82   Median :1571  
##  Mean   : 445.12   Mean   : 8129   Mean   : 35.65   Mean   :1677  
##  3rd Qu.: 395.00   3rd Qu.: 9905   3rd Qu.: 46.30   3rd Qu.:2200  
##  Max.   :8978.00   Max.   :88338   Max.   :345.33   Max.   :4317  
##   threadValue           TDP        
##  Min.   :  0.130   Min.   :  4.00  
##  1st Qu.:  4.545   1st Qu.: 44.00  
##  Median :  9.845   Median : 65.00  
##  Mean   : 15.219   Mean   : 76.23  
##  3rd Qu.: 19.027   3rd Qu.: 95.00  
##  Max.   :267.820   Max.   :280.00

Powyższe wykresy kwantyl-kwantyl zostały wykonane pomiędzy ceną a pozostałymi cechami. Wykresy te pokazują, że podobne rozkłady mają zmienna ‘price’ wraz z ‘cpuMark’ , ‘cpuValue’ oraz ‘threadValue’. Wskazuje na to liniowość tych wykresów.

Na załączonym wykresie korelacji między zmiennymi widać w większości przypadków dodatnią korelację, na co wskazuje kolor niebieski.Wielkość koła pokazuje siłę korelacji, im jest ono większe tym korelacja jest większa.Dla przykładu widać ją dobrze pomiędzy ceną a benchmarkiem cpu(cpuMark) oznacza to, że wraz ze wzrostem ceny otrzymujemy lepsze urządzenie osiągające wyższe wyniki w testach. Tak samo cpuMark i threadMark.

W tej części raportu wykonamy redukcję wymiaru z 4 na 2 zmienne na pliku Parametry1 oraz Parametry2. Wykoszystałem w tym celu algorym PCA. Zobaczymy uzyskane wykresy oraz wyciągniemy z nich określone wnioski.

Osie Ox oraz Oy prezentują dwie pierwsze składowe naszego testu. W zależności od położenia wektorów względem siebie możemy odczytać czy zmienne są ze sobą skorelowane czy nie.Nieduży kąt pomiędzy zmienną ‘price’ a ‘cpuMark’ wskazuje na dosyć silną korelację, wnioski te wysnuliśmy również z poprzedniego wykresu korelacji. Natomiast kąt między ‘cpuMark’ a ‘cpuValue’ jest niemal prosty co wskazuje na mniejszą korelację.

Teraz wykonam PCA na danych Parametry2. Również zobaczymy określone zależności.

Tym razem grupowałem za pomocą nazw producentów procesorów. Dzięki temu wykres jest czytelniejszy niż w poprzednim przypadku gdzie grupowałem na podstawie przeznaczenia procesora. Widzimy silną zależność pomiędzy rdzeniami oraz wątkami co jest oczywiste ze względu na to, że zwiększenie jednej powoduje wzrost drugiej zmiennej. Niską korelację widzimy jednak pomiędzy rdzeniami/wątkami a wynikami pojedynczymi(singleScore). Tak samo jak w przypadku poprzednich danych 1 zmienna składowa wyjaśnia jak najwięcej zmienności, natomiast pozostałe coraz mniej.

Wykonam w tej części dzielenie mojego zbioru danych na części. Dokonałem analizy skupień za pomocą metody k-średnich. Algorytm podzielił mi mój zbiór danych na pewne klastry które widoczne będą na wykresie.

Podczas tworzenia wybrałem podział na 3 klastry. Zielone krzyżyki oraz czarne okręgi widocznie od siebie odstają, tak samo jak czerwone trójkąty oznaczające małoliczny klaster.Czarnymi kropkami oznaczyłem środki określonych klas.

Zobaczmy jak to wygląda w postaci klastrowania hierarchicznego.

Wykresy pudełkowe pokazane poniżej przedstawiają najważniejsze miary statystyczne dla procesorów desktopowych, laptopowych oraz serverowych.

##    cpuName              price            cpuMark         cpuValue     
##  Length:647         Min.   :   3.99   Min.   :  177   Min.   :  0.22  
##  Class :character   1st Qu.:  66.94   1st Qu.: 1576   1st Qu.: 11.53  
##  Mode  :character   Median : 169.00   Median : 3847   Median : 25.92  
##                     Mean   : 487.99   Mean   : 8056   Mean   : 35.00  
##                     3rd Qu.: 426.00   3rd Qu.: 9856   3rd Qu.: 45.42  
##                     Max.   :8399.69   Max.   :81568   Max.   :323.51  
##    threadMark    threadValue           TDP          powerPerf        
##  Min.   : 254   Min.   :  0.130   Min.   :  4.00   Length:647        
##  1st Qu.:1042   1st Qu.:  3.975   1st Qu.: 45.00   Class :character  
##  Median :1571   Median :  9.760   Median : 65.00   Mode  :character  
##  Mean   :1653   Mean   : 15.734   Mean   : 77.47                     
##  3rd Qu.:2178   3rd Qu.: 18.985   3rd Qu.: 95.00                     
##  Max.   :4217   Max.   :267.820   Max.   :280.00                     
##      cores           testDate       socket            category        
##  Min.   : 1.000   Min.   :2008   Length:647         Length:647        
##  1st Qu.: 2.000   1st Qu.:2010   Class :character   Class :character  
##  Median : 4.000   Median :2014   Mode  :character   Mode  :character  
##  Mean   : 5.595   Mean   :2014                                        
##  3rd Qu.: 6.000   3rd Qu.:2018                                        
##  Max.   :64.000   Max.   :2022

Tabelka nad wykresami przedstawia szczegółowe informacje na temat poszczególnych urządzeń

Wyznaczam analizę dyskryminacji za pomocą metody LDA

Wykresy te nakładają się na siebie, pokazuje to niewielką seprarację między danymi

Tworzę drzewo decyzyjne na podstawie określonych cech(‘cpuMark’ oraz ‘threadMark’)

Tak jak widać nasze drzewo ma dużą ilość gałęzi, co wskazuje na zmienność w naszych danych.Jest to spowodowane tym,że posiadamy urządzenia o zarówno bardzo niskich jak i bardzo wysokich parametrach

Tworzę las losowy.Będący kolejną metodą dyskryminacji

Tak jak widać dyskryminacja obserwacji na podstawie próby uczącej podzieliła mój zbiór na dwie części.Czarne krzyżyki skupione na szarych polach oraz czerwone okręgi na białych.Oznaczone pola są obszarami decyzyjnymi do których trafiły moje obserwacje.Wyznaczone klasyfikatory w tej metodzie wyznaczają ostateczną klasę dla danej obserwacji.