PageSourceSearch

https://shermanash.github.io/predicting-movie-metrics/

html shermanash.github.io collected 2026-10-03 09:56:26 UTC 9,010 bytes, 140 lines download raw bytes

1<!DOCTYPE html>
2<html>
3  <head>
4    <title>Predicting Movie Quality – DFSharp – Data Science | Daily Fantasy Sports | Poker</title>
5
6        <meta charset="utf-8" />
7    <meta content='text/html; charset=utf-8' http-equiv='Content-Type'>
8    <meta http-equiv='X-UA-Compatible' content='IE=edge'>
9    <meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0'>
10
11    
12    <meta name="description" content="For our second project, we used linear regression to investigate predictions relating to the movie industry.  My initial idea centered around trying to predict the quality of a movie.  In some ways, predicting the IMDB Rating or Metacritic score of a movie isn&#39;t entirely useful, as those ratings will nearly always be available as soon as the movie is released, but if we could make a model without using any time sensitive inputs, we could use it to estimate the hypothetical rating of any combination of director/actors.
13" />
14    <meta property="og:description" content="For our second project, we used linear regression to investigate predictions relating to the movie industry.  My initial idea centered around trying to predict the quality of a movie.  In some ways, predicting the IMDB Rating or Metacritic score of a movie isn&#39;t entirely useful, as those ratings will nearly always be available as soon as the mov
14ie is released, but if we could make a model without using any time sensitive inputs, we could use it to estimate the hypothetical rating of any combination of director/actors.
15" />
16    
17    <meta name="author" content="DFSharp" />
18
19    
20    <meta property="og:title" content="Predicting Movie Quality" />
21    <meta property="twitter:title" content="Predicting Movie Quality" />
22    
23
24    <!--[if lt IE 9]>
25      
25<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
25
26    <![endif]-->
27
28    <link rel="stylesheet" type="text/css" href="/style.css" />
29    <link rel="alternate" type="application/rss+xml" title="DFSharp - Data Science | Daily Fantasy Sports | Poker" href="/feed.xml" />
30
31    <!-- Created with Jekyll Now - http://github.com/barryclark/jekyll-now -->
32  </head>
33
34  <body>
35    <div class="wrapper-masthead">
36      <div class="container">
37        <header class="masthead clearfix">
38          <a href="/" class="site-avatar"><img src="https://c1.staticflickr.com/3/2194/1821619556_afe6427a00.jpg" /></a>
39
40          <div class="site-info">
41            <h1 class="site-name"><a href="/">DFSharp</a></h1>
42            <p class="site-description">Data Science | Daily Fantasy Sports | Poker</p>
43          </div>
44
45          <nav>
46            <a href="/">Blog</a>
47            <a href="/about">About</a>
48          </nav>
49        </header>
50      </div>
51    </div>
52
53    <div id="main" role="main" class="container">
54      <article class="post">
55  <h1>Predicting Movie Quality</h1>
56
57  <div class="entry">
58    <p>For our second project, we used linear regression to investigate predictions relating to the movie industry.  My initial idea centered around trying to predict the quality of a movie.  In some ways, predicting the <a href="http://www.imdb.com/chart/top">IMDB Rating</a> or <a href="http://www.metacritic.com/browse/movies/score/metascore/all/filtered">Metacritic score</a> of a movie isn&#39;t entirely useful, as those ratings will nearly always be available as soon as the mov
58ie is released, but if we could make a model without using any time sensitive inputs, we could use it to estimate the hypothetical rating of any combination of director/actors.</p>
59
60<p>My initial idea was to use career averages for all the major players involved - director, writer, and cast, to see if there was a correlation between their previous body of work and their upcoming films.  So, if it was someone&#39;s third film, their &quot;score&quot; would be the average imdbrating of their first two films, if it was their 10th, I used the average of their first 9.  I gave some thought to weighting recent films higher than older ones, as its possible they would have more relevance to the quality of the next film produced, but ultimately decided to stick with the unweighted career average.  </p>
61
62<p>This presented a problem when training the model, because if this was the first film for any of the major players, they didn&#39;t have an average score and I couldn&#39;t use them to train the model.  One way around this would have been to use a scoring system instead of a mean- for example, all directors would start at 0, and each time they create a top rated movie, they would get, say 5 points, while a below average movie would cause them to lose 5 points, and an average movie would leave their score unchanged.  </p>
63
64<p>A better solution, which I unfortunately did not have time to implement, would be to train multiple regression models- one to predict the imdb rating of a movie, and another to predict the imdbrating of the director, given the ratings of the other actors and writer.  Similar models could be made for all inputs, so that if we wanted to predict the rating of a movie directed by Martin Scorcese, starring Brad Pitt, Matt Damon, and Andrew Sherman-Ash, we would first estimate Sherman-Ash&#39;s IMDB Rating, then use it as input in the original model to estimate the movie&#39;s rating.</p>
65
66<p>The following is a correlation matrix of selected features versus IMDB Rating:
67<img src="https://raw.githubusercontent.com/shermanash/shermanash.github.io/master/_posts/corr_matrix.png" alt="corr_matrix.png"></p>
68
69<p>As we suspected, the average career ratings of the director and lead actors have a significant impact on the eventual IMDB Rating of the film.  We can see that Metacritic rating and IMDB Votes are also highly correlated, but we can&#39;t use those features for our model, since once we know the Metacritic rating or number of votes for a movie, the IMDB Rating (what we are trying to predict), would already be known publicly.  Another possibly interesting note here is that the number of oscar nominations has almost no correlation with the rating- maybe the qualities valued in a movie differ greatly between IMDB voters and the <a href="http://www.oscars.org/">Academy</a>. </p>
70
71<p>Below are scatter plots for director and lead actor:</p>
72
73<p><img src="https://raw.githubusercontent.com/shermanash/shermanash.github.io/master/_posts/director_scatter2.png" alt="director_scatter2.png"></p>
74
75<p><img src="https://raw.githubusercontent.com/shermanash/shermanash.github.io/master/_posts/cast0_scatter.png" alt="cast0_scatter.png"></p>
76
77<p>The model does a decent job predicting IMDB Rating, using only director, cast0, cast1, and cast3.  It&#39;s interesting that cast3 (the 4th listed actor) makes the cut, while cast2, and writer had nearly no effect on the model.  This could be because cast3 better captures the depth of the cast, or because the effects of the writer and 3rd cast member are already captured among the other features.</p>
78
79<p>Here is a subset of top ranked recent movies on imdb, along with their ratings as predicted by the model (Chris Nolan 1-2-3-5!)
80<img src="https://raw.githubusercontent.com/shermanash/shermanash.github.io/master/_posts/imdb_RMSE_0.706.png" alt="imdb_RMSE_0.706.png"></p>
81
82<p>And here are the model&#39;s top predicted movies (sorry Noah!):
83<img src="https://raw.githubusercontent.com/shermanash/shermanash.github.io/master/_posts/imdb_RMSE_0.95.png" alt="imdb_RMSE_0.95.png"></p>
84
85<p>As well as the model&#39;s predicted biggest flops (sorry Madhouse!):
86<img src="https://raw.githubusercontent.com/shermanash/shermanash.github.io/master/_posts/flops.png" alt="flops.png"></p>
87
88<p>Finally, the full results of the linear regression are shown below:
89<img src="https://raw.githubusercontent.com/shermanash/shermanash.github.io/master/_posts/imdb_model.png" alt="imdb_model.png"></p>
90
91  </div>
92
93  <div class="date">
94    Written on January 31, 2016
95  </div>
96
97  
98</article>
99
100    </div>
101
102    <div class="wrapper-footer">
103      <div class="container">
104        <footer class="footer">
105          
106<a href="mailto:[email protected]"><i class="svg-icon email"></i></a>
107
108
109<a href="https://github.com/shermanash"><i class="svg-icon github"></i></a>
110
111<a href="https://www.linkedin.com/in/shermanash"><i class="svg-icon linkedin"></i></a>
112
113
114<a href="https://www.twitter.com/shermanash"><i class="svg-icon twitter"></i></a>
115
116
117
118        </footer>
119      </div>
120    </div>
121
122    
123	<!-- Google Analytics -->
124	
124<script>
vendor: 339 bytes, lines 124-130
124
125		(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
126		(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
127		m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
128		})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
129
130		ga('create', '
130UA-72318729-1
vendor: 14 bytes, lines 130-131
130', 'auto');
131		
131ga('send', 'pageview', {
132		  'page': '/predicting-movie-metrics/',
133		  'title': 'Predicting Movie Quality'
134		});
135	</script>
135
136	<!-- End Google Analytics -->
137
138
139  </body>
140</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.