<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arquivos Processo de Desenvolvimento - Diego Nogare</title>
	<atom:link href="https://diegonogare.net/tags/processo-de-desenvolvimento/feed/" rel="self" type="application/rss+xml" />
	<link>https://diegonogare.net/tags/processo-de-desenvolvimento/</link>
	<description>Consultor Executivo de IA &#38; ML</description>
	<lastBuildDate>Tue, 15 Apr 2025 13:42:20 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/06/cropped-cropped-DN-Black-300x300-1.png?fit=32%2C32&#038;ssl=1</url>
	<title>Arquivos Processo de Desenvolvimento - Diego Nogare</title>
	<link>https://diegonogare.net/tags/processo-de-desenvolvimento/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">247556142</site>	<item>
		<title>Processo cíclico de Machine Learning</title>
		<link>https://diegonogare.net/2020/04/processo-ciclico-de-machine-learning/</link>
		
		<dc:creator><![CDATA[Diego Nogare]]></dc:creator>
		<pubDate>Mon, 20 Apr 2020 12:00:37 +0000</pubDate>
				<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[inteligencia artificial]]></category>
		<category><![CDATA[K-Means]]></category>
		<category><![CDATA[Processo de Desenvolvimento]]></category>
		<guid isPermaLink="false">http://diegonogare.net/?p=3339</guid>

					<description><![CDATA[<p>Como fazer um projeto de ML utilizando o processo cíclico de interação Existe uma diferença enorme entre o desenvolvimento de software tradicional, e o processo cíclico de Machine Learning. Vejo nas conversas com os clientes que atendo, que uma das maiores dificuldades que enfrentam é de desassociar a forma de desenvolvimento. O software tradicional é...</p>
<p>O post <a href="https://diegonogare.net/2020/04/processo-ciclico-de-machine-learning/">Processo cíclico de Machine Learning</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Como fazer um projeto de ML</h1>
<h2>utilizando o processo cíclico de interação</h2>
<p>Existe uma diferença enorme entre o desenvolvimento de software tradicional, e o processo cíclico de Machine Learning. Vejo nas conversas com os clientes que atendo, que uma das maiores dificuldades que enfrentam é de desassociar a forma de desenvolvimento. O software tradicional é focado na estrutura e relacionamento entre os elementos necessários, mas no processo de Machine Learning o desenvolvimento é trabalhado com foco nos dados. Contudo, esta questão dos dados não é um fator impactante no software tradicional, desde que siga as amarrações e consistências definidas.</p>
<h4>Software tradicional</h4>
<p>Para exemplificar, imagine uma tela de cadastro simples. Nesta tela existem cinco campos: Nome, Data de Nascimento, E-Mail, Cidade e UF. Estes campos da tela podem possuir algumas amarrações condicionais, como por exemplo só permitir um cadastro de pessoas acima de 18 anos. Ou que a cidade seja um campo de seleção que será preenchido somente após a seleção da UF em outro campo de seleção. Os dados, em si, não importam para o sistema. Se seguir as regras impostas pela área de negócios que está criando as funcionalidades, ele será aceito. Este software continuará funcionando como deveria até alguém alterar propositalmente o relacionamento entre o campo da tela e seu correspondente no seu banco de dados.</p>
<h4>Machine Learning</h4>
<p>Por outro lado, o projeto de Machine Learning faz uma tarefa diferente. Como o foco é direcionado para os dados, o valor existente nos campos armazenados são utilizados para montar o modelo de Machine Learning. Imagine que, em um processo de agrupamento de valores (pode ser o uso de um <a href="https://diegonogare.net/2015/08/entendendo-como-funciona-o-algoritmo-de-cluster-k-means/" target="_blank" rel="noopener noreferrer">algoritmo K-Means</a>, por exemplo) você utilizou as variáveis Data de Nascimento e Cidade. (desde que a cidade e a data de nascimento fossem armazenados com valores numéricos). Estes campos poderão encontrar uma determinada similaridade entre os dados e com isso há a segmentação em clusters. Com essa segmentação, um modelo poderia agrupar estes dados e o seu time de marketing poderia trabalhar de forma específica em cada grupo destes, de acordo com as combinações encontradas pelo algoritmo.</p>
<h4>Impacto</h4>
<p>Porém,  por uma decisão da área de negócios, agora o sistema começará a ser oferecido também para um público completamente diferente. Imagine que o publico mais jovem majoritariamente utilizasse o sistema até hoje, a partir de amanhã o publico mais velho vai passar a integrar também o publico alvo. O software está preparado para isso, vai receber esse novo público sem a necessidade de nenhuma alteração na tela de cadastro porque não há mudança entre o relacionamento da tela com o repositório. Contudo, as similaridades entre os dados de data de nascimento e cidade sofrerão alterações. Reparem que o dado influencia o resultado do algoritmo. E isso pode impactar em uma mudança no algoritmo de Machine Learning, mesmo o sistema não tendo nenhuma linha de código alterada.</p>
<p>Explicar esta condição para pessoas que estão acostumadas unicamente à desenvolvimento de software tradicional é um desafio. Muitas vezes passa a impressão que o desenvolvimento do modelo de Machine Learning precisará de suporte do desenvolvedor para sempre. Fazendo com que o cliente pague para um suporte e sustentação <em>ad aeternum</em>.</p>
<h2>Processo cíclico de Machine Learning</h2>
<p>Utilizando o diagrama da figura apresentada na capa deste post, é visto que o processo cíclico de Machine Learning envolve algumas fases. E isso remete ao processo trabalhado amplamente na atividade de <a href="https://diegonogare.net/2020/04/mineracao-de-dados-e-suas-ramificacoes/" target="_blank" rel="noopener noreferrer">mineração de dados</a>, onde se entende o dado antes de fazer um modelo. Em seu clássico livro <a href="https://www.amazon.com.br/gp/product/B006JAWFE4/ref=as_li_tl?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B006JAWFE4&amp;linkCode=as2&amp;tag=diegonogare-20&amp;linkId=a286922066137d06ae6aa992521540e5" target="_blank" rel="noopener noreferrer">The Data WarehouseETL Toolkit: Practical Techniques for Extracting, Cleaning, Conforming, and Delivering Data (English Edition)</a><img decoding="async" style="border: none !important; margin: 0px !important;" src="//ir-br.amazon-adsystem.com/e/ir?t=diegonogare-20&amp;l=am2&amp;o=33&amp;a=B006JAWFE4" alt="" width="1" height="1" border="0" /> Ralph Kimball diz que em processos de ETL se gastam mais de 70% do tempo realizando leitura e transformação dos dados. Em Machine Learning essa afirmação também é uma verdade, porém com poucas variações.</p>
<h3>Identificar, Extrair, Limpar e Refinar</h3>
<p>Esta fase do processo se assemelha ao descrito por Ralph Kimball para projetos de ETL. Porém, como é para Machine Learning, há algumas alterações. Identificar a origem dos dados é diferente, porque não são todos os dados que realmente impactam para a criação do modelo. Alguns dados não são relevantes, e podem ser removidos como é estudado na disciplina de <a href="https://www.amazon.com.br/gp/product/B07BNX4MWC/ref=as_li_tl?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B07BNX4MWC&amp;linkCode=as2&amp;tag=diegonogare-20&amp;linkId=d0407cbf774dc44bdad31c81b9c76185" target="_blank" rel="noopener noreferrer">Feature Engineering for Machine Learning: Principles and Techniques for Data Scientists (English Edition)</a>. Escolher as variáveis é uma tarefa complexa e devemos investir bastante tempo trabalhando neste momento.</p>
<p>Refinar os dados é uma outra tarefa que precisa ser trabalhada de forma pensada. Algumas variáveis possuem correlação alta entre si, e podem ser trabalhadas de forma a cria uma variável artificial para representar uma nova variável ao invés daquelas duas. Esta tarefa de refinamento pode ser estudada em disciplinas de estatística, e recomendo a leitura de <a href="https://www.amazon.com.br/gp/product/B07HKM4DPB/ref=as_li_tl?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B07HKM4DPB&amp;linkCode=as2&amp;tag=diegonogare-20&amp;linkId=342686c1b67a313a98ce8ee338fa8b77" target="_blank" rel="noopener noreferrer">Estatística Para Leigos</a><img decoding="async" style="border: none !important; margin: 0px !important;" src="//ir-br.amazon-adsystem.com/e/ir?t=diegonogare-20&amp;l=am2&amp;o=33&amp;a=B07HKM4DPB" alt="" width="1" height="1" border="0" /> e <a href="https://www.amazon.com.br/gp/product/8576086360/ref=as_li_tl?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=8576086360&amp;linkCode=as2&amp;tag=diegonogare-20&amp;linkId=a5b408563e4ba4f2f69dde5bab7455f1" target="_blank" rel="noopener noreferrer">Estatística II. Para Leigos</a><img decoding="async" style="border: none !important; margin: 0px !important;" src="//ir-br.amazon-adsystem.com/e/ir?t=diegonogare-20&amp;l=am2&amp;o=33&amp;a=8576086360" alt="" width="1" height="1" border="0" />.</p>
<h3>Criar o algoritmo e analisar uma amostragem</h3>
<p>Depois de se entender os dados é a hora de montar os algoritmos de Machine Learning, e cada problema condiz com a criação de um algoritmo de uma família específica. A escolha do algoritmo daquela família é baseada em sua performance, porque existem várias formas de se criar a mesma solução. A diferença entre os resultados dos algoritmos é baseado em sua performance. Para entender os algoritmos e suas métricas de avaliação, sugiro a leitura de <a href="https://www.amazon.com.br/gp/product/853528446X/ref=as_li_tl?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=853528446X&amp;linkCode=as2&amp;tag=diegonogare-20&amp;linkId=35a553a2b6c26aa69c24d053e5a63b94" target="_blank" rel="noopener noreferrer">Introdução à mineração de dados: com Aplicações em R</a><img loading="lazy" decoding="async" style="border: none !important; margin: 0px !important;" src="//ir-br.amazon-adsystem.com/e/ir?t=diegonogare-20&amp;l=am2&amp;o=33&amp;a=853528446X" alt="" width="1" height="1" border="0" /> e <a href="https://www.amazon.com.br/gp/product/8547200983/ref=as_li_tl?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=8547200983&amp;linkCode=as2&amp;tag=diegonogare-20&amp;linkId=8bed92117c0b1c0b7989c3d65897e23d" target="_blank" rel="noopener noreferrer">Introdução à mineração de dados: Conceitos básicos, algoritmos e aplicações</a><img loading="lazy" decoding="async" style="border: none !important; margin: 0px !important;" src="//ir-br.amazon-adsystem.com/e/ir?t=diegonogare-20&amp;l=am2&amp;o=33&amp;a=8547200983" alt="" width="1" height="1" border="0" />. Fazer uma amostragem mais genérica e plural nos dados é importante para garantir o mínimo de viés.</p>
<p>Só para exemplificar um cenário de impacto negativo de viés em algoritmo. No final de 2019 houve um problema gerado pela liberação de crédito para duas pessoas, que são casadas, mas o marido teve um crédito aprovado 20 vezes maior do que o da esposa. Nós discutimos um pouco sobre esse problema no <a href="https://www.lambda3.com.br/2019/11/lambda3-podcast-171-quem-e-responsavel-pelas-decisoes-tomadas-por-uma-inteligencia-artificial/" target="_blank" rel="noopener noreferrer">Lambda3 Podcast 171 – Quem é responsável pelas decisões tomadas por uma inteligência artificial?</a>. A falta de amostras, ou talvez o problema da amostra ter um viés causou um problema grande para os envolvidos.</p>
<h3>Tomar uma decisão</h3>
<p>Eu pensei em começar esse parágrafo escrevendo: &#8220;Por fim, a tomada de decisão&#8221;. Mas não é o fim! A tomada de decisão com os dados gerados é a validação do esforço construído durante todo o processo, e permitirá novos caminhos a partir destas decisões tomadas. Cada modelo de Machine Learning ajudará a responder uma pergunta, que auxilia na tomada de decisão. É esperado que essa tomada de decisão abra novas ideias e re-inicie o ciclo, começando novas perguntas que devem ser respondidadas.</p>
<p>O post <a href="https://diegonogare.net/2020/04/processo-ciclico-de-machine-learning/">Processo cíclico de Machine Learning</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3339</post-id>	</item>
	</channel>
</rss>
