Pular para o conteúdo principal

Guia de casos de uso em data science

Conheça casos de uso em data science e descubra como aplicar data science em diferentes setores para impulsionar crescimento e a tomada de decisões.
Atualizado 31 de ago. de 2026  · 15 min lido

Explorar com IA

ChatGPTClaudePerplexity

Artificial Intelligence Concept Art

Data science: definição e aplicações práticas

Data science é uma área relativamente recente, em rápido crescimento e multifacetada, aplicada em diversos contextos. Ela usa um conjunto de técnicas avançadas de analytics e algoritmos de modelagem preditiva para extrair insights relevantes dos dados e ajudar a responder questões estratégicas de negócio ou científicas. Data science combina uma ampla gama de habilidades, das técnicas (programação, álgebra linear, estatística e modelagem) às não técnicas (apresentação eficiente e comunicação dos resultados). Além disso, dependendo do setor onde é aplicada, é essencial ter sólido conhecimento do domínio para interpretar corretamente as informações disponíveis e os insights gerados.

Algoritmos de data science podem ser aplicados com sucesso em cenários diversos onde há muito dado sendo ou podendo ser coletado: finanças, varejo, marketing, gestão de projetos, seguros, medicina, educação, manufatura, RH, linguística, sociologia e muito mais. Na prática, qualquer indústria ou ciência pode se beneficiar significativamente ao reunir, organizar, analisar e modelar seus dados.

O que é um caso de uso em data science?

Um caso de uso em data science é uma tarefa concreta do mundo real a ser resolvida com base nos dados disponíveis. No contexto de uma empresa, muitas variáveis são analisadas com técnicas de data science levando em conta as especificidades do setor. Casos de uso podem ser um problema a resolver, uma hipótese a validar ou uma pergunta a responder. Em essência, fazer data science é solucionar casos de uso reais.

Embora o conteúdo de cada caso varie bastante, há alguns pontos em comum que sempre valem atenção:

  • Planejamento do caso de uso em data science: definir um objetivo claro e resultados esperados, entender o escopo do trabalho, avaliar os recursos disponíveis, provisionar os dados necessários, avaliar riscos e definir KPIs como medida de sucesso.
  • Abordagens mais comuns para resolver casos de uso: previsão, classificação, detecção de padrões e anomalias, recomendações e reconhecimento de imagens.
  • Alguns casos de uso são recorrentes em diferentes áreas e você pode recorrer a abordagens semelhantes para resolvê-los, como previsão de churn, segmentação de clientes, detecção de fraudes, sistemas de recomendação e otimização de preços.

Como resolver um case de data science?

A resposta é bastante específica para cada caso, guiada pela estratégia do negócio e pela natureza do estudo. Ainda assim, ajuda ter um roadmap geral para qualquer caso de uso em data science:

  1. Formular a pergunta certa. Esse primeiro passo é crucial e inclui revisar literatura e estudos de caso existentes, conhecer boas práticas, elaborar teorias relevantes e hipóteses de trabalho e suprir eventuais lacunas de conhecimento do domínio. O resultado deve ser uma pergunta clara a ser respondida no case em questão.
  2. Coleta de dados. Aqui fazemos o inventário e a coleta dos dados. No mundo real, é comum termos dados não representativos, incompletos, com falhas e desestruturados — longe de uma tabela limpa e pronta para análise. Por isso, é preciso buscar e identificar todas as fontes de dados que possam ser úteis ao tema. Os dados podem estar em arquivos internos, vir de web scraping, de um patrocinador, etc.
  3. Preparação e tratamento dos dados. Normalmente é a etapa que mais consome tempo e recursos. Avaliamos a qualidade e representatividade do que foi coletado e conduzimos uma exploração inicial. Os dados são limpos, pré-processados, transformados, manipulados e mapeados de seu formato bruto para algo mais adequado.
  4. Análise e modelagem. Com os dados limpos, analisamos seu estado atual e então os ajustamos a um modelo estatístico preditivo selecionado. Avaliamos a acurácia do modelo e, se não for satisfatória, testamos outras abordagens de modelagem. Repetimos até chegar ao modelo que melhor prevê cenários futuros. Esse processo, assim como os anteriores, tende a ser bastante iterativo.
  5. Comunicação dos resultados. Em comparação às etapas anteriores, esta exige mais comunicação e soft skills do que programação e técnica. Envolve compartilhar os principais achados e conclusões com a gestão, acionistas e outras partes interessadas. Os insights costumam ser apresentados em relatórios, artigos e slides, indicando possíveis próximos passos.

