Yıldızlar Yeniden Düzenlendi: IMDb Derecelendirme Sisteminin İyileştirilmesi

Yayınlanan: 2022-03-11

Film izleyicileri bazen ne izleyeceklerini seçmek için sıralamaları kullanır. Bunu kendim yaptıktan sonra, en iyi derecedeki filmlerin çoğunun aynı türe ait olduğunu fark ettim: drama. Bu bana sıralamanın bir tür tür önyargısı olabileceğini düşündürdü.

Dünyanın her yerinden ve her yıldan filmlerin yer aldığı film severlerin en popüler sitelerinden biri olan IMDb'deydim. Ünlü sıralaması, geniş bir inceleme koleksiyonuna dayanmaktadır. Bu IMDb veri analizi için, analiz etmek ve daha geniş bir kriter yelpazesini dikkate alacak yeni, rafine bir sıralama oluşturmaya çalışmak için mevcut tüm bilgileri indirmeye karar verdim.

IMDb Derecelendirme Sistemi: IMDb Verilerini Filtreleme

1970 ile 2019 arasında vizyona giren 242.528 film hakkında bilgi indirebildim. Her biri için IMDb'nin bana verdiği bilgiler şunlardı: Rank , Title , ID , Year , Certificate , Rating , Votes , Metascore , Synopsis , Runtime , Genre , Gross ve SearchYear .

Analiz etmek için yeterli bilgiye sahip olmak için film başına minimum sayıda incelemeye ihtiyacım vardı, bu yüzden yaptığım ilk şey 500'den az inceleme içeren filmleri filtrelemek oldu. Bu, 33.296 filmden oluşan bir setle sonuçlandı ve bir sonraki tabloda, alanlarının özet bir analizini görebiliyorduk:

Alan Tip Boş Sayı Anlamına gelmek Medyan
Rütbe faktör 0
Başlık faktör 0
İD faktör 0
Yıl Int 0 2003 2006
sertifika faktör 17587
Değerlendirme Int 0 6.1 6.3
oylar Int 0 21040 2017
Metaskor Int 22350 55.3 56
özet faktör 0
Çalışma süresi Int 132 104.9 100
Tür faktör 0
Brüt faktör 21415
AramaYıl Int 0 2003 2006

Not: R'de Factor , dizeleri ifade eder. Rank ve Gross , örneğin binlerce ayırıcıya sahip olması nedeniyle orijinal IMDb veri kümesinde bu şekildedir.

Skoru hassaslaştırmaya başlamadan önce bu veri setini daha fazla analiz etmem gerekiyordu. Yeni başlayanlar için, Certificate , Metascore ve Gross alanları %50'den fazla boş değere sahipti, bu nedenle kullanışlı değiller. Sıra, özünde Derecelendirmeye (iyileştirilecek değişken) bağlıdır, bu nedenle herhangi bir yararlı bilgi içermez. Aynısı, her film için benzersiz bir tanımlayıcı olduğu için ID için de geçerlidir.

Son olarak, Title ve Synopsis kısa metin alanlarıdır. Bunları bazı NLP teknikleriyle kullanmak mümkün olabilir, ancak sınırlı miktarda metin olduğu için bu görev için onları dikkate almamaya karar verdim.

Bu ilk filtreden sonra, Genre , Rating , Year , Votes , SearchYear ve Runtime ile kaldım. Genre alanında, film başına virgülle ayrılmış birden fazla tür vardı. Bu yüzden, birçok türe sahip olmanın ek etkisini yakalamak için, onu tek-sıcak kodlama kullanarak dönüştürdüm. Bu, filmde bu türe sahipse 1, değilse 0 değerine sahip 22 yeni boole alanıyla (her tür için bir tane) sonuçlandı.

IMDb Veri Analizi

Değişkenler arasındaki korelasyonları görmek için korelasyon matrisini hesapladım.

Kalan tüm orijinal sütunlar ve yeni tür sütunları arasında bir korelasyon matrisi. Sıfıra yakın sayılar, ızgarada boşluklara neden olur. Negatif korelasyonlar kırmızı noktalara ve pozitif korelasyonlara mavi noktalara neden olur. Noktalar daha büyük ve daha koyuysa, korelasyon o kadar güçlüdür. (Görsel vurgular ana makale metninde açıklanmıştır.)

