Stars Realigned: Poprawa systemu oceny IMDb
Opublikowany: 2022-03-11Widzowie 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.
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
iSearchYear
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 tylkoYear
. - Niektóre pola oczekiwały pozytywnych korelacji, takich jak:
-
Music
zMusical
-
Action
zAdventure
-
Animation
zAdventure
-
- To samo dla korelacji ujemnych:
-
Drama
kontraHorror
-
Comedy
kontraHorror
-
Horror
kontraRomance
-
- Powiązane ze zmienną kluczową (
Rating
), którą zauważyłem:- Ma pozytywną i ważną korelację z
Runtime
iDrama
. - Ma mniejszą korelację z
Votes
,Biography
iHistory
. - Ma znacznie ujemną korelację z
Horror
i niższą ujemną korelację zThriller
,Action
,Sci-Fi
iYear
. - Nie ma żadnych innych istotnych korelacji.
- Ma pozytywną i ważną korelację z
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.
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.
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
.
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
.
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
.
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ć.
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
.
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.
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
.
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!