별 재정렬: IMDb 등급 시스템 개선

게시 됨: 2022-03-11

영화 감상자들은 때때로 순위를 사용하여 무엇을 볼 것인지 선택합니다. 이 작업을 직접 수행한 후에는 최고 순위의 많은 영화가 같은 장르인 드라마에 속한다는 것을 알았습니다. 순위에 장르적 편견이 있을 수 있다는 생각이 들었다.

저는 영화 애호가들에게 가장 인기 있는 사이트 중 하나인 IMDb에 있었습니다. IMDb는 전 세계와 연도의 영화를 다룹니다. 그 유명한 순위는 수많은 리뷰 모음을 기반으로 합니다. 이 IMDb 데이터 분석을 위해, 나는 그것을 분석하기 위해 거기에 있는 모든 정보를 다운로드하기로 결정했고 더 넓은 범위의 기준을 고려하는 새롭고 세련된 순위를 만들려고 했습니다.

IMDb 등급 시스템: IMDb 데이터 필터링

1970년에서 2019년 사이에 개봉된 영화 242,528편에 대한 정보를 다운로드할 수 있었습니다. IMDb가 각 항목에 대해 제공한 정보는 Rank , Title , ID , Year , Certificate , Rating , Votes , Metascore , Synopsis , Runtime , Genre , GrossSearchYear 입니다.

분석할 정보가 충분하려면 영화당 최소 리뷰 수가 필요했기 때문에 가장 먼저 리뷰가 500개 미만인 영화를 필터링했습니다. 그 결과 33,296개의 영화 세트가 생성되었으며 다음 표에서 해당 필드에 대한 요약 분석을 볼 수 있습니다.

유형 널 카운트 평균 중앙값
계급 요인 0
제목 요인 0
ID 요인 0
년도 정수 0 2003년 2006년
자격증 요인 17587
평가 정수 0 6.1 6.3
투표 정수 0 21040 2017년
메타스코어 정수 22350 55.3 56
개요 요인 0
실행 시간 정수 132 104.9 100
장르 요인 0
역겨운 요인 21415
검색 연도 정수 0 2003년 2006년

참고: R에서 Factor 는 문자열을 나타냅니다. RankGross 는 예를 들어 수천 개의 구분 기호가 있기 때문에 원래 IMDb 데이터 세트에서 그런 식입니다.

점수를 수정하기 전에 이 데이터 세트를 더 자세히 분석해야 했습니다. 우선 Certificate , MetascoreGross 필드에 null 값이 50% 이상 있으므로 유용하지 않습니다. 순위는 본질적으로 등급(정리할 변수)에 따라 달라지므로 유용한 정보를 포함하지 않습니다. 각 영화의 고유 식별자라는 점에서 ID 도 마찬가지입니다.

마지막으로 TitleSynopsis 는 짧은 텍스트 필드입니다. 일부 NLP 기술을 통해 사용할 수는 있지만 텍스트의 양이 제한되어 있기 때문에 이 작업에서는 고려하지 않기로 했습니다.

이 첫 번째 필터 후에 Genre , Rating , Year , Votes , SearchYear , Runtime 을 남겼습니다. Genre 필드에는 영화당 하나 이상의 장르가 쉼표로 구분되어 있었습니다. 그래서 장르가 많다는 덧셈 효과를 담기 위해 원-핫 인코딩으로 변형했습니다. 그 결과 영화에 이 장르가 있으면 1, 그렇지 않으면 0 값을 갖는 22개의 새로운 부울 필드(각 장르에 대해 하나씩)가 생성되었습니다.

IMDb 데이터 분석

변수 간의 상관관계를 보기 위해 상관행렬을 계산했습니다.

나머지 모든 원본 열과 새 장르 열 간의 상관 행렬입니다. 숫자가 0에 가까우면 그리드에 공백이 생깁니다. 음의 상관 관계는 빨간색 점으로 나타나고 파란색 점에서는 양의 상관 관계가 나타납니다. 점은 크고 어두울수록 상관 관계가 강합니다. (시각적 하이라이트는 주요 기사 텍스트에 설명되어 있습니다.)