Burada 1'e yakın bir değer güçlü bir pozitif korelasyonu ve -1'e yakın değerler güçlü bir negatif korelasyonu temsil eder. Bu grafikle birçok gözlem yaptım:

  • Year ve SearchYear kesinlikle ilişkilidir. Bu, muhtemelen aynı değerlere sahip oldukları ve her ikisine de sahip olmanın yalnızca birine sahip olmakla aynı olduğu anlamına gelir, bu yüzden yalnızca Year öğesini tuttum.
  • Bazı alanlar, aşağıdakiler gibi pozitif korelasyonlar bekliyordu:
    • Music Musical
    • Adventure Action
    • Adventure Animation
  • Negatif korelasyonlar için aynı:
    • Drama ve Horror
    • Comedy Horror
    • Horror ve Romance
  • Anahtar değişkenle ilgili ( Rating ) Fark ettim:
    • Runtime ve Drama ile pozitif ve önemli bir ilişkisi vardır.
    • Votes , Biography ve History ile daha düşük bir korelasyona sahiptir .
    • Horror ile oldukça negatif bir korelasyona ve Thriller , Action , Sci-Fi ve Year ile daha düşük bir negatif korelasyona sahiptir.
    • Başka önemli bir korelasyonu yok.

Kısa korku filmleri değilken, uzun dramalar iyi puan almış gibi görünüyordu. Bence -kontrol edecek verilere sahip değildim- Marvel ya da Pixar filmleri gibi daha fazla kâr getiren filmlerle bağdaşmıyordu.

Bu siteye oy verenlerin genel halk kriterini en iyi temsil etmemesi olabilir. Bu mantıklı çünkü siteye inceleme göndermek için zaman ayıranlar muhtemelen daha spesifik bir kritere sahip bir tür film eleştirmeni. Her neyse, amacım genel film özelliklerinin etkisini ortadan kaldırmaktı, bu yüzden süreçte bu önyargıyı ortadan kaldırmaya çalıştım.

IMDb Derecelendirme Sisteminde Tür Dağılımı

Bir sonraki adım, her bir türün reytinge göre dağılımını analiz etmekti. Bunu yapmak için, orijinal Genre alanında ortaya çıkan ilk türe dayalı olarak Principal_Genre adlı yeni bir alan yarattım. Bunu görselleştirmek için bir keman grafiği yaptım.

Her tür için derecelendirme dağılımını gösteren bir keman grafiği.

Bir kez daha, Drama yüksek reytinglerle ve Horror daha düşük reytinglerle ilişkili olduğunu görebiliyordum. Ancak bu grafik, diğer türlerin iyi puanlar aldığını da ortaya koydu: Biography ve Animation . Korelasyonlarının önceki matriste görünmemesi, muhtemelen bu türlere sahip çok az film olduğu içindi. Daha sonra türe göre bir frekans çubuğu grafiği oluşturdum.

Veritabanında her türden kaç tane film olduğunu gösteren bir çubuk grafik. Komedi, Dram ve Aksiyon 6,000 veya üzeri frekanslara sahipti; Suç ve Korku 2.000'in üzerindeydi; geri kalanı 1000'in altındaydı.

Etkili bir şekilde, Biography ve Animation , Sport ve Adult gibi çok az filme sahipti. Bu nedenle, Rating ile çok iyi ilişkili değiller.

IMDb Derecelendirme Sistemindeki Diğer Değişkenler

Ondan sonra sürekli değişkenleri analiz etmeye başladım: Year , Votes ve Runtime . Dağılım grafiğinde, Rating ile Year arasındaki ilişkiyi görebilirsiniz.

Derecelendirme ve yılların dağılım grafiği.

Daha önce gördüğümüz gibi, Year ile Rating arasında negatif bir ilişki var gibiydi: Yıl arttıkça reyting farkı da artıyor ve yeni filmlerde daha negatif değerlere ulaşıyor.

Ardından, Votes için aynı planı yaptım.

Derecelendirme ve oyların bir dağılım grafiği.

Burada, korelasyon daha açıktı: oy sayısı ne kadar yüksekse, sıralama da o kadar yüksekti. Ancak, filmlerin çoğunda çok fazla oy yoktu ve bu durumda Rating daha büyük bir varyansı vardı.

Son olarak, Runtime ile olan ilişkiye baktım.

Derecelendirme ve çalışma zamanı arasında bir dağılım grafiği.

Yine benzer bir modele sahibiz, ancak daha da güçlü: Daha yüksek çalışma süreleri daha yüksek derecelendirmeler anlamına gelir, ancak yüksek çalışma süreleri için çok az vaka vardı.

