<?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 mineracao de dados - Diego Nogare</title>
	<atom:link href="https://diegonogare.net/tags/mineracao-de-dados/feed/" rel="self" type="application/rss+xml" />
	<link>https://diegonogare.net/tags/mineracao-de-dados/</link>
	<description>Consultor Executivo de IA &#38; ML</description>
	<lastBuildDate>Tue, 15 Apr 2025 13:52: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 mineracao de dados - Diego Nogare</title>
	<link>https://diegonogare.net/tags/mineracao-de-dados/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">247556142</site>	<item>
		<title>Algoritmo Apriori para sistemas de recomendação</title>
		<link>https://diegonogare.net/2020/05/algoritmo-apriori-para-sistemas-de-recomendacao/</link>
		
		<dc:creator><![CDATA[Diego Nogare]]></dc:creator>
		<pubDate>Wed, 06 May 2020 12:00:28 +0000</pubDate>
				<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Apriori]]></category>
		<category><![CDATA[association rules]]></category>
		<category><![CDATA[mineracao de dados]]></category>
		<category><![CDATA[Regras de Associação]]></category>
		<category><![CDATA[Sistemas de Recomendação]]></category>
		<guid isPermaLink="false">http://diegonogare.net/?p=3405</guid>

					<description><![CDATA[<p>Sistemas de recomendação para por em prática as regras de associação Arrisco dizer que o algoritmo Apriori para sistemas de recomendação é a forma mais efetiva para colocar em prática as regras de associação. Mas isso só ocorre porque, para criar regras de forma efetiva, é necessário evitar o trabalho de força bruta. O princípio...</p>
<p>O post <a href="https://diegonogare.net/2020/05/algoritmo-apriori-para-sistemas-de-recomendacao/">Algoritmo Apriori para sistemas de recomendação</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Sistemas de recomendação</h1>
<h2>para por em prática as regras de associação</h2>
<p>Arrisco dizer que o algoritmo Apriori para sistemas de recomendação é a forma mais efetiva para colocar em prática as <a href="https://diegonogare.net/2020/05/explicando-o-algoritmo-de-regra-de-associacao/" target="_blank" rel="noopener noreferrer">regras de associação</a>. Mas isso só ocorre porque, para criar regras de forma efetiva, é necessário evitar o trabalho de força bruta.</p>
<p>O princípio do algoritmo Apriori diz que um <em><strong>𝑘−𝑖𝑡𝑒𝑚𝑠𝑒𝑡</strong></em> só será entendido como frequente se todos seus <em><strong>(𝑘−1)−𝑖𝑡𝑒𝑚𝑠𝑒𝑡</strong></em> forem frequentes. Ou seja, um conjunto de itens é frequente se seu suporte, que é a segmentação de registros criando um subconjunto de dados que contém os itens, está acima de um determinado limite mínimo (pode ser chamado de suporte mínimo). Ao se decompor este comportamento em duas fases distintas, pode-se encontrar o subconjunto de itens frequentes quando estes itens satisfazem o mínimo de suporte. E para gerar as regras de associação, a partir destes itens frequentes, deve satisfazer o mínimo da confiança (pode ser chamada de confiança mínima).</p>
<p>Um padrão encontrado nas transações pode ser considerado confiável se ele aparecer em uma alta porcentagem de casos aplicáveis. Contudo, para se trabalhar com regras de associação, também é entendido que o algoritmo é confiável se tiver um valor de confiança alto. A tarefa de encontrar os itens frequentes dentro do conjunto de dados é repetitiva, e se encerra quando a combinação de itens frequentes não for mais satisfatória.</p>
<h2>Aplicação do Algoritmo Apriori</h2>
<p>Na primeira iteração do processo, o algoritmo gera o<em><strong> 1−𝑖𝑡𝑒𝑚𝑠𝑒𝑡</strong></em>, onde a combinação destes elementos é superior ao suporte que foi definido. Os elementos que satisfazem o valor mínimo de suporte são então selecionados e combinados, gerando o <em><strong>2−𝑖𝑡𝑒𝑚𝑠𝑒𝑡</strong></em>, e mais uma vez o suporte para esse novo conjunto é calculado. Novamente há uma iteração do processo selecionando itens que satisfaçam o mínimo de suporte e combinada com o conjunto de itens anterior, criando o <em><strong>3−𝑖𝑡𝑒𝑚𝑠𝑒𝑡</strong></em>. E assim segue com as iterações até que o sub-conjunto de itens criado não satisfaça o valor mínimo de suporte, deixando de ser considerado um conjunto de item frequente.</p>
<p>Por exemplo, imagine que esta ilustração em forma de grafo é uma base de dados que será utilizada para criar as regras de associação.</p>
<p><img data-recalc-dims="1" fetchpriority="high" decoding="async" class="alignnone size-full wp-image-3408" src="https://i0.wp.com/diegonogare.net/wp-content/uploads/2020/05/base_apriori.jpg?resize=600%2C473&#038;ssl=1" alt="base apriori" width="600" height="473" srcset="https://i0.wp.com/diegonogare.net/wp-content/uploads/2020/05/base_apriori.jpg?w=600&amp;ssl=1 600w, https://i0.wp.com/diegonogare.net/wp-content/uploads/2020/05/base_apriori.jpg?resize=300%2C237&amp;ssl=1 300w" sizes="(max-width: 600px) 100vw, 600px" /></p>
<p>Lembre-se que, se um item é considerado frequente, então todos seus subitens também são considerados frequentes. Para entender essa afirmação, observe a ilustração abaixo (com as marcações em azul) no qual o item <strong>𝐶𝐷𝐸</strong> foi considerado frequente, e consequentemente todos os itens anteriores àquele elemento também são considerados frequentes. A cor azul destaca os nós que foram considerados frequentes dada essa afirmação<strong> 𝐶𝐷</strong>, <strong>𝐶𝐸</strong>,<strong> 𝐷𝐸</strong>,<strong> 𝐶</strong>,<strong> 𝐷</strong> e<strong> 𝐸</strong>, incluindo o conjunto vazio, NULL.</p>
<p><img data-recalc-dims="1" decoding="async" class="alignnone wp-image-3407 size-full" src="https://i0.wp.com/diegonogare.net/wp-content/uploads/2020/05/base_apriori_frequente.jpg?resize=600%2C473&#038;ssl=1" alt="Apriori frequente" width="600" height="473" srcset="https://i0.wp.com/diegonogare.net/wp-content/uploads/2020/05/base_apriori_frequente.jpg?w=600&amp;ssl=1 600w, https://i0.wp.com/diegonogare.net/wp-content/uploads/2020/05/base_apriori_frequente.jpg?resize=300%2C237&amp;ssl=1 300w" sizes="(max-width: 600px) 100vw, 600px" /></p>
<p>&nbsp;</p>
<p>Seguindo a mesma estratégia, porém com a lógica invertida, a imagem abaixo (com as marcações em rosa) apresenta o conjunto<strong> 𝐴𝐵</strong> que não foi considerado frequente, logo os itens derivados deste item <strong>𝐴𝐵</strong> também serão desconsiderados e não terão regras sendo criadas para os itens <strong>𝐴𝐵𝐶</strong>, <strong>𝐴𝐵𝐷</strong>, <strong>𝐴𝐵𝐸</strong>, <strong>𝐴𝐵𝐶𝐷</strong>, <strong>𝐴𝐵𝐶𝐸</strong>, <strong>𝐴𝐵𝐷𝐸</strong> e <strong>𝐴𝐵𝐶𝐷𝐸</strong>. Com destaque em rosa estão os nós dos itens que foram desconsiderados para a criação das regras.</p>
<p><img data-recalc-dims="1" decoding="async" class="alignnone wp-image-3409 size-full" src="https://i0.wp.com/diegonogare.net/wp-content/uploads/2020/05/base_apriori_nao_frequente.jpg?resize=600%2C473&#038;ssl=1" alt="apriori não frequente" width="600" height="473" srcset="https://i0.wp.com/diegonogare.net/wp-content/uploads/2020/05/base_apriori_nao_frequente.jpg?w=600&amp;ssl=1 600w, https://i0.wp.com/diegonogare.net/wp-content/uploads/2020/05/base_apriori_nao_frequente.jpg?resize=300%2C237&amp;ssl=1 300w" sizes="(max-width: 600px) 100vw, 600px" /></p>
<p>&nbsp;</p>
<h2>Métodos de avaliação do algoritmo</h2>
<p>Como métodos validados que permitem avaliar a criação das regras de associação, pode-se destacar:</p>
<ul>
<li>Medidas objetivas com base em probabilidade de <strong>suporte</strong> e <strong>confiança</strong>;</li>
<li>Medidas subjetivas que definem <strong>peculiaridade</strong> e <strong>surpresa</strong> dos dados.</li>
</ul>
<p>As métricas de <a href="https://diegonogare.net/2020/05/explicando-o-algoritmo-de-regra-de-associacao/" target="_blank" rel="noopener noreferrer"><strong>Suporte</strong> e <strong>Confiança</strong></a> já foram discutidas em outro texto.</p>
<p><strong>Peculiaridade</strong>: A medida pode ser considerada peculiar se estiver distante de outros padrões descobertos, se baseando em alguma medida de distância. Padrões peculiares são gerados com dados peculiares, que na estatística são conhecidos como <em>outliers</em>. Espera-se que tenha baixa representatividade absoluta na base de dados, e por causa disso, seja significativamente diferente do restante dos dados. Padrões peculiares geralmente são desconhecidos para os usuários, isso traz à tona uma característica interessante que pode passar despercebida pela área de negócio que solicitou o projeto.</p>
<p><strong>Surpresa</strong>: Para um padrão ser surpreendente, é esperado que ele contradiga o senso comum, ou expectativas, de um usuário ao analisar o resultado. Um padrão que é uma exceção à regra, ou seja, foge de um padrão geral que já foi descoberto, também podem ser considerados surpreendente. Em grande parte dos casos são descobertas interessantes, porque destacam divergência de conhecimento prévio e pode sugerir uma abordagem de que haja dados que precisam de mais estudos.</p>
<blockquote><p>Muitas vezes, resultados que apresentam peculiaridade e surpresa, incomodam os &#8220;<span style="text-decoration: underline;">donos de verdades absolutas</span>&#8220;. Isso porque estas pessoas não esperavam que o comportamento coletivo fosse diferente do que se era desejado/esperado, baseado em suas crenças.</p></blockquote>
<h2>Material de referência</h2>
<p>Como este texto é continuação do que escrevi sobre <a href="https://diegonogare.net/2020/05/explicando-o-algoritmo-de-regra-de-associacao/" target="_blank" rel="noopener noreferrer">Explicando o algoritmo de Regra de Associação</a>, as referências são as mesmas. Usei o livro <a href="https://www.amazon.com.br/gp/product/8573937610/ref=as_li_tl?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=8573937610&amp;linkCode=as2&amp;tag=diegonogare-20&amp;linkId=d88402b92d014505ad17511837e12933" target="_blank" rel="noopener noreferrer">Introdução ao Data Mining. Mineração de Dados</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=8573937610" alt="" width="1" height="1" border="0" /> e também <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=4f2476b9910ea659000c3b1084352542" 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 o artigo <a href="https://dl.acm.org/doi/10.1145/1132960.1132963" target="_blank" rel="noopener noreferrer">Interestingness measures for data mining: A survey</a>.</p>
<p>O post <a href="https://diegonogare.net/2020/05/algoritmo-apriori-para-sistemas-de-recomendacao/">Algoritmo Apriori para sistemas de recomendação</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3405</post-id>	</item>
		<item>
		<title>Explicando o algoritmo de Regra de Associação</title>
		<link>https://diegonogare.net/2020/05/explicando-o-algoritmo-de-regra-de-associacao/</link>
		
		<dc:creator><![CDATA[Diego Nogare]]></dc:creator>
		<pubDate>Mon, 04 May 2020 13:24:40 +0000</pubDate>
				<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[association rules]]></category>
		<category><![CDATA[mineracao de dados]]></category>
		<category><![CDATA[Regras de Associação]]></category>
		<guid isPermaLink="false">http://diegonogare.net/?p=3390</guid>

					<description><![CDATA[<p>Como recomendar algo a partir de experiências passadas Como acontece com refatoração no desenvolvimento de software, ví a importância de escrever um outro texto explicando o algoritmo de Regra de Associação. Por exemplo, em 2014, eu já havia postado sobre este assunto, porém foi com uma implementação no SQL Server 2014. Ao re-ler o texto,...</p>
<p>O post <a href="https://diegonogare.net/2020/05/explicando-o-algoritmo-de-regra-de-associacao/">Explicando o algoritmo de Regra de Associação</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Como recomendar algo</h1>
<h2>a partir de experiências passadas</h2>
<p>Como acontece com refatoração no desenvolvimento de software, ví a importância de escrever um outro texto explicando o algoritmo de Regra de Associação. Por exemplo, em 2014, eu já havia postado sobre este assunto, porém foi com uma <a href="https://diegonogare.net/2014/08/algoritmo-de-regras-associativas-association-rules-no-data-mining-do-sql-server-2014/" target="_blank" rel="noopener noreferrer">implementação no SQL Server 2014</a>. Ao re-ler o texto, contudo, senti falta de algumas coisas importantes.</p>
<h2>Regras de Associação</h2>
<p>As regras de associação permitem que elementos em um conjunto de dados sejam expressos como <strong>𝑋→𝑌</strong>, e lê-se 𝑋 implica em 𝑌, desde que 𝑋 e 𝑌 sejam sub-conjuntos da base de dados em questão e os conjuntos de itens não tenham intereceptação entre si <strong>𝑋∩𝑌</strong>.</p>
<p>Como exemplo, <strong>{𝑙𝑒𝑖𝑡𝑒,𝑝ã𝑜}→{𝑜𝑣𝑜𝑠}</strong> é uma associação que diz que quando se encontra os itens <strong>𝑙𝑒𝑖𝑡𝑒</strong> e <strong>𝑝ã𝑜</strong> em uma ocorrência, é esperado que o <strong>𝑜𝑣𝑜𝑠</strong> também apareça na transação.</p>
<p>A regra de associação pode ser feita através de um processo exaustivo computacionalmente, e que resulta em um conjunto de regras bastante expressivo mesmo com um conjunto de dados pequeno. Uma alternativa elegante para esse cálculo é já definir o suporte e confiança na parametrização do algoritmo para que haja a poda de regras que não atendam esse valor mínimo aceitável.</p>
<p>Seguindo essa abordagem, para avaliar a qualidade de associação do algoritmo, os termos de suporte e confiança devem ser utilizados. O suporte implica na frequência de vezes que uma determinada regra é aplicável ao conjunto de dados, e a confiança é a frequência na qual os elementos de 𝑌 aparecem no conjunto de dados com transações que possuem 𝑋.</p>
<h2>Formalização matemática</h2>
<p>A equação do suporte é dada por:</p>
<p><img data-recalc-dims="1" loading="lazy" decoding="async" class="alignnone size-full wp-image-3393" src="https://i0.wp.com/diegonogare.net/wp-content/uploads/2020/05/Suporte.png?resize=262%2C39&#038;ssl=1" alt="Suporte" width="262" height="39" /></p>
<p>e o cálculo da confiança é:</p>
<p><img data-recalc-dims="1" loading="lazy" decoding="async" class="alignnone size-full wp-image-3392" src="https://i0.wp.com/diegonogare.net/wp-content/uploads/2020/05/Confianca.png?resize=286%2C44&#038;ssl=1" alt="Confianca" width="286" height="44" /></p>
<p>Formalmente pode-se definir que uma regra de associação possui um conjunto de dados, representado por <strong>𝐼={𝑖1,𝑖2,&#8230;,𝑖𝑛}</strong>. Também possui um conjunto de transações, onde cada transação <strong>𝑇</strong> é um sub-conjunto de <strong>𝑇⊆𝐶</strong>, e que a implicação dos subitens <strong>𝑋→𝑌</strong>, sendo que <strong>𝑋⊂𝐼, 𝑌⊂𝐼, 𝑋∩𝑌=𝜙</strong>.</p>
<h3>Exemplo 1</h3>
<p>Para exemplificar a aplicação de suporte e confiança na geração de regras de associação, imagine esta base de dados com transações. Onde <strong>Zero</strong> significa que não havia o item na compra, e <strong>Um</strong> significa que o item estava na compra. Cada linha é uma transação e a coluna é o item no pedido.</p>
<table width="0%">
<tbody>
<tr>
<td><strong>ID</strong></td>
<td><strong>Leite</strong></td>
<td><strong>Pão</strong></td>
<td><strong>Ovos</strong></td>
</tr>
<tr>
<td><strong>1</strong></td>
<td>1</td>
<td>0</td>
<td>1</td>
</tr>
<tr>
<td><strong>2</strong></td>
<td>1</td>
<td>1</td>
<td>0</td>
</tr>
<tr>
<td><strong>3</strong></td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td><strong>4</strong></td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td><strong>5</strong></td>
<td>0</td>
<td>0</td>
<td>1</td>
</tr>
</tbody>
</table>
<p>Ao se observar a base de dados, são encontradas cinco transações (linhas) e três produtos (colunas). A regra gerada que explica<strong> 𝑙𝑒𝑖𝑡𝑒→𝑝ã𝑜</strong> tem o suporte de 0.60, porque ela aparece em três das cinco transações encontradas na base de dados ( 3/5=0.6 ).</p>
<p>Já a confiança desta regra é de 0.75 porque o <strong>𝑝ã𝑜</strong> aparece em três transações, das quatro vezes que existe <strong>𝑙𝑒𝑖𝑡𝑒</strong> na base de dados ( 3/4=0.75 ).</p>
<h3>Exemplo 2</h3>
<p>Uma nova base de dados, mas seguindo a mesma ideia de <strong>Zeros</strong> onde aquele item não estava presente na transação e o <strong>Um</strong> estava.</p>
<table width="0%">
<tbody>
<tr>
<td><strong>ID</strong></td>
<td><strong>Pão</strong></td>
<td><strong>Leite</strong></td>
<td><strong>Fralda</strong></td>
<td><strong>Cerveja</strong></td>
<td><strong>Ovo</strong></td>
<td><strong>Café</strong></td>
</tr>
<tr>
<td><strong>1</strong></td>
<td>1</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td><strong>2</strong></td>
<td>1</td>
<td>0</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>0</td>
</tr>
<tr>
<td><strong>3</strong></td>
<td>0</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td>1</td>
</tr>
<tr>
<td><strong>4</strong></td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td><strong>5</strong></td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>1</td>
</tr>
</tbody>
</table>
<p>Ao analisar a regra <em><strong>{Leite, Fralda} → Cerveja </strong></em>é possível ver que existem estes três itens (<strong>Leite, Fralda e Cerveja</strong>) comprados em conjunto apenas duas vezes nas cinco transações, gerando um suporte de 0.4 (2/5=0.4). E, então, a confiança é calculada a partir do resultado do suporte para os itens totais (<strong>Leite, Fralda e Cerveja</strong>) que é encontrado duas vezes, divididos pelo suporte dos itens predecessores (<strong>Leite e Fralda</strong>), que foram encontrados três veses. Gerando a confiança de 0.66 (2/3 = 0.66).</p>
<p>Para esse conjunto de dados, utilizando o processo de força bruta, seriam criadas 602 regras. Esse número se dá pela formalização da equação <strong>𝑅𝑒𝑔𝑟𝑎𝑠=3𝑑−2𝑑+1+1</strong>. Sendo que D é o numero de itens (no caso, os 6 produtos possíveis). Ao encontrar estas 602 regras, mais de 80% delas seriam inúteis ao utilizar os métodos de avaliação de suporte = 20% e confiança = 50%, sendo então apropriado evitar o processo de força bruta para não desperdiçar poder computacional e tempo.</p>
<h2>Melhorando a abordagem</h2>
<blockquote><p>Uma definição formal aceita para o algoritmo de regras de associação diz que a regra <strong>𝑋→𝑌</strong> é válida para o conjunto de dados <strong>𝐷</strong> com suporte <strong>𝑆</strong> e confiança <strong>𝐶</strong>. Se o % do <strong>𝑆</strong> das transações em <strong>𝐷</strong> contiverem <strong>𝑋∪𝑌</strong> e % mínimo de <strong>𝐶</strong> das transações em <strong>𝐷</strong> que contêm <strong>𝑋</strong> também conter <strong>𝑌</strong>.</p></blockquote>
<p>Uma abordagem para melhorar o poder computacional do algoritmo sugere que o processo seja dividido em duas fases, sendo:</p>
<ul>
<li><em>Geração de itens frequentes</em>: Todos os itens que forem definidos como frequentes, por satisfazer o mínimo de suporte definido no início do algoritmo.</li>
<li><em>Geração das regras</em>: Extrair todas as regras que satisfaçam a confiança, a partir dos dados gerados pelos itens frequentes.</li>
</ul>
<p>E esta abordagem deixa o gancho para a próxima publicação, que vou falar sobre o algoritmo Apriori, que é importante para seguir explicando o algoritmo de Regra de Associação.</p>
<h2>Material de referência</h2>
<p>Para trabalhar com Regra de Associação na minha <a href="https://diegonogare.net/2020/02/mestrado-em-inteligencia-artificial-e-astrofisica/" target="_blank" rel="noopener noreferrer">dissertação do mestrado</a>, usei referências de <a href="https://www.amazon.com.br/gp/product/8573937610/ref=as_li_tl?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=8573937610&amp;linkCode=as2&amp;tag=diegonogare-20&amp;linkId=d88402b92d014505ad17511837e12933" target="_blank" rel="noopener noreferrer">Introdução ao Data Mining. Mineração de Dados</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=8573937610" alt="" width="1" height="1" border="0" /> que é bastante raro de encontrar para vender hoje em dia. Mas também usei <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=4f2476b9910ea659000c3b1084352542" 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" /> que ainda é facilmente encontrado. Porém, uma outra referência que usei (mas que não é de livro) é do artigo <a href="https://dl.acm.org/doi/10.1145/1132960.1132963" target="_blank" rel="noopener noreferrer">Interestingness measures for data mining: A survey</a>.</p>
<p>&nbsp;</p>
<p>O post <a href="https://diegonogare.net/2020/05/explicando-o-algoritmo-de-regra-de-associacao/">Explicando o algoritmo de Regra de Associação</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3390</post-id>	</item>
		<item>
		<title>Mineração de dados e suas ramificações</title>
		<link>https://diegonogare.net/2020/04/mineracao-de-dados-e-suas-ramificacoes/</link>
		
		<dc:creator><![CDATA[Diego Nogare]]></dc:creator>
		<pubDate>Mon, 13 Apr 2020 12:00:39 +0000</pubDate>
				<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Análise Exploratória Descritiva]]></category>
		<category><![CDATA[Análise Preditiva]]></category>
		<category><![CDATA[Aprendizagem de Máquina]]></category>
		<category><![CDATA[Descoberta de Padrões]]></category>
		<category><![CDATA[mineracao de dados]]></category>
		<guid isPermaLink="false">http://diegonogare.net/?p=3306</guid>

					<description><![CDATA[<p>Por onde começar a analisar os dados para criar um caminho assertivo na tomada de decisão Quem pretende começar a fazer uma análise em cima de dados, pode ter algumas dúvidas sobre onde começar, isso porque há muitos caminhos a seguir na mineração de dados e suas ramificações. Com estas áreas de estudos, é possível...</p>
<p>O post <a href="https://diegonogare.net/2020/04/mineracao-de-dados-e-suas-ramificacoes/">Mineração de dados e suas ramificações</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Por onde começar a analisar os dados</h1>
<h2>para criar um caminho assertivo na tomada de decisão</h2>
<p>Quem pretende começar a fazer uma análise em cima de dados, pode ter algumas dúvidas sobre onde começar, isso porque há muitos caminhos a seguir na mineração de dados e suas ramificações. Com estas áreas de estudos, é possível identificar o que fazem e como aplicar em seus projetos. Não existe inteligência artificial sem mineração de dados, e<a href="https://diegonogare.net/2020/04/primeiros-passos-em-machine-learning/" target="_blank" rel="noopener noreferrer"> independente de qual linguagem de programação</a> vai escolher para trabalhar, você precisará aprender a minerar os dados.</p>
<h2>Mineração de Dados</h2>
<p>Mineração de Dados faz parte de um processo mais amplo conhecido como descoberta de conhecimento em base de dados (<em>Knowledge Discovery in Database &#8211; KDD</em>). Esta terminologia é uma referência à mineração tradicional, onde minas são exploradas em busca de minérios ou pedras preciosas, e para encontrar cada um destes elementos são utilizadas ferramentas específicas. Por isso a referência à estas pedras preciosas na imagem de capa deste texto. Por exemplo, em mineração de dados pode-se criar um paralelo e dizer que as bases de dados são as minas, os minérios ou pedras preciosas são os conhecimentos extraídos dos dados e as ferramentas específicas são os algoritmos.</p>
<p>O processo de mineração de dados pode ser dividido em duas grandes vertentes. Em primeiro lugar a <strong>Análise Descritiva</strong> e em segundo a<strong> Análise Preditiva</strong>. A Análise Descritiva apresenta as características gerais dos dados, possibilitando que sejam encontrados padrões de comportamento e conhecimento que os usuários nem imaginavam que existiam. Por outro lado, na Análise Preditiva, são criados modelos formais que permitem estimar, classificar ou agrupar dados, a partir de determinados comportamentos que foram aprendidos e encontrados na Análise Descritiva.</p>
<p>Existem linhas de pesquisa que apontam a mineração de dados como uma vertente do Machine Learning. Ambos processos se preocupam em encontrar padrões comportamentais, técnicas e algoritmos também são comuns de se encontrar nas duas áreas. Na tentativa de diferenciar os dois, processos de Machine Learning possuem características de melhorias de desempenho e evolução dos reconhecimentos, enquanto a Mineração de Dados procura explicar os padrões utilizando técnicas de análise de dados descritiva.</p>
<h3><strong>Análise Descritiva &#8211; </strong>Análise exploratória descritiva</h3>
<p>Durante o processo de descoberta do conhecimento é esperado que os resultados sejam facilmente entendidos, permitindo uma compreensão mais apropriada por quem está lendo. Por isso é bastante comum utilizar elementos gráficos para representar esses conhecimentos descobertos e seus padrões.</p>
<p>A análise exploratória permite descobrir padrões e comportamento nos dados, possibilitando um melhor entendimento da base de dados que se está trabalhando. Com esta técnica é possível investigar como está distribuída a frequência de ocorrência dos dados, entender as médias móveis além de calcular as medidas de posição relativa e absoluta. É comum encontrar uma combinação das descrições com representação visual, suportando uma análise gráfica dos dados.</p>
<p>Os gráficos permitem um acompanhamento e visualização das características e padrões encontrados nos dados. É comum criar histogramas, diagramas de caixas, diagrama de dispersão e gráfico de setores para descobrir o comportamento geral dos dados. Contudo também são utilizados para permitir a comparação entre o subconjunto real e os resultados da predição. Isso para medir a performance de desempenho do modelo preditivo.</p>
<h3><strong>Análise Descritiva &#8211; </strong>Descoberta de Padrões</h3>
<p>Padrões são conhecimentos apresentados formalmente, e como são mais simples que os dados propriamente ditos, são apresentados através de uma linguagem formal. Se esse padrão possui uma forma que seja possível de um humano ler e interpretar, ele é considerado um padrão compreensível. Uma das linguagens formais para representar padrão amplamente utilizada é a linguagem de equações. Se deseja somar os valores de duas variáveis, é possível utilizar o símbolo de adição e quem for interpretar aquela equação sabe o que o padrão representa. É um padrão compreensível para nós, humanos. Contudo, nem todos os padrões matemáticos são</p>
<p>&nbsp;</p>
<h3><strong>Análise Preditiva &#8211; </strong>Machine Learning</h3>
<p>Nenhuma aprendizagem é imediata, seja ela biológica ou artificial. Contudo, como conhecimento adquirido é gradual, a evolução da aprendizagem depende de adaptação e interação com o ambiente da qual estão inseridos. Isso quer dizer que sistemas capazes de se adaptar, ou mudar seu comportamento, de forma automática ou através de exemplos, são considerados sistemas de Machine Learning.</p>
<p>O Machine Learning, como área de estudo, se preocupa com o desenvolvimento de métodos para suportar e melhorar o conhecimento ou desempenho de um agente inteligente. Esse melhoramento é esperado que aconteça ao longo do tempo, se adaptando às experiências vividas pelo agente no contexto inserido.</p>
<p>Em mineração de dados a aprendizagem se refere ao processo de treinamento do modelo preditivo. Mas sua construção ou ajuste, precisa se adaptar às regras pré-estabelecidas e se moldar de acordo com o comportamento dos dados ao longo do tempo, buscando melhorar seu resultado.</p>
<h3>Paradigmas de Aprendizagem de Máquina</h3>
<p>As formas de Aprendizagem de Máquina são definidas, principalmente, entre supervisionadas e não supervisionadas. Contudo, deixando de lado a complexidade destas diferenças, podemos separar as duas observando a existência de uma variável alvo. Isso porque, quando existe uma variável alvo definida e o modelo tem o objetivo de responder à essa variável, o paradigma de aprendizagem é chamado de supervisionado. Quando não existe, podemos chamá-lo de não supervisionado.</p>
<p>Uma condição imprescindível para esse processo de aprendizagem é que devem existir dados que expliquem a variável alvo. E a variável alvo deve conter os rótulos necessários para a resposta da formulação do problema.</p>
<p>Contudo, quando não há uma variável alvo, todos as outras variáveis que foram utilizadas para criarem o modelo são comparadas por similaridade ou distância, e são encontrados possíveis resultados. Existem situações nas quais os grupos de similaridades não representam o que é desejado encontrar para responder a formulação do problema. Esse comportamento é conhecido como não supervisionado.</p>
<p>&nbsp;</p>
<h3>Referências</h3>
<p>Se quiser aprofundar seus estudos em mineração de dados e suas ramificações, os três livros que usei como referência para escrever este texto foram <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=94fdbd34ddc07ae367f9b70fbd6f9cbb" 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" /> e  <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=e46c1ae0ffdd91cee662fa8f5d3347d1" 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" />. Estes dois de mineração de dados foram escritos por professores que me deram aulas durante o mestrado. E também o <a href="https://www.amazon.com.br/gp/product/8576089726/ref=as_li_tl?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=8576089726&amp;linkCode=as2&amp;tag=diegonogare-20&amp;linkId=74f0b1d609ffa751050144fc5a271563" target="_blank" rel="noopener noreferrer">Data Science Para Negócios</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=8576089726" alt="" width="1" height="1" border="0" />, que é outro livro importante da nossa área.</p>
<p>O post <a href="https://diegonogare.net/2020/04/mineracao-de-dados-e-suas-ramificacoes/">Mineração de dados e suas ramificações</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3306</post-id>	</item>
		<item>
		<title>Azure Machine Learning – Matriz de Confusão – Parte 4</title>
		<link>https://diegonogare.net/2015/01/azure-machine-learning-matriz-de-confusao-parte-4/</link>
		
		<dc:creator><![CDATA[Diego Nogare]]></dc:creator>
		<pubDate>Mon, 05 Jan 2015 14:02:42 +0000</pubDate>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[BigData]]></category>
		<category><![CDATA[business intelligence]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[data mining]]></category>
		<category><![CDATA[inteligencia artificial]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[mineracao de dados]]></category>
		<guid isPermaLink="false">http://diegonogare.net/?p=1130</guid>

					<description><![CDATA[<p>Fala galera, a primeira publicação do ano é realtiva à Matriz de Confusão, também chamada em algumas literaturas de tabela de contingência. Basicamente esta tabela valida o aprendizado supervisionado, comparando sua base de testes com a base treinada, e indica o quanto de acerto e erro ela teve. Este resultado é o que apresenta a...</p>
<p>O post <a href="https://diegonogare.net/2015/01/azure-machine-learning-matriz-de-confusao-parte-4/">Azure Machine Learning – Matriz de Confusão – Parte 4</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Fala galera, a primeira publicação do ano é realtiva à Matriz de Confusão, também chamada em algumas literaturas de tabela de contingência. Basicamente esta tabela valida o aprendizado supervisionado, comparando sua base de testes com a base treinada, e indica o quanto de acerto e erro ela teve. Este resultado é o que apresenta a acuracia do seu experimento.</p>
<p>Voltando ao exemplo que fiz para o <a href="https://www.youtube.com/watch?v=ZLrPm6K2Zww" target="_blank" rel="noopener noreferrer">Codificando Live de Edição #43</a>, onde analisamos uma base de alimentos e definimos alguns itens da amostra como misturas ou não. A matrix aparece aos 20m32s de vídeo onde é rapidamente apresentada a acuracia, logo abaixo da curva ROC, no item <em>Evaluation Model Result</em>.</p>
<p>Se reparar no vídeo, o treino do modelo é feito com 80% da base que fizemos o upload e é mantido 20% para testes (esta divisão acontece na tarefa de split). É com esta base de testes, que já temos conhecimento do resultado, que a matriz vai validar a coluna de predição informada no treino. Ela aplica o que treinou em cima desta base de teste, e compara se o resultado que ela obteve é igual ao que está nos dados originais. Resultando na seguinte estrutura:</p>
<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/blogdiegonogare.azurewebsites.net/wp-content/uploads/2015/01/010515_1402_AzureMachin1-2.png?w=640" alt="" /></p>
<p>Onde alguns valores são absolutos, baseados na classificação binária de erro ou acerto, que são:</p>
<h2>True Positive:</h2>
<p>Ele entende que as misturas foram analisadas e classificadas como mistura (acertou a mistura). Neste caso, é 16.</p>
<h2>False Positive:</h2>
<p>Ele entende que as misturas foram analisadas e classificadas como não mistura (errou a mistura, classificando como outro prato). Neste caso, é 5.</p>
<h2>True Negative:</h2>
<p>Ele entendeu o que não era mistura (era outro prato) e classificou como outro prato (acertou que não era uma mistura). Neste caso, é 54.</p>
<h2>False Negative:</h2>
<p>Ele entende que os outros pratos (não misturas) foram classificados como mistura (errou o outro prato). Neste caso, é 0.</p>
<p>&nbsp;</p>
<p>Já outros são baseados em cálculos matemáticos simples, como estes abaixo:</p>
<p><strong>∑ Positivos = <span style="text-decoration: underline;">Acertos</span> = True Positive + False Negative<br />
</strong></p>
<p><strong>∑ Negativos = <span style="text-decoration: underline;">Erros</span> = False Positive + True Negative<br />
</strong></p>
<h2>Acuracy (acurácia):</h2>
<p><strong>(True Positive + True Negative) / (∑ Positivos + ∑ Negativos)<br />
</strong></p>
<p>Com nossos números: (16 + 54) / ((16+0) + (5+54)) =&gt; 70 / 75 = 0.9333</p>
<h2>Precision (precisão):</h2>
<p><strong>(True Positive) / (True Positive + False Positive)<br />
</strong></p>
<p>Com nossos números: (16) / (16 + 5) =&gt; 16 / 21 = 0.7619</p>
<h2>Recall:</h2>
<p><strong>True Positive / ∑ Positivos<br />
</strong></p>
<p>Com nossos números: 16 / (16+0) =&gt; 16 / 16 = 1</p>
<h2>F1 Score:</h2>
<p><strong>(2* True Positive) / (2* True Positive + False Positive + False Negative)<br />
</strong></p>
<p>Com nossos números: (2*16) / (2*16 + 5 + 0) =&gt; 32 / 37 = 0.8648</p>
<p>&nbsp;</p>
<p>Com estes números, e mais a curva ROC e o AUC, é possível validar os valores do seu experimento e saber se está aceitável ou não. Quanto mais exemplos tiver na base de treino, mais precisa será a coluna de predição porque o computador vai aprender com mais exemplos.</p>
<p>O post <a href="https://diegonogare.net/2015/01/azure-machine-learning-matriz-de-confusao-parte-4/">Azure Machine Learning – Matriz de Confusão – Parte 4</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1130</post-id>	</item>
		<item>
		<title>Azure Machine Learning – Introdução – Parte 3</title>
		<link>https://diegonogare.net/2014/12/azure-machine-learning-introducao-parte-3/</link>
		
		<dc:creator><![CDATA[Diego Nogare]]></dc:creator>
		<pubDate>Thu, 04 Dec 2014 21:00:01 +0000</pubDate>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[BigData]]></category>
		<category><![CDATA[business intelligence]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[data mining]]></category>
		<category><![CDATA[inteligencia artificial]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[mineracao de dados]]></category>
		<guid isPermaLink="false">http://diegonogare.net/?p=1119</guid>

					<description><![CDATA[<p>Fala galera, esta é a terceira e última parte de introdução ao Azure Machine Learning. Fiz de propósito nesta ordem, criando o ambiente somente agora, para você saber onde está se metendo antes de sair criando as coisas e só depois descobrir que não era o que precisava. Mas agora que você já viu que...</p>
<p>O post <a href="https://diegonogare.net/2014/12/azure-machine-learning-introducao-parte-3/">Azure Machine Learning – Introdução – Parte 3</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/blogdiegonogare.azurewebsites.net/wp-content/uploads/2014/12/120414_2054_AzureMachin1-2.png?w=640" alt="" /></p>
<p>Fala galera, esta é a terceira e última parte de introdução ao Azure Machine Learning. Fiz de propósito nesta ordem, criando o ambiente somente agora, para você saber onde está se metendo antes de sair criando as coisas e só depois descobrir que não era o que precisava. Mas agora que você já viu que existem algumas categorias de algoritmos para trabalhar com Data Mining e Inteligência Artificial e tem ideia de como eles podem ajudar na solução dos seus problemas, nós vamos agora criar o ambiente para trabalhar em nossos experimentos, e partir para os próximos posts que não serão mais introdutórios!</p>
<p>A primeira coisa a se fazer é acessar o Portal do Azure e criar um novo serviço pro Machine Learning. Importante garantir que o nome da Workspace e do Storage sejam válidos, isso pode ser verificado com o check verde ao lado do nome que você criou. No meu caso é BlogNogareML pro workspace e blognogareml (tudo minusculo) pro storage.</p>
<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/blogdiegonogare.azurewebsites.net/wp-content/uploads/2014/12/120414_2054_AzureMachin2-1.png?w=640" alt="" /></p>
<p>Depois de criado o ambiente, uma entrada do Azure Machine Learning fica disponível a partir do menu da esquerda. Acesse este menu e veja o item que você acabou de criar, no meu caso o BlogNogareML. Ao clicar neste item, vá até o Open in Studio, para chegar até a IDE web-based, onde é possível criar as bases de dados particulares e realizar os experimentos.</p>
<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/blogdiegonogare.azurewebsites.net/wp-content/uploads/2014/12/120414_2054_AzureMachin3-2.png?w=640" alt="" /></p>
<p>Uma nova aba no seu navegador é criada e o ML Studio é aberto. Quando for a primeira vez, um vídeo de introdução será apresentado. Após assistir e fechar o vídeo, você pode começar a criar seus experimentos. Reparem que existem duas opções no menu, uma pra criar <em>DataSet</em> e outra pra criar <em>Experiment</em>. Quando a gente quer utilizar um DataSet que precisa ser feito upload pro Machine Learning, deve-se usar a opção DataSet. Mais pra frente, em outro post, vamos mostrar como faz pra usar uma base de dados através de upload neste menu.</p>
<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/blogdiegonogare.azurewebsites.net/wp-content/uploads/2014/12/120414_2054_AzureMachin4-2.png?w=640" alt="" /></p>
<p>E pra criar o experimento em si, criando e conectando as tarefas em uma ordem logica de execução, você vai utilizar o Experiment.</p>
<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/blogdiegonogare.azurewebsites.net/wp-content/uploads/2014/12/120414_2054_AzureMachin5-2.png?w=640" alt="" /></p>
<p>Por enquanto, crie um experimento em branco clicando em <span style="text-decoration: underline;"><em>Experiment &gt;&gt; Blank Experiment</em></span>. Ao clicar neste item, a tela com o menu da esquerda contendo as tarefas padrões do Azure Machine Learning e a área central de desenvolvimento é apresentada, permitindo que seja iniciado o desenvolvimento.</p>
<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/blogdiegonogare.azurewebsites.net/wp-content/uploads/2014/12/120414_2054_AzureMachin6-2.png?w=640" alt="" /></p>
<p>Esta é a tela que será utilizada para trabalhar com os Experimentos, WebServices, Testes, Execuções Locais, etc. Você informa o nome, arrasta os componentes no melhor estilo Drag &#8216;n&#8217; Drop e com isso cria seus trabalhos. Vamos entender as funcionalidades e amplas possibilidades do que conseguiremos trabalhar com esta ferramenta nos próximos textos. Não deixe de acompanhar!</p>
<p>O post <a href="https://diegonogare.net/2014/12/azure-machine-learning-introducao-parte-3/">Azure Machine Learning – Introdução – Parte 3</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1119</post-id>	</item>
		<item>
		<title>Azure Machine Learning – Introdução – Parte 2</title>
		<link>https://diegonogare.net/2014/11/azure-machine-learning-introducao-parte-2/</link>
		
		<dc:creator><![CDATA[Diego Nogare]]></dc:creator>
		<pubDate>Fri, 28 Nov 2014 18:21:23 +0000</pubDate>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[BigData]]></category>
		<category><![CDATA[business intelligence]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[data mining]]></category>
		<category><![CDATA[inteligencia artificial]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[mineracao de dados]]></category>
		<guid isPermaLink="false">http://diegonogare.net/?p=1084</guid>

					<description><![CDATA[<p>Fala galera, os modelos algoritmos que temos hoje, 28/Nov/2014, disponíveis no Azure Machine Learning estão separados em três categorias, que podem ser encontrados no menu Machine Learning &#62;&#62; Initialize Model, conforme esta lista: Classification Multiclass Decision Forest Multiclass Decision Jungle Multiclass Logistic Regression Multiclass Neural Network One-vs-All Multiclass Two-Class Average Perceptron Two-Class Bayes Point Machine...</p>
<p>O post <a href="https://diegonogare.net/2014/11/azure-machine-learning-introducao-parte-2/">Azure Machine Learning – Introdução – Parte 2</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Fala galera, os modelos algoritmos que temos hoje, 28/Nov/2014, disponíveis no Azure Machine Learning estão separados em três categorias, que podem ser encontrados no menu <strong>Machine Learning &gt;&gt; Initialize Model</strong>, conforme esta lista:</p>
<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/blogdiegonogare.azurewebsites.net/wp-content/uploads/2014/11/112814_1817_AzureMachin1-2.png?w=640" alt="" /></p>
<h2>Classification</h2>
<ul>
<li>Multiclass Decision Forest</li>
<li>Multiclass Decision Jungle</li>
<li>Multiclass Logistic Regression</li>
<li>Multiclass Neural Network</li>
<li>One-vs-All Multiclass</li>
<li>Two-Class Average Perceptron</li>
<li>Two-Class Bayes Point Machine</li>
<li>Two-Class Boosted Decision Tree</li>
<li>Two-Class Decision Forest</li>
<li>Two-Class Decision Jungle</li>
<li>Two-Class Logistic Regression</li>
<li>Two-Class Neural Network</li>
<li>Two-Class Support Vector Machine</li>
</ul>
<p><span style="font-size: 1.5em;">Clustering</span></p>
<ul>
<li>K-Means Clustering</li>
</ul>
<p><span style="font-size: 1.5em;">Regression</span></p>
<ul>
<li>Bayesian Linear Regression</li>
<li>Boosted Decision Tree Regression</li>
<li>Decision Forest Regression</li>
<li>Linear Regression</li>
<li>Neural Network Regression</li>
<li>Ordinal Regression</li>
<li>Poisson Regression</li>
</ul>
<p>Estes modelos de algoritmos são formulações estatísticas e/ou matemáticas conhecidas e amplamente estudadas no meio acadêmico, aqui no Azure Machine Learning eles já possuem uma parametrização genérica para que funcione com a maioria dos casos. Nas nossas análises de dados, quando limpamos e disponibilizamos os dados para serem treinados pelo modelo, deve-se conectar o modelo escolhido de acordo com a necessidade de resolução daquele problema na tarefa de treino, que recebe também a origem dos dados. É importante ressaltar que cada um destes modelos de algoritmos apresentados possuem características específicas que resolvem problemas semelhantes, mas que a parametrização individual pode resolver melhor um problema através da escolha de um modelo ou de outro.</p>
<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/blogdiegonogare.azurewebsites.net/wp-content/uploads/2014/11/112814_1817_AzureMachin2-2.png?w=640" alt="" /></p>
<p>Para exemplificar, imagine um cenário que avalia se um cadastro pode ser fraudulento ou não. Por mais que se use um modelo da categoria <em>Classification</em> para encontrar uma resposta sobre este problema, ele pode não ser exatamente o melhor modelo para encontrar esta resposta. Isso é analisado com base no resultado da Curva ROC (<em>Receiver Operator Characteristics Curve</em>) que realiza a comparação entre a sensibilidade e a especificidade do teste quantitativo basedo nos valores contínuos que foram treinados pelo algoritmo. As vezes, comparando com outros modelos desta mesma categoria a gente descobre que para classificar o cadastro como um possível problema de fraude o modelo de algoritmo X é melhor que o Y, mesmo que o modelo Y tenha sido o melhor algoritmo para classificar os mesmos dados de treino para saber se o cadastro é um bom pagador de dívidas. Este cadastro fictício diz que ele é um cadastro passível de trazer problemas com fraudes, mas que é um bom pagador. Meio controvérsio, mas é só pra exemplificar <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Esta é a curva ROC, os melhores resultados dela são os que enquadram o maior conjunto possível de amostras (dados) na AUC (<em>Area Under the Curve</em>).</p>
<p>Veja muitos mais detalhes do <a href="http://en.wikipedia.org/wiki/Receiver_operating_characteristic">ROC na wikipedia, clicando aqui.</a></p>
<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/blogdiegonogare.azurewebsites.net/wp-content/uploads/2014/11/112814_1817_AzureMachin3-2.png?w=640" alt="" /></p>
<p>O terceiro e último texto sobre Introdução ao Azure Machine Learning, nós vamos acessar o ambiente e aprender a criar Experimentos e Base de Dados. Nos próximos, que já sairão da introdução, vamos explicar alguns algoritmos e trabalhar com exemplos práticos. Não deixe de acompanhar!</p>
<p>O post <a href="https://diegonogare.net/2014/11/azure-machine-learning-introducao-parte-2/">Azure Machine Learning – Introdução – Parte 2</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1084</post-id>	</item>
		<item>
		<title>Azure Machine Learning – Introdução – Parte 1</title>
		<link>https://diegonogare.net/2014/11/azure-machine-learning-introducao-parte-1/</link>
		
		<dc:creator><![CDATA[Diego Nogare]]></dc:creator>
		<pubDate>Tue, 25 Nov 2014 20:00:27 +0000</pubDate>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[BigData]]></category>
		<category><![CDATA[business intelligence]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[data mining]]></category>
		<category><![CDATA[inteligencia artificial]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[mineracao de dados]]></category>
		<guid isPermaLink="false">http://diegonogare.net/?p=1075</guid>

					<description><![CDATA[<p>Fala galera, uma nova feature, lançada a poucos meses em preview e que já está disponível publicamente na plataforma Azure é o Microsoft Azure Machine Learning. Uma funcionalidade para nós trabalharmos com Inteligência Artificial através de Mineração de Dados e que permite entender melhor os nossos dados e ambientes, e tomar melhores decisões pro futuro....</p>
<p>O post <a href="https://diegonogare.net/2014/11/azure-machine-learning-introducao-parte-1/">Azure Machine Learning – Introdução – Parte 1</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/blogdiegonogare.azurewebsites.net/wp-content/uploads/2014/11/112514_1958_AzureMachin1-2.png?w=640" alt="" /></p>
<p>Fala galera, uma nova feature, lançada a poucos meses em <em>preview</em> e que já está disponível publicamente na plataforma Azure é o <strong>Microsoft</strong><br />
<strong>Azure Machine Learning</strong>. Uma funcionalidade para nós trabalharmos com <strong>Inteligência Artificial</strong> através de <strong>Mineração de Dados</strong> e que permite entender melhor os nossos dados e ambientes, e tomar melhores decisões pro futuro.</p>
<p>Neste momento, 25/Nov/2014, ainda é em uma versão de testes com algumas coisas faltando. Uma coisa boa desta plataforma é e que possui um <em>roadmap</em> de lançamento de novas funcionalidades que acompanha todos os outros produtos da plataforma Azure, isso significa que temos atualizações de recursos a cada 3 ou 6 meses.</p>
<p>Hoje a plataforma trabalha com 3 categorias de algoritmos nativos:</p>
<p><strong><em>Classification</em></strong>: Algoritmos de Classificação permitem que análises sejam feitas na base de treino e teste e seu valor preditivo (aquele que estamos buscando) possa ser encontrado de forma discreta. Um resultado discreto significa apresentar um item baseado em um sub-conjunto conhecido de valores possíveis. Normalmente são poucos valores. Os mais comuns de se encontrar no mercado são classificadores binários, que &#8220;predizem&#8221; se a resposta é SIM ou NÃO, e apresenta o grau do índice de acuracidade (confiança) para aquela resposta que foi apresentada.</p>
<p><strong><em>Clustering</em></strong>: Algoritmos de Clustering (ou Segmentação) fazem o processo de particionar os dados da amostra de uma população em vários sub-conjuntos, deixando as ocorrências mais parecidas umas perto das outras. Diferente dos algoritmos de classificação na qual as classes são conhecidas, em algoritmos de Segmentação as ocorrências (ou linhas, ou registros [chame como achar melhor]) são agrupados pelas suas semelhanças. Imaginando a aplicação deste algoritmo em um universo de pessoas, é possível segmentar estes indivíduos por Região que moram, Região que trabalham, Sexo, Faixa de Idade, Faixa de Renda, etc. Qualquer dado discreto conhecido pode ser usado para fazer a segmentação da população e a partir desta segmentação é possível criar várias outras análises. Inclusive mudando de algoritmo para se adequar melhor à sua necessidade. Outra aplicação pra algoritmos de Clustering é entender o comportamento sequencial dos indivíduos, analisando os passos que foram feitos para realizar uma ação em algum lugar. Com estes passos é possível agrupar os indivíduos em sub-grupos, ficando em cada segmentação os indivíduos que percorreram os mesmos passos para realizar aquela determinada ação.</p>
<p><strong><em>Regression</em></strong>: Algoritmos de Regressões permitem que as análises na base de treino e testes retornem valores contínuos para aquele resultado preditivo. Por valores contínuos entendemos que são valores &#8220;infinitos&#8221;, podendo ser qualquer valor possível. Uma aplicação deste algoritmo pode ser uma análise pra saber quanto custa uma casa baseada na metragem e região. Uma análise desta pode dar valores entre 1 Dolar (como as casas em Detroit depois do problema da bolha imobiliária [veja aqui: <a href="http://www.nydailynews.com/life-style/real-estate/1-buy-house-detroit-article-1.1415014" target="_blank" rel="noopener noreferrer">http://www.nydailynews.com/life-style/real-estate/1-buy-house-detroit-article-1.1415014</a> ]) e 380.000.000 Dolares como esta cobertura em Mônaco (<a href="http://gallivantguide.com/monaco-penthouse-387m-worlds-most-expensive/2098/" target="_blank" rel="noopener noreferrer">http://gallivantguide.com/monaco-penthouse-387m-worlds-most-expensive/2098/</a>). Este intervalo de possibilidades é bem grande, e uma aplicação que faça este tipo de análise pode ter uma carga de processamento e consumo de memória bem grande. O uso de algoritmos para estas aplicações, facilitam muito o nosso trabalho!</p>
<p>Eu particularmente senti bastante falta de algoritmos da categoria <strong><em>Association</em></strong>, geralmente utilizados para <em>Basket Market Analysis</em> e que permitem encontrar correlação entre itens ou produtos que estão recebendo alguma interação e podem ser associados uns aos outros. Interação esta que pode ser simplesmente verificar os detalhes do produto, podendo ser até a ação de adicionar o produto no carrinho de compras. Cada interação desta apresenta um, ou mais, produtos associados à aquele que esta recebendo esta interação. Esta associação é baseada em fatos do passado, onde um produto foi consumido com o outro. Isso significa que a predição pode mudar com o decorrer do tempo, quando o comportamento e a correlação entre estes produtos passam a mudar por qualquer motivo que seja.</p>
<p>Em contra partida pode-se executar scripts em R dentro do Microsoft Azure Machine Learning. Só pra contextualizar, R é uma linguagem de programação focada em análise de dados e estatística que foi criada na década de 70. Esta linguagem é amplamente utilizada por estatísticos e matemáticos ao redor do mundo, e agora, com a nova profissão de Cientista de Dados, existe muito mais gente estudando e aprendendo R. Nós podemos criar scripts em R e consumir mais de 340 pacotes de funcionalidades existentes no CRAN (<em>Comprehensive R Archive Network</em> &#8211; <a href="http://cran.r-project.org/" target="_blank" rel="noopener noreferrer">http://cran.r-project.org/</a>) diretamente no Microsoft Azure Machine Learning. Isso ampliou bastante a quantidade de tarefas que é possível fazer com o Machine Learning.</p>
<p>Está no meu pipeline escrever mais alguns posts sobre o Microsoft Azure Machine Learning, criando alguns exemplos e trabalhando com alguns algoritmos. Fiquem ligados!</p>
<p>O post <a href="https://diegonogare.net/2014/11/azure-machine-learning-introducao-parte-1/">Azure Machine Learning – Introdução – Parte 1</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1075</post-id>	</item>
	</channel>
</rss>
