SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
indeorum.com
Boas Práticas de Programação para
Jupyter Notebooks
Joel Pinho Lucas
26/08/2020
ROTEIRO
1 Por que se preocupar com boas práticas ao
codificar notebooks?
2 Diferenças de notebooks para programação
tradicional
3 Compilado de recomendações de boas
práticas
indeorum.com
4 Fontes para consulta
indeorum.com
De onde vêm os cientistas de dados?
indeorum.com
“Sou Cientista de Dados… não preciso me preocupar com
legibilidade de código porque a maior parte dele vai fora.”
http://thedataist.com/ten-good-coding-practices-for-data-scientists/
“Código limpo e agilidade valem para desenvolvedores…
não fazem sentido dentro do meu trabalho.”
indeorum.com
E SE…
• outras pessoas usarem meu notebook?
• eu (ou outra pessoa) precisar alterá-lo?
• precisar aproveitá-lo para outros entregáveis?
• precisar colocar um modelo em produção?
• precisar escalar o modelo?
• precisar depurar?
• dados de input mudarem / modelo depreciar?
Notebooks são
Software!!
indeorum.com
indeorum.com
ESPECIFICIDADES DE JUPYTER
NOTEBOOKS
• Ambiente livre e flexível, permite iterar e explorar datasets rapidamente
• Também são usados para gerar relatórios
• Em projetos de ML a maior parte do código contém transformações de
dados, demandando input e output com o mesmo padrão
• Precisam gerar artefatos reproduzíveis
indeorum.com
ESPECIFICIDADES DE JUPYTER
NOTEBOOKS
• Permitem executar código fora de ordem, preservando o contexto
• São excelentes para experimentação e prototipação, mas não para código
em produção
indeorum.com
ESPECIFICIDADES DE JUPYTER
NOTEBOOKS
• Versionamento complexo…
indeorum.com
Experimentação
X
Produção
https://cloud.google.com/blog/products/ai-machine-learning/best-practices-that-can-improve-the-life-of-any-developer-using-jupyter-notebooks
indeorum.com
Recomendações de Boas Práticas
Usar um padrão
de estilo de
código
1.
indeorum.com
indeorum.com
PEP8 - https://www.python.org/dev/peps/pep-0008
• Linhas com no máximo de 79 caracteres
• Linha em branco separando blocos lógicos dentro de métodos e funções
• Não usar espaço imediatamente antes ou após um parêntese
• Importações em linhas separadas
• etc…
Meaningful
Names
2.
indeorum.com
indeorum.com
Ruim
Bom
Usar nomes descritivos!
indeorum.com
Evitar notação húngara
(tipo no nome)!
Ruim
Bom
Bom
Ruim
indeorum.com
Funções e métodos devem
ser verbos!
Ruim
Bom
DRY
3.
indeorum.com
indeorum.com
Ruim
https://github.com/davified/clean-code-ml/blob/master/docs/functions.md
indeorum.com
Bom
https://github.com/davified/clean-code-ml/blob/master/docs/functions.md
Cuidado com
Dead Code
4.
indeorum.com
indeorum.com
Ruim
Bom
Encapsular e
encapsular
5.
indeorum.com
indeorum.com
Ruim
Exercitar Princípio da
Responsabilidade Única!
indeorum.com
Bom
indeorum.com
Abstrair detalhes da lógica de negócio que
estejam vinculadas a uma entidade específica:
Bom
Ruim
indeorum.com
https://towardsdatascience.com/clean-machine-learning-code-bd32bd0e9212
Moderação e
atenção no uso de
comentários
6.
indeorum.com
indeorum.com
O código sempre deve dizer a verdade!
Bom
Ruim
indeorum.com
• Comentários podem ser indício de má abstração, bad naming, exceção de
responsabilidades em funções/classes, etc.
• Priorizar células de markdown para descrever especificadas relacionadas
ao negócio ou a um modelo
• DocStrings são recomendados
Preferir bibliotecas
pré-existentes
7.
indeorum.com
indeorum.com
Ruim
Bom
indeorum.com
Ruim
Bom
Tirar Código do
Notebook sempre
que possível
8.
indeorum.com
indeorum.com
• Jupyter Notebooks se enquadram no ‘princípio da superfície plana’.
• Quanto maior o notebook, mais difícil será para verificar o resultado de
eventuais alterações
• Retirar complexidade de classes e funções auxiliares e dar foco para
análise exploratória e para predições com ML
indeorum.com
Exemplos de tipo de código que devem sair de notebooks:
Implementar
Testes Unitários
9.
indeorum.com
Bom
indeorum.com
FONTES
• Clean Code - Robert C. Martin, Michael C. Feathers (Autor), Timothy R. Ottinger.
2008

