O problema do MackFlix
O MackFlix é um serviço de streaming da rede MackStore, com um catálogo enorme e milhares de assinantes.
Toda vez que você abre um streaming, ele já te mostra uma fileira de “Recomendados para você”. Mas pense bem: como o sistema sabe se você vai gostar de um filme que você nunca assistiu? Ele não tem a sua nota — ele precisa adivinhar essa nota antes de você assistir.
Se eu conseguir estimar a nota que cada usuário daria a cada filme, posso recomendar justamente os filmes com maior nota prevista. O problema de recomendar vira um problema de prever um número.
A matriz de avaliações (o coração do problema)
Imagine uma tabela gigante: cada linha é um usuário, cada coluna é um filme. Onde a pessoa já avaliou, temos a nota. O resto está em branco — e é exatamente o que queremos preencher.
Clique em qualquer célula com “?” para ver o que o MackFlix precisa descobrir.
Por que isso é difícil?
Duas formas de recomendar
“Mostre os mais populares.” Simples, mas todo mundo vê a mesma coisa. Quem tem gosto fora da média raramente encontra algo que ame.
“Preveja a nota de cada pessoa.” Usa o histórico e as características dos filmes para estimar o que você gostaria. É aqui que entra a Ciência de Dados.
Serviços reais de streaming atribuem boa parte do tempo assistido às recomendações automáticas. Prever bem uma nota não é um detalhe técnico: é o motor do negócio.
Afinal, o que é Ciência de Dados?
Antes de resolver o problema do MackFlix, vamos entender a área que dá nome ao curso.
Comece pelos ingredientes:
Ciência de Dados é a área interdisciplinar que usa métodos, algoritmos e sistemas para extrair conhecimento e decisões a partir de dados. Ela junta estatística, computação e conhecimento do negócio para resolver problemas reais.
O ciclo de um projeto: CRISP-DM
Projetos de dados não começam pelo código. Eles seguem um roteiro. O mais usado na indústria é o CRISP-DM, com seis etapas que se repetem em ciclo.
Clique em cada etapa da roda para entender o que acontece nela.
O CRISP-DM é um ciclo: terminamos na implantação e frequentemente voltamos ao início com novas perguntas. Clique em uma etapa acima.
Existe um processo mais antigo, o KDD (Knowledge Discovery in Databases), com a mesma ideia: transformar dados em conhecimento por etapas. O CRISP-DM é a versão mais adotada por empresas por ser prática e focada no negócio.
O mapa das tarefas
Dentro do Machine Learning — o motor da Ciência de Dados — os problemas se dividem em dois grandes grupos. Clique em cada tarefa para ver um exemplo.
Prever a nota (um número de 1 a 5) que um usuário daria a um filme é uma tarefa de regressão — e regressão é aprendizado supervisionado, porque aprendemos a partir de exemplos que já têm a resposta (as notas que as pessoas já deram).
Você consegue classificar o problema?
Para cada situação de negócio, escolha o tipo de tarefa. As respostas aparecem na hora.
A tarefa de predição, por dentro
Aprendizado supervisionado é simples de entender: mostramos ao computador muitos exemplos com a resposta certa e ele aprende o padrão.
No MackFlix, cada exemplo é um filme que alguém já avaliou. As entradas são as características do filme (duração, gênero…) e a resposta é a nota. A regressão procura uma reta (uma regra simples) que melhor explica a relação entre entradas e resposta.
Ajuste a reta e veja o erro mudar
Abaixo, cada ponto é um filme avaliado por um fã de comédias: quanto mais longo o filme, menor a nota que ele costuma dar. Mexa nos controles e tente aproximar a reta dos pontos. As linhas cinzas são os erros (o quanto a reta erra em cada filme).
O Erro Médio Quadrático mede, em média, o quanto a reta erra — elevando cada erro ao quadrado para penalizar erros grandes. Quanto menor o MSE, melhor a reta descreve os dados. A “melhor reta” é justamente a que deixa esse erro no menor valor possível.
Nunca avaliamos o modelo nos mesmos dados em que ele aprendeu. Separamos parte dos filmes para treino (aprender a reta) e guardamos outra parte para teste (conferir se ele acerta em casos novos). Clique em “Mostrar treino / teste” para ver a divisão.
O algoritmo, passo a passo
O mesmo processo em Python (scikit-learn)
Este é o esqueleto que faremos rodar nas próximas aulas. Repare como cada linha corresponde a um passo acima.
# 1. Importar as ferramentas import pandas as pd from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error # 2. Dados: filmes avaliados (genero: 1=Acao 2=Comedia 3=Drama) df = pd.DataFrame({ 'genero': [1, 2, 1, 3, 2, 3], 'duracao': [120, 90, 120, 150, 90, 150], 'nota': [4, 5, 3, 4, 5, 2] }) # 3. Entradas (X) e resposta (y) X = df[['genero', 'duracao']] y = df['nota'] # 4. Dividir treino e teste X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.2, random_state=42) # 5. Treinar o modelo modelo = LinearRegression() modelo.fit(X_train, y_train) # 6. Prever e avaliar y_pred = modelo.predict(X_test) print('MSE:', mean_squared_error(y_test, y_pred))
Você não precisa entender cada linha agora. Guarde só a história: importar → organizar dados → dividir → treinar → avaliar. É sempre esse ritmo.
Aplicação: o recomendador do MackFlix
Agora colocamos tudo junto. Temos um catálogo de filmes e quatro perfis de assinantes. Escolha um perfil e veja o modelo em ação.
Para cada perfil, um modelo de regressão aprendeu com os filmes que a pessoa já avaliou e agora prevê a nota dos filmes que ela ainda não viu. Os de maior nota prevista viram recomendação.
Marina Souza — Fã de comédias leves
Adora comédia e prefere filmes curtos e descontraídos. Dramas longos não costumam agradar.
O que este perfil valoriza (coeficientes aprendidos)
Os números abaixo foram aprendidos pelo modelo a partir das notas do usuário. Sinal positivo puxa a nota para cima; negativo, para baixo.
Top 5 recomendações
Filmes ainda não assistidos por este perfil, ordenados pela nota prevista.
- 1Casamento Atrapalhado · Comédia · 95 min5.0
- 2Meu Chefe Maluco · Comédia · 88 min5.0
- 3O Golpe Atrapalhado · Comédia · 91 min5.0
- 4Vizinhos Barulhentos · Comédia · 84 min5.0
- 5Contagem Regressiva · Ação · 108 min2.8
Monte um filme e veja a nota prevista
Ajuste as características de um filme hipotético e observe como a nota prevista muda para o perfil selecionado.
Com previsões por perfil, o MackFlix pode destacar na home de cada assinante os filmes com maior nota estimada — aumentando o tempo assistido e a satisfação, sem depender apenas dos títulos mais populares.
MackFlix é uma empresa fictícia criada para fins didáticos. Dados simulados com semente determinística. — Ciência de Dados, Aula 1.