여기서 1에 가까울수록 강한 양의 상관관계를 나타내고, -1에 가까울수록 강한 음의 상관관계를 나타냅니다. 이 그래프를 통해 많은 관찰을 했습니다.

  • YearSearchYear 는 절대적으로 상관관계가 있습니다. 이것은 아마도 동일한 값을 가질 수 있고 둘 다 갖는 것은 하나만 갖는 것과 동일하므로 Year 만 유지했음을 의미합니다.
  • 일부 필드에는 다음과 같은 양의 상관 관계가 예상되었습니다.
    • Music 과 함께하는 Musical
    • Adventure 과 함께하는 Action
    • Adventure 이 있는 Animation
  • 음의 상관 관계에 대해서도 동일합니다.
    • DramaHorror
    • ComedyHorror
    • HorrorRomance
  • 내가 주목한 주요 변수( Rating )와 관련하여:
    • RuntimeDrama 와 긍정적이고 중요한 상관 관계가 있습니다.
    • 그것은 Votes , BiographyHistory 와 낮은 상관 관계가 있습니다.
    • Horror 와 상당히 음의 상관관계가 있고 Thriller , Action , Sci-FiYear 와 낮은 음의 상관관계가 있습니다.
    • 다른 유의미한 상관관계는 없습니다.

장편 드라마는 좋은 평가를 받고, 단편 공포 영화는 그렇지 않은 것 같았다. 제 생각에는 확인할 데이터가 없었습니다. Marvel이나 Pixar 영화와 같이 더 많은 수익을 창출하는 종류의 영화와 상관 관계가 없었습니다.

이 사이트에서 투표하는 사람들은 일반 사람들 기준을 가장 잘 대표하지 않을 수 있습니다. 시간을 내어 사이트에 리뷰를 제출하는 사람들은 아마도 더 구체적인 기준을 가진 일종의 영화 평론가일 것이기 때문입니다. 어쨌든 내 목적은 일반적인 영화 기능의 영향을 제거하는 것이므로 프로세스에서 이러한 편견을 제거하려고했습니다.

IMDb 등급 시스템의 장르 분포

다음 단계는 등급에 따른 각 장르의 분포를 분석하는 것이었습니다. 그러기 위해 원래 Genre 필드에 등장한 첫 번째 장르를 기반으로 Principal_Genre 라는 필드를 새로 만들었습니다. 이를 시각화하기 위해 바이올린 그래프를 만들었습니다.

장르별 등급 분포를 보여주는 바이올린 플롯.

다시 한 번, 나는 Drama 가 높은 시청률과 상관 관계가 있고 Horror 가 낮은 상관 관계가 있음을 알 수 있었습니다. 그러나 이 그래프는 BiographyAnimation 과 같은 다른 장르에서도 좋은 점수를 받은 것으로 나타났습니다. 이들의 상관관계가 이전 매트릭스에 나타나지 않은 것은 아마도 이러한 장르의 영화가 너무 적었기 때문일 것입니다. 그래서 다음으로 장르별로 주파수 막대 플롯을 만들었습니다.

데이터베이스에 있는 각 장르의 영화 수를 보여주는 막대 그래프. 코미디, 드라마 및 액션의 빈도는 약 6,000 이상이었습니다. 범죄와 공포는 2,000 이상이었습니다. 나머지는 1,000 미만이었습니다.

사실상 BiographyAnimationSportAdult 처럼 영화가 거의 없었습니다. 이러한 이유로 Rating 과 별로 상관관계가 없습니다.

IMDb 등급 시스템의 기타 변수

그 후 연속 공변수인 Year , Votes , Runtime 을 분석하기 시작했습니다. 산점도에서 RatingYear 간의 관계를 볼 수 있습니다.

등급 및 연도의 산점도.

이전에 보았듯이 YearRating 과 음의 상관관계가 있는 것으로 보입니다.

다음으로 Votes 에 대해 동일한 플롯을 만들었습니다.

평가 및 투표의 산점도.

여기에서 상관 관계가 더 명확했습니다. 투표 수가 많을수록 순위가 높아집니다. 그러나 대부분의 영화가 그렇게 많은 득표를 하지 못했으며, 이 경우 Rating 의 편차가 더 컸습니다.

마지막으로 Runtime 과의 관계를 살펴보았다.

등급과 런타임 사이의 산점도.

다시 말하지만, 유사한 패턴이 있지만 훨씬 더 강력합니다. 런타임이 높을수록 등급이 더 높다는 것을 의미하지만 런타임이 높은 경우는 거의 없습니다.

IMDb 등급 시스템 개선