• Thoughtful Machine Learning with Python: A Test-Driven Approach - Matthew
Kirk. 2017

• Guia de Estilo para Python: https://www.python.org/dev/peps/pep-0008/ 

• https://medium.com/zero-equals-false/writing-clean-code-for-data-scientists-
f141bf550d37

• https://www.thoughtworks.com/insights/blog/coding-habits-data-scientists

• Clean code em Python: https://github.com/zedr/clean-code-python
indeorum.com
FONTES
• Clean code em ML: https://github.com/davified/clean-code-ml

• https://towardsdatascience.com/clean-code-for-a-data-scientist-f4b760374b74

• https://towardsdatascience.com/clean-machine-learning-code-bd32bd0e9212

• http://thedataist.com/ten-good-coding-practices-for-data-scientists/

• https://www.kaggle.com/baghern/a-deep-dive-into-sklearn-pipelines

• https://towardsdatascience.com/pre-process-data-with-pipeline-to-prevent-
data-leakage-during-cross-validation-e3442cca7fdc
Explorar
Extensões do
Jupyter
12.
indeorum.com
indeorum.com
1. toc2 (numeração automática de markdown):
https://jupyter-contrib-nbextensions.readthedocs.io/en/latest/nbextensions/toc2/
2. Debug de variáveis:
https://jupyter-contrib-nbextensions.readthedocs.io/en/latest/nbextensions/varInspector/
3. Minimização de células:
https://jupyter-contrib-nbextensions.readthedocs.io/en/latest/nbextensions/collapsible_headings/
OBRIGADO!
joelpl@gmail.com
indeorum.com

Mais conteúdo relacionado

Mais procurados

C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법선협 이
 
Introducing the eDB360 Tool
Introducing the eDB360 ToolIntroducing the eDB360 Tool
Introducing the eDB360 ToolCarlos Sierra
 
Obscure Go Optimisations
Obscure Go OptimisationsObscure Go Optimisations
Obscure Go OptimisationsBryan Boreham
 
Operating PostgreSQL at Scale with Kubernetes
Operating PostgreSQL at Scale with KubernetesOperating PostgreSQL at Scale with Kubernetes
Operating PostgreSQL at Scale with KubernetesJonathan Katz
 
MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바NeoClova
 
コンソールアプリケーションでDIを使う
コンソールアプリケーションでDIを使うコンソールアプリケーションでDIを使う
コンソールアプリケーションでDIを使うCore Concept Technologies
 
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発日本マイクロソフト株式会社
 
Continuous DB Changes Delivery With Liquibase
Continuous DB Changes Delivery With LiquibaseContinuous DB Changes Delivery With Liquibase
Continuous DB Changes Delivery With LiquibaseAidas Dragūnas
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力ThinReports
 
Apache Iceberg: An Architectural Look Under the Covers
Apache Iceberg: An Architectural Look Under the CoversApache Iceberg: An Architectural Look Under the Covers
Apache Iceberg: An Architectural Look Under the CoversScyllaDB
 
jemalloc 세미나
jemalloc 세미나jemalloc 세미나
jemalloc 세미나Jang Hoon
 
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축Juhong Park
 