Casos de uso em data science por indústria

Casos de uso em data science podem estar ligados a praticamente qualquer setor em que um grande volume de dados é ou pode ser acumulado. Neste capítulo, vamos discutir alguns casos típicos nas áreas mais demandadas: logística, saúde e telecomunicações. Alguns dos casos que veremos são interdisciplinares e aparecem com facilidade em várias outras esferas. Isso os torna mais universais e aplicáveis — por isso, vale a pena conhecer a abordagem geral para resolvê-los. Além disso, para cada setor selecionado, apontaremos outros temas que podem ser modelados com métodos de data science.

Data science na saúde

Nos três capítulos anteriores, vimos como métodos de data science ajudam empresas de diferentes setores a aumentar a receita. Quando falamos de saúde, o uso e a interpretação corretos dos dados disponíveis beneficiam não só os profissionais de marketing do setor, mas também possibilitam o diagnóstico oportuno de doenças sérias — e até salvar vidas.

A medicina e os prestadores de serviços de saúde reúnem um volume enorme de dados de múltiplas fontes: prontuários eletrônicos (EHR), dispositivos vestíveis, estudos de pesquisa médica e documentos de faturamento. O uso de técnicas inovadoras de data science e análise de dados vem revolucionando o setor, oferecendo soluções promissoras e impactantes para o futuro. Áreas altamente especializadas, como genética, medicina reprodutiva, oncologia, biotecnologia, radiologia, diagnóstico preditivo e farmacêutica, avançaram a um novo patamar ao liberar todo o potencial dos seus dados.

Para entender melhor como data science agrega valor na medicina, vamos focar em um dos casos de uso mais clássicos.

Caso de uso em saúde: previsão de câncer de mama

Segundo o World Cancer Research Fund International, o câncer de mama é o tipo mais comum entre mulheres e o segundo mais comum no geral. Diagnosticar uma patologia mamária a tempo, benigna ou maligna, é fundamental, pois aumenta significativamente as chances de sucesso do tratamento e a taxa de sobrevivência. É aqui que data science ajuda.

O avanço de métodos de mineração de dados combinado a algoritmos de machine learning tornou possível prever o risco de câncer de mama, detectar potenciais anomalias em estágios iniciais, estimar sua evolução e, assim, definir um plano ideal de combate à doença. Na essência, é um típico problema de classificação em machine learning. A boa notícia é que, como esse tipo de oncologia é bastante comum, muitos estudos aprofundados foram conduzidos no mundo todo e, como resultado, há uma grande quantidade de dados acumulados de pacientes em diversos países.

O principal desafio ao usar esses conjuntos de dados em classificadores é o forte desbalanceamento possível. Por exemplo, quando o desfecho é câncer/não câncer, a probabilidade de patologia (classe minoritária) é bem menor do que a de não ter patologia (classe majoritária). Como efeito, o algoritmo tende a classificar novos casos como não patológicos. Assim, para avaliar melhor a acurácia desses modelos, faz sentido usar o F1-score como métrica, já que ele considera falsos positivos (erro tipo I) e falsos negativos (erro tipo II), em vez de focar apenas nos acertos.

Vamos analisar um conjunto de dados real de câncer de mama de um dos estados dos EUA. As variáveis estão detalhadas na documentação, mas, em resumo, incluem média, erro padrão e maiores valores de atributos de cada imagem digitalizada que mostra os núcleos celulares de uma massa mamária. Cada linha corresponde a uma mulher com tumor maligno ou benigno (ou seja, todas têm algum tipo de tumor). Os atributos incluem raio celular, textura, suavidade, compacidade, concavidade, simetria, etc.

import pandas as pd

cancer_data = pd.read_csv('data.csv')
pd.options.display.max_columns = len(cancer_data)
print(f'Number of entries: {cancer_data.shape[0]:,}\n'
      f'Number of features: {cancer_data.shape[1]:,}\n\n'
      f'Number of missing values: {cancer_data.isnull().sum().sum()}\n\n'
      f'{cancer_data.head(2)}')
