Stars Realigned: Poprawa systemu oceny IMDb

Opublikowany: 2022-03-11

Widzowie czasami używają rankingów, aby wybrać, co obejrzeć. Robiąc to sam, zauważyłem, że wiele najlepiej ocenianych filmów należy do tego samego gatunku: dramatu. To sprawiło, że pomyślałem, że ranking może mieć jakiś rodzaj uprzedzenia gatunkowego.

Byłem na jednej z najpopularniejszych stron dla miłośników filmów, IMDb, która obejmuje filmy z całego świata i z dowolnego roku. Jego słynny ranking opiera się na ogromnym zbiorze recenzji. Do tej analizy danych IMDb postanowiłem pobrać wszystkie dostępne tam informacje, aby je przeanalizować i spróbować stworzyć nowy, dopracowany ranking, który uwzględniałby szerszy zakres kryteriów.

System oceny IMDb: filtrowanie danych IMDb

Udało mi się pobrać informacje o 242 528 filmach wydanych w latach 1970-2019 włącznie. Informacje, które IMDb dał mi dla każdego z nich, to: Rank , Title , ID , Year , Certificate , Rating , Votes , Metascore , Synopsis , Runtime , Genre , Gross i SearchYear .

Aby mieć wystarczającą ilość informacji do analizy, potrzebowałem minimalnej liczby recenzji na film, więc pierwszą rzeczą, którą zrobiłem, było odfiltrowanie filmów z mniej niż 500 recenzjami. Zaowocowało to zestawem 33 296 filmów, a w następnej tabeli mogliśmy zobaczyć podsumowującą analizę jego pól:

Pole Rodzaj Liczba zerowa Mieć na myśli Mediana
Ranga Czynnik 0
Tytuł Czynnik 0
ID Czynnik 0
Rok Int 0 2003 2006
Certyfikat Czynnik 17587
Ocena Int 0 6,1 6,3
Głosy Int 0 21040 2017
Metawynik Int 22350 55,3 56
Streszczenie Czynnik 0
Czas pracy Int 132 104,9 100
Gatunek muzyczny Czynnik 0
Brutto Czynnik 21415
SzukajRok Int 0 2003 2006

Uwaga: W R Factor odnosi się do ciągów. Rank i Gross są w ten sposób w oryginalnym zestawie danych IMDb, ponieważ mają na przykład tysiące separatorów.

Zanim zacząłem poprawiać wynik, musiałem dalej przeanalizować ten zbiór danych. Na początek pola Certificate , Metascore i Gross miały ponad 50% wartości null, więc nie są przydatne. Ranga zależy nieodłącznie od Ratingu (zmiennej do udoskonalenia), dlatego nie zawiera żadnych przydatnych informacji. To samo dotyczy ID , ponieważ jest to unikalny identyfikator dla każdego filmu.

Wreszcie Title i Synopsis to krótkie pola tekstowe. Można by ich użyć za pomocą jakiejś techniki NLP, ale ponieważ jest to ograniczona ilość tekstu, postanowiłem nie brać ich pod uwagę w tym zadaniu.

Po tym pierwszym filtrze zostałem z Genre , Rating , Year , Votes , SearchYear i Runtime . W polu Genre był więcej niż jeden gatunek na film, oddzielony przecinkami. Aby uchwycić addytywny efekt posiadania wielu gatunków, przekształciłem go za pomocą kodowania one-hot. Spowodowało to powstanie 22 nowych pól logicznych — po jednym dla każdego gatunku — o wartości 1, jeśli film miał ten gatunek, lub 0 w przeciwnym razie.

Analiza danych IMDb

Aby zobaczyć korelacje między zmiennymi, obliczyłem macierz korelacji.

Macierz korelacji między wszystkimi pozostałymi oryginalnymi kolumnami i kolumnami nowego gatunku. Liczby bliskie zeru powodują powstawanie pustych miejsc w siatce. Ujemne korelacje dają czerwone kropki, a dodatnie niebieskie kropki. Kropki są większe i ciemniejsze, im silniejsza jest korelacja. (Podkreślenia wizualne są opisane w głównym tekście artykułu.)