Deep Dive on Amazon Aurora PostgreSQL Performance Tuning (DAT428-R1) - AWS re...
Deep Dive on Amazon Aurora PostgreSQL Performance Tuning (DAT428-R1) - AWS re...Deep Dive on Amazon Aurora PostgreSQL Performance Tuning (DAT428-R1) - AWS re...
Deep Dive on Amazon Aurora PostgreSQL Performance Tuning (DAT428-R1) - AWS re...Amazon Web Services
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門増田 亨
 
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計増田 亨
 
NoSQL 위에서 MMORPG 개발하기
NoSQL 위에서 MMORPG 개발하기NoSQL 위에서 MMORPG 개발하기
NoSQL 위에서 MMORPG 개발하기Hoyoung Choi
 
신입 개발자 생활백서 [개정판]
신입 개발자 생활백서 [개정판]신입 개발자 생활백서 [개정판]
신입 개발자 생활백서 [개정판]Yurim Jin
 

Mais procurados (20)

C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법
 
How to Design Indexes, Really
How to Design Indexes, ReallyHow to Design Indexes, Really
How to Design Indexes, Really
 
Introducing the eDB360 Tool
Introducing the eDB360 ToolIntroducing the eDB360 Tool
Introducing the eDB360 Tool
 
Obscure Go Optimisations
Obscure Go OptimisationsObscure Go Optimisations
Obscure Go Optimisations
 
Operating PostgreSQL at Scale with Kubernetes
Operating PostgreSQL at Scale with KubernetesOperating PostgreSQL at Scale with Kubernetes
Operating PostgreSQL at Scale with Kubernetes
 
MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바
 
コンソールアプリケーションでDIを使う
コンソールアプリケーションでDIを使うコンソールアプリケーションでDIを使う
コンソールアプリケーションでDIを使う
 
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
 
Apache Airflow
Apache AirflowApache Airflow
Apache Airflow
 
Workshop sobre algumas funcionalidades do Open Refine
Workshop sobre algumas funcionalidades do Open Refine Workshop sobre algumas funcionalidades do Open Refine
Workshop sobre algumas funcionalidades do Open Refine
 
Continuous DB Changes Delivery With Liquibase
Continuous DB Changes Delivery With LiquibaseContinuous DB Changes Delivery With Liquibase
Continuous DB Changes Delivery With Liquibase
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
 
Apache Iceberg: An Architectural Look Under the Covers
Apache Iceberg: An Architectural Look Under the CoversApache Iceberg: An Architectural Look Under the Covers
Apache Iceberg: An Architectural Look Under the Covers
 
jemalloc 세미나
jemalloc 세미나jemalloc 세미나
jemalloc 세미나
 
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
 
Deep Dive on Amazon Aurora PostgreSQL Performance Tuning (DAT428-R1) - AWS re...
Deep Dive on Amazon Aurora PostgreSQL Performance Tuning (DAT428-R1) - AWS re...Deep Dive on Amazon Aurora PostgreSQL Performance Tuning (DAT428-R1) - AWS re...
Deep Dive on Amazon Aurora PostgreSQL Performance Tuning (DAT428-R1) - AWS re...
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門
 
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
 
NoSQL 위에서 MMORPG 개발하기
NoSQL 위에서 MMORPG 개발하기NoSQL 위에서 MMORPG 개발하기
NoSQL 위에서 MMORPG 개발하기
 
신입 개발자 생활백서 [개정판]
신입 개발자 생활백서 [개정판]신입 개발자 생활백서 [개정판]
신입 개발자 생활백서 [개정판]
 

Semelhante a Boas Práticas para Notebooks Jupyter

Clean Code - Boas práticas para desenvolvimento
Clean Code - Boas práticas para desenvolvimentoClean Code - Boas práticas para desenvolvimento
Clean Code - Boas práticas para desenvolvimentoPaulo Henrique da Silva
 
TDD com Código Legado - "Atualizado"
TDD com Código Legado - "Atualizado"TDD com Código Legado - "Atualizado"
TDD com Código Legado - "Atualizado"Cesar Romero
 
