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.