IMDb Derecelendirme Sistemi İyileştirmeleri

Tüm bu analizlerden sonra, uğraştığım veriler hakkında daha iyi bir fikrim vardı, bu yüzden bu alanlara dayalı derecelendirmeleri tahmin etmek için bazı modelleri test etmeye karar verdim. Benim fikrim, en iyi model tahminlerim ile gerçek Rating arasındaki farkın, ortak özelliklerin etkisini ortadan kaldıracağı ve bir filmi diğerlerinden daha iyi yapan belirli özellikleri yansıtacağıydı.

En basit modelle, lineer olanla başladım. Hangi modelin daha iyi performans gösterdiğini değerlendirmek için, ortalama karekök (RMSE) ve ortalama mutlak (MAE) hatalarını gözlemledim. Bu tür görevler için standart önlemlerdir. Ayrıca, tahmin edilen değişkenle aynı ölçektedirler, bu nedenle yorumlanmaları kolaydır.

Bu ilk modelde, RMSE 1.03 ve MAE 0.78 idi. Ancak doğrusal modeller, hatalar üzerinde bağımsızlığı, sıfır medyanı ve sabit varyansı varsayar. Bu doğruysa, "artık ve tahmin edilen değerler" grafiği, yapısız bir bulut gibi görünmelidir. Bu yüzden bunu doğrulamak için grafiğini çizmeye karar verdim.

Artık değerlere karşı tahmin edilen değerler dağılım grafiği.

Tahmin edilen değerlerde 7'ye kadar yapılandırılmamış bir şekle sahip olduğunu ancak bu değerden sonra net bir lineer iniş şekline sahip olduğunu görebiliyordum. Sonuç olarak, model varsayımları kötüydü ve ayrıca tahmin edilen değerlerde bir “taşma” yaşadım çünkü gerçekte Rating 10'dan fazla olamaz.

Önceki IMDb veri analizinde, daha yüksek Votes miktarıyla Rating iyileşti; ancak, bu birkaç durumda ve çok sayıda oy için oldu. Bu, modelde bozulmalara neden olabilir ve bu Rating taşmasına neden olabilir. Bunu kontrol etmek için, Votes alanını kaldırarak aynı modelde ne olacağını değerlendirdim.

Oylar alanı kaldırıldığında, kalan ve tahmin edilen değerler dağılım grafiği.

Bu çok daha iyiydi! Taşma tahmini değerleri olmadan daha net, yapılandırılmamış bir şekle sahipti. Votes alanı da yorumcu etkinliğine bağlıdır ve filmlerin bir özelliği değildir, bu yüzden bu alanı da bırakmaya karar verdim. Onu kaldırdıktan sonraki hatalar RMSE'de 1.06 ve MAE'de 0.81 idi - biraz daha kötü, ama o kadar da değil ve eğitim setimde biraz daha iyi performanstan ziyade daha iyi varsayımlara ve özellik seçimine sahip olmayı tercih ettim.

IMDb Veri Analizi: Diğer Modeller Ne Kadar İyi Çalışıyor?

Yaptığım bir sonraki şey, hangisinin daha iyi performans gösterdiğini analiz etmek için farklı modeller denemekti. Her model için hiperparametre değerlerini optimize etmek için rastgele arama tekniğini ve model yanlılığını önlemek için 5 kat çapraz doğrulamayı kullandım. Aşağıdaki tabloda elde edilen tahmini hatalar verilmiştir:

modeli RMSE MAE
Sinir ağı 1.044596 0.795699
artırma 1.046639 0.7971921
çıkarım ağacı 1.05704 0.8054783
GAM 1.0615108 0.8119555
Doğrusal Model 1.066539 0.8152524
Cezalandırılmış Doğrusal Reg 1.066607 0.8153331
KNN 1.066714 0.8123369
Bayes Sırtı 1.068995 0.8148692
DVM 1.073491 0.8092725

Gördüğünüz gibi, tüm modeller benzer şekilde çalışıyor, bu yüzden bazılarını biraz daha fazla veriyi analiz etmek için kullandım. Her alanın derecelendirme üzerindeki etkisini bilmek istedim. Bunu yapmanın en basit yolu, doğrusal modelin parametrelerini gözlemlemektir. Ancak daha önce üzerlerinde bozulmaları önlemek için verileri ölçeklendirdim ve ardından doğrusal modeli yeniden eğittim. Ağırlıklar resimdeki gibiydi.