이 모든 분석을 마친 후 처리 중인 데이터에 대해 더 잘 알게 되었고 일부 모델을 테스트하여 이러한 필드를 기반으로 등급을 예측하기로 결정했습니다. 내 생각은 최고의 모델 예측과 실제 Rating 의 차이가 공통 기능의 영향을 제거하고 다른 영화보다 더 나은 영화를 만드는 특정 특성을 반영한다는 것입니다.

저는 가장 단순한 모델인 선형 모델로 시작했습니다. 어떤 모델이 더 잘 수행되었는지 평가하기 위해 RMSE(제곱 평균 제곱근) 및 MAE(평균 절대값) 오류를 관찰했습니다. 이러한 종류의 작업에 대한 표준 측정값입니다. 또한 예측 변수와 동일한 척도에 있으므로 해석하기 쉽습니다.

이 첫 번째 모델에서 RMSE는 1.03이고 MAE는 0.78입니다. 그러나 선형 모델은 오류에 대한 독립성, 중앙값 0, 분산이 일정하다고 가정합니다. 이것이 맞다면 "잔여 대 예측값" 그래프는 구조가 없는 구름처럼 보일 것입니다. 그래서 그것을 증명하기 위해 그래프로 나타내기로 결정했습니다.

잔차 대 예측 값 산점도.

예측값에서 7까지는 구조화되지 않은 형태를 가짐을 알 수 있었는데, 이 값 이후에는 명확한 선형 하강 형태를 띠고 있음을 알 수 있다. 결과적으로 모델 가정이 잘못되었고 또한 실제로 Rating 이 10을 넘을 수 없기 때문에 예측 값에 "오버플로"가 있었습니다.

이전 IMDb 데이터 분석에서는 Votes 수가 많을수록 Rating 이 향상되었습니다. 그러나 이것은 소수의 경우와 엄청난 양의 투표에서 발생했습니다. 이로 인해 모델이 왜곡되고 이 Rating 오버플로가 발생할 수 있습니다. 이를 확인하기 위해 Votes 필드를 제거하여 이 동일한 모델에서 어떤 일이 일어날지 평가했습니다.

투표 필드가 제거된 경우 잔차 대 예측 값 산점도입니다.

이게 훨씬 좋았어요! 오버플로 예측 값이 없는 더 명확하고 구조화되지 않은 모양을 가졌습니다. Votes 필드도 리뷰어 활동에 따라 달라지고 영화의 특징이 아니므로 이 필드도 삭제하기로 결정했습니다. 그것을 제거한 후의 오류는 RMSE에서 1.06, MAE에서 0.81이었습니다. 조금 더 나빴지만 그렇게 많지는 않았습니다. 저는 훈련 세트에서 약간 더 나은 성능보다 더 나은 가정과 기능 선택을 선호했습니다.

IMDb 데이터 분석: 다른 모델은 얼마나 잘 작동합니까?

다음으로 내가 한 일은 다른 모델을 시도하여 어떤 모델이 더 나은 성능을 보이는지 분석하는 것이었습니다. 각 모델에 대해 랜덤 검색 기술을 사용하여 하이퍼파라미터 값을 최적화하고 5겹 교차 검증을 사용하여 모델 편향을 방지했습니다. 다음 표에는 얻은 예상 오류가 나와 있습니다.

모델 RMSE 마에
신경망 1.044596 0.795699
부스팅 1.046639 0.7971921
추론 트리 1.05704 0.8054783
1.0615108 0.8119555
선형 모델 1.066539 0.8152524
벌점 선형 등록 1.066607 0.8153331
KNN 1.066714 0.8123369
베이지안 릿지 1.068995 0.8148692
SVM 1.073491 0.8092725

보시다시피 모든 모델이 유사하게 작동하므로 일부 모델을 사용하여 조금 더 많은 데이터를 분석했습니다. 등급에 대한 각 분야의 영향을 알고 싶었습니다. 이를 수행하는 가장 간단한 방법은 선형 모델의 매개변수를 관찰하는 것입니다. 그러나 이전에 왜곡을 피하기 위해 데이터의 크기를 조정한 다음 선형 모델을 다시 훈련했습니다. 무게는 여기 그림과 같았습니다.

공포의 경우 거의 -0.25에서 드라마의 경우 거의 0.25에 이르는 선형 모델 가중치의 막대 그래프입니다.