Number of entries: 569
Number of features: 33

Number of missing values: 569

      id diagnosis  radius_mean  texture_mean  perimeter_mean  area_mean  \
0  842302         M        17.99         10.38           122.8     1001.0  
1  842517         M        20.57         17.77           132.9     1326.0  

  smoothness_mean  compactness_mean  concavity_mean  concave points_mean  \
0          0.11840           0.27760          0.3001              0.14710  
1          0.08474           0.07864          0.0869              0.07017  

  symmetry_mean  fractal_dimension_mean  radius_se  texture_se  perimeter_se  \
0         0.2419                 0.07871     1.0950      0.9053         8.589  
1         0.1812                 0.05667     0.5435      0.7339         3.398  

  area_se  smoothness_se  compactness_se  concavity_se  concave points_se  \
0   153.40       0.006399         0.04904       0.05373            0.01587  
1    74.08       0.005225         0.01308       0.01860            0.01340  

  symmetry_se  fractal_dimension_se  radius_worst  texture_worst  \
0      0.03003              0.006193         25.38          17.33  
1      0.01389              0.003532         24.99          23.41  

  perimeter_worst  area_worst  smoothness_worst  compactness_worst  \
0            184.6      2019.0            0.1622             0.6656  
1            158.8      1956.0            0.1238             0.1866  

  concavity_worst  concave points_worst  symmetry_worst  \
0           0.7119                0.2654          0.4601  
1           0.2416                0.1860          0.2750  

  fractal_dimension_worst  Unnamed: 32 
0                  0.11890          NaN 
1                  0.08902          NaN 

Vamos remover a última coluna, que contém apenas valores ausentes:

cancer_data = cancer_data.drop('Unnamed: 32', axis=1)

Quantas mulheres, em %, têm câncer confirmado (tumor maligno)?

round(cancer_data['diagnosis'].value_counts()*100/len(cancer_data)).convert_dtypes()
B    63
M    37
Name: diagnosis, dtype: Int64

37% das respondentes têm câncer de mama; portanto, o conjunto de dados é relativamente balanceado.

Como os valores da variável diagnosis são categóricos, precisamos codificá-los como números para uso em machine learning. Antes, vamos separar as variáveis preditoras e a variável-alvo diagnosis:

X = cancer_data.iloc[:, 2:32].values
y = cancer_data.iloc[:, 1].values

# Encoding categorical data
from sklearn.preprocessing import LabelEncoder

labelencoder_y = LabelEncoder()
y = labelencoder_y.fit_transform(y)

Agora, vamos criar os conjuntos de treino e teste e padronizar os recursos:

from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1)

sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)

Para modelar nossos dados, vamos aplicar os seguintes algoritmos com parâmetros padrão: k-nearest neighbors (KNN) e regressão logística:

from sklearn.neighbors import KNeighborsClassifier
from sklearn.linear_model import LogisticRegression

# KNN
knn = KNeighborsClassifier()
knn.fit(X_train, y_train)
knn_predictions = knn.predict(X_test)

# Logistic regression
lr = LogisticRegression()
lr.fit(X_train, y_train)
lr_predictions = lr.predict(X_test)

Como vimos, nosso conjunto está razoavelmente balanceado, então podemos usar a métrica de acurácia para identificar o modelo mais preciso:

from sklearn.metrics import accuracy_score

print(f'Accuracy scores:\n'
      f'KNN model:\t\t   {accuracy_score(y_test, knn_predictions):.3f}\n'
      f'Logistic regression model: {accuracy_score(y_test, lr_predictions):.3f}')
Accuracy scores:
KNN model:         0.956
Logistic regression model: 0.974

Com base nos dados, a regressão logística teve o melhor desempenho para prever tumor maligno/benigno em mulheres com alguma patologia mamária.

Como próximos passos, considerando que a regressão logística não tem parâmetros críticos para ajuste, podemos experimentar diferentes estratégias de divisão treino/teste e/ou outras técnicas de modelagem preditiva.

Outros casos comuns de data science na saúde:

  • monitoramento em tempo real de dados de wearables
  • analytics preditiva
  • análise de imagens médicas
  • descoberta de fármacos
  • pesquisa em genética
  • assistentes virtuais
  • gestão de dados de pacientes