Tutaj wartość bliska 1 reprezentuje silną korelację dodatnią, a wartości bliskie -1 silną korelację ujemną. Za pomocą tego wykresu dokonałem wielu obserwacji:

  • Year i SearchYear są absolutnie skorelowane. Oznacza to, że prawdopodobnie mają te same wartości i że posiadanie obu jest tym samym, co posiadanie tylko jednej, więc zachowałem tylko Year .
  • Niektóre pola oczekiwały pozytywnych korelacji, takich jak:
    • Music z Musical
    • Action z Adventure
    • Animation z Adventure
  • To samo dla korelacji ujemnych:
    • Drama kontra Horror
    • Comedy kontra Horror
    • Horror kontra Romance
  • Powiązane ze zmienną kluczową ( Rating ), którą zauważyłem:
    • Ma pozytywną i ważną korelację z Runtime i Drama .
    • Ma mniejszą korelację z Votes , Biography i History .
    • Ma znacznie ujemną korelację z Horror i niższą ujemną korelację z Thriller , Action , Sci-Fi i Year .
    • Nie ma żadnych innych istotnych korelacji.

Wydawało się, że długie dramaty były dobrze oceniane, podczas gdy krótkie horrory nie. Moim zdaniem – nie miałem danych, żeby to sprawdzić – nie korelowało to z filmami generującymi większe zyski, jak filmy Marvela czy Pixara.

Możliwe, że ludzie, którzy głosują na tej stronie, nie są najlepszymi przedstawicielami ogólnego kryterium ludzi. Ma to sens, ponieważ ci, którzy poświęcają czas na przesłanie recenzji na stronie, są prawdopodobnie krytykami filmowymi z bardziej szczegółowym kryterium. W każdym razie moim celem było usunięcie efektu typowych cech filmowych, więc starałem się usunąć ten błąd w procesie.

Dystrybucja gatunków w systemie ocen IMDb

Kolejnym krokiem było przeanalizowanie rozkładu każdego gatunku w rankingu. W tym celu stworzyłem nowe pole o nazwie Principal_Genre oparte na pierwszym gatunku, który pojawił się w oryginalnym polu Genre . Aby to zobrazować, zrobiłem wykres skrzypiec.

Fabuła skrzypiec pokazująca rozkład ocen dla każdego gatunku.

Jeszcze raz zauważyłem, że Drama koreluje z wysokimi ocenami, a Horror z niższymi. Jednak ten wykres pokazał również, że inne gatunki mają dobre wyniki: Biography i Animation . To, że ich korelacje nie pojawiły się w poprzedniej matrycy, było prawdopodobnie spowodowane zbyt małą liczbą filmów z tymi gatunkami. Następnie stworzyłem wykres paska częstotliwości według gatunku.

Wykres słupkowy pokazujący, ile filmów z każdego gatunku znajduje się w bazie danych. Komedia, dramat i akcja miały częstotliwości około 6000 lub więcej; Zbrodnia i horror przekroczyły 2000; reszta była poniżej 1000.

W rzeczywistości Biography i Animation miały bardzo mało filmów, podobnie jak Sport i Adult . Z tego powodu nie są one zbyt dobrze skorelowane z Rating .

Inne zmienne w systemie ocen IMDb

Następnie zacząłem analizować stałe współzmienne ciągłe: Year , Votes i Runtime . Na wykresie punktowym widać zależność między Rating a Year .

Wykres punktowy oceny i lat.

Jak widzieliśmy wcześniej, Year wydawał się mieć negatywną korelację z oceną: wraz ze wzrostem roku wariancja Rating również wzrasta, osiągając więcej wartości ujemnych w nowszych filmach.

Następnie tę samą fabułę stworzyłem dla Votes .

Wykres punktowy ocen i głosów.

Tutaj korelacja była wyraźniejsza: im wyższa liczba głosów, tym wyższa pozycja w rankingu. Jednak większość filmów nie miała tak wielu głosów, aw tym przypadku Rating miał większą rozbieżność.

Na koniec przyjrzałem się relacjom z Runtime .

Wykres punktowy między oceną a środowiskiem wykonawczym.

Znowu mamy podobny wzorzec, ale jeszcze silniejszy: wyższe czasy działania oznaczają wyższe oceny, ale było bardzo niewiele przypadków z długimi czasami działania.

Udoskonalenia systemu oceny IMDb