Korku için yaklaşık -0.25 ile Drama için yaklaşık 0.25 arasında değişen doğrusal model ağırlıklarının bir çubuk grafiği.

Bu grafikte, en önemli değişkenlerden ikisinin Horror ve Drama olduğu açıktır; burada ilki reyting üzerinde olumsuz, ikincisi ise olumlu bir etkiye sahiptir. Action , Sci-Fi ve Year olumsuz etkilerken Animation ve Biography gibi olumlu etkileyen başka alanlar da vardır. Ayrıca, Principal_Genre önemli bir etkiye sahip değildir, bu nedenle bir filmin hangi türlere sahip olduğu, hangisinin asıl olduğundan daha önemlidir.

Genelleştirilmiş katkı modeli (GAM) ile, bu durumda Year olan sürekli değişkenler için daha ayrıntılı bir etki görebiliyordum.

Genelleştirilmiş katkı modelini kullanan Yıl ve s(Yıl) grafiği. s(Yıl) değeri, 1970 için 0,6'dan başlayan, 2010'da 0'ın altına inen ve 2019'da tekrar 0'a yükselen bir eğriyi takip eder.

Burada daha ilginç bir şeyimiz var. Son filmler için derecelendirmenin daha düşük olma eğiliminde olduğu doğru olsa da, etki sabit değildi. 2010'da en düşük değere sahip ve ardından “iyileşiyor” gibi görünüyor. Film yapımında o yıldan sonra bu değişikliği üretebilecek neler olduğunu öğrenmek merak uyandırıcı olurdu.

En iyi model, en düşük RMSE ve MAE'ye sahip olan sinir ağlarıydı, ancak gördüğünüz gibi hiçbir model mükemmel performansa ulaşmadı. Ama amacım açısından bu kötü bir haber değildi. Mevcut bilgiler, performansı biraz iyi tahmin etmeme izin veriyor, ancak bu yeterli değil. IMDb'den alamadığım ve Rating Genre , Runtime ve Year bazında beklenen puandan farklı kılan başka bilgiler de var. Oyuncu performansı, film senaryoları, fotoğrafçılık veya başka birçok şey olabilir.

Benim bakış açıma göre, bu diğer özellikler, ne izleneceğini seçerken gerçekten önemli olan şeydir. Belirli bir filmin drama, aksiyon veya bilim kurgu olması umurumda değil. Özel bir şeye sahip olmasını istiyorum, iyi vakit geçirmemi sağlayan, bir şeyler öğrenmemi sağlayan, gerçekleri yansıtmamı sağlayan veya sadece beni eğlendiren bir şey.

Bu yüzden IMDb puanını alıp en iyi modelin tahmin edilen puanını çıkararak yeni, rafine bir puan oluşturdum. Bunu yaparak, Genre , Runtime ve Year etkisini ortadan kaldırıyor ve benim için çok daha önemli olan bu diğer bilinmeyen bilgileri tutuyordum.

IMDb Derecelendirme Sistemi Alternatifi: Nihai Sonuçlar

Şimdi yeni derecelendirmeme ve gerçek IMDb derecelendirmesine göre en iyi 10 filmin hangileri olduğuna bakalım:

IMDb

Başlık Tür IMDb Puanı Rafine Derecelendirme
Ko'dan tamo peva'ya Macera,Komedi,Drama 8.9 1.90
2 Numaralı dipu Macera, Aile 8.9 3.14
El senor de los anillos: El retorno del rey Macera,Drama,Fantezi 8.9 2.67
El senor de los anillos: La comunidad del anillo Macera,Drama,Fantezi 8.8 2.55
anbe sivam Macera,Komedi,Drama 8.8 2.38
Hababam Sinifi Tatilde Macera,Komedi,Drama 8.7 1.66
El senor de los anillos: Las dos torres Macera,Drama,Fantezi 8.7 2.46
mudras arama Macera, Drama, Romantik 8.7 2.34
ilgi alanı Macera,Drama,Bilim Kurgu 8.6 2.83
volver al futuro Macera, Komedi, Bilim Kurgu 8.5 2.32

Benim