TDD com Código Legado
TDD com Código LegadoTDD com Código Legado
TDD com Código LegadoCesar Romero
 
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...Thiago Barradas
 
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreamsJacqueline Abreu
 
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...Adriano Teixeira de Souza
 
Extreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe DelphiExtreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe DelphiMario Guedes
 
ZeroBugsProject - Técnicas de programação efetivas
ZeroBugsProject - Técnicas de programação efetivasZeroBugsProject - Técnicas de programação efetivas
ZeroBugsProject - Técnicas de programação efetivasRafael Chinelato Del Nero
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonIgor Sobreira
 
Programação Orientada a Objetos - Pós Graduação - aula 1
Programação Orientada a Objetos - Pós Graduação - aula 1Programação Orientada a Objetos - Pós Graduação - aula 1
Programação Orientada a Objetos - Pós Graduação - aula 1Carlos Eduardo
 
Carreira de Desenvolvimento
Carreira de DesenvolvimentoCarreira de Desenvolvimento
Carreira de DesenvolvimentoAlvaro Viebrantz
 
Princípios Básicos para Desenvolvedores
Princípios Básicos para DesenvolvedoresPrincípios Básicos para Desenvolvedores
Princípios Básicos para Desenvolvedoresguitoper
 
Clean code @rogeriofontes-techfriday-everis
Clean code @rogeriofontes-techfriday-everisClean code @rogeriofontes-techfriday-everis
Clean code @rogeriofontes-techfriday-everisRogerio Fontes
 
Boas praticas em_desenvolvimento_de_software
Boas praticas em_desenvolvimento_de_softwareBoas praticas em_desenvolvimento_de_software
Boas praticas em_desenvolvimento_de_softwareivanassisleal
 
Dicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDouglas V. Pasqua
 

Semelhante a Boas Práticas para Notebooks Jupyter (20)

PHPZEIRO: Adote um framework
PHPZEIRO: Adote um frameworkPHPZEIRO: Adote um framework
PHPZEIRO: Adote um framework
 
Clean Code - Boas práticas para desenvolvimento
Clean Code - Boas práticas para desenvolvimentoClean Code - Boas práticas para desenvolvimento
Clean Code - Boas práticas para desenvolvimento
 
TDD com Código Legado - "Atualizado"
TDD com Código Legado - "Atualizado"TDD com Código Legado - "Atualizado"
TDD com Código Legado - "Atualizado"
 
TDD com Código Legado
TDD com Código LegadoTDD com Código Legado
TDD com Código Legado
 
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
 
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
 
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
 
Extreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe DelphiExtreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe Delphi
 
ZeroBugsProject - Técnicas de programação efetivas
ZeroBugsProject - Técnicas de programação efetivasZeroBugsProject - Técnicas de programação efetivas
ZeroBugsProject - Técnicas de programação efetivas
 
O que é código bonito?
O que é código bonito?O que é código bonito?
O que é código bonito?
 
Clean Architecture
Clean ArchitectureClean Architecture
Clean Architecture
 
A Arte do Código Limpo
A Arte do Código LimpoA Arte do Código Limpo
A Arte do Código Limpo
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com Python
 
Programação Orientada a Objetos - Pós Graduação - aula 1
Programação Orientada a Objetos - Pós Graduação - aula 1Programação Orientada a Objetos - Pós Graduação - aula 1
Programação Orientada a Objetos - Pós Graduação - aula 1
 
Carreira de Desenvolvimento
Carreira de DesenvolvimentoCarreira de Desenvolvimento
Carreira de Desenvolvimento
 
Princípios Básicos para Desenvolvedores
Princípios Básicos para DesenvolvedoresPrincípios Básicos para Desenvolvedores
Princípios Básicos para Desenvolvedores
 
O que é ser um bom programador?
O que é ser um bom programador?O que é ser um bom programador?
O que é ser um bom programador?
 