Po całej tej analizie miałem lepsze wyobrażenie o danych, z którymi mam do czynienia, więc postanowiłem przetestować kilka modeli, aby przewidzieć oceny na podstawie tych pól. Pomyślałem, że różnica między moimi najlepszymi przewidywaniami modelu a rzeczywistą Rating usunie wpływ wspólnych cech i odzwierciedli szczególne cechy, które sprawiają, że film jest lepszy od innych.

Zacząłem od najprostszego modelu, liniowego. Aby ocenić, który model działał lepiej, zaobserwowałem błędy średniej kwadratowej (RMSE) i średniej bezwzględnej (MAE). Są to standardowe środki do tego rodzaju zadań. Ponadto są one na tej samej skali, co przewidywana zmienna, więc są łatwe do interpretacji.

W tym pierwszym modelu RMSE wynosił 1,03, a MAE 0,78. Ale modele liniowe zakładają niezależność od błędów, medianę zerową i stałą wariancję. Jeśli to prawda, wykres „wartości rezydualne vs. przewidywane” powinien wyglądać jak chmura bez struktury. Postanowiłem więc narysować to na wykresie, aby to potwierdzić.

Wykres rozrzutu wartości rezydualnych i przewidywanych.

Widziałem, że do 7 w przewidywanych wartościach miał nieustrukturyzowany kształt, ale po tej wartości ma wyraźny liniowy kształt opadania. W konsekwencji założenia modelu były złe, a także miałem „przepełnienie” przewidywanych wartości, ponieważ w rzeczywistości Rating nie może być większa niż 10.

W poprzedniej analizie danych IMDb, przy większej liczbie Votes , Rating poprawiła się; stało się to jednak w kilku przypadkach i przy ogromnej liczbie głosów. Może to spowodować zniekształcenia modelu i spowodować przepełnienie Rating . Aby to sprawdzić, oceniłem, co stanie się z tym samym modelem, usuwając pole Votes .

Wykres rozrzutu wartości rezydualnych i przewidywanych po usunięciu pola Głosy.

To było znacznie lepsze! Miał wyraźniejszy, nieustrukturyzowany kształt bez przewidywanych wartości przepełnienia. Pole Votes również zależy od aktywności recenzentów i nie jest cechą filmów, więc postanowiłem porzucić to pole. Błędy po jego usunięciu wynosiły 1,06 na RMSE i 0,81 na MAE – trochę gorzej, ale nie aż tak bardzo, a ja wolałem mieć lepsze przypuszczenia i selekcję cech niż trochę lepszą wydajność na moim zestawie treningowym.

Analiza danych IMDb: jak dobrze działają inne modele?

Następną rzeczą, którą zrobiłem, było wypróbowanie różnych modeli do analizy, które działały lepiej. W przypadku każdego modelu zastosowałem technikę wyszukiwania losowego, aby zoptymalizować wartości hiperparametrów i 5-krotną walidację krzyżową, aby zapobiec błędom modelu. W poniższej tabeli znajdują się oszacowane błędy uzyskane:

Model RMSE MAE
Sieć neuronowa 1.044596 0,795699
Wzmacnianie 1.046639 0,7971921
Drzewo wnioskowania 1.05704 0,8054783
GAM 1.0615108 0,8119555
Model liniowy 1.066539 0,8152524
Ukarana rejestracja liniowa 1.066607 0,8153331
KNN 1.066714 0,8123369
Grzbiet Bayesowski 1.068995 0,8148692
SVM 1,073491 0,8092725

Jak widać, wszystkie modele działają podobnie, więc niektóre z nich wykorzystałem do analizy nieco większej ilości danych. Chciałem poznać wpływ każdego pola na ocenę. Najprościej to zrobić, obserwując parametry modelu liniowego. Ale aby wcześniej uniknąć zniekształceń, przeskalowałem dane, a następnie przeszkoliłem model liniowy. Wagi były takie, jak na zdjęciu.

Wykres słupkowy wag modeli liniowych w zakresie od prawie -0,25 dla horroru do prawie 0,25 dla dramatu.

