<?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>dataset desbalanceado | Data Equity</title>
	<atom:link href="https://dataequity.es/tag/dataset-desbalanceado/feed/" rel="self" type="application/rss+xml" />
	<link>https://dataequity.es</link>
	<description>Datos al servicio de su organización</description>
	<lastBuildDate>Tue, 17 Mar 2020 10:43:31 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>
	<item>
		<title>Dataset Desbalanceado: Prediciendo eventos muy poco frecuentes</title>
		<link>https://dataequity.es/dataset-desbalanceado-prediciendo-eventos-muy-poco-frecuentes/</link>
		
		<dc:creator><![CDATA[Editor]]></dc:creator>
		<pubDate>Tue, 17 Mar 2020 10:24:01 +0000</pubDate>
				<category><![CDATA[Análisis de datos]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Datos]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[tratamiento datos]]></category>
		<category><![CDATA[Data Scientist]]></category>
		<category><![CDATA[dataset desbalanceado]]></category>
		<category><![CDATA[manchine learning]]></category>
		<category><![CDATA[tratamiento de datos]]></category>
		<guid isPermaLink="false">https://dataequity.es/?p=1130</guid>

					<description><![CDATA[<p>Sucesos infrecuentes de alto impacto en el negocio  En nuestros procesos de negocio gestionamos eventos que ocurren con relativa poca frecuencia pero tienen un gran impacto en nuestros resultados.  Algunos de estos eventos raros son favorables:  Cerrar una venta cuantiosa, pero difícil  Identificar un cliente que nos trae otro ...</p>
La entrada <a href="https://dataequity.es/dataset-desbalanceado-prediciendo-eventos-muy-poco-frecuentes/">Dataset Desbalanceado: Prediciendo eventos muy poco frecuentes</a> apareció primero en <a href="https://dataequity.es">Data Equity</a>.]]></description>
										<content:encoded><![CDATA[<h3><b><span data-contrast="auto">Sucesos </span></b><b><span data-contrast="auto">infrecuentes</span></b><b><span data-contrast="auto"> de alto impacto en el negocio</span></b><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></h3>
<p><span data-contrast="auto">En nuestros procesos de negocio gestionamos <strong>eventos</strong> que ocurren con relativa <strong>poca </strong></span><strong>frecuencia</strong><span data-contrast="auto"> pero tienen un <strong>gran impacto</strong> en nuestros resultados.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p style="text-align: left;"><span data-contrast="auto">Algunos de estos eventos raros son <strong>favorables:</strong></span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<ul style="text-align: left;">
<li data-leveltext="" data-font="Symbol" data-listid="12" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"><span data-contrast="auto">C</span><span data-contrast="auto">errar una venta cuantiosa, pero difícil</span><span data-ccp-props="{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></li>
<li data-leveltext="" data-font="Symbol" data-listid="12" aria-setsize="-1" data-aria-posinset="2" data-aria-level="1"><span data-contrast="auto">I</span><span data-contrast="auto">dentificar un cliente que nos trae otro</span><span data-ccp-props="{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></li>
<li data-leveltext="" data-font="Symbol" data-listid="12" aria-setsize="-1" data-aria-posinset="3" data-aria-level="1"><span data-contrast="auto">R</span><span data-contrast="auto">ecuperar un cliente que va a abandonar<br />
</span></li>
</ul>
<p>&nbsp;</p>
<p style="text-align: left;"><span data-contrast="auto">Y otros </span><span data-contrast="auto">sucesos </span><span data-contrast="auto">son muy <strong>desfavorables:</strong></span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<ul>
<li style="text-align: left;" data-leveltext="" data-font="Symbol" data-listid="13" aria-setsize="-1" data-aria-posinset="4" data-aria-level="1"><span data-contrast="auto">U</span><span data-contrast="auto">n error en un proceso</span><span data-ccp-props="{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></li>
<li style="text-align: left;" data-leveltext="" data-font="Symbol" data-listid="13" aria-setsize="-1" data-aria-posinset="4" data-aria-level="1"><span data-contrast="auto">U</span><span data-contrast="auto">na máquina que deja de funcionar correctamente</span><span data-ccp-props="{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></li>
<li style="text-align: left;" data-leveltext="" data-font="Symbol" data-listid="13" aria-setsize="-1" data-aria-posinset="4" data-aria-level="1"><span data-contrast="auto">U</span><span data-contrast="auto">na enfermedad rara</span><span data-ccp-props="{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></li>
<li style="text-align: left;" data-leveltext="" data-font="Symbol" data-listid="13" aria-setsize="-1" data-aria-posinset="4" data-aria-level="1"><span data-contrast="auto">L</span><span data-contrast="auto">a materialización de un impago u otro tipo de riesgo</span><span data-ccp-props="{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></li>
<li style="text-align: left;" data-leveltext="" data-font="Symbol" data-listid="13" aria-setsize="-1" data-aria-posinset="4" data-aria-level="1"><span data-contrast="auto">L</span><span data-contrast="auto">a ocurrencia de un fraude que nos perjudica</span><span data-ccp-props="{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></li>
</ul>
<p>&nbsp;</p>
<p><span data-contrast="auto">Surge la necesidad de identificar estos sucesos para <strong>potenciar</strong> los favorables y para <strong>prevenir, corregir o mitigar</strong> los desfavorables.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<h3><b><span data-contrast="auto">Identificando los sucesos con la ciencia de datos: modelos pre</span></b><b><span data-contrast="auto">dic</span></b><b><span data-contrast="auto">tivos</span></b><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></h3>
<p><span data-contrast="auto">La ciencia de datos o <strong>data </strong></span><strong>science</strong><span data-contrast="auto"> nos ayuda a identificar con más precisión dónde</span><span data-contrast="auto">, cuándo</span><span data-contrast="auto"> y porqué ocurren esos sucesos vitales para el <strong>éxito</strong> de nuestro negocio y alcanzar los <strong>objetivos.</strong> Utilizamos algoritmos de inteligencia artificial o <strong>modelos predictivos</strong> que transforman el conocimiento acumulado en las bases de datos en estas reglas que identifican esos sucesos. </span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<h3><b><span data-contrast="auto">Entrenando modelos de eventos raros</span></b><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></h3>
<p><span data-contrast="auto">Ocurre </span><span data-contrast="auto">a veces</span><span data-contrast="auto">,</span><span data-contrast="auto"> </span><span data-contrast="auto">que </span><span data-contrast="auto">hay que identificar estos</span><span data-contrast="auto"> </span><span data-contrast="auto">sucesos relativamente escasos</span><span data-contrast="auto"> de una gran cantidad de situaciones en las que no ocurre nada destacable</span><span data-contrast="auto">, como en los ejemplos que mencionábamos antes</span><span data-contrast="auto">: venta exitosa / no venta; error / funcionamiento normal; fraude / transacción normal</span><span data-contrast="auto">. </span><span data-contrast="auto">Vemos que una de las dos categorías opuestas es mucho más frecuente que la otra.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">Los <strong>modelos</strong></span><span data-contrast="auto"><strong> predictivos</strong> tienden a aprender mejor las situaciones que más se les muestran. Dicho de otra forma, si no hacemos nada, tendremos problemas para predecir las situaciones más infrecuentes. </span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">Estas bases de datos con eventos muy raros, técnicamente, se llaman conjuntos de datos o </span><strong>dataset desblanceados</strong><span data-contrast="auto">.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<h3><b><span data-contrast="auto">Técnicamente, </span></b><b><span data-contrast="auto">¿</span></b><b><span data-contrast="auto">q</span></b><b><span data-contrast="auto">ué es un Dataset desbalanceado?</span></b><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></h3>
<p><span data-contrast="auto">Es un conjunto de datos en</span><span data-contrast="auto"> el</span><span data-contrast="auto"> </span><span data-contrast="auto">que el número de observaciones no es el mismo para las</span><span data-contrast="auto"> distintas </span><span data-contrast="auto">clases </span><span data-contrast="auto">que deseamos distinguir en </span><span data-contrast="auto">el </span><span data-contrast="auto">dataset</span><span data-contrast="auto">.</span><span data-contrast="auto"> Algunas de las clases son muy frecuentes y otras muy raras.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">¿Qué ocurre si trabajamos con este tipo de </span><span data-contrast="auto">Dataset</span><span data-contrast="auto">?</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">Si queremos realizar de una forma correcta la clasificación de esa clase minoritaria </span><span data-contrast="auto">(por</span><span data-contrast="auto"> </span><span data-contrast="auto">ejemplo</span><span data-contrast="auto">,</span><span data-contrast="auto"> personas que van a realizar fraude) debemos tener unos datos con un número de observaciones similar para cada clase</span><span data-contrast="auto">. De no ser así los algoritmos tienden a favorecer la clase con mayor proporción de observaciones pudiendo obtener un </span><span data-contrast="auto">modelo </span><span data-contrast="auto">que </span><span data-contrast="auto">no predice de forma correcta la clase minoritaria</span><span data-contrast="auto">.</span><span data-contrast="auto"> </span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">En este post, trabajaremos con un </span><span data-contrast="auto">dataset</span><span data-contrast="auto"> en el cual </span><span data-contrast="auto">encontramos</span><span data-contrast="auto"> dos clases:</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<p><span data-contrast="auto">Clase 0: No fraude.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"><br />
</span><span data-contrast="auto">Clase 1: Fraude.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<h5 style="text-align: center;"><strong><span class="TextRun SCXW227871235 BCX0" lang="ES-ES" xml:lang="ES-ES" data-contrast="auto"><span class="NormalTextRun SCXW227871235 BCX0">Análisis exploratorio de los datos</span></span><span class="EOP SCXW227871235 BCX0" data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></strong></h5>
<p><img fetchpriority="high" decoding="async" class="size-full wp-image-1140 aligncenter" src="https://dataequity.es/wp-content/uploads/2020/03/graf1.jpg" alt="" width="408" height="278" srcset="https://dataequity.es/wp-content/uploads/2020/03/graf1.jpg 408w, https://dataequity.es/wp-content/uploads/2020/03/graf1-300x204.jpg 300w" sizes="(max-width: 408px) 100vw, 408px" /></p>
<p>Nuestro conjunto de datos está desbalanceado, tenemos más registros pertenecientes a la clase 0 (no fraude) y prácticamente ninguno en la clase 1 (fraude) que es la que queremos predecir. El modelo predictivo que montemos sobre estos datos tendrá dificultades para identificar que caracteriza a la clase 1 de fraude.</p>
<h3><strong>¿Qué podemos hacer? </strong></h3>
<p style="text-align: left;">En primer lugar, intentaremos conseguir más datos. En ocasiones, conseguir un mayor número de registros no es posible. Para resolver el problema disponemos de varias técnicas:</p>
<ol>
<li><strong>Undersampling:</strong> Consiste en <strong>reducir</strong> el número de casos de la categoría más abundante con el fin de obtener un conjunto de datos balanceado.</li>
</ol>
<p><img decoding="async" class="size-full wp-image-1141 aligncenter" src="https://dataequity.es/wp-content/uploads/2020/03/img2.jpg" alt="" width="635" height="418" srcset="https://dataequity.es/wp-content/uploads/2020/03/img2.jpg 635w, https://dataequity.es/wp-content/uploads/2020/03/img2-300x197.jpg 300w" sizes="(max-width: 635px) 100vw, 635px" /></p>
<p style="padding-left: 40px;">Para realizar esta técnica en nuestros datos, proponemos dos maneras (de ambas formas obtenemos resultados similares):</p>
<p style="padding-left: 40px;">1.1 Utilizando el método <strong>resample</strong> de la librería<strong> sklearn</strong>:</p>
<p><img decoding="async" class="wp-image-1155 aligncenter" src="https://dataequity.es/wp-content/uploads/2020/03/1.1-1.png" alt="" width="937" height="292" srcset="https://dataequity.es/wp-content/uploads/2020/03/1.1-1.png 1062w, https://dataequity.es/wp-content/uploads/2020/03/1.1-1-300x94.png 300w, https://dataequity.es/wp-content/uploads/2020/03/1.1-1-1024x319.png 1024w, https://dataequity.es/wp-content/uploads/2020/03/1.1-1-768x239.png 768w, https://dataequity.es/wp-content/uploads/2020/03/1.1-1-700x218.png 700w" sizes="(max-width: 937px) 100vw, 937px" /></p>
<p style="padding-left: 40px;">1.2 Utilizando el método <strong>RandomUnderSampler </strong>de la librería <strong>imblearn:</strong><img loading="lazy" decoding="async" class="size-full wp-image-1151 aligncenter" src="https://dataequity.es/wp-content/uploads/2020/03/1.2.png" alt="" width="895" height="265" srcset="https://dataequity.es/wp-content/uploads/2020/03/1.2.png 895w, https://dataequity.es/wp-content/uploads/2020/03/1.2-300x89.png 300w, https://dataequity.es/wp-content/uploads/2020/03/1.2-768x227.png 768w, https://dataequity.es/wp-content/uploads/2020/03/1.2-700x207.png 700w" sizes="auto, (max-width: 895px) 100vw, 895px" /></p>
<p style="padding-left: 40px;">En ambos casos se obtiene un nuevo dataset balanceado cuyo diagrama de barras seria:</p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-1158 aligncenter" src="https://dataequity.es/wp-content/uploads/2020/03/final1.png" alt="" width="389" height="278" srcset="https://dataequity.es/wp-content/uploads/2020/03/final1.png 389w, https://dataequity.es/wp-content/uploads/2020/03/final1-300x214.png 300w" sizes="auto, (max-width: 389px) 100vw, 389px" /></p>
<p style="padding-left: 40px;">2.<strong> Oversampling</strong>: Consiste en <strong>generar datos sintéticos</strong> con unas características parecidas a las observaciones de la clase minoritaria.</p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-1159 aligncenter" src="https://dataequity.es/wp-content/uploads/2020/03/2..png" alt="" width="445" height="300" srcset="https://dataequity.es/wp-content/uploads/2020/03/2..png 445w, https://dataequity.es/wp-content/uploads/2020/03/2.-300x202.png 300w" sizes="auto, (max-width: 445px) 100vw, 445px" /></p>
<p style="padding-left: 40px;">Para realizar esta técnica proponemos dos maneras (de ambas formas obtenemos resultados similares):</p>
<p style="padding-left: 40px;">2.1 Utilizando el método <strong>Smote </strong><strong>(Synthetic Minority Over-sampling)</strong> de la librería <strong>imblearn:</strong></p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-1161 aligncenter" src="https://dataequity.es/wp-content/uploads/2020/03/2.1.png" alt="" width="950" height="288" srcset="https://dataequity.es/wp-content/uploads/2020/03/2.1.png 950w, https://dataequity.es/wp-content/uploads/2020/03/2.1-300x91.png 300w, https://dataequity.es/wp-content/uploads/2020/03/2.1-768x233.png 768w, https://dataequity.es/wp-content/uploads/2020/03/2.1-700x212.png 700w" sizes="auto, (max-width: 950px) 100vw, 950px" /></p>
<p style="padding-left: 40px;">2.2 Utilizando el método <strong>RandomOversample</strong> de la librería <strong>imblearn:</strong></p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-1163 aligncenter" src="https://dataequity.es/wp-content/uploads/2020/03/2.2.png" alt="" width="955" height="283" srcset="https://dataequity.es/wp-content/uploads/2020/03/2.2.png 955w, https://dataequity.es/wp-content/uploads/2020/03/2.2-300x89.png 300w, https://dataequity.es/wp-content/uploads/2020/03/2.2-768x228.png 768w, https://dataequity.es/wp-content/uploads/2020/03/2.2-700x207.png 700w" sizes="auto, (max-width: 955px) 100vw, 955px" /></p>
<p>El nuevo dataset balanceado obtenido aplicando las dos fórmulas anteriores, presenta el siguiente gráfico:</p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-1164 aligncenter" src="https://dataequity.es/wp-content/uploads/2020/03/2final.png" alt="" width="408" height="278" srcset="https://dataequity.es/wp-content/uploads/2020/03/2final.png 408w, https://dataequity.es/wp-content/uploads/2020/03/2final-300x204.png 300w" sizes="auto, (max-width: 408px) 100vw, 408px" /></p>
<p><strong>Nota</strong>: Se recomienda aplicar estas familias de técnicas solo en los datos de entrenamiento y no sobre los datos de test.</p>
<p>De esta forma lograremos modelos que no pasen por alto esas clases menos frecuentes pero tan valiosas</p>
<p>Desde Data Equity esperamos que la información de este artículo sea de utilidad para tratar con dataset desbalanceados. No dudéis en poneros en contacto con nosotros.</p>La entrada <a href="https://dataequity.es/dataset-desbalanceado-prediciendo-eventos-muy-poco-frecuentes/">Dataset Desbalanceado: Prediciendo eventos muy poco frecuentes</a> apareció primero en <a href="https://dataequity.es">Data Equity</a>.]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