Clean code @rogeriofontes-techfriday-everis
Clean code @rogeriofontes-techfriday-everisClean code @rogeriofontes-techfriday-everis
Clean code @rogeriofontes-techfriday-everis
 
Boas praticas em_desenvolvimento_de_software
Boas praticas em_desenvolvimento_de_softwareBoas praticas em_desenvolvimento_de_software
Boas praticas em_desenvolvimento_de_software
 
Dicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHP
 

Mais de Joel Pinho Lucas

Engajando usuários nos portais de conteúdo digital da Globo através de Sistem...
Engajando usuários nos portais de conteúdo digital da Globo através de Sistem...Engajando usuários nos portais de conteúdo digital da Globo através de Sistem...
Engajando usuários nos portais de conteúdo digital da Globo através de Sistem...Joel Pinho Lucas
 
Discovering Lookalike audiences at scale for digital publishing with Spark MLlib
Discovering Lookalike audiences at scale for digital publishing with Spark MLlibDiscovering Lookalike audiences at scale for digital publishing with Spark MLlib
Discovering Lookalike audiences at scale for digital publishing with Spark MLlibJoel Pinho Lucas
 
Casos de Uso de Big Data e Ciência de Dados no Mercado
 Casos de Uso de Big Data e Ciência de Dados no Mercado Casos de Uso de Big Data e Ciência de Dados no Mercado
Casos de Uso de Big Data e Ciência de Dados no MercadoJoel Pinho Lucas
 
Building machine learning applications locally with spark
Building machine learning applications locally with sparkBuilding machine learning applications locally with spark
Building machine learning applications locally with sparkJoel Pinho Lucas
 
Utilizando Machine Learning e Java para classificar o conteúdo de páginas Web
Utilizando Machine Learning e Java para classificar o conteúdo de páginas WebUtilizando Machine Learning e Java para classificar o conteúdo de páginas Web
Utilizando Machine Learning e Java para classificar o conteúdo de páginas WebJoel Pinho Lucas
 
Conceitos e práticas em Sistemas de Recomendação
Conceitos e práticas em Sistemas de RecomendaçãoConceitos e práticas em Sistemas de Recomendação
Conceitos e práticas em Sistemas de RecomendaçãoJoel Pinho Lucas
 

Mais de Joel Pinho Lucas (7)

Engajando usuários nos portais de conteúdo digital da Globo através de Sistem...
Engajando usuários nos portais de conteúdo digital da Globo através de Sistem...Engajando usuários nos portais de conteúdo digital da Globo através de Sistem...
Engajando usuários nos portais de conteúdo digital da Globo através de Sistem...
 
Discovering Lookalike audiences at scale for digital publishing with Spark MLlib
Discovering Lookalike audiences at scale for digital publishing with Spark MLlibDiscovering Lookalike audiences at scale for digital publishing with Spark MLlib
Discovering Lookalike audiences at scale for digital publishing with Spark MLlib
 
Casos de Uso de Big Data e Ciência de Dados no Mercado
 Casos de Uso de Big Data e Ciência de Dados no Mercado Casos de Uso de Big Data e Ciência de Dados no Mercado
Casos de Uso de Big Data e Ciência de Dados no Mercado
 
Building machine learning applications locally with spark
Building machine learning applications locally with sparkBuilding machine learning applications locally with spark
Building machine learning applications locally with spark
 
Utilizando Machine Learning e Java para classificar o conteúdo de páginas Web
Utilizando Machine Learning e Java para classificar o conteúdo de páginas WebUtilizando Machine Learning e Java para classificar o conteúdo de páginas Web
Utilizando Machine Learning e Java para classificar o conteúdo de páginas Web
 
Conceitos e práticas em Sistemas de Recomendação
Conceitos e práticas em Sistemas de RecomendaçãoConceitos e práticas em Sistemas de Recomendação
Conceitos e práticas em Sistemas de Recomendação
 
Bigdata gameverse
Bigdata gameverseBigdata gameverse
Bigdata gameverse
 

Boas Práticas para Notebooks Jupyter