Introdução ao CRISP-DM

breve análise Nanodegree de Ciência de Dados Udacity

Ciência de Dados é combinar Estatística e Ciência da Computação para resolver problemas reais em todas as áreas, enfrentando o desafio da interpretação de dados, aprendendo as melhores práticas e construindo projetos úteis.

Atualmente a Ciência de Dados contribui para alcançar pessoas presas em circunstâncias devastadoras pelo mundo, presente em tratamentos médicos que avançam rapidamente graças a uma compreensão maior do corpo humano orientada por dados. A empresas munidas de dados, estão melhorando a experiência do usuário, construindo produtos melhores para impulsionar o futuro.

processamento de dados

Esse é o processo padrão da indústria para análise de dados há anos e tem 6 fases principais:

CRISP-DM (Cross Industry Process for Data Mining)

o processo da ciência de dados e compreensão de negócios

1. compreensão de negócios

  • Como adquirir novos clientes?
  • Um novo tratamento tem um desempenho melhor do que um tratamento existente?
  • Como melhorar a nsossa comunicação?
  • Como podemos melhorar as viagens?
  • Como podemos reter melhor as informações?

2. compreensão de dados

Outra vezes, será preciso coletar dados, entender que tipo de dados darão o conhecimento que precisamos. Geralmente, é difícil saber disso antes do tempo. Por isso, as empresas tendem a coletar todos os dados possíveis, para que eventualmente possam identificar quais dados usarão futuramente para solucionar o problema em questão.

Aqui, teremos um exemplo com um conjunto de dados da pesquisa com desenvolvedores do Stack Overflow. Esse conjunto de dados pode dar um insight sobre desenvolvedores do mundo todo e suas características: experiências, habilidades, onde vivem, liguagem preferida, tudo pode ser entendido através desses dados.

Vamos responder algumas perguntas interessantes sobre esses conjuntos de dados.

espa

uma olhada nos dados

Primeiro, vamos ler os dados e as bibliotecas necessárias:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import test1 as t
from IPython import display
%matplotlib inline
df = pd.read_csv('./survey_results_public.csv')
df.head()

questão 1

num_rows = df.shape[0] #fornecer n° de linhas 
num_cols = df.shape[1] #fornecer n° de colunas
t.check_rows_cols(num_rows, num_cols)
output: t.check_rows_cols

questão 2

np.sum(df.isnull()) #numérico
np.sum(df.isnull()) == 0 #booleano
retorno de colunas preenchidas completamenta

retornar lista de colunas completas

df.columns[np.sum(df.isnull()) == 0]
retornar apenas colunas completas
no_nulls = set(df.columns[np.sum(df.isnull()) == 0])

questão 3

Quais colunas têm mais valores ausentes? Forneça um conjunto de nomes de coluna com mais de 75% se seus valores estiverem ausentes.

np.sum(df.isnull())/df.shape[0]
np.sum(df.isnull()) / df.shape[0] > .75
df.columns[np.sum(df.isnull())/df.shape[0] > .75]

questão 4

A função value_counts é útil para qualquer variável de categoria. Então, se a coluna abaixo, é um conjunto de variáveis categóricas, a função value_counts contará quantas são cada cadegoria da Series

status_vals = df['Professional'].value_counts()
status_vals
status_vals/df.shape[0]).plot(kind="bar")
plt.title("Que tipo de desenvolvedor é você?");

O gráfico mostra que 70% são profissionais, 15% são estudantes.

questão 5

​ed_vals = df['FormalEducation'.value_counts()
ed_vals/df.shape[0]).plot(kind="bar");
plt.title("Educação Formal");

questão 4

count_vals = df['Country'].value_count()
count_vals

Abaixo veremos apenas os TOP 10 países, o filtro será aplicado dentro da contagem:

(count_vals[:10]/df.shape[0]).plot(kind="bar")plt.title("% Nacionalidades");

recapitulando

Recapitular

CRISP-DM

1. Entendimento de negócios

  1. Quais são os salários e colocação daqueles que participaram de um bootcamp de codificação?
  2. Quão bem podemos prever o salário de um indivíduo? Quais aspectos se correlacionam bem com o salário?
  3. Quão bem podemos prever a satisfação do trabalho de um indivíduo? Quais aspectos se correlacionam bem com a satisfação no trabalho?

2. Compreensão de Dados

3. Preparar dados

4. Dados do Modelo

5. Resultados

6. Implantar

conclusão

  • Verificar se cada coluna é uma variável, e cada linha é um registro.
  • Visualizar o número de linhas e colunas no conjunto de dados.
  • Verificarse há valores ausentes em alguma das linhas ou colunas.
  • Verificar se existem colunas de tipos de dados diferentes do que você esperaria (ex: números que mostram como strings)
  • Construir plots exploratórios como gráficos de barras, histogramas e dispersões para entender melhor os dados.

Obrigado.

Composing a repository of books (i bought), authors (i follow) & blogs (direct ones) for my own understanding.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store