Data science em transporte e logística

Logística é a organização do processo de entrega de produtos de um ponto a outro, enquanto transporte envolve levar clientes ou mercadorias. Dependendo do perfil da empresa (por exemplo, entrega de refeições, correios, fretes internacionais, companhias aéreas, serviços de táxi ou ônibus), as fontes de dados podem incluir agendas, planilhas de horários, detalhes de rotas, inventário de armazém, relatórios, contratos, acordos, documentos legais e feedback de clientes. Os dados podem ser estruturados ou não, e incluir informações sobre tempos, itinerários, rotas, coordenadas, dados de clientes, detalhes de mercadorias, custos e preços.

A eficiência nos setores de cadeia de suprimentos e transporte nem sempre é direta e depende de inúmeros fatores: trânsito imprevisível, qualidade das rotas, condições climáticas, emergências, variações no preço do combustível, rupturas de estoque, falhas técnicas, atrasos por questões de segurança, regulações e sanções governamentais, entre outros. Além disso, nos últimos anos surgiram muitas novas empresas e a concorrência ficou acirrada. Para acompanhar o mercado e elevar a produtividade operacional, tornou-se obrigatório para empresas de logística/transporte analisar big data e transformá-lo em insights acionáveis.

Como exatamente data science pode ajudar os setores de transporte e logística? Eis uma lista parcial de aplicações:

  • rastrear todo o processo de transporte, ponta a ponta,
  • tornar as atividades automatizadas e transparentes,
  • entregar no prazo,
  • otimização de rotas,
  • precificação dinâmica,
  • manter o nível ideal de estoque,
  • proteger bens perecíveis,
  • monitorar as condições dos veículos,
  • aperfeiçoar redes de produção,
  • melhorar o atendimento ao cliente.

Caso de uso em transporte e logística: identificar o posicionamento ideal de táxis

A Uber Technologies Inc., ou Uber, é uma empresa americana que oferece diversos serviços de logística e transporte. Neste estudo de caso, vamos agrupar dados de GPS de corridas Uber para identificar o posicionamento ideal de veículos. Isso pode ser útil para:

  • Cada nova solicitação de corrida é atribuída ao cluster mais próximo, e a Uber envia o carro mais próximo daquele cluster até o local do cliente.
  • Ao analisar a carga de trabalho dos clusters, opcionalmente por hora ou dia da semana, a Uber pode redistribuir veículos com antecedência e posicioná-los em locais estratégicos com maior demanda.
  • Dependendo da relação oferta/demanda em cada cluster, a empresa pode ajustar tarifas dinamicamente.

Usaremos um conjunto de dados do FiveThirtyEight sobre corridas da Uber em Nova York em abril de 2014:

import pandas as pd

uber_data = pd.read_csv('uber-raw-data-apr14.csv')
print(f'Number of trips: {uber_data.shape[0]:,}\n\n'
      f'{uber_data.head()}')
Number of trips: 564,516

          Date/Time      Lat      Lon    Base
0  4/1/2014 0:11:00  40.7690 -73.9549  B02512
1  4/1/2014 0:17:00  40.7267 -74.0345  B02512
2  4/1/2014 0:21:00  40.7316 -73.9873  B02512
3  4/1/2014 0:28:00  40.7588 -73.9776  B02512
4  4/1/2014 0:33:00  40.7594 -73.9722  B02512

Vamos visualizar de forma esquemática todos os pontos de embarque, lembrando que longitude corresponde ao eixo x e latitude ao eixo y:

import matplotlib.pyplot as plt

plt.scatter(uber_data.iloc[:, 2], uber_data.iloc[:, 1])
plt.show()

Graph of Uber Trip Data

Para agrupar os dados, vamos usar o algoritmo não supervisionado k-means. A ideia é dividir as amostras em vários grupos de variância semelhante. Essencialmente, ele recebe o número de clusters n_clusters (8 por padrão) e separa os dados. Para descobrir o número ideal de clusters, usamos o método do cotovelo (elbow), que inclui:

  • Treinar vários modelos com números diferentes de clusters e coletar os valores de WCSS (Within Cluster Sum of Squares), a soma dos quadrados das distâncias das observações ao centróide mais próximo.
  • Plotar os valores de WCSS em função do número de clusters.
  • Selecionar o menor número de clusters a partir do qual há uma queda significativa no WCSS.
