Introdução
Fizemos uma análise em cima de um dataset da Imdb, com dados de filmes, series e documentários até o ano de 2021. O intuito é saber qual delas justifica mais a variável target "imdb_votes" Ou seja, qual variável justifica mais um certo filme ter mais votos. Todas as análises foram feitas em python.
Vale ressaltar que é uma análise inicial simples, para termos uma ideia de como estão distribuídos os dados e tentar achar uma definição para a VA target, e um ponto de observação é que cada dataset pode variar a forma de analisar e abordar para chegar no resultado esperado.
Carregue um dataset a sua escolha em ambiente python de sua preferencia, eu usei o Anaconda para achar esses resultados. E aqui temos um roteiro inicial, claro que temos diversas formas de puxar informação e compara-las. Vai depender muito do que você quer extrair ou desenvolver.
Vamos aos passos iniciais para entender o que nos mostra os dados:
Desenvolvimento - Entendendo os Dados
1° Step Com a função 'shape' usamos para saber quantas linhas e colunas vamos trabalhar. Veja que no caso temos 9871 linhas e 15 colunas.
2° Step Puxamos uma contagem geral de filmes por ano para saber como está essa distribuição. Vemos que temos um aumento constante na produção de filmes desde 2017. E uma curiosidade também que esse comando nos mostra é que no inicio dos anos 1900 a produção era bem mínima, chegando a 1 filme por ano. Perceba que aqui temos 2 informações entendidas.
3° Step Aqui verificamos todas as variáveis e seus tipos, e podemos ressaltar também que grande maioria das variáveis contem dados ausentes ou faltantes e que podem ser observadas nessas que estão destacadas. Lembre que a quantidade completa de cada variável é : 9871.
4° Step E aqui trazemos realmente as variáveis que contem dados faltantes e suas quantidades. Por essa transação percebemos que a variável "seasons" é a que contem mais dados nulos ou faltantes, mostrando que temos mais filmes do que seriados nesse dataset.
Obs: Poderíamos tentar eliminar as variáveis com dados faltantes mas como são muitos poderíamos perder muitas outras informações importantes. Mas utilizaremos mais as variáveis que contem os dados que queremos verificar e na outra analise excluiremos.
5° Step Aqui exploramos mais um pouco, agora em cima da variável "genres", que é o gênero do filme. Interessante saber que o gênero 'drama' lidera na base da IMDB, seguido de comedia e documentário.
E ainda no Step 5°, se quisermos saber o Top 10 dos gêneros, adicionamos um comando .head(10) Veja:
Se quisermos ver essa mesma informação em um gráfico de barras, podemos usar o comando abaixo:
6° Step Nesse ponto já temos algumas informações sobre o dataset, agora vamos criar um Filtro pela coluna "Imdb_Score" e trazer os filmes e seriados com pontuação acima de 7 somente. Abaixo é um exemplo de como fica configurado, e o restante das análises será feita em cima dessa variante "score" que criei.
7° Step Seguindo, vimos que no Step 2°, puxei no geral a contagem de filmes por ano, e 2021 tinha sido o ano com mais produção de filmes, já nessa variante "score" onde traz filmes com média acima ou igual a 7, o ano de 2019 teve maior quantidade, superando 2021. ou seja, 2021 teve menos filmes que obtiveram notas boas, ou superior a 7. Percebe-se também que oscila muito entre um ano e outro, não deixando claramente um motivo para esse fato. Veja outro detalhe, olha a queda do ano 2019 para 2020. É visível que um dos fatores que pode ter influenciado muito foi o Covid 19 que estava no auge da pandemia e 2021 recuperando um pouco mais.
8° Step Nesse histograma é fácil identificar a maior concentração de produção de filmes a partir do ano 2000, com um crescimento exponencial entre os anos.
Aqui damos um zoom a partir dos anos 2000 e verificamos melhor um crescimento exponencial entre os anos.
Veja abaixo através da variável "relase_year"
E uma curiosidade, com o código abaixo puxamos o filme com maior pontuação e votos dentro dessa base de dados do IMDb, e advinhe? Titanic foi o filme com maiores pontuações. Veja:
E para validar a informação acima, vamos analisar novamente a variante "release_year" ,mas de uma perspectiva diferente. Veja que existem os outliers do ano 2000 para baixo. Anos 2000 para cima está equilibrado, é justamente onde aconteceu o 'boom' das produções cinematográficas.
Para você ver que os dados quando bem esmiuçado, não mentem, e nos trazem verdadeiros
'insights'. Fui atrás de um embasamento teórico que comprovasse o que foi mostrado acima explicado em detalhes, e encontrei um artigo publicado na
wikipedia que reforça essa analise, justificando os motivos desse 'boom' , que teve como 'start' a década de 90 e no inicio dos anos 2000 diversas produções se concentraram em H
ollywood.
Finalizando, vamos justificar a variável "imdb_votes", o que faz um filme ser mais votado na plataforma da IMDB??
Parece meio obvio dizer: "Ah, claro que para ser mais votado o filme precisa ser popular. " , Mas vamos mostrar através de analises e algoritmos que analisam cada faixa de linha numérica e nos retorna com precisão absurda. Acompanhe:
Veja que logo inicialmente, as 2 variáveis tem muito a ver. Praticamente iguais em comparação. Usamos um histograma para comparar as 2 variáveis abaixo:
Tá bom, mas e o grau de correlação entre essas 2 variáveis??
- É considerado alto! veja que se aproxima de 0.7, quanto mais próximo de 1 é tido como alta correlação positiva.
E aqui puxamos outra forma de correlacionar as variáveis nos assegurando da precisão do resultado :
Note que as variáveis com maior grau de correlação.
Correlação de Pearson
Note mais uma vez a correlação entre as duas variáveis fixada em 0.7
Escala essa que define em muito o alto grau de relacionamento entre essas variáveis.
9° Step Para fechar com chave de ouro e registrar de forma autentica tudo que fizemos, vamos iniciar uma analise de regressão linear simples e múltipla.
A RL Simples, trabalha com uma variável, e nesse caso analisamos a variável popularidade justificando a variável Votos. Colocamos aqui uma parte do código por ser um pouco extenso.
Começamos gerando um modelo de regressão.
Gerou esse gráfico abaixo que mostra uma tendência de correlação positiva e que quanto mais a popularidade for alta, mais votos terão o filme, ou seriado e etc.
Logo abaixo é uma avaliação mais profunda dos dados, vamos avaliar a precisão do modelo ou seja, vamos avaliar quanto ele representa em nosso conjunto de dados.
Temos 2 campos cruciais nessa avaliação que são :
R-squared = 0.485 , o que é isso quer dizer?
Quer dizer que 48,5% dos meus dados é representado pela variavel "imdb_popularity", em outras palavras, essa variavel justifica em 48,5% os votos em "imdb_votes". Veja que o P-value logo abaixo atinge 0.00, indicando que essa variável se relaciona perfeitamente com a nossa variável target.
E se colocarmos mais uma variável para analisar junto com a outra, o resultado melhora?
Nesse ponto demonstro a Regressão Múltipla, que analisa mais de uma variável.
Adicionamos mais uma variável na analise, agora temos "tmdb_popularity" e "imdb_score" para ajudar a justificar "imdb_votes", e note que o resultado nesse tipo de regressão é o mais ideal apresentarmos pois o resultado final foi melhor, veja que o R-squared subiu para 0.523, e logo abaixo x1 e x2 que representam as 2 variaveis comentadas acima estão 100% justificadas com nossa variavel target.
Conclusão
Finalizamos esse trabalho de analise & pesquisa, justificando um questionamento que fizemos logo no inicio desse post, " O que justifica mais um filme ter mais votos na plataforma Imdb?" Parecia obvio a resposta mas podemos também apresentar de forma matemática e com alguns algoritmos o que justifica o obvio realmente.
Chegou-se a conclusão final que para um filme ou seriado ter mais mais votos, ele precisa ter mais visibilidade e o score alto para receber mais votos. Esse trabalho de analise pode ser aplicado em praticamente qualquer situação do nosso cotidiano, claro se tivermos uma base com os dados :)
Um grande abraço, até a próxima!
G.Duarte
Comentários
Postar um comentário