Como a Toro Data Labs aplicou os princípios SRE da Google na Uber

Image for post
Image for post
“Yea when can you have that delivered by? We wanna do the science part soon.”

Introdução

Está ficando cada vez mais fácil e rápido usar infra-estruturas de dados e colocar esses dados em produção em casos como: self-service business intelligence, machine learning, e teste A/B. As barreiras para escrever e lançar pipelines de dados continuam a cair, e analistas (ou engenheiros de análise) são capazes de lidar com mais quota do processo de modelagem, com menos dependência nos seus companheiros engenheiros de dados.

À medida que os analistas se empoderam para serem os próprios autores e atualizarem as suas próprias pipelines de dados, a sua responsabilidade sobre a confiabilidade e qualidade dos dados que saem do pipeline aumenta. …


The simplicity of Neural Network and Keras’ tools

Image for post
Image for post
Photo by Uriel SC on Unsplash

Recently, I was challenged to do this task which basically asked to use neural networks to predict the image orientation (upright, upside down, left or right) and with that prediction rotate the image to the correct position (upright), all of this in 24 hours!

My experience with neural networks up to this point was using the Multi-layer Perceptron inside Scikit-learn, and I had never tackled image processing. Which meant it was time to bang my head against the wall!

The training set was composed of approximately 50 thousand images with their label stored in a csv that looked like this:


A simplicidade das redes neurais e as ferramentas do Keras

Image for post
Image for post
Foto por Uriel SC no Unsplash

Recentemente, me foi lançado um desafio que basicamente pedia para usar redes neurais para prever qual era a orientação da imagem (cima, baixo, esquerda ou direita) e de acordo com essa predição rodar a imagem para a posição corrigida (cima), tudo isto em 24 horas!

A minha experiência em redes neurais podia se resumir ao uso do Multi-layer Perceptron do Scikit-learn, e nunca tinha mexido com processamento de imagem. Então, lá vou eu quebrar a cabeça!

O conjunto de treino era composto por um conjunto de aproximadamente 50 mil imagens com a respetiva posição num csv com o seguinte aspeto:


Using ETL to save the day

Image for post
Image for post
Photo by Sven Kucinic on Unsplash

Surely you have heard of pipelines or ETL (Extract Transform Load), or seen some method in a library, or even heard of any tool to create pipelines. However, you aren’t using it yet. So, let me introduce you to the fantastic world of pipelines.

Before understanding how to use them, we have to understand what it is.

A pipeline is a way to wrap and automatize a process, which means that the process will always be executed in the same way, with the same functions and parameters and the outcome will always be in the predetermined standard.

So, as you may guess, the goal is to apply pipelines in every development stage to try to guarantee that the designed process never ends up different from the one idealized. …


Usando ETL para salvar o dia

Image for post
Image for post
Foto por Sven Kucinic no Unsplash

Com certeza você já ouviu falar de pipelines ou ETL (Extract Transform Load), ou viu alguma função em alguma biblioteca, ou até já ouviu falar em alguma ferramenta para criar pipelines. Mas apesar disso tudo ainda não está usando. Então deixa-me introduzir-te ao fantástico mundo dos pipelines.

Antes de entender como usá-lo, temos que entender o que de fato é um pipeline.

Um pipeline, duto em português, é uma forma de amarrar e automatizar um processo, isto é, o processo vai sempre ser executado da mesma forma, com as mesmas funções e parâmetros e a saída será sempre no padrão determinado. …


Um guia com tudo que precisa saber sobre a matriz confusão

Image for post
Image for post
Foto por Emily Morter no Unsplash

Sempre que tinha que recorrer à matriz confusão acabava tendo que pesquisar o que é o quê e como está organizado, até que me cansei de o fazer e fiz a minha própria “fila”.

Além disso, considerando que nunca encontrei conteúdo similar em português porque não partilhar essa “fila” com a comunidade?

Então o objetivo é que, com a ajuda da comunidade, este artigo se torne o guia mais completo sobre a matriz confusão, para consulta rápida e eficaz.

Matriz confusão

De forma sumária, a matriz confusão é apenas a compilação dos valores previstos vs os valores verdadeiros num modelo supervisionado de classificação. …


Learning how to use the right distance for your data type

How many times have we seen that distance parameter in machine learning algorithms?

Image for post
Image for post
Photo by Anne Nygard on Unsplash

But have you ever stopped to think that it can be decisive for your success?

Spoiler: This is not a post explaining what each distance is or even the mathematics behind them.

During the development of my last project (links at the end) I end up diving deeper into this topic, and nothing better than to share those findings.

It all started due to the need to clusterize a set of data. The clusters are formed accordingly to the proximity of the points between them, and this proximity can either be a distance, for example grouping people by age (the distance between a 20 year old and a 25 is 5), or a similarity, for example a company with x characteristics and another with y characteristics (in short we compare if they are in the same sector, how many employees they have, their income, etc.), …


Aprendendo a escolher a melhor distância para o seu tipo de dados

Quantas vezes já nos deparamos com aquele parâmetro distância dentro dos algoritmos de machine learning?

Image for post
Image for post
Foto por Anne Nygard no Unsplash

Mas alguma vez já paraste para pensar que ele pode ser decisivo para o teu sucesso?

Spoiler: Este não é um post para te explicar o que é cada uma das distâncias e a matemática por trás delas.

Durante o desenvolvimento do meu último projeto (links no final) acabei por mergulhar mais fundo neste tema, e nada melhor do que partilhar esse aprendizado.

Tudo começou pela necessidade de clusterizar um conjunto de dados. Os clusters se formam de acordo com a proximidade dos pontos entre si, e esta proximidade pode ser tanto uma distância propriamente dita, por exemplo agrupar pessoas pela idade (a distância entre uma pessoa de 20 e outra de 25 anos é de 5), ou uma similaridade, por exemplo uma empresa com x caraterísticas e outra com y características (resumindo procuramos se são do mesmo setor, quantos empregados têm, o seu faturamento, etc.), …


Parte 3

Image for post
Image for post
Foto por Fusion Medical Animation no Unsplash

Hoje trago para vocês dados bastante relevantes:

O ranking da percentagem da população com casos confirmados. Digo casos confirmados, porque a população contaminada é com certeza bastante superior se levarmos em conta o número de pacientes que não está sendo testado e os assintomáticos.

Segue então o ranking:


Part 3

Image for post
Image for post
Photo by Fusion Medical Animation on Unsplash

Today I bring you some quite relevant data:

The percentage of population with COVID-19 cases confirmed ranking. And I say cases confirmed, because the contaminated population is definitely higher if we take into consideration the number of patients not being tested and the asymptomatic.

Here is the ranking:

About

Ricardo Pinto

Data Scientist

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