from sklearn.cluster import KMeans

wcss = []
for i in range(1, 11):
    kmeans = KMeans(n_clusters=i, random_state=1)
    kmeans.fit(uber_data[['Lat', 'Lon']])
    wcss.append(kmeans.inertia_)

plt.figure(figsize=(12, 5))
plt.plot(range(1, 11), wcss)
plt.title('Elbow Method', fontsize=25)
plt.xlabel('Number of clusters', fontsize=18)
plt.ylabel('WCSS', fontsize=18)
plt.xticks(ticks=list(range(1, 11)),
          labels=['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'])
plt.show()

Number of clusters graph

No nosso caso, o número mais apropriado de clusters parece ser 7. Vamos usar esse valor para ajustar um modelo e prever o cluster de cada ponto de embarque. Também ilustraremos os dados novamente, agora com as localizações dos sete centróides:

kmeans = KMeans(n_clusters=7, random_state=1)
kmeans.fit_predict(df[['Lat', 'Lon']])
plt.scatter(uber_data.iloc[:, 2], uber_data.iloc[:, 1])
plt.scatter(kmeans.cluster_centers_[:, 1], kmeans.cluster_centers_[:, 0], s=100, c='lime')
plt.show()

Seven cluster centroid graph

Agora, vamos extrair as coordenadas exatas de todos os centróides e exibí-las separadamente, sem os dados:

centroids = pd.DataFrame(kmeans.cluster_centers_)
centroids.columns = ['Lat', 'Lon']
print(centroids)
plt.scatter(centroids['Lon'], centroids['Lat'])
plt.show()
  Lat        Lon
0  40.688588 -73.965694
1  40.765423 -73.973165
2  40.788001 -73.879858
3  40.656997 -73.780035
4  40.731074 -73.998644
5  40.700541 -74.201673
6  40.971229 -73.611288

Plotted coordinates for all the centroids

Ficará mais ilustrativo mostrar esses centróides em um mapa de Nova York:

import folium

centroids_values = centroids.values.tolist()
nyc_map = folium.Map(location=[40.79659011772687, -73.87341741832425], zoom_start=50000)
for point in range(0, len(centroids_values)):
    folium.Marker(centroids_values[point], popup=centroids_values[point]).add_to(nyc_map)
nyc_map

NYC Map

Com o modelo, podemos prever o cluster mais próximo para qualquer localização em Nova York expressa em coordenadas geográficas. Na prática, isso significa que a Uber enviará o táxi disponível mais próximo, atendendo o cliente mais rápido.

Vamos encontrar o cluster mais próximo do Lincoln Center for the Performing Arts, em Manhattan:

lincoln_center = [(40.7725, -73.9835)]
kmeans.predict(lincoln_center)
array([1])

E para Howard Beach, no Queens:

howard_beach = [(40.6571, -73.8430)]
kmeans.predict(howard_beach)
array([3])

Como próximos passos, podemos aplicar outros algoritmos de clusterização, analisar diferentes recortes (por hora/dia da semana/mês), identificar os clusters mais e menos carregados ou estudar a relação entre os clusters e a variável Base do dataframe.

Outros casos comuns em transporte e logística:

  • precificação dinâmica para equilibrar oferta e demanda
  • previsão de demanda
  • automação de operações manuais
  • veículos autônomos
  • visibilidade da cadeia de suprimentos
  • detecção de avarias
  • gestão de armazéns
  • análise de sentimento de clientes
  • chatbots de atendimento

Data science em telecom

Nas últimas décadas, as tecnologias de telecomunicações evoluíram em ritmo acelerado e entraram em uma nova fase. Hoje estamos cercados por dispositivos eletrônicos de todo tipo, e muitos se tornaram literalmente dependentes da Internet, especialmente de redes sociais e mensageiros. Às vezes, essa dependência é criticada por substituir o contato presencial. Ainda assim, é inegável que as telecoms facilitaram bastante nossas vidas, permitindo conectar pessoas no mundo todo em poucos segundos.

