As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Analisar e visualizar
O Amazon SageMaker Data Wrangler inclui análises integradas que ajudam você a gerar visualizações e análises de dados com apenas alguns cliques. Você também pode criar análises personalizadas usando seu próprio código.
Você adiciona uma análise a um quadro de dados selecionando uma etapa em seu fluxo de dados e, em seguida, escolhendo Adicionar análise. Para acessar uma análise que você criou, selecione a etapa que contém a análise e selecione a análise.
Todas as análises são geradas usando 100.000 linhas do seu conjunto de dados.
Você pode adicionar a seguinte análise a um quadro de dados:
-
Visualizações de dados, incluindo histogramas e gráficos de dispersão.
-
Um resumo rápido do seu conjunto de dados, incluindo número de entradas, valores mínimos e máximos (para dados numéricos) e categorias mais e menos frequentes (para dados categóricos).
-
Um modelo rápido do conjunto de dados, que pode ser usado para gerar uma pontuação de importância para cada recurso.
-
Um relatório de vazamento de destino, que você pode usar para determinar se um ou mais recursos estão fortemente correlacionadas com seu recurso de destino.
-
Uma visualização personalizada usando seu próprio código.
Use as seguintes seções para saber mais sobre essas opções.
Histograma
Use histogramas para ver as contagens dos valores de um recurso específico. Você pode inspecionar as relações entre os recursos usando a opção Colorir por. Por exemplo, o histograma a seguir mostra a distribuição das avaliações dos usuários dos livros mais vendidos na Amazon de 2009 a 2019, coloridos por gênero.
Você pode usar o recurso Facet by para criar histogramas de uma coluna, para cada valor em outra coluna. Por exemplo, o diagrama a seguir mostra histogramas das análises de usuários dos livros mais vendidos na Amazon, organizados por ano.
Gráfico de dispersão
Use o recurso Gráfico de dispersão para inspecionar a relação entre os recursos. Para criar um gráfico de dispersão, selecione um recurso para plotar no eixo X e no eixo Y. Ambas as colunas devem ser colunas de tipo numérico.
Você pode colorir gráficos de dispersão usando uma coluna adicional. Por exemplo, o exemplo a seguir exibe um gráfico de dispersão que compara o número de análises em relação às análises dos usuários dos livros mais vendidos na Amazon entre 2009 e 2019. O gráfico de dispersão é colorido por gênero de livro.
Além disso, você pode facetar gráficos de dispersão por recursos. Por exemplo, a imagem a seguir mostra um exemplo do mesmo gráfico de dispersão de análises versus análises de usuários, facetado por ano.
Resumo da tabela
Use a análise de Resumo da tabela para resumir rapidamente seus dados.
Para colunas com dados numéricos, incluindo dados de log e flutuantes, um resumo da tabela relata o número de entradas (contagem), mínimo (mínimo), máximo (máximo), média e desvio padrão (stddev) para cada coluna.
Para colunas com dados não numéricos, incluindo colunas com dados de string, booleanos ou de data/hora, um resumo da tabela relata o número de entradas (contagem), o valor menos frequente (mínimo) e o valor mais frequente (máximo).
Modelo rápido
Use a visualização do Modelo rápidol para avaliar rapidamente seus dados e produzir pontuações de importância para cada recurso. Uma pontuação de importância de um recurso
Ao criar um gráfico de modelo rápido, você seleciona um conjunto de dados que deseja avaliar e um rótulo de destino com o qual deseja comparar a importância do recurso. O Data Wrangler faz o seguinte:
-
Infere os tipos de dados para o rótulo de destino e cada recurso no conjunto de dados selecionado.
-
Determina o tipo de problema. Com base no número de valores distintos na coluna do rótulo, o Data Wrangler determina se esse é um tipo de problema de regressão ou classificação. O Data Wrangler define um limite categórico para 100. Se houver mais de 100 valores distintos na coluna do rótulo, o Data Wrangler o classifica como um problema de regressão; caso contrário, ele é classificado como um problema de classificação.
-
Pré-processa os recursos e os dados de rótulos para treinamento. O algoritmo usado requer recursos de codificação para tipo vetorial e rótulos de codificação para tipo duplo.
-
Treina um algoritmo de floresta aleatório com 70% dos dados. O Spark's RandomForestRegressor
é usado para treinar um modelo para problemas de regressão. O RandomForestClassifier é usado para treinar um modelo para problemas de classificação. -
Avalia um modelo de floresta aleatória com os 30% restantes dos dados. O Data Wrangler avalia modelos de classificação usando uma pontuação F1 e avalia modelos de regressão usando uma pontuação. MSE
-
Calcula a importância do recurso para cada recurso usando o método de importância de Gini.
A imagem a seguir mostra a interface de usuário do recurso de modelo rápido.
Vazamento do destino
O vazamento de destino ocorre quando há dados em um conjunto de dados de treinamento de machine learning que estão fortemente correlacionados com o rótulo de destino, mas não estão disponíveis em dados do mundo real. Por exemplo, você pode ter uma coluna em seu conjunto de dados que serve como proxy para a coluna que você deseja prever com seu modelo.
Ao usar a análise Vazamento do destino, você especifica o seguinte:
-
Destino: esse é o recurso sobre o qual você deseja que seu modelo de ML seja capaz de fazer previsões.
-
Tipo de problema: esse é o tipo de problema de ML no qual você está processando. O tipo de problema pode ser classificação ou regressão.
-
(Opcional) Máximo de recursos: esse é o número máximo de recursos a serem apresentados na visualização, que mostra os recursos classificados de acordo com o risco de serem vazamentos de destino.
Para classificação, a análise de vazamento alvo usa a área sob a característica de operação do receptor, ou ROC curva AUC - para cada coluna, até as características máximas. Para regressão, ele usa um coeficiente de determinação ou métrica R2.
A ROC curva AUC - fornece uma métrica preditiva, calculada individualmente para cada coluna usando validação cruzada, em uma amostra de até cerca de 1000 linhas. Uma pontuação de 1 indica habilidades preditivas perfeitas, o que geralmente indica vazamento do destino. Uma pontuação de 0,5 ou menos indica que as informações na coluna não poderiam fornecer, por si só, nenhuma informação útil para prever o destino. Embora seja possível que uma coluna seja pouco informativa por si só, mas seja útil na previsão do destino quando usada em conjunto com outras características, uma pontuação baixa pode indicar que o recurso é redundante.
Por exemplo, a imagem a seguir mostra um relatório de vazamento destino para um problema de classificação de diabetes, ou seja, prever se uma pessoa tem diabetes ou não. Uma ROC curva AUC - é usada para calcular a capacidade preditiva de cinco características, e todas são determinadas como protegidas contra vazamentos no alvo.
Multicolinearidade
A multicolinearidade é uma circunstância em que duas ou mais variáveis preditoras estão relacionadas entre si. As variáveis preditoras são os recursos do seu conjunto de dados que você está usando para prever uma variável destino. Quando você tem multicolinearidade, as variáveis preditoras não são apenas preditivas da variável destino, mas também preditivas umas das outras.
Você pode usar o Fator de Inflação de Variância (VIF), a Análise de Componentes Principais (PCA) ou a seleção do recurso Lasso como medidas para a multicolinearidade em seus dados. Para obter mais informações, consulte.
Detectar anomalias em dados de séries temporais
Você pode usar a visualização de detecção de anomalias para ver valores discrepantes em seus dados de séries temporais. Para entender o que determina uma anomalia, você precisa entender que decompomos a série temporal em um termo previsto e um termo de erro. Tratamos a sazonalidade e a tendência da série temporal como o termo previsto. Tratamos os resíduos como o termo de erro.
Para o termo de erro, você especifica um limite como o número de desvios padrão que o resíduo pode afastar da média para que seja considerado uma anomalia. Por exemplo, é possível especificar um limite como sendo 3 desvios padrão. Qualquer resíduo maior que 3 desvios padrão da média é uma anomalia.
Você pode usar o procedimento a seguir para realizar uma análise de detecção de anomalias.
-
Abra seu fluxo de dados do Data Wrangler.
-
No seu fluxo de dados, em Tipos de dados, escolha o + e selecione Adicionar análise.
-
Para Tipo de análise, escolha Séries temporais.
-
Para Visualização, escolha Detecção de anomalias.
-
Em Limite de anomalia, escolha o limite em que um valor é considerado uma anomalia.
-
Escolha Visualizar para gerar uma visualização prévia da análise.
-
Escolha Adicionar para adicionar a transformação ao fluxo de dados do Data Wrangler.
Decomposição de tendências sazonais em dados de séries temporais
Você pode determinar se há sazonalidade em seus dados de séries temporais usando a visualização de Decomposição de tendências sazonais. Usamos o método STL (usando decomposição de tendência sazonalLOESS) para realizar a decomposição. Decompomos a série temporal em seus componentes sazonais, de tendência e residuais. A tendência reflete a progressão a longo prazo da série. O componente sazonal é um sinal que se repete em um período de tempo. Depois de remover a tendência e os componentes sazonais da série temporal, você tem o resíduo.
Você pode usar o procedimento a seguir para realizar uma análise de decomposição de tendência sazonal.
-
Abra seu fluxo de dados do Data Wrangler.
-
No seu fluxo de dados, em Tipos de dados, escolha o + e selecione Adicionar análise.
-
Para Tipo de análise, escolha Séries temporais.
-
Para Visualização, escolha Decomposição de tendências sazonais.
-
Em Limite de anomalia, escolha o limite em que um valor é considerado uma anomalia.
-
Escolha Visualizar para gerar uma visualização prévia da análise.
-
Escolha Adicionar para adicionar a transformação ao fluxo de dados do Data Wrangler.
Relatório de viés
Você pode usar o relatório de viés no Data Wrangler para descobrir possíveis vieses em seus dados. Para gerar um relatório de viés, você deve especificar a coluna de destino, ou Rótulo, que você deseja prever e uma Faceta, ou a coluna que você deseja inspecionar quanto a vieses.
Rótulo: o recurso sobre o qual você deseja que um modelo faça previsões. Por exemplo, se você estiver prevendo a conversão do cliente, poderá selecionar uma coluna contendo dados sobre se um cliente fez ou não um pedido. Você também deve especificar se esse recurso é um rótulo ou um limite. Se você especificar um rótulo, deverá especificar a aparência de um resultado positivo em seus dados. No exemplo de conversão do cliente, um resultado positivo pode ser 1 na coluna de pedidos, representando o resultado positivo de um cliente que fez um pedido nos últimos três meses. Se você especificar um limite, é necessário também especificar um limite inferior que define um resultado positivo. Por exemplo, se as colunas de pedidos do cliente contiverem o número de pedidos feitos no último ano, talvez você queira especificar 1.
Faceta: a coluna que você deseja inspecionar em busca de vieses. Por exemplo, se você está tentando prever a conversão de clientes, a sua faceta pode ser a idade do cliente. Você pode escolher essa faceta porque acredita que seus dados são tendenciosos para uma determinada faixa etária. Você deve identificar se a faceta é medida como um valor ou limite. Por exemplo, se você quiser inspecionar uma ou mais idades específicas, selecione Valor e especifique essas idades. Se você deseja analisar um grupo etário específico, você seleciona o Limite e especifica o limite de idades que deseja inspecionar.
Depois de selecionar seu recurso e rótulo, você seleciona os tipos de métricas de viés que deseja calcular.
Para saber mais, consulte Gerar relatórios de parcialidade nos dados de pré-treinamento.
Criar visualizações personalizadas
Você pode adicionar uma análise ao seu fluxo do Data Wrangler para criar uma visualização personalizada. Seu conjunto de dados, com todas as transformações que você aplicou, está disponível como Pandas. DataFramedf
para armazenar o quadro de dados. Você acessa o quadro de dados chamando a variável.
Você deve fornecer a variável de saída, chart
, para armazenar um gráfico de saída do Altair
import altair as alt df = df.iloc[:30] df = df.rename(columns={"Age": "value"}) df = df.assign(count=df.groupby('value').value.transform('count')) df = df[["value", "count"]] base = alt.Chart(df) bar = base.mark_bar().encode(x=alt.X('value', bin=True, axis=None), y=alt.Y('count')) rule = base.mark_rule(color='red').encode( x='mean(value):Q', size=alt.value(5)) chart = bar + rule
Para criar uma visualização personalizada:
-
Ao lado do nó que contém a transformação que você gostaria de visualizar, escolha o +.
-
Escolha Adicionar análise.
-
Em Tipo de análise, escolha Visualização personalizada.
-
Em Nome da análise, especifique um nome.
-
Insira seu código na caixa do código.
-
Escolha Visualizar para visualizar sua visualização.
-
Escolha Salvar para adicionar sua visualização.
Se você não souber como usar o pacote de visualização Altair em Python, você pode usar trechos de código personalizados para ajudá-lo a começar.
Data Wrangler possui uma coleção pesquisável de trechos de código de visualização. Para usar um trecho de visualização, escolha Pesquisar trechos de exemplo e especifique uma consulta na barra de pesquisa.
O exemplo a seguir usa o trecho de código para um gráfico de dispersão com bins. Traça um histograma para 2 dimensões.
Os trechos de código possuem comentários para ajudar você a entender as alterações que precisa fazer no código. Normalmente, é necessário especificar os nomes das colunas do seu conjunto de dados no código.
import altair as alt # Specify the number of top rows for plotting rows_number = 1000 df = df.head(rows_number) # You can also choose bottom rows or randomly sampled rows # df = df.tail(rows_number) # df = df.sample(rows_number) chart = ( alt.Chart(df) .mark_circle() .encode( # Specify the column names for binning and number of bins for X and Y axis x=alt.X("col1:Q", bin=alt.Bin(maxbins=20)), y=alt.Y("col2:Q", bin=alt.Bin(maxbins=20)), size="count()", ) ) # :Q specifies that label column has quantitative type. # For more details on Altair typing refer to # https://altair-viz.github.io/user_guide/encoding.html#encoding-data-types