Portuguese, Brazilian subtitles

← Auditing Uniformity - Data Wranging with MongoDB

Get Embed Code
5 Languages

Showing Revision 8 created 06/20/2016 by Udacity Robot.

  1. Vamos falar sobre nossa última métrica de qualidade,
  2. a uniformidade. E vamos verificar a auditoria no
  3. campo específico da uniformidade. Se você se lembra, a uniformidade ocorre
  4. quando todos os valores do campo usam as mesmas
  5. unidades de medida. Vamos ver um exemplo. Aqui,
  6. vamos trabalhar com o conjunto de dados de cidades novamente. E
  7. o que quero explorar aqui é apenas
  8. o campo latitude. O campo latitude é identificado
  9. neste conjunto de dados usando este nome do campo específico.
  10. Vamos ver algumas tarefas de auditoria que podemos
  11. executar aqui. Organizei
  12. este código de modo que vamos processar
  13. cada uma das linhas neste arquivo de dados e, outra vez,
  14. vamos usar aqui nosso módulo tft no Python. Para cada
  15. linha, vamos chamar a função audit_float_field. Esta parte
  16. específica do código é algo que podemos usar realmente
  17. para analisar qualquer campo que deva ter um
  18. valor de ponto flutuante. Em geral, gosto de
  19. imaginar os campos de auditoria nos meus conjuntos de dados assim. Gosto de
  20. pensar no que pode
  21. dar errado com um determinado tipo de campo de dados. E auditar
  22. esse tipo e, se necessário,
  23. escrever rotinas de auditoria mais específicas para verificar
  24. os valores. Vamos dar uma olhada na função audit_float_field.
  25. É aqui que ocorre todo o trabalho real.
  26. Então vou manter
  27. o controle do número de nulos que encontrar, o
  28. número de campos vazios, se houver, e o número de
  29. valores de campo que na verdade são arrays. E se você se lembrar,
  30. os arrays são codificados com chaves e barras verticais para
  31. separar os elementos individuais de arrays no conjunto de dados
  32. da caixa de informações. Também vou verificar se
  33. o valor é um número realmente. E se for, vou verificar
  34. se ele está dentro dos valores mínimo e
  35. máximo, OK? Essa é uma forma de
  36. ter certeza as unidades de medida que
  37. eu espero estão sendo usadas. Antes, vimos
  38. um exemplo no qual a área de uma cidade era
  39. representada com milímetros quadrados, em vez de quilômetros quadrados.
  40. Nesta parte específica do código,
  41. estou fixando um valor no código em alguns valores deste campo. O que
  42. eu faria aqui, se não estivesse usando este exemplo
  43. para este curso, seria realmente tratar cada um deles como
  44. parâmetros de linha de comando que inseriria neste script. Aqui, vou
  45. apenas fixar um valor no código. Se quisesse
  46. usá-lo para um campo diferente, eu
  47. alteraria o nome do campo e os valores mínimo e máximo para
  48. testar outro campo flutuante. Certo. Voltando à nossa função,
  49. audit_float_field, outra vez, vamos verificar nulos, vazios,
  50. arrays, quaisquer campos que não sejam números,
  51. depois que fizermos todos os testes. E por fim,
  52. aqui, vou obter algo que
  53. acredito ser um número. O que vou fazer é
  54. convertê-lo em um valor de ponto flutuante, pois
  55. todos os valores que surgirem são strings, e depois
  56. vou verificar esse intervalo. O intervalo para latitude,
  57. a maneira como estes dados devem ser codificados está entre 90 negativo e 90 positivo
  58. e, tecnicamente, eu devia ter feito isso menor ou
  59. igual. Certo. Vamos executar isso e ver o que aparece.
  60. Certo? Encontrei três não números. E como você pode ver, este parece
  61. um valor de latitude correto, expresso em um tipo diferente de unidade.
  62. O número total de cidades é o que espero. Alguns nulos, na verdade.
  63. Não vamos focar muito nisso neste exemplo específico. E
  64. poucos arrays. Se quisesse auditar isso, seria
  65. necessário verificar esses arrays e ver o que está
  66. ocorrendo. Depois, eu precisaria verificar cada um dos valores individuais
  67. nesses arrays. O que mais me preocupa neste exemplo específico são
  68. esses itens. Há várias formas diferentes de representar
  69. as coordenadas geográficas. Isto é, três exemplos nos quais em vez de
  70. ter os valores brutos para latitude e longitude, obtivemos
  71. este tipo de coordenada, que é, na verdade,
  72. graus, minutos e segundos. Uma forma diferente de
  73. codificar as mesmas informações para latitude. Se eu alterar
  74. este código, teremos uma pequena chance de ver
  75. como são a maioria dos valores.
  76. E vocês poderão ver que são valores entre 90 negativo
  77. e 90 positivo e também podemos ver alguns valores negativos.
  78. Então, vamos comentar e executar novamente. O que está acontecendo
  79. com esses valores? Poderíamos dizer que esses números
  80. foram codificados manualmente com outro sistema de coordenadas e que
  81. por isso estamos vendo esse resultado, em vez desse
  82. tipo de número, que é o que esperávamos. Esse é
  83. o tipo de coisa que podemos ver quando estamos auditando
  84. a uniformidade. Obtivemos um campo único que contém um
  85. tipo de dados específicos, nesse caso, valores de latitude para a
  86. localização de cidades. Mas há dois sistemas de coordenadas
  87. diferentes usados aqui. A latitude de graus decimais e a
  88. latitude representada em graus, minutos e segundos. Agora,
  89. para divulgação total, eu criei o
  90. conjunto de dados brutos, introduzindo esses três valores.
  91. Mas esse é exatamente o tipo de coisa que você
  92. pode esperar, quando o
  93. mesmo tipo de valor está sendo representado com unidades diferentes.