이 그래프에서 가장 중요한 두 변수는 HorrorDrama 이며, 첫 번째는 등급에 부정적인 영향을 미치고 두 번째는 긍정적인 영향을 미칩니다. AnimationBiography 와 같이 긍정적인 영향을 미치는 다른 분야도 있지만 Action , Sci-FiYear 는 부정적인 영향을 미칩니다. 게다가 Principal_Genre 는 큰 영향을 미치지 않기 때문에 어떤 장르가 주역인지보다 영화가 가지고 있는 장르가 더 중요합니다.

일반화된 가법 모델(GAM)을 사용하여 연속 변수(이 경우 Year )에 대한 더 자세한 영향을 볼 수도 있습니다.

일반화 가법 모델을 사용한 연도 대 s(연도)의 그래프. s(연도) 값은 1970년에 0.6 근처에서 시작하여 2010년에 0 아래로 바닥을 치고 2019년까지 다시 0에 가깝게 증가하는 곡선을 따릅니다.

여기에 더 흥미로운 것이 있습니다. 최근 영화들의 시청률이 낮아지는 경향이 있는 것은 사실이지만 효과는 일정하지 않았다. 2010년에 가장 낮은 값을 보인 다음 "회복"하는 것으로 보입니다. 이 변화를 일으킬 수 있었던 영화 제작에서 그 해 이후에 무슨 일이 일어났는지 알아내는 것은 흥미로울 것입니다.

가장 좋은 모델은 RMSE와 MAE가 가장 낮은 신경망이었지만 보시다시피 완벽한 성능에 도달한 모델은 없었습니다. 그러나 이것은 나의 목적에 있어서 나쁜 소식이 아니었다. 사용 가능한 정보를 통해 성능을 어느 정도 예측할 수 있지만 충분하지 않습니다. IMDb에서 얻을 수 없는 몇 가지 다른 정보가 있습니다. 이 정보는 RatingGenre , RuntimeYear 를 기반으로 한 예상 점수와 다릅니다. 배우 연기, 영화 대본, 사진 또는 기타 여러 가지가 있을 수 있습니다.

내 관점에서 볼 때 이러한 다른 특성은 무엇을 볼 것인지 선택하는 데 정말 중요합니다. 나는 주어진 영화가 드라마든, 액션이든, 공상과학 소설이든 상관하지 않는다. 특별한 것, 나를 즐겁게 하는 것, 배우게 하는 것, 현실에 대해 반성하게 하는 것, 아니면 그냥 즐겁게 하는 것.

그래서 나는 IMDb 등급을 받고 최고의 모델의 예측 등급을 빼서 새롭고 세련된 등급을 만들었습니다. 이렇게 함으로써 나는 Genre , Runtime , Year 의 영향을 제거하고 나에게 훨씬 더 중요한 이 알려지지 않은 정보를 유지했습니다.

IMDb 평가 시스템 대안: 최종 결과

이제 내 새로운 등급과 실제 IMDb 등급에 따른 최고의 영화 10편을 보겠습니다.

IMDb

제목 장르 IMDb 등급 세련된 평가
코 투 타모 페바 어드벤처,코미디,드라마 8.9 1.90
디푸 넘버 2 모험, 가족 8.9 3.14
El senor de los anillos: El retorno del rey 모험,드라마,판타지 8.9 2.67
El senor de los anillos: La comunidad del anillo 모험,드라마,판타지 8.8 2.55
안베 시밤 어드벤처,코미디,드라마 8.8 2.38
하바밤 시니피 타틸데 어드벤처,코미디,드라마 8.7 1.66
El senor de los anillos: 라스 도스 토레스 모험,드라마,판타지 8.7 2.46
무드라 콜링 모험,드라마,로맨스 8.7 2.34
인터스텔라 어드벤처,드라마,SF 8.6 2.83
볼버 알 퓨투로 어드벤처,코미디,SF 8.5 2.32

내 거