Isso ficou ainda mais evidente durante a pandemia de COVID-19, quando muitas empresas e escolas adotaram trabalho e estudo remotos. Nesse contexto de rápidas mudanças, a qualidade e a estabilidade da conexão digital ganharam importância sem precedentes. O período de isolamento fez com que as pessoas precisassem ligar e mandar mensagens para colegas, familiares e amigos com muito mais frequência. Essas novas tendências levaram a um grande salto no volume de telecomunicações — e, consequentemente, à geração de enormes quantidades de dados no setor.

Aplicar métodos de data science a esses dados acumulados pode ajudar a indústria de telecom de várias formas:

  • tornar operações mais eficientes,
  • otimizar a rede,
  • filtrar spam,
  • melhorar transmissões de dados,
  • realizar analytics em tempo real,
  • desenvolver estratégias de negócio mais eficazes,
  • criar campanhas de marketing mais assertivas,
  • aumentar a receita.

Vamos explorar em mais detalhe uma tarefa comum em telecom: detectar e filtrar mensagens indesejadas.

Caso de uso em telecom: construção de um filtro de spam

Filtro de spam é uma função vital em canais modernos de comunicação escrita, pois nos protege de e-mails diários tentando aplicar golpes. Tecnicamente, é outro exemplo de problema de classificação: com base em dados históricos, cada nova mensagem é rotulada como ham (mensagem normal), indo direto ao destinatário, ou como spam, sendo bloqueada ou indo para a pasta de spam.

Um algoritmo supervisionado popular para isso é o classificador Naive Bayes. Ele se baseia no teorema homônimo da probabilidade, enquanto o "naive" vem da suposição de que todas as palavras na mensagem são independentes entre si. Essa suposição não é totalmente correta, pois ignora embeddings naturais e contexto. Ainda assim, em muitas tarefas de classificação de texto com poucos dados, essa abordagem funciona bem e faz boas previsões.

Há várias versões do Naive Bayes, cada uma com casos de aplicação: multinomial, Bernoulli, Gaussiano e flexível. Para detecção de spam, o mais indicado é o Naive Bayes multinomial, baseado em contagens discretas de frequência das features categóricas ou contínuas que representam a contagem de palavras por mensagem.

Vamos aplicar o Naive Bayes multinomial no SMS Spam Collection Data Set do UCI Machine Learning Repository.

import pandas as pd

sms_data = pd.read_csv('SMSSpamCollection', sep='\t', header=None, names=['Label', 'SMS'])
print(f'Number of messages: {sms_data.shape[0]:,}\n\n'
      f'{sms_data.head()}')
Number of messages: 5,572

  Label                                                SMS
0   ham  Go until jurong point, crazy.. Available only ...
1   ham                      Ok lar... Joking wif u oni...
2  spam  Free entry in 2 a wkly comp to win FA Cup fina...
3   ham  U dun say so early hor... U c already then say...
4   ham  Nah I don't think he goes to usf, he lives aro...

São 5.572 mensagens classificadas por humanos. Quantas delas (em %) são spam?

round(sms_data['Label'].value_counts()*100/len(sms_data)).convert_dtypes()
ham     87
spam    13
Name: Label, dtype: Int64

13% dos SMS foram identificados manualmente como spam.

Para preparar os dados para o Naive Bayes multinomial, precisamos concluir estes passos:

  1. Codificar os rótulos de string para formato numérico. No nosso caso, são binários, então vamos usar 0/1.
  2. Extrair as variáveis preditoras e a variável-alvo.
  3. Dividir os dados em treino e teste.
  4. Vectorizar as strings da coluna SMS dos conjuntos preditores de treino e teste para obter matrizes CSR (compressed sparse row).

O 4º passo precisa de mais detalhes. Criamos um objeto de matriz, ajustamos com o dicionário de vocabulário (todas as palavras únicas de todas as mensagens do conjunto preditor de treino com suas frequências) e então transformamos os conjuntos de treino e teste em matrizes. O resultado são duas matrizes para os preditores de treino e teste: colunas correspondem a cada palavra única das mensagens do treino, linhas às próprias mensagens e os valores são as contagens de frequência por mensagem.

from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import CountVectorizer

# Encoding labels
sms_data = sms_data.replace('ham', 0).replace('spam', 1)

X = sms_data['SMS'].values
y = sms_data['Label'].values

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1)