Na tym wykresie wyraźnie widać, że dwie najważniejsze zmienne to Horror i Drama , przy czym pierwsza ma negatywny wpływ na ocenę, a druga pozytywny. Istnieją również inne dziedziny, które mają pozytywny wpływ — takie jak Animation i Biography — podczas gdy Action , Sci-Fi i Year mają negatywny wpływ. Co więcej, Principal_Genre nie ma dużego wpływu, więc ważniejsze jest, jakie gatunki ma film, niż który z nich jest głównym.

Dzięki uogólnionemu modelowi addytywnemu (GAM) mogłem również zobaczyć bardziej szczegółowy wpływ na zmienne ciągłe, którymi w tym przypadku był Year .

Wykres roku w funkcji s(rok) przy użyciu uogólnionego modelu addytywnego. Wartość s(Year) podąża za krzywą, która zaczyna się w pobliżu 0,6 w 1970 r., spada poniżej 0 w 2010 r. i ponownie wzrasta do blisko 0 w 2019 r.

Tutaj mamy coś ciekawszego. Chociaż prawdą było, że w przypadku ostatnich filmów ocena była niższa, efekt nie był stały. Ma najniższą wartość w 2010 r., a następnie wydaje się „odzyskiwać”. Byłoby intrygujące dowiedzieć się, co wydarzyło się po tym roku w produkcji filmowej, co mogło spowodować tę zmianę.

Najlepszym modelem były sieci neuronowe, które miały najniższe RMSE i MAE, ale jak widać żaden model nie osiągnął idealnej wydajności. Ale to nie była zła wiadomość z punktu widzenia mojego celu. Dostępne informacje pozwalają mi dość dobrze oszacować wydajność, ale to nie wystarczy. Jest kilka innych informacji, których nie mogłem uzyskać z IMDb, które sprawiają, że Rating różni się od oczekiwanego wyniku na podstawie Genre , Runtime działania i Year . Może to być występ aktorski, scenariusze filmowe, fotografia lub wiele innych rzeczy.

Z mojej perspektywy te inne cechy są tym, co naprawdę ma znaczenie przy wyborze tego, co oglądać. Nie obchodzi mnie, czy dany film to dramat, akcja, czy science fiction. Chcę, żeby było coś wyjątkowego, coś, co sprawia, że ​​dobrze się bawię, uczy mnie czegoś, skłania do refleksji nad rzeczywistością lub po prostu bawi.

Stworzyłem więc nową, udoskonaloną ocenę, biorąc ocenę IMDb i odejmując przewidywaną ocenę najlepszego modelu. W ten sposób usunąłem efekt Genre , Runtime działania i Year i zachowałem inne nieznane informacje, które są dla mnie o wiele ważniejsze.

Alternatywa dla systemu oceny IMDb: wyniki końcowe

Zobaczmy teraz, które są 10 najlepszymi filmami według mojej nowej oceny w porównaniu do rzeczywistej oceny IMDb:

IMDb

Tytuł Gatunek muzyczny Ocena IMDb Dopracowana ocena
Ko do tamo peva Przygoda, komedia, dramat 8,9 1,90
Numer Dipu 2 Przygoda, Rodzina 8,9 3,14
El senor de los anillos: El retorno del rey Przygoda, Dramat, Fantazja 8,9 2,67
El senor de los anillos: La comunidad del anillo Przygoda, Dramat, Fantazja 8,8 2,55
Anbe Siwam Przygoda, komedia, dramat 8,8 2,38
Hababam Sinifi Tatilde Przygoda, komedia, dramat 8,7 1,66
El senor de los anillos: Las dos torres Przygoda, Dramat, Fantazja 8,7 2,46
Wołanie Mudr Przygoda, dramat, romans 8,7 2,34
Zainteresowania Przygodowe, Dramat, Science fiction 8,6 2.83
Volver al futuro Przygodowe,Komediowe,Sci-Fi 8,5 2,32

Moje

Tytuł Gatunek muzyczny Ocena IMDb Dopracowana ocena
Numer Dipu 2 Przygoda, Rodzina 8,9 3,14
Zainteresowania Przygodowe, Dramat, Science fiction 8,6 2.83
El senor de los anillos: El retorno del rey Przygoda, Dramat, Fantazja 8,9 2,67
El senor de los anillos: La comunidad del anillo Przygoda, Dramat, Fantazja 8,8 2,55
Kolah ghermezi va pesar khale Przygoda, komedia, rodzina 8.1 2,49
El senor de los anillos: Las dos torres Przygoda, Dramat, Fantazja 8,7 2,46
Anbe Siwam Przygoda, komedia, dramat 8,8 2,38
Los caballeros de la mesa cuadrada Przygoda, komedia, fantazja 8,2 2,35
Wołanie Mudr Przygoda, dramat, romans 8,7 2,34
Volver al futuro Przygodowe,Komediowe,Sci-Fi 8,5 2,32