제목 장르 IMDb 등급 세련된 평가
디푸 넘버 2 모험, 가족 8.9 3.14
인터스텔라 어드벤처,드라마,SF 8.6 2.83
El senor de los anillos: El retorno del rey 모험,드라마,판타지 8.9 2.67
El senor de los anillos: La comunidad del anillo 모험,드라마,판타지 8.8 2.55
콜라 게르메지 바 페사르 칼레 어드벤처,코미디,가족 8.1 2.49
El senor de los anillos: 라스 도스 토레스 모험,드라마,판타지 8.7 2.46
안베 시밤 어드벤처,코미디,드라마 8.8 2.38
로스 카바예로스 데 라 메사 쿠아드라다 어드벤처,코미디,판타지 8.2 2.35
무드라 콜링 모험,드라마,로맨스 8.7 2.34
볼버 알 퓨투로 어드벤처,코미디,SF 8.5 2.32

보시다시피 연단은 근본적으로 바뀌지 않았습니다. 이것은 RMSE가 그다지 높지 않았기 때문에 예상된 것이며 여기서 우리는 최고를 보고 있습니다. 하위 10명에게 무슨 일이 일어났는지 봅시다.

IMDb

제목 장르 IMDb 등급 세련된 평가
Holnap tortent - A nagy bulvarfilm 코미디, 미스터리 1 -4.86
쿠말리 세베르: 알라 세니 알신 코메디 1 -4.57
바당 코미디,판타지 1 -4.74
이리크!!! 코스미츠나 노미나차 코메디 1.1 -4.52
자랑스러운 미국인 드라마 1.1 -5.49
브라운코트: 독립 전쟁 액션,SF,전쟁 1.1 -3.71
주말은 살아있다 코미디, 공포, 미스터리 1.2 -4.53
볼리바르: 엘 영웅 애니메이션, 전기 1.2 -5.34
검은 박쥐의 부활 액션,SF 1.2 -3.65
하츠코이 드라마 1.2 -5.38

내 거

제목 장르 IMDb 등급 세련된 평가
자랑스러운 미국인 드라마 1.1 -5.49
산타와 아이스크림 토끼 가족,판타지 1.3 -5.42
하츠코이 드라마 1.2 -5.38
레이스 전기,드라마 1.5 -5.35
볼리바르: 엘 영웅 애니메이션, 전기 1.2 -5.34
하눔 & 랑가: 믿음과 도시 드라마,로맨스 1.2 -5.28
지난 시즌 이후 애니메이션,드라마,SF 1.7 -5.27
Barschel - Genf의 모드 드라마 1.6 -5.23
랏슈 라이후 드라마 1.5 -5.08
가미후젠 드라마 1.5 -5.08

여기서도 같은 일이 일어났는데 이제는 IMDb보다 정제된 경우에 더 많은 드라마가 나오는 것을 볼 수 있는데, 이는 일부 드라마가 단순히 드라마라는 이유로 과대 평가될 수 있음을 보여줍니다.

아마도 가장 흥미로운 연단은 IMDb 등급 시스템의 점수와 내가 정제한 점수의 차이가 가장 큰 10편의 영화일 것입니다. 이러한 영화는 알려지지 않은 특성에 더 많은 비중을 두고 알려진 기능에 대해 예상보다 영화를 훨씬 더 좋게(또는 더 나쁘게) 만듭니다.

제목 IMDb 등급 세련된 평가 차이점
카나시미노 베라돈나 7.4 -0.71 8.11
제수크리스토 슈퍼스타 7.4 -0.69 8.09
핑크 플로이드 더 월 8.1 0.03 8.06
텐시노타마고 7.6 -0.42 8.02
지본 테케 네야 9.4 1.52 7.87
엘 베일 7.8 0.00 7.80
산타와 곰 세 마리 7.1 -0.70 7.80
라 알레그레 역사 드 스크루지 7.5 -0.24 7.74
피엘 드 아스노 7 -0.74 7.74
1776 7.6 -0.11 7.71

내가 영화 감독이고 새로운 영화를 제작해야 한다면 이 모든 IMDb 데이터 분석을 수행한 후에 더 나은 IMDb 순위를 갖기 위해 어떤 종류의 영화를 만들어야 하는지 더 잘 알 수 있을 것입니다. Amadeus와 같은 오래된 영화를 리메이크한 장편 애니메이션 전기 드라마가 될 것입니다. 아마도 이것은 좋은 IMDb 순위를 보장할 것이지만, 수익에 대해서는 확신이 서지 않습니다…

이 새로운 척도에 순위가 매겨진 영화에 대해 어떻게 생각하십니까? 당신이 그들을 좋아합니까? 아니면 원본을 선호합니까? 아래 의견에 알려주십시오!