Başlık Tür IMDb Puanı Rafine Derecelendirme
2 Numaralı dipu Macera, Aile 8.9 3.14
ilgi alanı Macera,Drama,Bilim Kurgu 8.6 2.83
El senor de los anillos: El retorno del rey Macera,Drama,Fantezi 8.9 2.67
El senor de los anillos: La comunidad del anillo Macera,Drama,Fantezi 8.8 2.55
Kolah ghermezi va pesar khale Macera, Komedi, Aile 8.1 2.49
El senor de los anillos: Las dos torres Macera,Drama,Fantezi 8.7 2.46
anbe sivam Macera,Komedi,Drama 8.8 2.38
Los caballeros de la mesa cuadrada Macera, Komedi, Fantezi 8.2 2.35
mudras arama Macera, Drama, Romantik 8.7 2.34
volver al futuro Macera, Komedi, Bilim Kurgu 8.5 2.32

Gördüğünüz gibi, podyum radikal bir şekilde değişmedi. Bu bekleniyordu çünkü RMSE çok yüksek değildi ve burada zirveyi izliyoruz. Bakalım alttaki 10'a ne olmuş:

IMDb

Başlık Tür IMDb Puanı Rafine Derecelendirme
Holnap işkencesi - Kötü bir bulvarfilm Komedi, Gizem 1 -4.86
Cumali Ceber: Allah Seni Alsin Komedi 1 -4.57
Badang Komedi, Fantezi 1 -4.74
yyyreek!!! kozmik isim Komedi 1.1 -4,52
gururlu amerikalı Dram 1.1 -5.49
Browncoats: Bağımsızlık Savaşı Aksiyon,Bilim Kurgu,Savaş 1.1 -3.71
Yaşadığı Hafta Sonu Komedi, Korku, Gizem 1.2 -4.53
Bolivar: el kahraman Animasyon, Biyografi 1.2 -5.34
Kara Yarasanın Yükselişi Aksiyon,Bilim Kurgu 1.2 -3.65
Hatsukoi Dram 1.2 -5.38

Benim

Başlık Tür IMDb Puanı Rafine Derecelendirme
gururlu amerikalı Dram 1.1 -5.49
Noel Baba ve Dondurma Tavşanı Aile, Fantezi 1.3 -5.42
Hatsukoi Dram 1.2 -5.38
Reis Biyografi, Dram 1.5 -5.35
Bolivar: el kahraman Animasyon, Biyografi 1.2 -5.34
Hanum ve Rangga: İnanç ve Şehir Dram, Romantik 1.2 -5.28
Geçen Sezondan Sonra Animasyon,Drama,Bilim Kurgu 1.7 -5.27
Barschel - Genf'te Mord Dram 1.6 -5.23
Rasshu raifu Dram 1.5 -5.08
Kamifüsen Dram 1.5 -5.08

Aynı şey burada da oldu, ancak şimdi rafine durumda IMDb'lerden daha fazla dramanın göründüğünü görebiliyoruz, bu da bazı dramaların sadece drama oldukları için fazla sıralanabileceğini gösteriyor.

Belki de izlenmesi gereken en ilginç podyum, IMDb derecelendirme sisteminin puanı ile benim rafine olanım arasındaki en büyük farkı olan 10 filmdir. Bu filmler, bilinmeyen özelliklerine daha fazla ağırlık veren ve filmi bilinen özellikleri için beklenenden çok daha iyi (veya daha kötü) yapan filmlerdir.

Başlık IMDb Puanı Rafine Derecelendirme Fark
Kanashimi hiçbir beradonna 7.4 -0.71 8.11
Jesucristo Süperstar 7.4 -0.69 8.09
Pink Floyd Duvar 8.1 0.03 8.06
Tenshi tamago yok 7.6 -0.42 8.02
Jibon Theke Neya 9.4 1.52 7.87
el baile 7.8 0,00 7.80
Noel Baba ve Üç Ayı 7.1 -0.70 7.80
La alegre historia de Scrooge 7.5 -0.24 7.74
çok iyi 7 -0.74 7.74
1776 7.6 -0.11 7.71

Bir film yönetmeni olsaydım ve yeni bir film çekmem gerekseydi, tüm bu IMDb veri analizini yaptıktan sonra, daha iyi bir IMDb sıralamasına sahip olmak için ne tür bir film yapmam gerektiğine dair daha iyi bir fikre sahip olabilirdim. Eski bir filmin yeniden çevrimi olacak uzun bir animasyonlu biyografi draması olurdu - örneğin, Amadeus. Muhtemelen bu iyi bir IMDb sıralamasını garanti eder, ancak kar konusunda emin değilim…

Bu yeni ölçekte sıralamaya giren filmler hakkında ne düşünüyorsunuz? Onları seviyor musun? Yoksa orijinallerini mi tercih edersiniz? Aşağıdaki yorumlarda bana bildirin!