Jak widać, podium nie zmieniło się radykalnie. Tego się spodziewano, ponieważ RMSE nie było tak wysokie, a tutaj obserwujemy szczyt. Zobaczmy, co się stało z najniższą dziesiątką:

IMDb

Tytuł Gatunek muzyczny Ocena IMDb Dopracowana ocena
Tortent Holnap - Nagy bulvarfilm Komedia, Tajemnica 1 -4,86
Cumali Ceber: Allah Seni Alsin Komedia 1 -4,57
Badang Komedia,Fantasy 1 -4,74
Yyyreek!!! Nominacja Kosmiczna Komedia 1,1 -4,52
Dumny Amerykanin Dramat 1,1 -5,49
Browncoats: wojna o niepodległość Akcja, science fiction, wojna 1,1 -3,71
Weekend, w którym żyje Komedia, horror, tajemnica 1.2 -4,53
Bolivar: el heroe Animacja, Biografia 1.2 -5,34
Powstanie Czarnego Nietoperza Akcja, Science fiction 1.2 -3,65
Hatsukoi Dramat 1.2 -5,38

Moje

Tytuł Gatunek muzyczny Ocena IMDb Dopracowana ocena
Dumny Amerykanin Dramat 1,1 -5,49
Święty Mikołaj i Lodowy Króliczek Rodzina,Fantasy 1,3 -5,42
Hatsukoi Dramat 1.2 -5,38
Reis Biografia, Dramat 1,5 -5,35
Bolivar: el heroe Animacja, Biografia 1.2 -5,34
Hanum i Rangga: Wiara i miasto Dramat, Romans 1.2 -5,28
Po ostatnim sezonie Animacja, Dramat, Science fiction 1,7 -5,27
Barschel - Mord w Genf Dramat 1,6 -5,23
Rasshu raifu Dramat 1,5 -5,08
Kamifusen Dramat 1,5 -5,08

To samo wydarzyło się tutaj, ale teraz widzimy, że więcej dramatów pojawia się w wyrafinowanym przypadku niż w IMDb, co pokazuje, że niektóre dramaty mogą być przesunięte w rankingu tylko dlatego, że są dramatami.

Być może najciekawszym podium do zobaczenia jest 10 filmów z największą różnicą między wynikiem systemu oceny IMDb a moim wyrafinowanym. Te filmy to te, które mają większy nacisk na swoje nieznane cechy i sprawiają, że film jest znacznie lepszy (lub gorszy) niż oczekiwano ze względu na jego znane cechy.

Tytuł Ocena IMDb Dopracowana ocena Różnica
Kanashimi nie beradonna 7,4 -0,71 8.11
Jesucristo Superstar 7,4 -0,69 8.09
Pink Floyd - Ściana 8.1 0,03 8.06
Tenshi bez tamago 7,6 -0,42 8.02
Jibon Theke Neya 9,4 1,52 7,87
El Baile 7,8 0,00 7,80
Święty Mikołaj i trzy niedźwiedzie 7,1 -0,70 7,80
La alegre history de Scrooge 7,5 -0,24 7,74
Piel de asno 7 -0,74 7,74
1776 7,6 -0,11 7,71

Gdybym był reżyserem filmowym i musiałbym wyprodukować nowy film, po przeprowadzeniu całej tej analizy danych IMDb, mógłbym mieć lepsze wyobrażenie o tym, jaki film zrobić, aby mieć lepszy ranking IMDb. Byłby to długi animowany dramat biograficzny, który byłby przeróbką starego filmu — na przykład Amadeusza. Prawdopodobnie zapewniłoby to dobry ranking IMDb, ale nie jestem pewien zysków…

Co sądzisz o filmach, które plasują się w tej nowej mierze? Czy lubisz ich? A może wolisz oryginalne? Daj mi znać w komentarzach pod spodem!