# Vectorizing strings from the 'SMS' column
cv = CountVectorizer(max_df=0.95)
cv.fit(X_train)
X_train_csr_matrix = cv.transform(X_train)
X_test_csr_matrix = cv.transform(X_test)

Em seguida, vamos treinar um Naive Bayes multinomial com parâmetros padrão e verificar sua acurácia:

from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import accuracy_score, f1_score

clf = MultinomialNB()
clf.fit(X_train_csr_matrix, y_train)
predictions = clf.predict(X_test_csr_matrix)

print(f'Model accuracy:\n'
      f'Accuracy score: {accuracy_score(y_test, predictions):.3f}\n'
      f'F1-score:       {f1_score(y_test, predictions):.3f}\n')
Model accuracy:
Accuracy score: 0.990
F1-score:       0.962

O resultado é um filtro de spam com alta precisão.

Como próximos passos, podemos testar outras formas de divisão treino/teste, melhorar a vetorização ajustando seus diversos parâmetros (por exemplo, o corte para palavras muito frequentes em spam e ham) e investigar os poucos casos em que o classificador errou para entender o motivo. Também podemos visualizar as palavras mais frequentes em spam e ham usando nuvem de palavras (após limpeza e remoção de stopwords e termos pouco informativos). Por fim, dá para aplicar outros algoritmos de machine ou deep learning (SVM, árvores de decisão, redes neurais) e comparar com Naive Bayes.

Outros casos comuns em telecom:

  • segmentação de clientes
  • desenvolvimento de produtos
  • análise de registros de chamadas
  • sistemas de recomendação
  • previsão de churn
  • marketing direcionado
  • detecção de fraudes
  • gestão e otimização de redes
  • aumento da segurança da rede
  • otimização de preços
  • previsão de lifetime value do cliente

Estudos de caso em data science: cursos

Até aqui, exploramos em detalhes várias aplicações de data science em diferentes áreas. Se você ficou com vontade de aprender mais casos de uso com dados reais e aplicar seu novo conhecimento e habilidades técnicas para resolver tarefas práticas no seu contexto, estes cursos curtos para iniciantes podem ajudar:

  1. Case Study: School Budgeting with Machine Learning in Python. Neste curso baseado em um case de competição de machine learning na DrivenData, você explorará um problema de orçamento de distritos escolares e como facilitar e acelerar a comparação de gastos entre escolas. Aplicando técnicas de linguagem natural, você preparará os orçamentos e construirá um modelo para classificar automaticamente seus itens, começando com uma versão simples e avançando gradualmente. Além disso, você poderá ver e analisar a solução do vencedor e as submissões dos demais participantes.
  2. Analyzing Marketing Campaigns with pandas. Pandas é a biblioteca mais popular do Python, e dominar seu toolkit é fundamental para qualquer cientista de dados. Neste curso prático, você vai consolidar fundamentos de Python e pandas (criar novas colunas, mesclar/fatiar dados, trabalhar com datas, visualizar no matplotlib) usando um dataset fictício de um negócio de assinaturas online. Você vai praticar traduzir perguntas típicas de marketing em métricas mensuráveis: "Como essa campanha performou?", "Por que um canal está com desempenho abaixo do esperado?", "Qual canal traz mais assinantes?", etc.
  3. Analyzing US Census Data in Python. Você vai aprender a navegar facilmente pelo Censo Decenal e pela American Community Survey anual e extrair diversos dados demográficos e socioeconômicos, como renda domiciliar, deslocamento, raça e estrutura familiar. Usará Python para solicitar dados para diferentes regiões via Census API e pandas para manipulá-los e gerar insights. Além disso, praticará mapeamento com a biblioteca geopandas.
  4. Case Study: Exploratory Data Analysis in R. Este curso curto é ideal se você já tem noções básicas de manipulação e visualização em R. Você colocará as habilidades em prática com um conjunto de dados real para explorar votos históricos da Assembleia Geral da ONU, analisando tendências de votação entre países, ao longo do tempo e por temas internacionais. O case permite conduzir uma análise exploratória ponta a ponta, ganhar mais prática com dplyr e ggplot2 e aprender novas técnicas.
  5. Human Resources Analytics: Exploring Employee Data in R. O R é conhecido por ser mais adaptado à análise estatística do que o Python. Neste curso, você vai aproveitar essa vantagem para manipular, visualizar e executar testes estatísticos em uma série de estudos de caso de analytics em RH. Técnicas de data science chegaram ao setor de recursos humanos há relativamente pouco tempo, mas hoje representam uma frente promissora, já que muitas empresas contam cada vez mais com seus departamentos de RH para gerar insights acionáveis com a base de colaboradores.
  6. Data-Driven Decision Making in SQL. Aqui você aprenderá a usar SQL para apoiar a tomada de decisão e reportar resultados à gestão. O estudo de caso foca uma locadora de filmes online com base de clientes, avaliações, informações de elenco etc. Entre as tarefas, estão consultas SQL para estudar preferências dos clientes, engajamento e evolução de vendas. Você também conhecerá extensões de SQL para processamento analítico online que ajudam a extrair insights de dados multidimensionais complexos.

Quer você busque se tornar um expert em data science, quer só queira aprender habilidades úteis de programação para extrair insights valiosos orientados por dados na sua área, os recursos acima são um ótimo ponto de partida.

Conclusão

Em resumo, neste artigo investigamos o que é data science sob vários ângulos, como ela difere de data analytics, em quais áreas se aplica, o que é um caso de uso e um roadmap geral para resolvê-lo com sucesso. Discutimos como data science pode ser útil em tarefas do mundo real em setores de alta demanda. Ao apresentar diversas aplicações existentes e potenciais, destacamos os casos mais comuns em cada área e mostramos como resolvê-los usando algoritmos de data science e analytics. Se você quer conhecer mais casos de uso em outros setores, confira nossos artigos de use cases em banking, marketing e vendas. Por fim, revisamos cursos on-line úteis para se aprofundar em outros estudos de caso de data science.

Uma última observação curiosa: nenhum dos setores que consideramos aqui é exatamente novo. Alguns, como medicina e vendas, existem há séculos. Ao longo de toda a sua história — muito antes da era da digitalização — os dados desses setores também eram coletados de alguma forma; escritos em livros e documentos, guardados em arquivos e bibliotecas. O que mudou radicalmente nos últimos anos, com o advento de novas tecnologias, foi o entendimento do imenso potencial oculto em qualquer dado e a importância vital de registrá-lo, coletá-lo e armazená-lo de forma adequada. Graças a esses esforços e à melhoria contínua dos sistemas de gestão de dados, tornou-se possível acumular big data em todas as indústrias, abrindo caminho para análises e previsões mais poderosas.

Tópicos
Ciência de dados
Alfabetização em dados
Relacionado

blog

O que é análise de dados? Um guia especializado com exemplos

Explore o mundo da análise de dados com nosso guia abrangente. Saiba mais sobre sua importância, processo, tipos, técnicas, ferramentas e as principais carreiras em 2023
Matt Crabtree's photo

Matt Crabtree

10 min

blog

11 técnicas de visualização de dados para cada caso de uso com exemplos

Descubra as análises, técnicas e ferramentas mais populares para dominar a arte do assistente de visualização de dados
Javier Canales Luna's photo

Javier Canales Luna

12 min

blog

O que é ciência de dados? Definição, exemplos, ferramentas e mais

A ciência de dados é um campo interdisciplinar que usa métodos científicos, processos, algoritmos e sistemas para extrair conhecimento e percepções de dados estruturados e não estruturados.
Matt Crabtree's photo

Matt Crabtree

15 min

blog

O que é alfabetização de dados? Um guia para 2026 para líderes de dados e análises

Descubra a importância da alfabetização de dados no mundo atual, que gira em torno deles.
Matt Crabtree's photo

Matt Crabtree

15 min

blog

Glossário de ciência de dados : Definições para termos comuns de ciência de dados

Entre no caminho da alfabetização de dados com este glossário abrangente de ciência de dados: da função de ativação ao Z-Score, tudo está coberto.
Elena Kosourova 's photo

Elena Kosourova

15 min

blog

As 10 melhores ferramentas de ciência de dados para usar em 2026

As ferramentas essenciais de ciência de dados para iniciantes e profissionais da área para coletar, processar, analisar, visualizar e modelar os dados de forma eficiente.
Abid Ali Awan's photo

Abid Ali Awan

9 min

Ver MaisVer Mais