<?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>Análisis de Datos &#8211; Dialéktico</title>
	<atom:link href="https://dialektico.com/categoria/analisis-de-datos/feed/" rel="self" type="application/rss+xml" />
	<link>https://dialektico.com</link>
	<description>Aprende ciencia de datos, machine learning y deep learning de forma gratuita y en español.</description>
	<lastBuildDate>Thu, 14 Aug 2025 01:28:01 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://dialektico.com/wp-content/uploads/2022/06/cropped-Favicon4-32x32.png</url>
	<title>Análisis de Datos &#8211; Dialéktico</title>
	<link>https://dialektico.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Sobreajuste y subajuste en modelos de aprendizaje automático</title>
		<link>https://dialektico.com/subajuste-sobreajuste-teoria-programacion/</link>
					<comments>https://dialektico.com/subajuste-sobreajuste-teoria-programacion/#respond</comments>
		
		<dc:creator><![CDATA[Daniel Dialéktico]]></dc:creator>
		<pubDate>Wed, 26 Mar 2025 19:36:37 +0000</pubDate>
				<category><![CDATA[Ciencia de datos]]></category>
		<category><![CDATA[Análisis de Datos]]></category>
		<category><![CDATA[Deep Learning]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[aprendizaje supervisado]]></category>
		<category><![CDATA[ciencia de datos]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[programacióh]]></category>
		<category><![CDATA[python]]></category>
		<guid isPermaLink="false">https://dialektico.com/?p=11269</guid>

					<description><![CDATA[Al momento de concluir la etapa de entrenamiento de un modelo de machine learning, uno de las tareas posteriores e imprescindibles es la evaluación de su desempeño. Al obtener estas medidas, es muy común encontrar que los modelos no son capaces de realizar inferencias correctamente sobre un conjunto de datos de prueba. Esta problemática generalmente [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Al momento de concluir la etapa de <strong>entrenamiento </strong>de un modelo de <a href="https://dialektico.com/introduccion-machine-learning/">machine learning</a>, uno de las tareas posteriores e imprescindibles es la <strong>evaluación</strong> de su <strong>desempeño</strong>. Al obtener estas medidas, es muy común encontrar que los modelos no son capaces de realizar <strong>inferencias </strong>correctamente sobre un conjunto de <a href="https://dialektico.com/conjuntos-train-dev-test/">datos de prueba</a>. Esta problemática generalmente se suele etiquetar en dos categorías principales: <strong>sobreajuste </strong>y <strong>subajuste </strong>de modelos.</p>



<p>Este par de situaciones son muy comunes a la hora de <strong>modelar datos </strong>mediante <strong>algoritmos </strong>de <a href="https://dialektico.com/aprendizaje-supervisado/">aprendizaje supervisado</a>. Aquí exploraremos cada uno de estos, describiremos sus causas, consecuencias, diagnóstico, y abordaremos algunos ejemplos de forma teórica y práctica con lenguaje de programación <strong>Python</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img fetchpriority="high" decoding="async" width="1024" height="847" src="https://dialektico.com/wp-content/uploads/2025/03/MSYS_nivel.jpg" alt="ajuste y sobreajuste dialektico" class="wp-image-11298" style="width:601px;height:auto" title="Sobreajuste y subajuste en modelos de aprendizaje automático 1" srcset="https://dialektico.com/wp-content/uploads/2025/03/MSYS_nivel.jpg 1024w, https://dialektico.com/wp-content/uploads/2025/03/MSYS_nivel-768x635.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h6 class="wp-block-heading has-text-align-center">Inventario recomendado</h6>



<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg" alt="métricas de evaluación para modelos de regresión dialéktico" class="wp-image-7016" style="width:196px;height:auto" title="Sobreajuste y subajuste en modelos de aprendizaje automático 2" srcset="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong><a href="https://dialektico.com/introduccion-a-la-regresion-lineal/">Regresión lineal</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><a href="https://dialektico.com/introduccion-a-la-regresion-lineal/"><img decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/RL_OB.jpg" alt="regresión lineal dialektico" class="wp-image-8027" style="width:400px" title="Sobreajuste y subajuste en modelos de aprendizaje automático 3" srcset="https://dialektico.com/wp-content/uploads/2024/05/RL_OB.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/RL_OB-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></a></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><a href="https://dialektico.com/metricas-de-evaluacion-de-modelos-de-regresion/"><strong>Métricas de evaluación de modelos de regresión</strong></a></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/11/MEMR_colab.png" alt="métricas de modelos de regresión dialéktico" class="wp-image-10735" style="width:400px;height:auto" title="Sobreajuste y subajuste en modelos de aprendizaje automático 4" srcset="https://dialektico.com/wp-content/uploads/2024/11/MEMR_colab.png 1024w, https://dialektico.com/wp-content/uploads/2024/11/MEMR_colab-768x768.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong><a href="https://dialektico.com/google-colab/">Google Colab</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec.jpg" alt="Google Colab dialéktico" class="wp-image-7521" style="width:400px" title="Sobreajuste y subajuste en modelos de aprendizaje automático 5" srcset="https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Programación en <a href="https://www.python.org/" target="_blank" rel="noopener">Python</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/Python_Eq.jpg" alt="python dialéktico" class="wp-image-7522" style="width:400px" title="Sobreajuste y subajuste en modelos de aprendizaje automático 6" srcset="https://dialektico.com/wp-content/uploads/2024/05/Python_Eq.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/Python_Eq-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Algún tentempié</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2025/03/MSYS_tentempie.jpg" alt="tentempié dialéktico" class="wp-image-11299" style="width:444px;height:auto" title="Sobreajuste y subajuste en modelos de aprendizaje automático 7" srcset="https://dialektico.com/wp-content/uploads/2025/03/MSYS_tentempie.jpg 1024w, https://dialektico.com/wp-content/uploads/2025/03/MSYS_tentempie-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center has-text-color" id="aprendizaje-supervisado-que-es" style="color:#840303">Introducción al sobreajuste y subajuste de modelos de machine learning</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg" alt="Pergamino_3" class="wp-image-6960" style="width:125px" title="Sobreajuste y subajuste en modelos de aprendizaje automático 8" srcset="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Como ya hemos visto durante nuestras dos <strong>últimas prácticas</strong> para la evaluación de modelos de aprendizaje supervisado (tanto de <strong><a href="https://colab.research.google.com/github/DanielDialektico/dialektico-machine-learning-practices/blob/main/notebooks/Machine%20Learning/Aprendizaje%20Supervisado/M%C3%A9tricas_Modelos_Regresi%C3%B3n.ipynb" target="_blank" rel="noopener">regresión</a></strong> como de <strong><a href="https://colab.research.google.com/github/DanielDialektico/dialektico-machine-learning-practices/blob/main/notebooks/Machine%20Learning/Aprendizaje%20Supervisado/M%C3%A9tricas_modelo_clasificaci%C3%B3n.ipynb" target="_blank" rel="noopener">clasificación</a></strong>), existen diferentes formas de medir el <strong>desempeño</strong> de un <strong>modelo </strong>cuyos <strong>parámetros </strong>han sido ajustados mediante algoritmos de <strong>machine learning</strong>.</p>



<p>Durante la <strong>evaluación </strong>del modelo resultante, pueden develarse problemas al momento de realizar los cálculos sobre los <a href="https://dialektico.com/conjuntos-de-datos-para-machine-learning/">conjuntos de datos</a> de <strong>entrenamiento </strong>y <strong>prueba</strong>. Lo más común es encontrar que, si los modelos no realizan <strong>predicciones </strong>de manera relativamente aceptable, entonces están <strong>sobreajustados </strong>o <strong>subajustados</strong>. ¿A qué nos referimos con esto?</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">¿Qué es el subajuste de un modelo de machine learning?</h2>



<p>Un modelo <strong>subajustado </strong>es un modelo de <strong>aprendizaje de máquinas</strong> que no logra capturar o «<strong>aprender</strong>» correctamente los patrones subyacentes a los <a href="https://dialektico.com/datos-machine-learning/">datos</a> debido, principalmente, a su simplicidad matemática (del modelo generado) y, por lo tanto, tiene un <strong>desempeño </strong>deficiente al ser evaluado tanto en el conjunto de datos de <strong>entrenamiento </strong>como en el de <strong>prueba</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/03/MSYS_A_1.jpg" alt="ajuste y sobreajuste dialektico aelacor" class="wp-image-11305" style="width:495px;height:auto" title="Sobreajuste y subajuste en modelos de aprendizaje automático 9" srcset="https://dialektico.com/wp-content/uploads/2025/03/MSYS_A_1.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/03/MSYS_A_1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Es correcto, sus capacidades predictivas no muestran un rendimiento aceptable al ser utilizado para predecir valores en los conjuntos de datos para su entrenamiento y prueba. Esta es su característica más distintiva.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2025/03/MSYS_M_2.jpg" alt="ajuste y sobreajuste dialektico mmerf" class="wp-image-11304" style="width:558px;height:auto" title="Sobreajuste y subajuste en modelos de aprendizaje automático 10" srcset="https://dialektico.com/wp-content/uploads/2025/03/MSYS_M_2.jpg 1080w, https://dialektico.com/wp-content/uploads/2025/03/MSYS_M_2-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Para entender mejor cómo funciona esta deficiencia en el <strong>ajuste </strong>del <strong>modelo </strong>(el cálculo de sus <strong>parámetros</strong>) es observando las gráficas de la <strong>Figura 3.8.1</strong>, donde se observan las formas que dibujan dos modelos que pretenden describir el comportamiento de los datos:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="1140" height="516" src="https://dialektico.com/wp-content/uploads/2025/03/MSYS_chart_1-2.png" alt="ajuste y sobreajuste dialektico" class="wp-image-11318" title="Sobreajuste y subajuste en modelos de aprendizaje automático 11" srcset="https://dialektico.com/wp-content/uploads/2025/03/MSYS_chart_1-2.png 1140w, https://dialektico.com/wp-content/uploads/2025/03/MSYS_chart_1-2-768x348.png 768w" sizes="(max-width: 1140px) 100vw, 1140px" /><figcaption class="wp-element-caption"><strong>Figura 3.8.1</strong> Gráficas de dos modelos entrenados para ajustarse a los datos. El primero muestra un subajuste, mientras que el segundo se comporta de manera más similar a la tendencia de las observaciones. Esta gráfica y las consiguientes fueron obtenidas utilizando la librería <a href="https://matplotlib.org/" target="_blank" rel="noopener">MatplotLib</a> de <a href="https://www.python.org/" target="_blank" rel="noopener">Python</a>.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Nótese que la primera figura es una <strong>línea recta</strong> como la que hemos generado con las <a href="https://dialektico.com/introduccion-a-la-regresion-lineal/">regresiones lineales</a> de las <strong>prácticas</strong> anteriores. A pesar de que la <strong>función </strong>que dibuja esta línea está optimizada para mantener una distancia promedio corta respecto a cada punto (dato), esta no representa una tendencia muy similar a la que dibujan los datos (que parecen dibujar una especie de curva). Se dice, entonces, que el modelo está <strong>subajustado</strong>, ya que sus predicciones no son muy precisas al momento de evaluar su desempeño.</p>



<p>En cambio, en la gráfica de la <strong>derecha</strong>, se han mapeado los valores de una <strong>función </strong>que genera una forma más ajustada al <strong>movimiento </strong>de los <strong>datos</strong>. Esta curva se puede obtener utilizando regresiones polinomiales. El modelo resultante tiene un mejor desempeño en las predicciones.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/03/MSYS_L_1.jpg" alt="ajuste y sobreajuste dialektico laiahrang" class="wp-image-11307" style="width:500px" title="Sobreajuste y subajuste en modelos de aprendizaje automático 12" srcset="https://dialektico.com/wp-content/uploads/2025/03/MSYS_L_1.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/03/MSYS_L_1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<p>Una <strong>regresión polinomial</strong> es una<strong> regresión lineal </strong>que modela un polinomio de <span class="katex-eq" data-katex-display="false">n</span>-ésimo grado. No la utilizaremos mucho, por lo que no ahondaremos en el tema, si deseas saber más puedes revisar la definición en <a href="https://es.wikipedia.org/wiki/Regresi%C3%B3n_polinomial" target="_blank" rel="noopener">Wikipedia</a>, la cual me ha parecido correcta y concisa, pero no es necesario que lo atiendas. También utilizaremos esto más tarde en nuestra práctica de <strong>Python</strong>.</p>



<p>Matemáticamente hablando, los modelos de ambos ejemplos (<strong>Figura 3.8.1</strong>) tienen la siguiente forma:</p>



<ul class="wp-block-list">
<li>Modelo subajustado (regresión lineal):</li>
</ul>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>y = ax + b \tag{3.76}</pre></div>



<ul class="wp-block-list">
<li>Modelo con un mejor ajuste (regresión polinomial de grado 3):</li>
</ul>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>y = ax^3 + bx^2 + cx + d  \tag{3.77}</pre></div>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Hago este énfasis porque la elección del <strong>algoritmo </strong>utilizado para entrenar el modelo muchas veces es un aspecto clave para un ajuste efectivo de los parámetros. Nótese que los modelos presentados son solo la forma general de estos, donde los valores de los parámetros (<span class="katex-eq" data-katex-display="false">a, b, c, d...</span>) son los que se encuentran mediante la etapa de entrenamiento con un algoritmo de aprendizaje supervisado.</p>



<p>Finalmente, hay que tomar en cuenta que las <strong>deficiencias</strong> características del subajuste se encuentran directamente al <strong>medir </strong>el <strong>rendimiento </strong>del modelo en los conjuntos de datos de <strong>entrenamiento </strong>y <strong>prueba</strong>; esto es lo que hicimos durante nuestras últimas dos prácticas, en especial en la que corresponde a las métricas de evaluación de <a href="https://dialektico.com/metricas-de-evaluacion-de-modelos-de-regresion/">modelos de regresión</a> (ya que acabamos de plantear el uso de <strong>regresiones lineales</strong>).</p>



<p>Hagamos un pequeño ejercicio al respecto, para refrescar nuestra memoria en el tema:</p>



            <div class='ays-quiz-container ays_quiz_classic_light   ays-quiz-keyboard-active' data-quest-effect='shake'  data-hide-bg-image='false' id='ays-quiz-container-25'>
                
                
                <div class='ays-questions-container'>
                    
                    
                    
                    <form action='' method='post' id='ays_finish_quiz_25' 
                        class='ays-quiz-form enable_correction enable_questions_result '
                    >
            <input type='hidden' value='list' class='answer_view_class'>
            <input type='hidden' value='' class='ays_qm_enable_arrows'>
            <audio id='ays_quiz_right_ans_sound_25' class='ays_quiz_right_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound.wav'></audio><audio id='ays_quiz_wrong_ans_sound_25' class='ays_quiz_wrong_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound-1.wav'></audio>
            
            <div class='step active-step'>
                <div class='ays-abs-fs ays-start-page'>
                    
                    
                    
                    <div class='ays-fs-subtitle'><p>Contesta las siguientes preguntas</p>
</div>
                    <input type='hidden' name='ays_quiz_id' value='25'/>
                    <input type='hidden' name='ays_quiz_finish_nonce' value='7cec930025'>
                    <input type='hidden' name='ays_quiz_curent_page_link' class='ays-quiz-curent-page-link' value='https://dialektico.com/categoria/analisis-de-datos/feed/'/>
                    <input type='hidden' name='ays_quiz_questions' value='71,72,73'>
                    
                    
                    <input type='button'   class='ays_next start_button action-button ays-quiz-keyboard-active' value='EMPEZAR' data-enable-leave-page="false" />
                    
                    </div>
                </div><div class='step  ' data-question-id='71' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>1 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Has entrenado un modelo de regresión lineal y lo has evaluado utilizando la Métrica R². El valor obtenido en el conjunto de entrenamiento es el siguiente: <strong>0.23</strong></p>
<p>¿Qué indica este valor de R²?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-71]' id='ays-answer-250-25' value='250'/>

                <label for='ays-answer-250-25' class='  ays_position_initial  ays-quiz-keyboard-label'>El modelo es eficiente al realizar predicciones sobre los datos de entrenamiento.</label><label for='ays-answer-250-25' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-71]' id='ays-answer-251-25' value='251'/>

                <label for='ays-answer-251-25' class='  ays_position_initial  ays-quiz-keyboard-label'>El modelo es deficiente al realizar predicciones sobre los datos de entrenamiento.</label><label for='ays-answer-251-25' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-71]' id='ays-answer-252-25' value='252'/>

                <label for='ays-answer-252-25' class='  ays_position_initial  ays-quiz-keyboard-label'>No es posible saberlo.</label><label for='ays-answer-252-25' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_25 === 'undefined'){
                window.quizOptions_25 = [];
            }
            window.quizOptions_25['71'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Un valor de R² cercano a 1 es un resultado positivo, mientras que un valor que se aleja y tiende a 0 o -1 implica un ajuste deficiente del modelo.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='72' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>2 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Has calculado también la métrica R² utilizando los datos de prueba. El valor obtenido es el siguiente: <strong>0.19</strong></p>
<p>¿Qué indica este valor de R²?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-72]' id='ays-answer-254-25' value='254'/>

                <label for='ays-answer-254-25' class='  ays_position_initial  ays-quiz-keyboard-label'>El modelo es eficiente al realizar predicciones sobre los datos de prueba.</label><label for='ays-answer-254-25' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-72]' id='ays-answer-255-25' value='255'/>

                <label for='ays-answer-255-25' class='  ays_position_initial  ays-quiz-keyboard-label'>El modelo es deficiente al realizar predicciones sobre los datos de prueba.</label><label for='ays-answer-255-25' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-72]' id='ays-answer-256-25' value='256'/>

                <label for='ays-answer-256-25' class='  ays_position_initial  ays-quiz-keyboard-label'>No es posible saberlo.</label><label for='ays-answer-256-25' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_25 === 'undefined'){
                window.quizOptions_25 = [];
            }
            window.quizOptions_25['72'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Un valor de R² cercano a 1 es un resultado positivo, mientras que un valor que se aleja y tiende a 0 o -1 implica un ajuste deficiente del modelo.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='73' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>3 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Qué se puede deducir de los resultados obtenidos?</p>
<p>R² en datos de entrenamiento: <strong>0.21</strong></p>
<p>R² en datos de prueba: <strong>0.19</strong></p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-73]' id='ays-answer-257-25' value='257'/>

                <label for='ays-answer-257-25' class='  ays_position_initial  ays-quiz-keyboard-label'>El desempeño del modelo es deficiente en ambos conjuntos de datos, por lo que se considera subajustado.</label><label for='ays-answer-257-25' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-73]' id='ays-answer-258-25' value='258'/>

                <label for='ays-answer-258-25' class='  ays_position_initial  ays-quiz-keyboard-label'>El desempeño del modelo es bueno en ambos conjuntos de datos, por lo que se considera eficiente.</label><label for='ays-answer-258-25' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-73]' id='ays-answer-259-25' value='259'/>

                <label for='ays-answer-259-25' class='  ays_position_initial  ays-quiz-keyboard-label'>El desempeño del modelo es eficiente en solo el conjunto de datos de prueba, por lo que se considera subajustado.</label><label for='ays-answer-259-25' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_25 === 'undefined'){
                window.quizOptions_25 = [];
            }
            window.quizOptions_25['73'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays-quiz-keyboard-active ays_arrow ays_display_none" tabindex='0'></i>
                            <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active '  value='ANTERIOR' /><i class='ays_display_none ays_fa ays_fa_flag_checkered ays_finish action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active' tabindex='0'></i><input type='submit' name='ays_finish_quiz' class='  ays_next ays_finish action-button ays-quiz-keyboard-active' value='VER TOTAL'/></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Un modelo subajustado es deficiente en los conjuntos de datos de prueba y de entrenamiento.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step ays_thank_you_fs'>
            <div class='ays-abs-fs ays-end-page'><div data-class='lds-facebook' data-role='loader' class='ays-loader'><div></div><div></div><div></div></div><div class='ays_quiz_results_page'><div class='ays_score_message'></div><div class='ays_message'></div><p class='ays_score ays_score_display_none animated'>Tu puntación es </p><p class='ays_average'>La puntuación media es  100%</p><div class='ays-progress third'>
                <span class='ays-progress-value third'>0%</span>
                <div class='ays-progress-bg third'>
                    <div class='ays-progress-bar third' style='width:0%;'></div>
                </div>
            </div><p class='ays_restart_button_p'><button type='button' class='action-button ays_restart_button ays-quiz-keyboard-active'>
                    <i class='ays_fa ays_fa_undo'></i>
                    <span>Reiniciar Prueba</span>
                </button></p></div>
            </div>
        </div><style>
            div#ays-quiz-container-25 * {
                box-sizing: border-box;
            }

            #ays-quiz-container-25 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                width: 90%;
            }

            /* Styles for Internet Explorer start */
            #ays-quiz-container-25 #ays_finish_quiz_25 {
                
            }

            /* Styles for Quiz container */
            #ays-quiz-container-25{
                min-height: 350px;
                width:400px;
                background-color:#ffffff;
                background-position:center center;background-image: url('https://dialektico.com/wp-content/uploads/2022/08/Q3.jpg');border-radius:0px;box-shadow: none;border-width: 3px;border-style: solid;border-color: #000;}

            /* Styles for questions */
            #ays-quiz-container-25 #ays_finish_quiz_25 div.step {
                min-height: 350px;
            }

            /* Styles for text inside quiz container */
            #ays-quiz-container-25 .ays-start-page *:not(input):not([class^='enlighter']),
            #ays-quiz-container-25 .ays_question_hint,
            #ays-quiz-container-25 label[for^="ays-answer-"],
            #ays-quiz-container-25 #ays_finish_quiz_25 p,
            #ays-quiz-container-25 #ays_finish_quiz_25 .ays-fs-title,
            #ays-quiz-container-25 .ays-fs-subtitle,
            #ays-quiz-container-25 .logged_in_message,
            #ays-quiz-container-25 .ays_score_message,
            #ays-quiz-container-25 .ays_message{
               color: #0a0a0a;
               outline: none;
            }

            div#ays-quiz-container-25 .ays_question_hint.ays-quiz-keyboard-active,
            div#ays-quiz-container-25 .ays_restart_button.ays-quiz-keyboard-active {
                outline: revert;
            }

            #ays-quiz-container-25 .ays-quiz-password-message-box,
            #ays-quiz-container-25 .ays-quiz-question-note-message-box,
            #ays-quiz-container-25 .ays_quiz_question,
            #ays-quiz-container-25 .ays-quiz-question-category-box,
            #ays-quiz-container-25 .ays_quiz_question *:not([class^='enlighter']) {
                color: #0a0a0a;
            }

            #ays-quiz-container-25 .ays-quiz-question-category-box em {
                color: #0a0a0a;
            }

            #ays-quiz-container-25 textarea,
            #ays-quiz-container-25 input::first-letter,
            #ays-quiz-container-25 select::first-letter,
            #ays-quiz-container-25 option::first-letter {
                color: initial !important;
            }
            
            #ays-quiz-container-25 p::first-letter:not(.ays_no_questions_message) {
                color: #0a0a0a !important;
                background-color: transparent !important;
                font-size: inherit !important;
                font-weight: inherit !important;
                float: none !important;
                line-height: inherit !important;
                margin: 0 !important;
                padding: 0 !important;
            }
            
            
            #ays-quiz-container-25 .select2-container,
            #ays-quiz-container-25 .ays-field * {
                font-size: 15px !important;
            }
    
            #ays-quiz-container-25 .ays_quiz_question p {
                font-size: 16px;
                text-align: inherit;
            }

            #ays-quiz-container-25 .ays-fs-subtitle p {
                text-align:  center ;
            }

            #ays-quiz-container-25 .ays_quiz_question {
                text-align:  center ;
                margin-bottom: 10px;
            }

            #ays-quiz-container-25 .ays_quiz_question pre {
                max-width: 100%;
                white-space: break-spaces;
            }

            /* Mango theme (Version: 1.4.202301041836) | tid=32449 | Start */
            #ays-quiz-container-25 .ays_quiz_question img {
                float: unset;
                margin: 0;
            }
            /* Mango theme (Version: 1.4.202301041836) | End */

            #ays-quiz-container-25 .ays-quiz-timer p {
                font-size: 16px;
            }

            #ays-quiz-container-25 section.ays_quiz_redirection_timer_container hr,
            #ays-quiz-container-25 section.ays_quiz_timer_container hr {
                margin: 0;
            }

            #ays-quiz-container-25 section.ays_quiz_timer_container.ays_quiz_timer_red_warning .ays-quiz-timer {
                color: #ff0000;
            }

            #ays-quiz-container-25 .ays_thank_you_fs p {
                text-align: center;
            }

            #ays-quiz-container-25 .ays_quiz_results_page .ays_score span {
                visibility: visible;
            }

            #ays-quiz-container-25 input[type='button'],
            #ays-quiz-container-25 input[type='submit'] {
                color: #ffffff !important;
            }

            #ays-quiz-container-25 input[type='button']{
                outline: none;
            }

            #ays-quiz-container-25 .information_form input[type='text'],
            #ays-quiz-container-25 .information_form input[type='url'],
            #ays-quiz-container-25 .information_form input[type='number'],
            #ays-quiz-container-25 .information_form input[type='email'],
            #ays-quiz-container-25 .information_form input[type='checkbox'],
            #ays-quiz-container-25 .information_form input[type='tel'],
            #ays-quiz-container-25 .information_form textarea,
            #ays-quiz-container-25 .information_form select,
            #ays-quiz-container-25 .information_form option {
                color: initial !important;
                outline: none;
                background-image: unset;
            }

            #ays-quiz-container-25 .wrong_answer_text{
                color:#ff4d4d;
            }
            #ays-quiz-container-25 .right_answer_text{
                color:#33cc33;
            }

            #ays-quiz-container-25 .wrong_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-25 .ays_questtion_explanation p {
                font-size:16px;
            }

            #ays-quiz-container-25 .wrong_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-25 .ays_questtion_explanation *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-25 .right_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-25 .right_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-25 .ays-quiz-question-note-message-box p {
                font-size:14px;
            }

            #ays-quiz-container-25 .ays-quiz-question-note-message-box *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }
            
            #ays-quiz-container-25 .ays_cb_and_a,
            #ays-quiz-container-25 .ays_cb_and_a * {
                color: rgb(10,10,10);
                text-align: center;
            }

            /* Quiz textarea height */
            #ays-quiz-container-25 textarea {
                height: 100px;
                min-height: 100px;
            }

            /* Quiz rate and passed users count */
            #ays-quiz-container-25 .ays_quizn_ancnoxneri_qanak,
            #ays-quiz-container-25 .ays_quiz_rete_avg {
                color:#ffffff !important;
                background-color:#0a0a0a;   
            }

            #ays-quiz-container-25 .ays-questions-container > .ays_quizn_ancnoxneri_qanak {
                padding: 5px 20px;
            }
            #ays-quiz-container-25 div.for_quiz_rate.ui.star.rating .icon {
                color: rgba(10,10,10,0.35);
            }
            #ays-quiz-container-25 .ays_quiz_rete_avg div.for_quiz_rate_avg.ui.star.rating .icon {
                color: rgba(255,255,255,0.5);
            }

            #ays-quiz-container-25 .ays_quiz_rete .ays-quiz-rate-link-box .ays-quiz-rate-link {
                color: #0a0a0a;
            }

            /* Loaders */            
            #ays-quiz-container-25 div.lds-spinner,
            #ays-quiz-container-25 div.lds-spinner2 {
                color: #0a0a0a;
            }
            #ays-quiz-container-25 div.lds-spinner div:after,
            #ays-quiz-container-25 div.lds-spinner2 div:after {
                background-color: #0a0a0a;
            }
            #ays-quiz-container-25 .lds-circle,
            #ays-quiz-container-25 .lds-facebook div,
            #ays-quiz-container-25 .lds-ellipsis div{
                background: #0a0a0a;
            }
            #ays-quiz-container-25 .lds-ripple div{
                border-color: #0a0a0a;
            }
            #ays-quiz-container-25 .lds-dual-ring::after,
            #ays-quiz-container-25 .lds-hourglass::after{
                border-color: #0a0a0a transparent #0a0a0a transparent;
            }

            /* Stars */
            #ays-quiz-container-25 .ui.rating .icon,
            #ays-quiz-container-25 .ui.rating .icon:before {
                font-family: Rating !important;
            }

            /* Progress bars */
            #ays-quiz-container-25 #ays_finish_quiz_25 .ays-progress {
                border-color: rgba(10,10,10,0.8);
            }
            #ays-quiz-container-25 #ays_finish_quiz_25 .ays-progress-bg {
                background-color: rgba(10,10,10,0.3);
            }    
            #ays-quiz-container-25 .ays-progress-value {
                color: #0a0a0a;
                text-align: center;
            }
            #ays-quiz-container-25 .ays-progress-bar {
                background-color: #9e0505;
            }
            #ays-quiz-container-25 .ays-question-counter .ays-live-bar-wrap {
                direction:ltr !important;
            }
            #ays-quiz-container-25 .ays-live-bar-fill{
                color: #0a0a0a;
                border-bottom: 2px solid rgba(10,10,10,0.8);
                text-shadow: 0px 0px 5px #ffffff;
            }
            #ays-quiz-container-25 .ays-live-bar-fill.ays-live-fourth,
            #ays-quiz-container-25 .ays-live-bar-fill.ays-live-third,
            #ays-quiz-container-25 .ays-live-bar-fill.ays-live-second {
                text-shadow: unset;
            }
            #ays-quiz-container-25 .ays-live-bar-percent{
                display:none;
            }
            #ays-quiz-container-25 #ays_finish_quiz_25 .ays_average {
                text-align: center;
            }
            
            /* Music, Sound */
            #ays-quiz-container-25 .ays_music_sound {
                color:rgb(10,10,10);
            }

            /* Dropdown questions scroll bar */
            #ays-quiz-container-25 blockquote {
                border-left-color: #0a0a0a !important;                                      
            }

            /* Quiz Password */
            #ays-quiz-container-25 .ays-start-page > input[id^='ays_quiz_password_val_'],
            #ays-quiz-container-25 .ays-quiz-password-toggle-visibility-box {
                width: 100%;
            }


            /* Question hint */
            #ays-quiz-container-25 .ays_question_hint_container .ays_question_hint_text {
                background-color:#ffffff;
                box-shadow: 0 0 15px 3px rgba(10,10,10,0.35);
                max-width: 270px;
            }

            #ays-quiz-container-25 .ays_question_hint_container .ays_question_hint_text p {
                max-width: unset;
            }

            #ays-quiz-container-25 .ays-quiz-additonal-box {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                position: relative;  
            }

            #ays-quiz-container-25 .ays_questions_hint_max_width_class {
                max-width: 80%;
            }

            /* Information form */
            #ays-quiz-container-25 .ays-form-title{
                color:rgb(10,10,10);
            }

            /* Quiz timer */
            #ays-quiz-container-25 div.ays-quiz-redirection-timer,
            #ays-quiz-container-25 div.ays-quiz-timer{
                color: #0a0a0a;
                text-align: center;
            }

            #ays-quiz-container-25 div.ays-quiz-timer.ays-quiz-message-before-timer:before {
                font-weight: 500;
            }

            /* Quiz title / transformation */
            #ays-quiz-container-25 .ays-fs-title{
                text-transform: uppercase;
                font-size: 21px;
                text-align: center;
                    text-shadow: none;
            }
            
            /* Quiz buttons */
            #ays-quiz-container-25 .ays_arrow {
                color:#ffffff!important;
            }
            #ays-quiz-container-25 input#ays-submit,
            #ays-quiz-container-25 #ays_finish_quiz_25 .action-button,
            div#ays-quiz-container-25 #ays_finish_quiz_25 .action-button.ays_restart_button,
            #ays-quiz-container-25 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-25 .ays-quiz-category-selective-submit-bttn {
                background: none;
                background-color: #9e0505;
                color:#ffffff;
                font-size: 17px;
                padding: 10px 20px;
                border-radius: 3px;
                height: auto;
                letter-spacing: 0;
                box-shadow: unset;
                width: auto;
                /* border: unset; */
                min-height: unset;
                line-height: normal;
                text-shadow: unset;
            }
            #ays-quiz-container-25 input#ays-submit,
            #ays-quiz-container-25 #ays_finish_quiz_25 input.action-button,
            #ays-quiz-container-25 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-25 .ays-quiz-category-selective-submit-bttn {
                
            }

            #ays-quiz-container-25 #ays_finish_quiz_25 .action-button.ays_check_answer {
                padding: 5px 10px;
                font-size: 17px !important;
            }
            #ays-quiz-container-25 #ays_finish_quiz_25 .action-button.ays_restart_button {
                white-space: nowrap;
                padding: 5px 10px;
                white-space: normal;
            }
            #ays-quiz-container-25 input#ays-submit:hover,
            #ays-quiz-container-25 input#ays-submit:focus,
            #ays-quiz-container-25 #ays_finish_quiz_25 .action-button:hover,
            #ays-quiz-container-25 #ays_finish_quiz_25 .action-button:focus,
            #ays-quiz-container-25 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
            #ays-quiz-container-25 .ays-quiz-category-selective-submit-bttn:hover {
                background: none;
                box-shadow: 0 0 0 2px #ffffff;
                background-color: #9e0505;
            }
            #ays-quiz-container-25 .ays_restart_button {
                color: #ffffff;
            }
            
            #ays-quiz-container-25 .ays_restart_button_p,
            #ays-quiz-container-25 .ays_buttons_div {
                justify-content: center;
            }

            #ays-quiz-container-25 .ays_finish.action-button{
                margin: 10px 5px;
            }

            #ays-quiz-container-25 .ays-share-btn.ays-share-btn-branded {
                color: #fff;
                display: inline-block;
            }

            #ays-quiz-container-25 .ays_quiz_results .ays-field.checked_answer_div.correct_div input:checked+label {
                background-color: transparent;
            }
                        
            /* Question answers */
            #ays-quiz-container-25 .ays-field {
                    border-color: #444;
                    border-style: solid;
                    border-width: 1px;
                    box-shadow: none;flex-direction: row-reverse;
            }
            

            /* Answer maximum length of a text field */
            #ays-quiz-container-25 .ays_quiz_question_text_message{
                color: #0a0a0a;
                text-align: left;
                font-size: 12px;
            }

            div#ays-quiz-container-25 div.ays_quiz_question_text_error_message {
                color: #ff0000;
            }

            /* Questions answer image */
            #ays-quiz-container-25 .ays-answer-image {
                width:15em;
                height:150px;
                object-fit: cover;
            }
            
            #ays-quiz-container-25 .ays-quiz-answers .ays-field:hover:not(.ays-answered-text-input){
                opacity: 1;
            }
            #ays-quiz-container-25 #ays_finish_quiz_25 .ays-field label.ays_answer_caption[for^='ays-answer-'] {
                z-index: 1;
                position:initial;bottom:0;}
            #ays-quiz-container-25 #ays_finish_quiz_25 .ays-field input~label[for^='ays-answer-'] {
                padding: 5px;
            }

            #ays-quiz-container-25 #ays_finish_quiz_25 .ays-field {
                margin-bottom: 10px;
            }
            #ays-quiz-container-25 #ays_finish_quiz_25 .ays-field.ays_grid_view_item {
                width: calc(50% - 5px);
            }
            #ays-quiz-container-25 #ays_finish_quiz_25 .ays-field.ays_grid_view_item:nth-child(odd) {
                margin-right: 5px;
            }
            
            #ays-quiz-container-25 #ays_finish_quiz_25 .ays-field input:checked+label:before {
                border-color: #9e0505;
                background: #9e0505;
                background-clip: content-box;
            }
            #ays-quiz-container-25 .ays-quiz-answers div.ays-text-right-answer {
                color: #0a0a0a;
            }
                        
            /* Questions answer right/wrong icons */
            #ays-quiz-container-25 .ays-field input~label.answered.correct:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/correct.png');          }
            #ays-quiz-container-25 .ays-field input~label.answered.wrong:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/wrong.png');
            }
            #ays-quiz-container-25 .ays-field label.answered:last-of-type:after{
                display: none;
                height: auto;
                left: 10px;top: 10px;}
            /* Dropdown questions */            
            #ays-quiz-container-25 #ays_finish_quiz_25 .ays-field .select2-container--default .select2-selection--single {
                border-bottom: 2px solid #9e0505;
                background-color: #9e0505;
            }
            
            #ays-quiz-container-25 .ays-field .select2-container--default .select2-selection--single .select2-selection__placeholder,
            #ays-quiz-container-25 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-25 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow {
                color: #f5f5f5;
            }

            #ays-quiz-container-25 .select2-container--default .select2-search--dropdown .select2-search__field:focus,
            #ays-quiz-container-25 .select2-container--default .select2-search--dropdown .select2-search__field {
                outline: unset;
                padding: 0.75rem;
            }

            #ays-quiz-container-25 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-25 .select2-container--default .select2-results__option--highlighted[aria-selected] {
                background-color: #9e0505;
            }

            #ays-quiz-container-25 .ays-field .select2-container--default,
            #ays-quiz-container-25 .ays-field .select2-container--default .selection,
            #ays-quiz-container-25 .ays-field .select2-container--default .dropdown-wrapper,
            #ays-quiz-container-25 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-25 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered .select2-selection__placeholder,
            #ays-quiz-container-25 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow,
            #ays-quiz-container-25 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow b[role='presentation'] {
                font-size: 16px !important;
            }

            #ays-quiz-container-25 .select2-container--default .select2-results__option {
                padding: 6px;
            }
            
            /* Dropdown questions scroll bar */
            #ays-quiz-container-25 .select2-results__options::-webkit-scrollbar {
                width: 7px;
            }
            #ays-quiz-container-25 .select2-results__options::-webkit-scrollbar-track {
                background-color: rgba(255,255,255,0.35);
            }
            #ays-quiz-container-25 .select2-results__options::-webkit-scrollbar-thumb {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.55);
            }
            #ays-quiz-container-25 .select2-results__options::-webkit-scrollbar-thumb:hover {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.85);
            }

            /* Audio / Video */
            #ays-quiz-container-25 .mejs-container .mejs-time{
                box-sizing: unset;
            }
            #ays-quiz-container-25 .mejs-container .mejs-time-rail {
                padding-top: 15px;
            }

            #ays-quiz-container-25 .mejs-container .mejs-mediaelement video {
                margin: 0;
            }

            /* Limitation */
            #ays-quiz-container-25 .ays-quiz-limitation-count-of-takers {
                padding: 50px;
            }

            #ays-quiz-container-25 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-show,
            #ays-quiz-container-25 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-hide{
                color: #0a0a0a;
            }

            #ays-quiz-container-25 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-25 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-25 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #0a0a0a;
            }

            #ays-quiz-container-25.ays_quiz_elegant_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after,
            #ays-quiz-container-25.ays_quiz_rect_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #000;
            }

            /* Hestia theme (Version: 3.0.16) | Start */
            #ays-quiz-container-25 .mejs-container .mejs-inner .mejs-controls .mejs-button > button:hover,
            #ays-quiz-container-25 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                box-shadow: unset;
                background-color: transparent;
            }
            #ays-quiz-container-25 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                margin: 10px 6px;
            }
            /* Hestia theme (Version: 3.0.16) | End */

            /* Go theme (Version: 1.4.3) | Start */
            #ays-quiz-container-25 label[for^='ays-answer']:before,
            #ays-quiz-container-25 label[for^='ays-answer']:before {
                -webkit-mask-image: unset;
                mask-image: unset;
            }

            #ays-quiz-container-25.ays_quiz_classic_light .ays-field input:checked+label.answered.correct:before,
            #ays-quiz-container-25.ays_quiz_classic_dark .ays-field input:checked+label.answered.correct:before {
                background-color: #9e0505 !important;
                background-color: rgba(39,174,96, 1) !important;
            }
            /* Go theme (Version: 1.4.3) | End */

            #ays-quiz-container-25 .ays_quiz_results fieldset.ays_fieldset .ays_quiz_question .wp-video {
                width: 100% !important;
                max-width: 100%;
            }

            /* Classic Dark / Classic Light */
            /* Dropdown questions right/wrong styles */
            #ays-quiz-container-25.ays_quiz_classic_dark .correct_div,
            #ays-quiz-container-25.ays_quiz_classic_light .correct_div{
                border-color:green !important;
                opacity: 1 !important;
                background-color: rgba(39,174,96,0.4) !important;
            }
            #ays-quiz-container-25.ays_quiz_classic_dark .correct_div .selected-field,
            #ays-quiz-container-25.ays_quiz_classic_light .correct_div .selected-field {
                padding: 0px 10px 0px 10px;
                color: green !important;
            }

            #ays-quiz-container-25.ays_quiz_classic_dark .wrong_div,
            #ays-quiz-container-25.ays_quiz_classic_light .wrong_div{
                border-color:red !important;
                opacity: 1 !important;
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-25.ays_quiz_classic_dark .ays-field.checked_answer_div.wrong_div input:checked~label,
            #ays-quiz-container-25.ays_quiz_classic_light .ays-field.checked_answer_div.wrong_div input:checked~label {
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-25.ays_quiz_classic_dark .ays-field,
            #ays-quiz-container-25.ays_quiz_classic_light .ays-field {
                text-align: left;
                /*margin-bottom: 10px;*/
                padding: 0;
                transition: .3s ease-in-out;
            }

            #ays-quiz-container-25 .ays-quiz-close-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-25 .ays-quiz-open-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-25 .ays_quiz_login_form p{
                color: #0a0a0a;
            }

            /* report questions modal start */
            .ays-modal-reports {
                display: none;
                position: fixed;
                z-index: 9999;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                overflow: auto;
                background-color: rgba(0, 0, 0, 0.4);
                animation-duration: .5s;
                background-color: rgba(0, 0, 0, 0.4);
            }

            #ays-quiz-question-report-modal-25 .ays-modal-content-reports {
                background-color: #fefefe;
                margin: 10% auto;
                border: 1px solid #888;
                max-width: 500px;
                width: 100%;
                border-radius: 10px;
                padding: 20px;
                box-sizing: border-box;
                position: relative;
            }

            #ays-quiz-question-report-modal-25 .ays-modal-content-reports label{
                display: block;
                margin-bottom: 10px;
                font-weight: bold;
                letter-spacing: normal;
            }

            #ays-quiz-question-report-modal-25 .ays-modal-content-reports textarea {
                display: block;
                width: 100%;
                height: 100px;
                padding: 5px;
                box-sizing: border-box;
                border-radius: 5px;
                border: 1px solid #ccc;
                max-width: 100%;
                max-height: 500px;
                resize: vertical;
                transition: unset;
            }

            #ays-quiz-question-report-modal-25 .ays-modal-content-reports input.ays-quiz-submit-question-report {
                background-color: #0073aa;
                color: #fff !important;
                border: none;
                border-radius: 5px;
                padding: 10px 20px;
                cursor: pointer;
                margin-top: 20px;
                line-height: normal;
                letter-spacing: normal;
                box-shadow: unset;
                background-image: unset;
            }

            #ays-quiz-question-report-modal-25 .ays-close-reports-window {
                color: #aaa;
                font-weight: bold;
                position: absolute;
                top: 1%;
                right: 1%;
            }

            #ays-quiz-question-report-modal-25 .ays-close-reports-window img {
                box-shadow: unset;
            }
            
            #ays-quiz-question-report-modal-25 .ays-quiz-preloader img {
                box-shadow: unset;
            }

            #ays-quiz-question-report-modal-25 .ays-close-reports-window img:hover,
            #ays-quiz-question-report-modal-25 .ays-close-reports-window img:focus {
                cursor: pointer;
            }

            #ays-quiz-question-report-modal-25 .ays-quiz-question-report-error {
                display: none;
                font-size: 13px;
                color: #f00;
                text-align: left;
            }

            #ays-quiz-question-report-modal-25 .ays-quiz-question-report-textarea-label,
            #ays-quiz-question-report-modal-25 .ays-quiz-question-report-title {
                text-align: left;
            }

            #ays-quiz-question-report-modal-25 .ays_quiz_modal_overlay {
                width: 100%;
                height: 100%;
                position: fixed;
                top: 0;
                left: 0;
                position: absolute;
                z-index: 1000000000;
                flex-direction: column;
            }

            #ays-quiz-question-report-modal-25 .ays-quiz-container .ays-quiz-user-cհoosing-anonymous-assessment {
                margin: 10px 0;
            }

            /* report questions modal end */

            @media screen and (max-width: 768px){
                #ays-quiz-container-25{
                    max-width: 100%;
                }

                div#ays-quiz-container-25 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                    width: 90%;
                }

                #ays-quiz-container-25 .ays_quiz_question p {
                    font-size: 16px;
                }

                #ays-quiz-container-25 .select2-container,
                #ays-quiz-container-25 .ays-field * {
                    font-size: 15px !important;
                }

                div#ays-quiz-container-25 input#ays-submit,
                div#ays-quiz-container-25 #ays_finish_quiz_25 .action-button,
                div#ays-quiz-container-25 #ays_finish_quiz_25 .action-button.ays_restart_button,
                #ays-quiz-container-25 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
                #ays-quiz-container-25 .ays-quiz-category-selective-submit-bttn {
                    font-size: 17px;
                }

                /* Quiz title / mobile font size */
                div#ays-quiz-container-25 .ays-fs-title {
                    font-size: 21px;
                }

                /* Question explanation / mobile font size */
                #ays-quiz-container-25 .ays_questtion_explanation p {
                    font-size:16px;
                }

                /* Wrong answers / mobile font size */
                #ays-quiz-container-25 .wrong_answer_text p {
                    font-size:16px;
                }

                /* Right answers / mobile font size */
                #ays-quiz-container-25 .right_answer_text p {
                    font-size:16px;
                }

                /* Note text / mobile font size */
                #ays-quiz-container-25 .ays-quiz-question-note-message-box p {
                    font-size:14px;
                }

                div#ays-quiz-container-25 .ays-quiz-question-note-message-box *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-25 .ays_questtion_explanation *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-25 .right_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-25 .wrong_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }
            }
            /* Custom css styles */
            @media screen and (max-width: 768px)
div#ays-quiz-container-5 input#ays-submit, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    font-size: 17px;
    letter-spacing: 1.5px;
}

#ays-quiz-container-5 input#ays-submit, #ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    background: none;
    background-color: #9e0505;
    color: #ffffff;
    font-size: 17px;
    padding: 10px 20px;
    border-radius: 3px;
    height: auto;
    letter-spacing: 1.5px;
    box-shadow: unset;
}
            
            /* RTL direction styles */
            
        </style>
            <style>
                #ays-quiz-container-25 p {
                    margin: 0.625em;
                }
                
                #ays-quiz-container-25 .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }

                #ays-quiz-container-25.ays_quiz_classic_light  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-25.ays_quiz_classic_dark  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-25.ays_quiz_classic_light  .enable_correction .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-25.ays_quiz_classic_dark  .enable_correction .ays-field.checked_answer_div input:checked~label {
                    background-color: transparent;
                }

                #ays-quiz-container-25.ays_quiz_classic_light  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-25.ays_quiz_classic_dark  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-25.ays_quiz_classic_light  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-25.ays_quiz_classic_dark  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }
                
                #ays-quiz-container-25 .ays-field.checked_answer_div input:checked~label:hover {
                    background-color: rgba(158,5,5,0.8);
                }

                #ays-quiz-container-25.ays-quiz-container.ays_quiz_classic_light .ays-questions-container .ays-field:hover label[for^='ays-answer-'],
                #ays-quiz-container-25 .ays-field:hover:not(.ays-answered-text-input){
                    background: rgba(158,5,5,0.8);
                    /* border-radius: 4px; */
                    color: #fff;
                    transition: all .3s;
                }
                #ays-quiz-container-25 #ays_finish_quiz_25 .action-button:hover,
                #ays-quiz-container-25 #ays_finish_quiz_25 .action-button:focus,
                #ays-quiz-container-25 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
                #ays-quiz-container-25 .ays-quiz-category-selective-submit-bttn:focus {
                    box-shadow: 0 0 0 2px white, 0 0 0 3px #9e0505;
                    background: #9e0505;
                }
            </style><script>
                if(typeof aysQuizOptions === 'undefined'){
                    var aysQuizOptions = [];
                }
                aysQuizOptions['25']  = 'eyJxdWl6X3ZlcnNpb24iOiI2LjYuOS4yIiwiY29yZV92ZXJzaW9uIjoiNi43LjIiLCJwaHBfdmVyc2lvbiI6IjguMi4yMyIsImNvbG9yIjoiIzllMDUwNSIsImJnX2NvbG9yIjoiI2ZmZmZmZiIsInRleHRfY29sb3IiOiIjMGEwYTBhIiwiaGVpZ2h0IjozNTAsIndpZHRoIjo0MDAsImVuYWJsZV9sb2dnZWRfdXNlcnMiOiJvZmYiLCJpbmZvcm1hdGlvbl9mb3JtIjoiZGlzYWJsZSIsImZvcm1fbmFtZSI6bnVsbCwiZm9ybV9lbWFpbCI6bnVsbCwiZm9ybV9waG9uZSI6bnVsbCwiaW1hZ2Vfd2lkdGgiOiIiLCJpbWFnZV9oZWlnaHQiOiIiLCJlbmFibGVfY29ycmVjdGlvbiI6Im9uIiwiZW5hYmxlX3Byb2dyZXNzX2JhciI6Im9uIiwiZW5hYmxlX3F1ZXN0aW9uc19yZXN1bHQiOiJvbiIsInJhbmRvbWl6ZV9xdWVzdGlvbnMiOiJvZmYiLCJyYW5kb21pemVfYW5zd2VycyI6Im9mZiIsImVuYWJsZV9xdWVzdGlvbnNfY291bnRlciI6Im9uIiwiZW5hYmxlX3Jlc3RyaWN0aW9uX3Bhc3MiOiJvZmYiLCJyZXN0cmljdGlvbl9wYXNzX21lc3NhZ2UiOiIiLCJ1c2VyX3JvbGUiOltdLCJjdXN0b21fY3NzIjoiQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpXHJcbmRpdiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcbn1cclxuXHJcbiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCAjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzllMDUwNTtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xyXG4gICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbn0iLCJsaW1pdF91c2VycyI6Im9mZiIsImxpbWl0YXRpb25fbWVzc2FnZSI6IiIsInJlZGlyZWN0X3VybCI6IiIsInJlZGlyZWN0aW9uX2RlbGF5IjowLCJhbnN3ZXJzX3ZpZXciOiJsaXN0IiwiZW5hYmxlX3J0bF9kaXJlY3Rpb24iOiJvZmYiLCJlbmFibGVfbG9nZ2VkX3VzZXJzX21lc3NhZ2UiOiIiLCJxdWVzdGlvbnNfY291bnQiOiIiLCJlbmFibGVfcXVlc3Rpb25fYmFuayI6Im9mZiIsImVuYWJsZV9saXZlX3Byb2dyZXNzX2JhciI6Im9mZiIsImVuYWJsZV9wZXJjZW50X3ZpZXciOiJvZmYiLCJlbmFibGVfYXZlcmFnZV9zdGF0aXN0aWNhbCI6Im9uIiwiZW5hYmxlX25leHRfYnV0dG9uIjoib24iLCJlbmFibGVfcHJldmlvdXNfYnV0dG9uIjoib24iLCJlbmFibGVfYXJyb3dzIjoib2ZmIiwidGltZXJfdGV4dCI6IiIsInF1aXpfdGhlbWUiOiJjbGFzc2ljX2xpZ2h0IiwiZW5hYmxlX3NvY2lhbF9idXR0b25zIjoib2ZmIiwicmVzdWx0X3RleHQiOiIiLCJlbmFibGVfcGFzc19jb3VudCI6Im9mZiIsImhpZGVfc2NvcmUiOiJvZmYiLCJyYXRlX2Zvcm1fdGl0bGUiOiIiLCJib3hfc2hhZG93X2NvbG9yIjoicmdiYSgxMCwxMCwxMCwwLjM1KSIsInF1aXpfYm9yZGVyX3JhZGl1cyI6IjAiLCJxdWl6X2JnX2ltYWdlIjoiaHR0cHM6XC9cL2RpYWxla3RpY28uY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDIyXC8wOFwvUTMuanBnIiwicXVpel9ib3JkZXJfd2lkdGgiOiIzIiwicXVpel9ib3JkZXJfc3R5bGUiOiJzb2xpZCIsInF1aXpfYm9yZGVyX2NvbG9yIjoiIzAwMCIsInF1aXpfbG9hZGVyIjoiZmFjZWJvb2siLCJjcmVhdGVfZGF0ZSI6bnVsbCwiYXV0aG9yIjoie1wiaWRcIjpcIjFcIixcIm5hbWVcIjpcIkRhbmllbCBEaWFsXFx1MDBlOWt0aWNvXCJ9IiwicXVlc3RfYW5pbWF0aW9uIjoic2hha2UiLCJmb3JtX3RpdGxlIjoiIiwiZW5hYmxlX2JnX211c2ljIjoib2ZmIiwicXVpel9iZ19tdXNpYyI6IiIsImFuc3dlcnNfZm9udF9zaXplIjoxNSwic2hvd19jcmVhdGVfZGF0ZSI6Im9mZiIsInNob3dfYXV0aG9yIjoib2ZmIiwiZW5hYmxlX2Vhcmx5X2ZpbmlzaCI6Im9mZiIsImFuc3dlcnNfcndfdGV4dHMiOiJvbl9wYXNzaW5nIiwiZGlzYWJsZV9zdG9yZV9kYXRhIjoib2ZmIiwiZW5hYmxlX2JhY2tncm91bmRfZ3JhZGllbnQiOiJvZmYiLCJiYWNrZ3JvdW5kX2dyYWRpZW50X2NvbG9yXzEiOiIjMDAwIiwiYmFja2dyb3VuZF9ncmFkaWVudF9jb2xvcl8yIjoiI2ZmZiIsInF1aXpfZ3JhZGllbnRfZGlyZWN0aW9uIjoidmVydGljYWwiLCJyZWRpcmVjdF9hZnRlcl9zdWJtaXQiOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfdXJsIjoiIiwic3VibWl0X3JlZGlyZWN0X2RlbGF5IjoiMCIsInByb2dyZXNzX2Jhcl9zdHlsZSI6InRoaXJkIiwiZW5hYmxlX2V4aXRfYnV0dG9uIjoib2ZmIiwiZXhpdF9yZWRpcmVjdF91cmwiOiIiLCJpbWFnZV9zaXppbmciOiJjb3ZlciIsInF1aXpfYmdfaW1hZ2VfcG9zaXRpb24iOiJjZW50ZXIgY2VudGVyIiwiY3VzdG9tX2NsYXNzIjoiIiwiZW5hYmxlX3NvY2lhbF9saW5rcyI6Im9mZiIsInNvY2lhbF9saW5rcyI6eyJsaW5rZWRpbl9saW5rIjoiIiwiZmFjZWJvb2tfbGluayI6IiIsInR3aXR0ZXJfbGluayI6IiIsInZrb250YWt0ZV9saW5rIjoiIiwiaW5zdGFncmFtX2xpbmsiOiIiLCJ5b3V0dWJlX2xpbmsiOiIiLCJiZWhhbmNlX2xpbmsiOiIifSwic2hvd19xdWl6X3RpdGxlIjoib2ZmIiwic2hvd19xdWl6X2Rlc2MiOiJvbiIsInNob3dfbG9naW5fZm9ybSI6Im9mZiIsIm1vYmlsZV9tYXhfd2lkdGgiOiIiLCJsaW1pdF91c2Vyc19ieSI6ImlwIiwiYWN0aXZlX2RhdGVfY2hlY2siOiJvZmYiLCJhY3RpdmVJbnRlcnZhbCI6IjIwMjUtMDMtMjUgMjI6MTU6MzEiLCJkZWFjdGl2ZUludGVydmFsIjoiMjAyNS0wMy0yNSAyMjoxNTozMSIsImFjdGl2ZV9kYXRlX3ByZV9zdGFydF9tZXNzYWdlIjoiVGhlIHF1aXogd2lsbCBiZSBhdmFpbGFibGUgc29vbiEiLCJhY3RpdmVfZGF0ZV9tZXNzYWdlIjoiXHUwMGExRWwgdGVzdCBoYSBleHBpcmFkbyEiLCJleHBsYW5hdGlvbl90aW1lIjoiNCIsImVuYWJsZV9jbGVhcl9hbnN3ZXIiOiJvZmYiLCJzaG93X2NhdGVnb3J5Ijoib2ZmIiwic2hvd19xdWVzdGlvbl9jYXRlZ29yeSI6Im9mZiIsImRpc3BsYXlfc2NvcmUiOiJieV9wZXJjYW50YWdlIiwiZW5hYmxlX3J3X2FzbndlcnNfc291bmRzIjoib24iLCJhbnNfcmlnaHRfd3JvbmdfaWNvbiI6ImRlZmF1bHQiLCJxdWl6X2JnX2ltZ19pbl9maW5pc2hfcGFnZSI6Im9mZiIsImZpbmlzaF9hZnRlcl93cm9uZ19hbnN3ZXIiOiJvZmYiLCJhZnRlcl90aW1lcl90ZXh0IjoiIiwiZW5hYmxlX2VudGVyX2tleSI6Im9uIiwiYnV0dG9uc190ZXh0X2NvbG9yIjoiI2ZmZmZmZiIsImJ1dHRvbnNfcG9zaXRpb24iOiJjZW50ZXIiLCJzaG93X3F1ZXN0aW9uc19leHBsYW5hdGlvbiI6Im9uX3Bhc3NpbmciLCJlbmFibGVfYXVkaW9fYXV0b3BsYXkiOiJvZmYiLCJidXR0b25zX3NpemUiOiJtZWRpdW0iLCJidXR0b25zX2ZvbnRfc2l6ZSI6IjE3IiwiYnV0dG9uc193aWR0aCI6IiIsImJ1dHRvbnNfbGVmdF9yaWdodF9wYWRkaW5nIjoiMjAiLCJidXR0b25zX3RvcF9ib3R0b21fcGFkZGluZyI6IjEwIiwiYnV0dG9uc19ib3JkZXJfcmFkaXVzIjoiMyIsImVuYWJsZV9sZWF2ZV9wYWdlIjoib24iLCJlbmFibGVfdGFja2Vyc19jb3VudCI6Im9mZiIsInRhY2tlcnNfY291bnQiOiIiLCJwYXNzX3Njb3JlIjowLCJwYXNzX3Njb3JlX21lc3NhZ2UiOiI8aDQgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj5Db25ncmF0dWxhdGlvbnMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IHBhc3NlZCB0aGUgcXVpeiE8XC9wPiIsImZhaWxfc2NvcmVfbWVzc2FnZSI6IjxoNCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlclwiPk9vcHMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IGhhdmUgbm90IHBhc3NlZCB0aGUgcXVpeiFcclxuVHJ5IGFnYWluITxcL3A+IiwicXVlc3Rpb25fZm9udF9zaXplIjoxNiwicXVpel93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVlc3Rpb25zX2hpbnRfaWNvbl9vcl90ZXh0IjoiZGVmYXVsdCIsInF1ZXN0aW9uc19oaW50X3ZhbHVlIjoiIiwiZW5hYmxlX2Vhcmx5X2ZpbnNoX2NvbWZpcm1fYm94Ijoib24iLCJlbmFibGVfcXVlc3Rpb25zX29yZGVyaW5nX2J5X2NhdCI6Im9mZiIsInNob3dfc2NoZWR1bGVfdGltZXIiOiJvZmYiLCJzaG93X3RpbWVyX3R5cGUiOiJjb3VudGRvd24iLCJxdWl6X2xvYWRlcl90ZXh0X3ZhbHVlIjoiIiwiaGlkZV9jb3JyZWN0X2Fuc3dlcnMiOiJvZmYiLCJzaG93X2luZm9ybWF0aW9uX2Zvcm0iOiJvbiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWYiOiIiLCJkaXNhYmxlX2hvdmVyX2VmZmVjdCI6Im9mZiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWZfd2lkdGgiOjEwMCwicHJvZ3Jlc3NfbGl2ZV9iYXJfc3R5bGUiOiJkZWZhdWx0IiwicXVpel90aXRsZV90cmFuc2Zvcm1hdGlvbiI6InVwcGVyY2FzZSIsInNob3dfYW5zd2Vyc19udW1iZXJpbmciOiJub25lIiwicXVpel9pbWFnZV93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVpel9pbWFnZV9oZWlnaHQiOiIiLCJxdWl6X2JnX2ltZ19vbl9zdGFydF9wYWdlIjoib2ZmIiwicXVpel9ib3hfc2hhZG93X3hfb2Zmc2V0IjowLCJxdWl6X2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYm94X3NoYWRvd196X29mZnNldCI6MTUsInF1aXpfcXVlc3Rpb25fdGV4dF9hbGlnbm1lbnQiOiJjZW50ZXIiLCJxdWl6X2Fycm93X3R5cGUiOiJkZWZhdWx0IiwicXVpel9zaG93X3dyb25nX2Fuc3dlcnNfZmlyc3QiOiJvZmYiLCJxdWl6X2Rpc3BsYXlfYWxsX3F1ZXN0aW9ucyI6Im9mZiIsInF1aXpfdGltZXJfcmVkX3dhcm5pbmciOiJvZmYiLCJxdWl6X3NjaGVkdWxlX3RpbWV6b25lIjoiQW1lcmljYVwvTWV4aWNvX0NpdHkiLCJxdWVzdGlvbnNfaGludF9idXR0b25fdmFsdWUiOiIiLCJxdWl6X3RhY2tlcnNfbWVzc2FnZSI6Ilx1MDBhMUVzdGUgdGVzdCBoYSBleHBpcmFkbyEiLCJxdWl6X2VuYWJsZV9saW5rZWRpbl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfZW5hYmxlX2ZhY2Vib29rX3NoYXJlX2J1dHRvbiI6Im9uIiwicXVpel9lbmFibGVfdHdpdHRlcl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfbWFrZV9yZXNwb25zZXNfYW5vbnltb3VzIjoib2ZmIiwicXVpel9tYWtlX2FsbF9yZXZpZXdfbGluayI6Im9mZiIsInNob3dfcXVlc3Rpb25zX251bWJlcmluZyI6Im5vbmUiLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3RpbWVyIjoiIiwiZW5hYmxlX3Bhc3N3b3JkIjoib2ZmIiwicGFzc3dvcmRfcXVpeiI6IiIsInF1aXpfcGFzc3dvcmRfbWVzc2FnZSI6IiIsImVuYWJsZV9zZWVfcmVzdWx0X2NvbmZpcm1fYm94Ijoib2ZmIiwiZGlzcGxheV9maWVsZHNfbGFiZWxzIjoib2ZmIiwiZW5hYmxlX2Z1bGxfc2NyZWVuX21vZGUiOiJvZmYiLCJxdWl6X2VuYWJsZV9wYXNzd29yZF92aXNpYmlsaXR5Ijoib2ZmIiwicXVlc3Rpb25fbW9iaWxlX2ZvbnRfc2l6ZSI6MTYsImFuc3dlcnNfbW9iaWxlX2ZvbnRfc2l6ZSI6MTUsInNvY2lhbF9idXR0b25zX2hlYWRpbmciOiIiLCJxdWl6X2VuYWJsZV92a29udGFrdGVfc2hhcmVfYnV0dG9uIjoib24iLCJhbnN3ZXJzX2JvcmRlciI6Im9uIiwiYW5zd2Vyc19ib3JkZXJfd2lkdGgiOjEsImFuc3dlcnNfYm9yZGVyX3N0eWxlIjoic29saWQiLCJhbnN3ZXJzX2JvcmRlcl9jb2xvciI6IiM0NDQiLCJzb2NpYWxfbGlua3NfaGVhZGluZyI6IiIsInF1aXpfZW5hYmxlX3F1ZXN0aW9uX2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwiYW5zd2Vyc19tYXJnaW4iOjEwLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3JlZGlyZWN0X3RpbWVyIjoiIiwiYnV0dG9uc19tb2JpbGVfZm9udF9zaXplIjoxNywiYW5zd2Vyc19ib3hfc2hhZG93Ijoib2ZmIiwiYW5zd2Vyc19ib3hfc2hhZG93X2NvbG9yIjoiIzAwMCIsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeF9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfel9vZmZzZXQiOjEwLCJxdWl6X2NyZWF0ZV9hdXRob3IiOjEsInF1aXpfZW5hYmxlX3RpdGxlX3RleHRfc2hhZG93Ijoib2ZmIiwicXVpel90aXRsZV90ZXh0X3NoYWRvd19jb2xvciI6IiMzMzMiLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3hfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3lfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3pfb2Zmc2V0IjoyLCJxdWl6X3Nob3dfb25seV93cm9uZ19hbnN3ZXJzIjoib2ZmIiwicXVpel90aXRsZV9mb250X3NpemUiOjIxLCJxdWl6X3RpdGxlX21vYmlsZV9mb250X3NpemUiOjIxLCJxdWl6X3Bhc3N3b3JkX3dpZHRoIjoiIiwicXVpel9yZXZpZXdfcGxhY2Vob2xkZXJfdGV4dCI6IiIsInF1aXpfbWFrZV9yZXZpZXdfcmVxdWlyZWQiOiJvZmYiLCJxdWl6X2VuYWJsZV9yZXN1bHRzX3RvZ2dsZSI6Im9mZiIsInF1aXpfcmV2aWV3X3RoYW5rX3lvdV9tZXNzYWdlIjoiIiwicXVpel9yZXZpZXdfZW5hYmxlX2NvbW1lbnRfZmllbGQiOiJvbiIsInF1ZXN0X2V4cGxhbmF0aW9uX2ZvbnRfc2l6ZSI6MTYsInF1ZXN0X2V4cGxhbmF0aW9uX21vYmlsZV9mb250X3NpemUiOjE2LCJxdWl6X3dhaXRpbmdfdGltZSI6Im9mZiIsIndyb25nX2Fuc3dlcnNfZm9udF9zaXplIjoxNiwid3JvbmdfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9lbmFibGVfcXVlc3Rpb25faW1hZ2Vfem9vbSI6Im9mZiIsInJpZ2h0X2Fuc3dlcnNfZm9udF9zaXplIjoxNiwicmlnaHRfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9kaXNwbGF5X21lc3NhZ2VzX2JlZm9yZV9idXR0b25zIjoib2ZmIiwicXVpel9lbmFibGVfdXNlcl9jXHUwNTcwb29zaW5nX2Fub255bW91c19hc3Nlc3NtZW50Ijoib2ZmIiwibm90ZV90ZXh0X2ZvbnRfc2l6ZSI6MTQsIm5vdGVfdGV4dF9tb2JpbGVfZm9udF9zaXplIjoxNCwicXVpel9xdWVzdGlvbnNfbnVtYmVyaW5nX2J5X2NhdGVnb3J5Ijoib2ZmIiwicXVpel9lbmFibGVfY3VzdG9tX3RleHRzX2Zvcl9idXR0b25zIjoib2ZmIiwicXVpel9jdXN0b21fdGV4dHNfc3RhcnRfYnV0dG9uIjoiRU1QRVpBUiIsInF1aXpfY3VzdG9tX3RleHRzX25leHRfYnV0dG9uIjoiU0lHVUlFTlRFIiwicXVpel9jdXN0b21fdGV4dHNfcHJldl9idXR0b24iOiJBTlRFUklPUiIsInF1aXpfY3VzdG9tX3RleHRzX2NsZWFyX2J1dHRvbiI6IkxJTVBJQVIiLCJxdWl6X2N1c3RvbV90ZXh0c19maW5pc2hfYnV0dG9uIjoiRklOQUxJWkFSIiwicXVpel9jdXN0b21fdGV4dHNfc2VlX3Jlc3VsdHNfYnV0dG9uIjoiVkVSIFRPVEFMIiwicXVpel9jdXN0b21fdGV4dHNfcmVzdGFydF9xdWl6X2J1dHRvbiI6IlJlaW5pY2lhciBQcnVlYmEiLCJxdWl6X2N1c3RvbV90ZXh0c19zZW5kX2ZlZWRiYWNrX2J1dHRvbiI6IkVudmlhciBjb21lbnRhcmlvcyIsInF1aXpfY3VzdG9tX3RleHRzX2xvYWRfbW9yZV9idXR0b24iOiJDYXJnYXIgbVx1MDBlMXMiLCJxdWl6X2N1c3RvbV90ZXh0c19leGl0X2J1dHRvbiI6IlNhbGlyIiwicXVpel9jdXN0b21fdGV4dHNfY2hlY2tfYnV0dG9uIjoiQ2hlY2siLCJxdWl6X2N1c3RvbV90ZXh0c19sb2dpbl9idXR0b24iOiJMb2cgSW4iLCJxdWl6X2VuYWJsZV9xdWl6X2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwicXVpel9hZG1pbl9ub3RlX3RleHRfdHJhbnNmb3JtIjoibm9uZSIsInF1aXpfcXVlc3RfZXhwbGFuYXRpb25fdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel9yaWdodF9hbnN3ZXJfdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel93cm9uZ19hbnN3ZXJfdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel9hZG1pbl9ub3RlX3RleHRfZGVjb3JhdGlvbiI6Im5vbmUiLCJxdWl6X3F1ZXN0X2V4cGxhbmF0aW9uX3RleHRfZGVjb3JhdGlvbiI6Im5vbmUiLCJxdWl6X3JpZ2h0X2Fuc3dlcnNfdGV4dF9kZWNvcmF0aW9uIjoibm9uZSIsInF1aXpfd3JvbmdfYW5zd2Vyc190ZXh0X2RlY29yYXRpb24iOiJub25lIiwicXVpel9hZG1pbl9ub3RlX2xldHRlcl9zcGFjaW5nIjoiMCIsInF1aXpfYmdfaW1nX2R1cmluZ190aGVfcXVpeiI6Im9mZiIsInF1aXpfcXVlc3RfZXhwbGFuYXRpb25fbGV0dGVyX3NwYWNpbmciOiIwIiwicXVpel9yaWdodF9hbnN3ZXJzX2xldHRlcl9zcGFjaW5nIjoiMCIsInF1aXpfd3JvbmdfYW5zd2Vyc19sZXR0ZXJfc3BhY2luZyI6IjAiLCJxdWl6X2FkbWluX25vdGVfZm9udF93ZWlnaHQiOiJub3JtYWwiLCJxdWl6X3F1ZXN0X2V4cGxhbmF0aW9uX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel9yaWdodF9hbnN3ZXJzX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel93cm9uZ19hbnN3ZXJzX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel9jb250ZW50X21heF93aWR0aCI6OTAsInF1aXpfY29udGVudF9tb2JpbGVfbWF4X3dpZHRoIjo5MCwicXVpel90aW1lcl93YXJuaW5nX3RleHRfY29sb3IiOiIjZmYwMDAwIiwicXVpel9lbmFibGVfZGVmYXVsdF9oaWRlX3Jlc3VsdHNfdG9nZ2xlIjoib2ZmIiwicXVpel9zaG93X3Jlc3RhcnRfYnV0dG9uX29uX3F1aXpfZmFpbCI6Im9mZiIsInJlcXVpcmVkX2ZpZWxkcyI6bnVsbCwiZW5hYmxlX3RpbWVyIjoib2ZmIiwiZW5hYmxlX3F1aXpfcmF0ZSI6Im9mZiIsImVuYWJsZV9yYXRlX2F2ZyI6Im9mZiIsImVuYWJsZV9ib3hfc2hhZG93Ijoib2ZmIiwiZW5hYmxlX2JvcmRlciI6Im9uIiwicXVpel90aW1lcl9pbl90aXRsZSI6Im9mZiIsImVuYWJsZV9yYXRlX2NvbW1lbnRzIjoib2ZmIiwiZW5hYmxlX3Jlc3RhcnRfYnV0dG9uIjoib24iLCJhdXRvZmlsbF91c2VyX2RhdGEiOiJvZmYiLCJ0aW1lciI6MTAwLCJzaG93X2Fuc3dlcnNfY2FwdGlvbiI6Im9uIiwicXVpel9lbmFibGVfa2V5Ym9hcmRfbmF2aWdhdGlvbiI6Im9uIiwic2hvd19xdWl6X2ltYWdlIjoib24iLCJxdWl6X2VuYWJsZV93aGF0c2FwcF9zaGFyZV9idXR0b24iOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfYWZ0ZXIiOiIiLCJyd19hbnN3ZXJzX3NvdW5kcyI6dHJ1ZSwiaWQiOiIyNSIsInRpdGxlIjoiU3ViYWp1c3RlIHkgU29icmVhanVzdGUgMSIsImRlc2NyaXB0aW9uIjoiQ29udGVzdGEgbGFzIHNpZ3VpZW50ZXMgcHJlZ3VudGFzIiwicXVpel9pbWFnZSI6IiIsInF1aXpfY2F0ZWdvcnlfaWQiOiIyIiwicXVlc3Rpb25faWRzIjoiNzEsNzIsNzMiLCJvcmRlcmluZyI6IjI1IiwicHVibGlzaGVkIjoiMSIsImludGVydmFscyI6bnVsbCwicXVpel91cmwiOiIiLCJjdXN0b21fcG9zdF9pZCI6bnVsbCwiYXV0aG9yX2lkIjoiMCIsInF1aXpfYW5pbWF0aW9uX3RvcCI6MTAwLCJxdWl6X2VuYWJsZV9hbmltYXRpb25fdG9wIjoib24ifQ==';
        </script>
                    <input type='hidden' name='quiz_id' value='25'/>
                    <input type='hidden' name='start_date' class='ays-start-date'/>
                </form></div>
                            </div>
                            



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Esto quedará mucho más claro en nuestra práctica con <strong>Python</strong>, donde veremos ejemplos que analizaremos con <strong>métricas de evaluación</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/03/MSYS_K_2.jpg" alt="ajuste y sobreajuste dialektico kagnadi" class="wp-image-11311" style="width:502px;height:auto" title="Sobreajuste y subajuste en modelos de aprendizaje automático 13" srcset="https://dialektico.com/wp-content/uploads/2025/03/MSYS_K_2.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/03/MSYS_K_2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Posibles causas de un modelo subajustado</h3>



<p>Las razones por las que un modelo puede sufrir un <strong>subajuste </strong>pueden ser variadas y depender de los <strong>datos </strong>y el tipo de <strong>algoritmo </strong>utilizado para ajustar los <strong>parámetros</strong>. Sin embargo, estas pueden ser las causas más comunes para un subajuste:</p>



<ul class="wp-block-list">
<li><strong>Modelo demasiado simple</strong>: No tiene suficiente capacidad para aprender patrones complejos. Esto se vio en el ejemplo de la <strong>Figura 3.8.1</strong>, donde un modelo como el que produce una regresión lineal simple (univariada) no es lo mejor en datos con patrones no lineales.</li>



<li><strong>Falta de datos</strong>: No hay suficiente información para aprender relaciones significativas entre las <a href="https://dialektico.com/datos-etiquetados-machine-learning/">variables de entrada y las salidas</a>, es decir, se requiere de un conjunto de datos más grande.</li>



<li><strong>Muy pocas características</strong>: No se han incluido variables de entrada clave en los datos de entrenamiento. Por ejemplo, si se desea obtener un modelo que sea capaz de predecir la calificación que obtendrá un alumno en un examen, probablemente los datos que pueden aportar información al respecto son: horas de estudio, calificaciones promedio, o estatus social. En cambio, variables que no aportan información relevante pueden ser: nombre del alumno, día de nacimiento, rango en Fortnite, etc.</li>



<li><strong>Mala selección de hiperparámetros</strong>: existen algunos parámetros relativos a los algoritmos utilizados, que veremos más adelante en el curso, que pueden ser decisivos en el ajuste final del modelo, algunos ejemplos son: número de iteraciones, regularización, optimizador, tasa de aprendizaje.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">¿Qué es el sobreajuste de un modelo de machine learning?</h2>



<p>Un modelo <strong>sobreajustado </strong>es un <strong>modelo </strong>obtenido mediante <strong>algoritmos </strong>de aprendizaje de máquinas cuyo comportamiento se adhiere de manera muy fiel a la <strong>tendencia </strong>de los datos de entrenamiento, con un ajuste que no solo captura los <strong>patrones </strong>subyacentes, sino también el <strong>ruido</strong> y las <strong>variaciones irrelevantes</strong>. </p>



<p>Esto provoca que el modelo tenga un rendimiento muy aceptable al evaluarse en el conjunto de datos de  <strong>entrenamiento</strong>, pero que sea deficiente al operar sobre <strong>datos nuevos</strong> (es decir, en el conjunto de datos de prueba, o datos nuevos recolectados), ya que no logra generalizar bien su comportamiento.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2025/03/MSYS_M_3.jpg" alt="ajuste y sobreajuste dialektico mmerf" class="wp-image-11316" style="width:550px;height:auto" title="Sobreajuste y subajuste en modelos de aprendizaje automático 14" srcset="https://dialektico.com/wp-content/uploads/2025/03/MSYS_M_3.jpg 1080w, https://dialektico.com/wp-content/uploads/2025/03/MSYS_M_3-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>A diferencia del <strong>subajuste</strong>, el <strong>sobreajuste </strong>ocurre cuando el modelo es demasiado complejo en comparación con la estructura de los datos. Como mencionó Mmerf, en la etapa de <strong>entrenamiento </strong>su desempeño luce muy bien, pero al evaluarse con los datos de <strong>prueba </strong>ya no funciona de igual manera.</p>



<p>El efecto del sobreajuste se observa en las gráficas de la <strong>Figura 3.8.2</strong>:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1140" height="516" src="https://dialektico.com/wp-content/uploads/2025/03/MSYS_chart_2.png" alt="ajuste y sobreajuste dialektico" class="wp-image-11319" title="Sobreajuste y subajuste en modelos de aprendizaje automático 15" srcset="https://dialektico.com/wp-content/uploads/2025/03/MSYS_chart_2.png 1140w, https://dialektico.com/wp-content/uploads/2025/03/MSYS_chart_2-768x348.png 768w" sizes="(max-width: 1140px) 100vw, 1140px" /><figcaption class="wp-element-caption"><strong>Figura 3.8.2</strong> Gráficas de dos modelos entrenados para ajustarse a la tendencia de los datos. El segundo muestra un sobreajuste, mientras que el primero describe el comportamiento de las observaciones sin adaptarse completamente a todas sus variaciones.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En este caso, en la <strong>primera gráfica</strong> yace el <strong>modelo </strong>que vimos anteriormente, donde los datos pueden ser modelados mediante una curva que decae sutilmente y se ajusta a su comportamiento sin encajar perfectamente en estos, lo que implica que realiza predicciones con pequeños defectos pero cercanas a la <strong>tendencia </strong>subyacente.</p>



<p>En la figura de la derecha, sin embargo, se visualiza una función que está demasiado <strong>ajustada </strong>al movimiento de los datos, provocando que se dibuje una figura irregular que intenta abarcar las variaciones de todas las <strong>observaciones</strong>, aunque estas puedan representar <strong>valores atípicos</strong> o <strong>ruido</strong>; obsérvese el último punto, el cual parece ser un valor atípico en el conjunto de datos, y que el <strong>modelo </strong>traza de manera exacta.</p>



<p>Esto implica que el modelo está <strong>sobreajustado</strong>, generando una <strong>función </strong>matemática que predice correctamente solo los valores del conjunto de datos de <strong>entrenamiento</strong>, pero falla en el conjunto de datos de <strong>prueba</strong> (no es capaz de realizar estimaciones correctas sobre valores cuya <strong>tendencia </strong>en realidad es una curva, no un conjunto de valles irregulares, como lo que se ha dibujado en la gráfica de la derecha).</p>



<p>Matemáticamente hablando, los modelos de ambos ejemplos tienen la siguiente forma:</p>



<ul class="wp-block-list">
<li>Modelo con un mejor ajuste (regresión polinomial de grado 3):</li>
</ul>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>y = ax^3 + bx^2 + cx + d</pre></div>



<ul class="wp-block-list">
<li>Modelo sobreajustado (regresión polinomial de grado 15):</li>
</ul>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>y = a_{15}x^{15} + a_{14}x^{14} + \dots + a_2x^2 + a_1x + a_0
</pre></div>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>De esto se desprende que utilizar modelos de varias <strong>dimensiones </strong>(variables) y grados altos puede desembocar en un <strong>sobreajuste</strong>, por lo que es necesario tener cuidado en mantener un balance entre los <strong>algoritmos </strong>de aprendizaje de máquinas a utilizar y las <strong>dimensiones </strong>de entrada de los datos.</p>



<p>Las gráficas finales de cada modelo con ajustes diferentes se pueden contemplar en la <strong>Figura 3.8.3</strong></p>



<figure class="wp-block-image alignwide size-full"><img loading="lazy" decoding="async" width="1790" height="446" src="https://dialektico.com/wp-content/uploads/2025/03/image-5.png" alt="image 5" class="wp-image-11328" title="Sobreajuste y subajuste en modelos de aprendizaje automático 16" srcset="https://dialektico.com/wp-content/uploads/2025/03/image-5.png 1790w, https://dialektico.com/wp-content/uploads/2025/03/image-5-768x191.png 768w, https://dialektico.com/wp-content/uploads/2025/03/image-5-1536x383.png 1536w" sizes="(max-width: 1790px) 100vw, 1790px" /><figcaption class="wp-element-caption"><strong>Figura 3.8.3 </strong>Comparación entre las gráficas de modelos con subajuste, sobreajuste, y uno que mantiene un equilibrio entre ambos casos, considerado como el mejor ajuste entre los tres.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/03/MSYS_L_2.jpg" alt="ajuste y sobreajuste dialektico laiahrang" class="wp-image-11323" style="width:499px;height:auto" title="Sobreajuste y subajuste en modelos de aprendizaje automático 17" srcset="https://dialektico.com/wp-content/uploads/2025/03/MSYS_L_2.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/03/MSYS_L_2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Así es, los modelos de <strong>clasificación </strong>pueden tener los mismos problemas. Para identificarlos se sigue la misma metodología, se realizan las respectivas mediciones de <strong>desempeño</strong> utilizando <a href="https://dialektico.com/metricas-clasificacion-matriz-confusion/">métricas de evaluación de modelos de clasificación</a>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Posibles causas de un modelo sobreajustado</h3>



<p>Las razones por las que un <strong>modelo </strong>puede sufrir <strong>sobreajuste,</strong> al igual que en el subajuste, pueden ser variadas y dependen principalmente del conjunto de datos y/o de la complejidad del modelo utilizado. A continuación, se presentan algunas de las causas más comunes para un sobreajuste:</p>



<ul class="wp-block-list">
<li><strong>Modelo demasiado complejo</strong>: Tiene una gran cantidad de parámetros y variables, lo que le permite aprender incluso el ruido en los datos en lugar de los patrones generales.</li>



<li><strong>Demasiadas características irrelevantes</strong>: Si el modelo tiene muchas variables que no aportan información útil, puede ajustarse demasiado a datos específicos sin realizar generalizaciones correctamente.</li>



<li><strong>Insuficiente cantidad de datos</strong>: Con pocos datos, el modelo puede aprender patrones específicos del conjunto de entrenamiento en lugar de patrones generales.</li>



<li><strong>Las particiones del conjunto de datos no tienen la misma distribución</strong>: Los conjuntos de datos de entrenamiento prueba y/o validación no muestran consistencia en su comportamiento.</li>



<li><strong>Mala selección de hiperparámetros</strong>: Algunos parámetros, como la falta de regularización o arquitectura del algoritmo a utilizar, pueden hacer que el modelo sea demasiado flexible y se adapte al ruido.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/03/MSYS_K_3.jpg" alt="ajuste y sobreajuste dialektico kagnadi" class="wp-image-11321" style="width:500px;height:auto" title="Sobreajuste y subajuste en modelos de aprendizaje automático 18" srcset="https://dialektico.com/wp-content/uploads/2025/03/MSYS_K_3.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/03/MSYS_K_3-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:0px" aria-hidden="true" class="wp-block-spacer"></div>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center has-text-color" id="aprendizaje-supervisado-codigo-de-programacion" style="color:#840303">Detección de ajuste y sobreajuste de modelos con Python</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Espadas_1.jpg" alt="Preprocesamiento de datos dialéktico" class="wp-image-6961" style="width:139px" title="Sobreajuste y subajuste en modelos de aprendizaje automático 19" srcset="https://dialektico.com/wp-content/uploads/2024/04/Espadas_1.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Espadas_1-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Es hora de un poco de acción. En la práctica de hoy revisaremos un caso de <strong>subajuste </strong>y <strong>sobreajuste </strong>de <strong>modelos</strong>, realizando <strong>diagnósticos </strong>con <strong>métricas </strong>de <strong>evaluación</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized is-resized, mi-imagen-pulsa" id="colab"><a href="https://colab.research.google.com/github/DanielDialektico/dialektico-machine-learning-practices/blob/main/notebooks/Machine%20Learning/Miscel%C3%A1nea/Sobreajuste_y_subajuste_de_modelos.ipynb" target="_blank" rel="noopener"><img loading="lazy" decoding="async" width="860" height="422" src="https://dialektico.com/wp-content/uploads/2022/07/Boton.png" alt="colab" class="wp-image-1469" style="width:182px;height:auto" title="Sobreajuste y subajuste en modelos de aprendizaje automático 20" srcset="https://dialektico.com/wp-content/uploads/2022/07/Boton.png 860w, https://dialektico.com/wp-content/uploads/2022/07/Boton-300x147.png 300w, https://dialektico.com/wp-content/uploads/2022/07/Boton-768x377.png 768w" sizes="(max-width: 860px) 100vw, 860px" /></a></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Puedes previsualizar el contenido aquí:</p>


<p><script src="https://gist.github.com/DanielDialektico/ca760b168c858020fb78b64c5958afba.js"></script></p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



            <div class='ays-quiz-container ays_quiz_classic_light   ays-quiz-keyboard-active' data-quest-effect='shake'  data-hide-bg-image='false' id='ays-quiz-container-26'>
                
                
                <div class='ays-questions-container'>
                    
                    
                    
                    <form action='' method='post' id='ays_finish_quiz_26' 
                        class='ays-quiz-form enable_correction enable_questions_result '
                    >
            <input type='hidden' value='list' class='answer_view_class'>
            <input type='hidden' value='' class='ays_qm_enable_arrows'>
            <audio id='ays_quiz_right_ans_sound_26' class='ays_quiz_right_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound.wav'></audio><audio id='ays_quiz_wrong_ans_sound_26' class='ays_quiz_wrong_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound-1.wav'></audio>
            
            <div class='step active-step'>
                <div class='ays-abs-fs ays-start-page'>
                    
                    
                    
                    <div class='ays-fs-subtitle'><p>Contesta las siguientes preguntas</p>
</div>
                    <input type='hidden' name='ays_quiz_id' value='26'/>
                    <input type='hidden' name='ays_quiz_finish_nonce' value='7cec930025'>
                    <input type='hidden' name='ays_quiz_curent_page_link' class='ays-quiz-curent-page-link' value='https://dialektico.com/categoria/analisis-de-datos/feed/'/>
                    <input type='hidden' name='ays_quiz_questions' value='74,75,76'>
                    
                    
                    <input type='button'   class='ays_next start_button action-button ays-quiz-keyboard-active' value='EMPEZAR' data-enable-leave-page="false" />
                    
                    </div>
                </div><div class='step  ' data-question-id='74' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>1 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Has entrenado un modelo de machine learning y has evaluado su desempeño en los conjuntos de datos de entrenamiento y prueba. El modelo muestra resultados favorables en ambos conjuntos. Por lo tanto, el modelo está subajustado.</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-74]' id='ays-answer-260-26' value='260'/>

                <label for='ays-answer-260-26' class='  ays_position_initial  ays-quiz-keyboard-label'>Verdadero</label><label for='ays-answer-260-26' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-74]' id='ays-answer-261-26' value='261'/>

                <label for='ays-answer-261-26' class='  ays_position_initial  ays-quiz-keyboard-label'>Falso</label><label for='ays-answer-261-26' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_26 === 'undefined'){
                window.quizOptions_26 = [];
            }
            window.quizOptions_26['74'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Un modelo subajustado es deficiente en los conjuntos de datos de prueba y de entrenamiento.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='75' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>2 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Has entrenado un modelo de machine learning y has evaluado su desempeño en los conjuntos de datos de entrenamiento y prueba. El modelo muestra resultados favorables en el conjunto de datos de entrenamiento, pero un desempeño muy bajo en el conjunto de datos de prueba. Por lo tanto, el modelo está sobreajustado.</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-75]' id='ays-answer-263-26' value='263'/>

                <label for='ays-answer-263-26' class='  ays_position_initial  ays-quiz-keyboard-label'>Verdadero</label><label for='ays-answer-263-26' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-75]' id='ays-answer-264-26' value='264'/>

                <label for='ays-answer-264-26' class='  ays_position_initial  ays-quiz-keyboard-label'>Falso</label><label for='ays-answer-264-26' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_26 === 'undefined'){
                window.quizOptions_26 = [];
            }
            window.quizOptions_26['75'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Un modelo sobreajustado es generalmente eficiente en el conjunto de datos de entrenamiento, pero no de igual manera en el de prueba.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='76' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>3 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Has entrenado un modelo de machine learning y has evaluado su desempeño en los conjuntos de datos de entrenamiento y prueba. El modelo muestra resultados deficientes tanto en el conjunto de datos de entrenamiento como en el de prueba. El modelo está subajustado.</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-76]' id='ays-answer-265-26' value='265'/>

                <label for='ays-answer-265-26' class='  ays_position_initial  ays-quiz-keyboard-label'>Verdadero</label><label for='ays-answer-265-26' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-76]' id='ays-answer-266-26' value='266'/>

                <label for='ays-answer-266-26' class='  ays_position_initial  ays-quiz-keyboard-label'>Falso</label><label for='ays-answer-266-26' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_26 === 'undefined'){
                window.quizOptions_26 = [];
            }
            window.quizOptions_26['76'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays-quiz-keyboard-active ays_arrow ays_display_none" tabindex='0'></i>
                            <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active '  value='ANTERIOR' /><i class='ays_display_none ays_fa ays_fa_flag_checkered ays_finish action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active' tabindex='0'></i><input type='submit' name='ays_finish_quiz' class='  ays_next ays_finish action-button ays-quiz-keyboard-active' value='VER TOTAL'/></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Un modelo subajustado es deficiente en los conjuntos de datos de prueba y entrenamiento.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step ays_thank_you_fs'>
            <div class='ays-abs-fs ays-end-page'><div data-class='lds-facebook' data-role='loader' class='ays-loader'><div></div><div></div><div></div></div><div class='ays_quiz_results_page'><div class='ays_score_message'></div><div class='ays_message'></div><p class='ays_score ays_score_display_none animated'>Tu puntación es </p><p class='ays_average'>La puntuación media es  66%</p><div class='ays-progress third'>
                <span class='ays-progress-value third'>0%</span>
                <div class='ays-progress-bg third'>
                    <div class='ays-progress-bar third' style='width:0%;'></div>
                </div>
            </div><p class='ays_restart_button_p'><button type='button' class='action-button ays_restart_button ays-quiz-keyboard-active'>
                    <i class='ays_fa ays_fa_undo'></i>
                    <span>Reiniciar Prueba</span>
                </button></p></div>
            </div>
        </div><style>
            div#ays-quiz-container-26 * {
                box-sizing: border-box;
            }

            #ays-quiz-container-26 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                width: 90%;
            }

            /* Styles for Internet Explorer start */
            #ays-quiz-container-26 #ays_finish_quiz_26 {
                
            }

            /* Styles for Quiz container */
            #ays-quiz-container-26{
                min-height: 350px;
                width:400px;
                background-color:#ffffff;
                background-position:center center;background-image: url('https://dialektico.com/wp-content/uploads/2022/08/Q3.jpg');border-radius:0px;box-shadow: none;border-width: 3px;border-style: solid;border-color: #000;}

            /* Styles for questions */
            #ays-quiz-container-26 #ays_finish_quiz_26 div.step {
                min-height: 350px;
            }

            /* Styles for text inside quiz container */
            #ays-quiz-container-26 .ays-start-page *:not(input):not([class^='enlighter']),
            #ays-quiz-container-26 .ays_question_hint,
            #ays-quiz-container-26 label[for^="ays-answer-"],
            #ays-quiz-container-26 #ays_finish_quiz_26 p,
            #ays-quiz-container-26 #ays_finish_quiz_26 .ays-fs-title,
            #ays-quiz-container-26 .ays-fs-subtitle,
            #ays-quiz-container-26 .logged_in_message,
            #ays-quiz-container-26 .ays_score_message,
            #ays-quiz-container-26 .ays_message{
               color: #0a0a0a;
               outline: none;
            }

            div#ays-quiz-container-26 .ays_question_hint.ays-quiz-keyboard-active,
            div#ays-quiz-container-26 .ays_restart_button.ays-quiz-keyboard-active {
                outline: revert;
            }

            #ays-quiz-container-26 .ays-quiz-password-message-box,
            #ays-quiz-container-26 .ays-quiz-question-note-message-box,
            #ays-quiz-container-26 .ays_quiz_question,
            #ays-quiz-container-26 .ays-quiz-question-category-box,
            #ays-quiz-container-26 .ays_quiz_question *:not([class^='enlighter']) {
                color: #0a0a0a;
            }

            #ays-quiz-container-26 .ays-quiz-question-category-box em {
                color: #0a0a0a;
            }

            #ays-quiz-container-26 textarea,
            #ays-quiz-container-26 input::first-letter,
            #ays-quiz-container-26 select::first-letter,
            #ays-quiz-container-26 option::first-letter {
                color: initial !important;
            }
            
            #ays-quiz-container-26 p::first-letter:not(.ays_no_questions_message) {
                color: #0a0a0a !important;
                background-color: transparent !important;
                font-size: inherit !important;
                font-weight: inherit !important;
                float: none !important;
                line-height: inherit !important;
                margin: 0 !important;
                padding: 0 !important;
            }
            
            
            #ays-quiz-container-26 .select2-container,
            #ays-quiz-container-26 .ays-field * {
                font-size: 15px !important;
            }
    
            #ays-quiz-container-26 .ays_quiz_question p {
                font-size: 16px;
                text-align: inherit;
            }

            #ays-quiz-container-26 .ays-fs-subtitle p {
                text-align:  center ;
            }

            #ays-quiz-container-26 .ays_quiz_question {
                text-align:  center ;
                margin-bottom: 10px;
            }

            #ays-quiz-container-26 .ays_quiz_question pre {
                max-width: 100%;
                white-space: break-spaces;
            }

            /* Mango theme (Version: 1.4.202301041836) | tid=32449 | Start */
            #ays-quiz-container-26 .ays_quiz_question img {
                float: unset;
                margin: 0;
            }
            /* Mango theme (Version: 1.4.202301041836) | End */

            #ays-quiz-container-26 .ays-quiz-timer p {
                font-size: 16px;
            }

            #ays-quiz-container-26 section.ays_quiz_redirection_timer_container hr,
            #ays-quiz-container-26 section.ays_quiz_timer_container hr {
                margin: 0;
            }

            #ays-quiz-container-26 section.ays_quiz_timer_container.ays_quiz_timer_red_warning .ays-quiz-timer {
                color: #ff0000;
            }

            #ays-quiz-container-26 .ays_thank_you_fs p {
                text-align: center;
            }

            #ays-quiz-container-26 .ays_quiz_results_page .ays_score span {
                visibility: visible;
            }

            #ays-quiz-container-26 input[type='button'],
            #ays-quiz-container-26 input[type='submit'] {
                color: #ffffff !important;
            }

            #ays-quiz-container-26 input[type='button']{
                outline: none;
            }

            #ays-quiz-container-26 .information_form input[type='text'],
            #ays-quiz-container-26 .information_form input[type='url'],
            #ays-quiz-container-26 .information_form input[type='number'],
            #ays-quiz-container-26 .information_form input[type='email'],
            #ays-quiz-container-26 .information_form input[type='checkbox'],
            #ays-quiz-container-26 .information_form input[type='tel'],
            #ays-quiz-container-26 .information_form textarea,
            #ays-quiz-container-26 .information_form select,
            #ays-quiz-container-26 .information_form option {
                color: initial !important;
                outline: none;
                background-image: unset;
            }

            #ays-quiz-container-26 .wrong_answer_text{
                color:#ff4d4d;
            }
            #ays-quiz-container-26 .right_answer_text{
                color:#33cc33;
            }

            #ays-quiz-container-26 .wrong_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-26 .ays_questtion_explanation p {
                font-size:16px;
            }

            #ays-quiz-container-26 .wrong_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-26 .ays_questtion_explanation *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-26 .right_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-26 .right_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-26 .ays-quiz-question-note-message-box p {
                font-size:14px;
            }

            #ays-quiz-container-26 .ays-quiz-question-note-message-box *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }
            
            #ays-quiz-container-26 .ays_cb_and_a,
            #ays-quiz-container-26 .ays_cb_and_a * {
                color: rgb(10,10,10);
                text-align: center;
            }

            /* Quiz textarea height */
            #ays-quiz-container-26 textarea {
                height: 100px;
                min-height: 100px;
            }

            /* Quiz rate and passed users count */
            #ays-quiz-container-26 .ays_quizn_ancnoxneri_qanak,
            #ays-quiz-container-26 .ays_quiz_rete_avg {
                color:#ffffff !important;
                background-color:#0a0a0a;   
            }

            #ays-quiz-container-26 .ays-questions-container > .ays_quizn_ancnoxneri_qanak {
                padding: 5px 20px;
            }
            #ays-quiz-container-26 div.for_quiz_rate.ui.star.rating .icon {
                color: rgba(10,10,10,0.35);
            }
            #ays-quiz-container-26 .ays_quiz_rete_avg div.for_quiz_rate_avg.ui.star.rating .icon {
                color: rgba(255,255,255,0.5);
            }

            #ays-quiz-container-26 .ays_quiz_rete .ays-quiz-rate-link-box .ays-quiz-rate-link {
                color: #0a0a0a;
            }

            /* Loaders */            
            #ays-quiz-container-26 div.lds-spinner,
            #ays-quiz-container-26 div.lds-spinner2 {
                color: #0a0a0a;
            }
            #ays-quiz-container-26 div.lds-spinner div:after,
            #ays-quiz-container-26 div.lds-spinner2 div:after {
                background-color: #0a0a0a;
            }
            #ays-quiz-container-26 .lds-circle,
            #ays-quiz-container-26 .lds-facebook div,
            #ays-quiz-container-26 .lds-ellipsis div{
                background: #0a0a0a;
            }
            #ays-quiz-container-26 .lds-ripple div{
                border-color: #0a0a0a;
            }
            #ays-quiz-container-26 .lds-dual-ring::after,
            #ays-quiz-container-26 .lds-hourglass::after{
                border-color: #0a0a0a transparent #0a0a0a transparent;
            }

            /* Stars */
            #ays-quiz-container-26 .ui.rating .icon,
            #ays-quiz-container-26 .ui.rating .icon:before {
                font-family: Rating !important;
            }

            /* Progress bars */
            #ays-quiz-container-26 #ays_finish_quiz_26 .ays-progress {
                border-color: rgba(10,10,10,0.8);
            }
            #ays-quiz-container-26 #ays_finish_quiz_26 .ays-progress-bg {
                background-color: rgba(10,10,10,0.3);
            }    
            #ays-quiz-container-26 .ays-progress-value {
                color: #0a0a0a;
                text-align: center;
            }
            #ays-quiz-container-26 .ays-progress-bar {
                background-color: #9e0505;
            }
            #ays-quiz-container-26 .ays-question-counter .ays-live-bar-wrap {
                direction:ltr !important;
            }
            #ays-quiz-container-26 .ays-live-bar-fill{
                color: #0a0a0a;
                border-bottom: 2px solid rgba(10,10,10,0.8);
                text-shadow: 0px 0px 5px #ffffff;
            }
            #ays-quiz-container-26 .ays-live-bar-fill.ays-live-fourth,
            #ays-quiz-container-26 .ays-live-bar-fill.ays-live-third,
            #ays-quiz-container-26 .ays-live-bar-fill.ays-live-second {
                text-shadow: unset;
            }
            #ays-quiz-container-26 .ays-live-bar-percent{
                display:none;
            }
            #ays-quiz-container-26 #ays_finish_quiz_26 .ays_average {
                text-align: center;
            }
            
            /* Music, Sound */
            #ays-quiz-container-26 .ays_music_sound {
                color:rgb(10,10,10);
            }

            /* Dropdown questions scroll bar */
            #ays-quiz-container-26 blockquote {
                border-left-color: #0a0a0a !important;                                      
            }

            /* Quiz Password */
            #ays-quiz-container-26 .ays-start-page > input[id^='ays_quiz_password_val_'],
            #ays-quiz-container-26 .ays-quiz-password-toggle-visibility-box {
                width: 100%;
            }


            /* Question hint */
            #ays-quiz-container-26 .ays_question_hint_container .ays_question_hint_text {
                background-color:#ffffff;
                box-shadow: 0 0 15px 3px rgba(10,10,10,0.35);
                max-width: 270px;
            }

            #ays-quiz-container-26 .ays_question_hint_container .ays_question_hint_text p {
                max-width: unset;
            }

            #ays-quiz-container-26 .ays-quiz-additonal-box {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                position: relative;  
            }

            #ays-quiz-container-26 .ays_questions_hint_max_width_class {
                max-width: 80%;
            }

            /* Information form */
            #ays-quiz-container-26 .ays-form-title{
                color:rgb(10,10,10);
            }

            /* Quiz timer */
            #ays-quiz-container-26 div.ays-quiz-redirection-timer,
            #ays-quiz-container-26 div.ays-quiz-timer{
                color: #0a0a0a;
                text-align: center;
            }

            #ays-quiz-container-26 div.ays-quiz-timer.ays-quiz-message-before-timer:before {
                font-weight: 500;
            }

            /* Quiz title / transformation */
            #ays-quiz-container-26 .ays-fs-title{
                text-transform: uppercase;
                font-size: 21px;
                text-align: center;
                    text-shadow: none;
            }
            
            /* Quiz buttons */
            #ays-quiz-container-26 .ays_arrow {
                color:#ffffff!important;
            }
            #ays-quiz-container-26 input#ays-submit,
            #ays-quiz-container-26 #ays_finish_quiz_26 .action-button,
            div#ays-quiz-container-26 #ays_finish_quiz_26 .action-button.ays_restart_button,
            #ays-quiz-container-26 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-26 .ays-quiz-category-selective-submit-bttn {
                background: none;
                background-color: #9e0505;
                color:#ffffff;
                font-size: 17px;
                padding: 10px 20px;
                border-radius: 3px;
                height: auto;
                letter-spacing: 0;
                box-shadow: unset;
                width: auto;
                /* border: unset; */
                min-height: unset;
                line-height: normal;
                text-shadow: unset;
            }
            #ays-quiz-container-26 input#ays-submit,
            #ays-quiz-container-26 #ays_finish_quiz_26 input.action-button,
            #ays-quiz-container-26 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-26 .ays-quiz-category-selective-submit-bttn {
                
            }

            #ays-quiz-container-26 #ays_finish_quiz_26 .action-button.ays_check_answer {
                padding: 5px 10px;
                font-size: 17px !important;
            }
            #ays-quiz-container-26 #ays_finish_quiz_26 .action-button.ays_restart_button {
                white-space: nowrap;
                padding: 5px 10px;
                white-space: normal;
            }
            #ays-quiz-container-26 input#ays-submit:hover,
            #ays-quiz-container-26 input#ays-submit:focus,
            #ays-quiz-container-26 #ays_finish_quiz_26 .action-button:hover,
            #ays-quiz-container-26 #ays_finish_quiz_26 .action-button:focus,
            #ays-quiz-container-26 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
            #ays-quiz-container-26 .ays-quiz-category-selective-submit-bttn:hover {
                background: none;
                box-shadow: 0 0 0 2px #ffffff;
                background-color: #9e0505;
            }
            #ays-quiz-container-26 .ays_restart_button {
                color: #ffffff;
            }
            
            #ays-quiz-container-26 .ays_restart_button_p,
            #ays-quiz-container-26 .ays_buttons_div {
                justify-content: center;
            }

            #ays-quiz-container-26 .ays_finish.action-button{
                margin: 10px 5px;
            }

            #ays-quiz-container-26 .ays-share-btn.ays-share-btn-branded {
                color: #fff;
                display: inline-block;
            }

            #ays-quiz-container-26 .ays_quiz_results .ays-field.checked_answer_div.correct_div input:checked+label {
                background-color: transparent;
            }
                        
            /* Question answers */
            #ays-quiz-container-26 .ays-field {
                    border-color: #444;
                    border-style: solid;
                    border-width: 1px;
                    box-shadow: none;flex-direction: row-reverse;
            }
            

            /* Answer maximum length of a text field */
            #ays-quiz-container-26 .ays_quiz_question_text_message{
                color: #0a0a0a;
                text-align: left;
                font-size: 12px;
            }

            div#ays-quiz-container-26 div.ays_quiz_question_text_error_message {
                color: #ff0000;
            }

            /* Questions answer image */
            #ays-quiz-container-26 .ays-answer-image {
                width:15em;
                height:150px;
                object-fit: cover;
            }
            
            #ays-quiz-container-26 .ays-quiz-answers .ays-field:hover:not(.ays-answered-text-input){
                opacity: 1;
            }
            #ays-quiz-container-26 #ays_finish_quiz_26 .ays-field label.ays_answer_caption[for^='ays-answer-'] {
                z-index: 1;
                position:initial;bottom:0;}
            #ays-quiz-container-26 #ays_finish_quiz_26 .ays-field input~label[for^='ays-answer-'] {
                padding: 5px;
            }

            #ays-quiz-container-26 #ays_finish_quiz_26 .ays-field {
                margin-bottom: 10px;
            }
            #ays-quiz-container-26 #ays_finish_quiz_26 .ays-field.ays_grid_view_item {
                width: calc(50% - 5px);
            }
            #ays-quiz-container-26 #ays_finish_quiz_26 .ays-field.ays_grid_view_item:nth-child(odd) {
                margin-right: 5px;
            }
            
            #ays-quiz-container-26 #ays_finish_quiz_26 .ays-field input:checked+label:before {
                border-color: #9e0505;
                background: #9e0505;
                background-clip: content-box;
            }
            #ays-quiz-container-26 .ays-quiz-answers div.ays-text-right-answer {
                color: #0a0a0a;
            }
                        
            /* Questions answer right/wrong icons */
            #ays-quiz-container-26 .ays-field input~label.answered.correct:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/correct.png');          }
            #ays-quiz-container-26 .ays-field input~label.answered.wrong:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/wrong.png');
            }
            #ays-quiz-container-26 .ays-field label.answered:last-of-type:after{
                display: none;
                height: auto;
                left: 10px;top: 10px;}
            /* Dropdown questions */            
            #ays-quiz-container-26 #ays_finish_quiz_26 .ays-field .select2-container--default .select2-selection--single {
                border-bottom: 2px solid #9e0505;
                background-color: #9e0505;
            }
            
            #ays-quiz-container-26 .ays-field .select2-container--default .select2-selection--single .select2-selection__placeholder,
            #ays-quiz-container-26 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-26 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow {
                color: #f5f5f5;
            }

            #ays-quiz-container-26 .select2-container--default .select2-search--dropdown .select2-search__field:focus,
            #ays-quiz-container-26 .select2-container--default .select2-search--dropdown .select2-search__field {
                outline: unset;
                padding: 0.75rem;
            }

            #ays-quiz-container-26 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-26 .select2-container--default .select2-results__option--highlighted[aria-selected] {
                background-color: #9e0505;
            }

            #ays-quiz-container-26 .ays-field .select2-container--default,
            #ays-quiz-container-26 .ays-field .select2-container--default .selection,
            #ays-quiz-container-26 .ays-field .select2-container--default .dropdown-wrapper,
            #ays-quiz-container-26 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-26 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered .select2-selection__placeholder,
            #ays-quiz-container-26 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow,
            #ays-quiz-container-26 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow b[role='presentation'] {
                font-size: 16px !important;
            }

            #ays-quiz-container-26 .select2-container--default .select2-results__option {
                padding: 6px;
            }
            
            /* Dropdown questions scroll bar */
            #ays-quiz-container-26 .select2-results__options::-webkit-scrollbar {
                width: 7px;
            }
            #ays-quiz-container-26 .select2-results__options::-webkit-scrollbar-track {
                background-color: rgba(255,255,255,0.35);
            }
            #ays-quiz-container-26 .select2-results__options::-webkit-scrollbar-thumb {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.55);
            }
            #ays-quiz-container-26 .select2-results__options::-webkit-scrollbar-thumb:hover {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.85);
            }

            /* Audio / Video */
            #ays-quiz-container-26 .mejs-container .mejs-time{
                box-sizing: unset;
            }
            #ays-quiz-container-26 .mejs-container .mejs-time-rail {
                padding-top: 15px;
            }

            #ays-quiz-container-26 .mejs-container .mejs-mediaelement video {
                margin: 0;
            }

            /* Limitation */
            #ays-quiz-container-26 .ays-quiz-limitation-count-of-takers {
                padding: 50px;
            }

            #ays-quiz-container-26 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-show,
            #ays-quiz-container-26 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-hide{
                color: #0a0a0a;
            }

            #ays-quiz-container-26 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-26 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-26 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #0a0a0a;
            }

            #ays-quiz-container-26.ays_quiz_elegant_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after,
            #ays-quiz-container-26.ays_quiz_rect_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #000;
            }

            /* Hestia theme (Version: 3.0.16) | Start */
            #ays-quiz-container-26 .mejs-container .mejs-inner .mejs-controls .mejs-button > button:hover,
            #ays-quiz-container-26 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                box-shadow: unset;
                background-color: transparent;
            }
            #ays-quiz-container-26 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                margin: 10px 6px;
            }
            /* Hestia theme (Version: 3.0.16) | End */

            /* Go theme (Version: 1.4.3) | Start */
            #ays-quiz-container-26 label[for^='ays-answer']:before,
            #ays-quiz-container-26 label[for^='ays-answer']:before {
                -webkit-mask-image: unset;
                mask-image: unset;
            }

            #ays-quiz-container-26.ays_quiz_classic_light .ays-field input:checked+label.answered.correct:before,
            #ays-quiz-container-26.ays_quiz_classic_dark .ays-field input:checked+label.answered.correct:before {
                background-color: #9e0505 !important;
                background-color: rgba(39,174,96, 1) !important;
            }
            /* Go theme (Version: 1.4.3) | End */

            #ays-quiz-container-26 .ays_quiz_results fieldset.ays_fieldset .ays_quiz_question .wp-video {
                width: 100% !important;
                max-width: 100%;
            }

            /* Classic Dark / Classic Light */
            /* Dropdown questions right/wrong styles */
            #ays-quiz-container-26.ays_quiz_classic_dark .correct_div,
            #ays-quiz-container-26.ays_quiz_classic_light .correct_div{
                border-color:green !important;
                opacity: 1 !important;
                background-color: rgba(39,174,96,0.4) !important;
            }
            #ays-quiz-container-26.ays_quiz_classic_dark .correct_div .selected-field,
            #ays-quiz-container-26.ays_quiz_classic_light .correct_div .selected-field {
                padding: 0px 10px 0px 10px;
                color: green !important;
            }

            #ays-quiz-container-26.ays_quiz_classic_dark .wrong_div,
            #ays-quiz-container-26.ays_quiz_classic_light .wrong_div{
                border-color:red !important;
                opacity: 1 !important;
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-26.ays_quiz_classic_dark .ays-field.checked_answer_div.wrong_div input:checked~label,
            #ays-quiz-container-26.ays_quiz_classic_light .ays-field.checked_answer_div.wrong_div input:checked~label {
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-26.ays_quiz_classic_dark .ays-field,
            #ays-quiz-container-26.ays_quiz_classic_light .ays-field {
                text-align: left;
                /*margin-bottom: 10px;*/
                padding: 0;
                transition: .3s ease-in-out;
            }

            #ays-quiz-container-26 .ays-quiz-close-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-26 .ays-quiz-open-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-26 .ays_quiz_login_form p{
                color: #0a0a0a;
            }

            /* report questions modal start */
            .ays-modal-reports {
                display: none;
                position: fixed;
                z-index: 9999;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                overflow: auto;
                background-color: rgba(0, 0, 0, 0.4);
                animation-duration: .5s;
                background-color: rgba(0, 0, 0, 0.4);
            }

            #ays-quiz-question-report-modal-26 .ays-modal-content-reports {
                background-color: #fefefe;
                margin: 10% auto;
                border: 1px solid #888;
                max-width: 500px;
                width: 100%;
                border-radius: 10px;
                padding: 20px;
                box-sizing: border-box;
                position: relative;
            }

            #ays-quiz-question-report-modal-26 .ays-modal-content-reports label{
                display: block;
                margin-bottom: 10px;
                font-weight: bold;
                letter-spacing: normal;
            }

            #ays-quiz-question-report-modal-26 .ays-modal-content-reports textarea {
                display: block;
                width: 100%;
                height: 100px;
                padding: 5px;
                box-sizing: border-box;
                border-radius: 5px;
                border: 1px solid #ccc;
                max-width: 100%;
                max-height: 500px;
                resize: vertical;
                transition: unset;
            }

            #ays-quiz-question-report-modal-26 .ays-modal-content-reports input.ays-quiz-submit-question-report {
                background-color: #0073aa;
                color: #fff !important;
                border: none;
                border-radius: 5px;
                padding: 10px 20px;
                cursor: pointer;
                margin-top: 20px;
                line-height: normal;
                letter-spacing: normal;
                box-shadow: unset;
                background-image: unset;
            }

            #ays-quiz-question-report-modal-26 .ays-close-reports-window {
                color: #aaa;
                font-weight: bold;
                position: absolute;
                top: 1%;
                right: 1%;
            }

            #ays-quiz-question-report-modal-26 .ays-close-reports-window img {
                box-shadow: unset;
            }
            
            #ays-quiz-question-report-modal-26 .ays-quiz-preloader img {
                box-shadow: unset;
            }

            #ays-quiz-question-report-modal-26 .ays-close-reports-window img:hover,
            #ays-quiz-question-report-modal-26 .ays-close-reports-window img:focus {
                cursor: pointer;
            }

            #ays-quiz-question-report-modal-26 .ays-quiz-question-report-error {
                display: none;
                font-size: 13px;
                color: #f00;
                text-align: left;
            }

            #ays-quiz-question-report-modal-26 .ays-quiz-question-report-textarea-label,
            #ays-quiz-question-report-modal-26 .ays-quiz-question-report-title {
                text-align: left;
            }

            #ays-quiz-question-report-modal-26 .ays_quiz_modal_overlay {
                width: 100%;
                height: 100%;
                position: fixed;
                top: 0;
                left: 0;
                position: absolute;
                z-index: 1000000000;
                flex-direction: column;
            }

            #ays-quiz-question-report-modal-26 .ays-quiz-container .ays-quiz-user-cհoosing-anonymous-assessment {
                margin: 10px 0;
            }

            /* report questions modal end */

            @media screen and (max-width: 768px){
                #ays-quiz-container-26{
                    max-width: 100%;
                }

                div#ays-quiz-container-26 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                    width: 90%;
                }

                #ays-quiz-container-26 .ays_quiz_question p {
                    font-size: 16px;
                }

                #ays-quiz-container-26 .select2-container,
                #ays-quiz-container-26 .ays-field * {
                    font-size: 15px !important;
                }

                div#ays-quiz-container-26 input#ays-submit,
                div#ays-quiz-container-26 #ays_finish_quiz_26 .action-button,
                div#ays-quiz-container-26 #ays_finish_quiz_26 .action-button.ays_restart_button,
                #ays-quiz-container-26 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
                #ays-quiz-container-26 .ays-quiz-category-selective-submit-bttn {
                    font-size: 17px;
                }

                /* Quiz title / mobile font size */
                div#ays-quiz-container-26 .ays-fs-title {
                    font-size: 21px;
                }

                /* Question explanation / mobile font size */
                #ays-quiz-container-26 .ays_questtion_explanation p {
                    font-size:16px;
                }

                /* Wrong answers / mobile font size */
                #ays-quiz-container-26 .wrong_answer_text p {
                    font-size:16px;
                }

                /* Right answers / mobile font size */
                #ays-quiz-container-26 .right_answer_text p {
                    font-size:16px;
                }

                /* Note text / mobile font size */
                #ays-quiz-container-26 .ays-quiz-question-note-message-box p {
                    font-size:14px;
                }

                div#ays-quiz-container-26 .ays-quiz-question-note-message-box *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-26 .ays_questtion_explanation *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-26 .right_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-26 .wrong_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }
            }
            /* Custom css styles */
            @media screen and (max-width: 768px)
div#ays-quiz-container-5 input#ays-submit, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    font-size: 17px;
    letter-spacing: 1.5px;
}

#ays-quiz-container-5 input#ays-submit, #ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    background: none;
    background-color: #9e0505;
    color: #ffffff;
    font-size: 17px;
    padding: 10px 20px;
    border-radius: 3px;
    height: auto;
    letter-spacing: 1.5px;
    box-shadow: unset;
}
            
            /* RTL direction styles */
            
        </style>
            <style>
                #ays-quiz-container-26 p {
                    margin: 0.625em;
                }
                
                #ays-quiz-container-26 .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }

                #ays-quiz-container-26.ays_quiz_classic_light  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-26.ays_quiz_classic_dark  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-26.ays_quiz_classic_light  .enable_correction .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-26.ays_quiz_classic_dark  .enable_correction .ays-field.checked_answer_div input:checked~label {
                    background-color: transparent;
                }

                #ays-quiz-container-26.ays_quiz_classic_light  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-26.ays_quiz_classic_dark  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-26.ays_quiz_classic_light  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-26.ays_quiz_classic_dark  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }
                
                #ays-quiz-container-26 .ays-field.checked_answer_div input:checked~label:hover {
                    background-color: rgba(158,5,5,0.8);
                }

                #ays-quiz-container-26.ays-quiz-container.ays_quiz_classic_light .ays-questions-container .ays-field:hover label[for^='ays-answer-'],
                #ays-quiz-container-26 .ays-field:hover:not(.ays-answered-text-input){
                    background: rgba(158,5,5,0.8);
                    /* border-radius: 4px; */
                    color: #fff;
                    transition: all .3s;
                }
                #ays-quiz-container-26 #ays_finish_quiz_26 .action-button:hover,
                #ays-quiz-container-26 #ays_finish_quiz_26 .action-button:focus,
                #ays-quiz-container-26 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
                #ays-quiz-container-26 .ays-quiz-category-selective-submit-bttn:focus {
                    box-shadow: 0 0 0 2px white, 0 0 0 3px #9e0505;
                    background: #9e0505;
                }
            </style><script>
                if(typeof aysQuizOptions === 'undefined'){
                    var aysQuizOptions = [];
                }
                aysQuizOptions['26']  = 'eyJxdWl6X3ZlcnNpb24iOiI2LjYuOS4yIiwiY29yZV92ZXJzaW9uIjoiNi43LjIiLCJwaHBfdmVyc2lvbiI6IjguMi4yMyIsImNvbG9yIjoiIzllMDUwNSIsImJnX2NvbG9yIjoiI2ZmZmZmZiIsInRleHRfY29sb3IiOiIjMGEwYTBhIiwiaGVpZ2h0IjozNTAsIndpZHRoIjo0MDAsImVuYWJsZV9sb2dnZWRfdXNlcnMiOiJvZmYiLCJpbmZvcm1hdGlvbl9mb3JtIjoiZGlzYWJsZSIsImZvcm1fbmFtZSI6bnVsbCwiZm9ybV9lbWFpbCI6bnVsbCwiZm9ybV9waG9uZSI6bnVsbCwiaW1hZ2Vfd2lkdGgiOiIiLCJpbWFnZV9oZWlnaHQiOiIiLCJlbmFibGVfY29ycmVjdGlvbiI6Im9uIiwiZW5hYmxlX3Byb2dyZXNzX2JhciI6Im9uIiwiZW5hYmxlX3F1ZXN0aW9uc19yZXN1bHQiOiJvbiIsInJhbmRvbWl6ZV9xdWVzdGlvbnMiOiJvZmYiLCJyYW5kb21pemVfYW5zd2VycyI6Im9mZiIsImVuYWJsZV9xdWVzdGlvbnNfY291bnRlciI6Im9uIiwiZW5hYmxlX3Jlc3RyaWN0aW9uX3Bhc3MiOiJvZmYiLCJyZXN0cmljdGlvbl9wYXNzX21lc3NhZ2UiOiIiLCJ1c2VyX3JvbGUiOltdLCJjdXN0b21fY3NzIjoiQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpXHJcbmRpdiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcbn1cclxuXHJcbiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCAjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzllMDUwNTtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xyXG4gICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbn0iLCJsaW1pdF91c2VycyI6Im9mZiIsImxpbWl0YXRpb25fbWVzc2FnZSI6IiIsInJlZGlyZWN0X3VybCI6IiIsInJlZGlyZWN0aW9uX2RlbGF5IjowLCJhbnN3ZXJzX3ZpZXciOiJsaXN0IiwiZW5hYmxlX3J0bF9kaXJlY3Rpb24iOiJvZmYiLCJlbmFibGVfbG9nZ2VkX3VzZXJzX21lc3NhZ2UiOiIiLCJxdWVzdGlvbnNfY291bnQiOiIiLCJlbmFibGVfcXVlc3Rpb25fYmFuayI6Im9mZiIsImVuYWJsZV9saXZlX3Byb2dyZXNzX2JhciI6Im9mZiIsImVuYWJsZV9wZXJjZW50X3ZpZXciOiJvZmYiLCJlbmFibGVfYXZlcmFnZV9zdGF0aXN0aWNhbCI6Im9uIiwiZW5hYmxlX25leHRfYnV0dG9uIjoib24iLCJlbmFibGVfcHJldmlvdXNfYnV0dG9uIjoib24iLCJlbmFibGVfYXJyb3dzIjoib2ZmIiwidGltZXJfdGV4dCI6IiIsInF1aXpfdGhlbWUiOiJjbGFzc2ljX2xpZ2h0IiwiZW5hYmxlX3NvY2lhbF9idXR0b25zIjoib2ZmIiwicmVzdWx0X3RleHQiOiIiLCJlbmFibGVfcGFzc19jb3VudCI6Im9mZiIsImhpZGVfc2NvcmUiOiJvZmYiLCJyYXRlX2Zvcm1fdGl0bGUiOiIiLCJib3hfc2hhZG93X2NvbG9yIjoicmdiYSgxMCwxMCwxMCwwLjM1KSIsInF1aXpfYm9yZGVyX3JhZGl1cyI6IjAiLCJxdWl6X2JnX2ltYWdlIjoiaHR0cHM6XC9cL2RpYWxla3RpY28uY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDIyXC8wOFwvUTMuanBnIiwicXVpel9ib3JkZXJfd2lkdGgiOiIzIiwicXVpel9ib3JkZXJfc3R5bGUiOiJzb2xpZCIsInF1aXpfYm9yZGVyX2NvbG9yIjoiIzAwMCIsInF1aXpfbG9hZGVyIjoiZmFjZWJvb2siLCJjcmVhdGVfZGF0ZSI6bnVsbCwiYXV0aG9yIjoie1wiaWRcIjpcIjFcIixcIm5hbWVcIjpcIkRhbmllbCBEaWFsXFx1MDBlOWt0aWNvXCJ9IiwicXVlc3RfYW5pbWF0aW9uIjoic2hha2UiLCJmb3JtX3RpdGxlIjoiIiwiZW5hYmxlX2JnX211c2ljIjoib2ZmIiwicXVpel9iZ19tdXNpYyI6IiIsImFuc3dlcnNfZm9udF9zaXplIjoxNSwic2hvd19jcmVhdGVfZGF0ZSI6Im9mZiIsInNob3dfYXV0aG9yIjoib2ZmIiwiZW5hYmxlX2Vhcmx5X2ZpbmlzaCI6Im9mZiIsImFuc3dlcnNfcndfdGV4dHMiOiJvbl9wYXNzaW5nIiwiZGlzYWJsZV9zdG9yZV9kYXRhIjoib2ZmIiwiZW5hYmxlX2JhY2tncm91bmRfZ3JhZGllbnQiOiJvZmYiLCJiYWNrZ3JvdW5kX2dyYWRpZW50X2NvbG9yXzEiOiIjMDAwIiwiYmFja2dyb3VuZF9ncmFkaWVudF9jb2xvcl8yIjoiI2ZmZiIsInF1aXpfZ3JhZGllbnRfZGlyZWN0aW9uIjoidmVydGljYWwiLCJyZWRpcmVjdF9hZnRlcl9zdWJtaXQiOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfdXJsIjoiIiwic3VibWl0X3JlZGlyZWN0X2RlbGF5IjoiMCIsInByb2dyZXNzX2Jhcl9zdHlsZSI6InRoaXJkIiwiZW5hYmxlX2V4aXRfYnV0dG9uIjoib2ZmIiwiZXhpdF9yZWRpcmVjdF91cmwiOiIiLCJpbWFnZV9zaXppbmciOiJjb3ZlciIsInF1aXpfYmdfaW1hZ2VfcG9zaXRpb24iOiJjZW50ZXIgY2VudGVyIiwiY3VzdG9tX2NsYXNzIjoiIiwiZW5hYmxlX3NvY2lhbF9saW5rcyI6Im9mZiIsInNvY2lhbF9saW5rcyI6eyJsaW5rZWRpbl9saW5rIjoiIiwiZmFjZWJvb2tfbGluayI6IiIsInR3aXR0ZXJfbGluayI6IiIsInZrb250YWt0ZV9saW5rIjoiIiwiaW5zdGFncmFtX2xpbmsiOiIiLCJ5b3V0dWJlX2xpbmsiOiIiLCJiZWhhbmNlX2xpbmsiOiIifSwic2hvd19xdWl6X3RpdGxlIjoib2ZmIiwic2hvd19xdWl6X2Rlc2MiOiJvbiIsInNob3dfbG9naW5fZm9ybSI6Im9mZiIsIm1vYmlsZV9tYXhfd2lkdGgiOiIiLCJsaW1pdF91c2Vyc19ieSI6ImlwIiwiYWN0aXZlX2RhdGVfY2hlY2siOiJvZmYiLCJhY3RpdmVJbnRlcnZhbCI6IjIwMjUtMDMtMjUgMjM6MTQ6NDciLCJkZWFjdGl2ZUludGVydmFsIjoiMjAyNS0wMy0yNSAyMzoxNDo0NyIsImFjdGl2ZV9kYXRlX3ByZV9zdGFydF9tZXNzYWdlIjoiVGhlIHF1aXogd2lsbCBiZSBhdmFpbGFibGUgc29vbiEiLCJhY3RpdmVfZGF0ZV9tZXNzYWdlIjoiXHUwMGExRWwgdGVzdCBoYSBleHBpcmFkbyEiLCJleHBsYW5hdGlvbl90aW1lIjoiNCIsImVuYWJsZV9jbGVhcl9hbnN3ZXIiOiJvZmYiLCJzaG93X2NhdGVnb3J5Ijoib2ZmIiwic2hvd19xdWVzdGlvbl9jYXRlZ29yeSI6Im9mZiIsImRpc3BsYXlfc2NvcmUiOiJieV9wZXJjYW50YWdlIiwiZW5hYmxlX3J3X2FzbndlcnNfc291bmRzIjoib24iLCJhbnNfcmlnaHRfd3JvbmdfaWNvbiI6ImRlZmF1bHQiLCJxdWl6X2JnX2ltZ19pbl9maW5pc2hfcGFnZSI6Im9mZiIsImZpbmlzaF9hZnRlcl93cm9uZ19hbnN3ZXIiOiJvZmYiLCJhZnRlcl90aW1lcl90ZXh0IjoiIiwiZW5hYmxlX2VudGVyX2tleSI6Im9uIiwiYnV0dG9uc190ZXh0X2NvbG9yIjoiI2ZmZmZmZiIsImJ1dHRvbnNfcG9zaXRpb24iOiJjZW50ZXIiLCJzaG93X3F1ZXN0aW9uc19leHBsYW5hdGlvbiI6Im9uX3Bhc3NpbmciLCJlbmFibGVfYXVkaW9fYXV0b3BsYXkiOiJvZmYiLCJidXR0b25zX3NpemUiOiJtZWRpdW0iLCJidXR0b25zX2ZvbnRfc2l6ZSI6IjE3IiwiYnV0dG9uc193aWR0aCI6IiIsImJ1dHRvbnNfbGVmdF9yaWdodF9wYWRkaW5nIjoiMjAiLCJidXR0b25zX3RvcF9ib3R0b21fcGFkZGluZyI6IjEwIiwiYnV0dG9uc19ib3JkZXJfcmFkaXVzIjoiMyIsImVuYWJsZV9sZWF2ZV9wYWdlIjoib24iLCJlbmFibGVfdGFja2Vyc19jb3VudCI6Im9mZiIsInRhY2tlcnNfY291bnQiOiIiLCJwYXNzX3Njb3JlIjowLCJwYXNzX3Njb3JlX21lc3NhZ2UiOiI8aDQgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj5Db25ncmF0dWxhdGlvbnMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IHBhc3NlZCB0aGUgcXVpeiE8XC9wPiIsImZhaWxfc2NvcmVfbWVzc2FnZSI6IjxoNCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlclwiPk9vcHMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IGhhdmUgbm90IHBhc3NlZCB0aGUgcXVpeiFcclxuVHJ5IGFnYWluITxcL3A+IiwicXVlc3Rpb25fZm9udF9zaXplIjoxNiwicXVpel93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVlc3Rpb25zX2hpbnRfaWNvbl9vcl90ZXh0IjoiZGVmYXVsdCIsInF1ZXN0aW9uc19oaW50X3ZhbHVlIjoiIiwiZW5hYmxlX2Vhcmx5X2ZpbnNoX2NvbWZpcm1fYm94Ijoib24iLCJlbmFibGVfcXVlc3Rpb25zX29yZGVyaW5nX2J5X2NhdCI6Im9mZiIsInNob3dfc2NoZWR1bGVfdGltZXIiOiJvZmYiLCJzaG93X3RpbWVyX3R5cGUiOiJjb3VudGRvd24iLCJxdWl6X2xvYWRlcl90ZXh0X3ZhbHVlIjoiIiwiaGlkZV9jb3JyZWN0X2Fuc3dlcnMiOiJvZmYiLCJzaG93X2luZm9ybWF0aW9uX2Zvcm0iOiJvbiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWYiOiIiLCJkaXNhYmxlX2hvdmVyX2VmZmVjdCI6Im9mZiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWZfd2lkdGgiOjEwMCwicHJvZ3Jlc3NfbGl2ZV9iYXJfc3R5bGUiOiJkZWZhdWx0IiwicXVpel90aXRsZV90cmFuc2Zvcm1hdGlvbiI6InVwcGVyY2FzZSIsInNob3dfYW5zd2Vyc19udW1iZXJpbmciOiJub25lIiwicXVpel9pbWFnZV93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVpel9pbWFnZV9oZWlnaHQiOiIiLCJxdWl6X2JnX2ltZ19vbl9zdGFydF9wYWdlIjoib2ZmIiwicXVpel9ib3hfc2hhZG93X3hfb2Zmc2V0IjowLCJxdWl6X2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYm94X3NoYWRvd196X29mZnNldCI6MTUsInF1aXpfcXVlc3Rpb25fdGV4dF9hbGlnbm1lbnQiOiJjZW50ZXIiLCJxdWl6X2Fycm93X3R5cGUiOiJkZWZhdWx0IiwicXVpel9zaG93X3dyb25nX2Fuc3dlcnNfZmlyc3QiOiJvZmYiLCJxdWl6X2Rpc3BsYXlfYWxsX3F1ZXN0aW9ucyI6Im9mZiIsInF1aXpfdGltZXJfcmVkX3dhcm5pbmciOiJvZmYiLCJxdWl6X3NjaGVkdWxlX3RpbWV6b25lIjoiQW1lcmljYVwvTWV4aWNvX0NpdHkiLCJxdWVzdGlvbnNfaGludF9idXR0b25fdmFsdWUiOiIiLCJxdWl6X3RhY2tlcnNfbWVzc2FnZSI6Ilx1MDBhMUVzdGUgdGVzdCBoYSBleHBpcmFkbyEiLCJxdWl6X2VuYWJsZV9saW5rZWRpbl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfZW5hYmxlX2ZhY2Vib29rX3NoYXJlX2J1dHRvbiI6Im9uIiwicXVpel9lbmFibGVfdHdpdHRlcl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfbWFrZV9yZXNwb25zZXNfYW5vbnltb3VzIjoib2ZmIiwicXVpel9tYWtlX2FsbF9yZXZpZXdfbGluayI6Im9mZiIsInNob3dfcXVlc3Rpb25zX251bWJlcmluZyI6Im5vbmUiLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3RpbWVyIjoiIiwiZW5hYmxlX3Bhc3N3b3JkIjoib2ZmIiwicGFzc3dvcmRfcXVpeiI6IiIsInF1aXpfcGFzc3dvcmRfbWVzc2FnZSI6IiIsImVuYWJsZV9zZWVfcmVzdWx0X2NvbmZpcm1fYm94Ijoib2ZmIiwiZGlzcGxheV9maWVsZHNfbGFiZWxzIjoib2ZmIiwiZW5hYmxlX2Z1bGxfc2NyZWVuX21vZGUiOiJvZmYiLCJxdWl6X2VuYWJsZV9wYXNzd29yZF92aXNpYmlsaXR5Ijoib2ZmIiwicXVlc3Rpb25fbW9iaWxlX2ZvbnRfc2l6ZSI6MTYsImFuc3dlcnNfbW9iaWxlX2ZvbnRfc2l6ZSI6MTUsInNvY2lhbF9idXR0b25zX2hlYWRpbmciOiIiLCJxdWl6X2VuYWJsZV92a29udGFrdGVfc2hhcmVfYnV0dG9uIjoib24iLCJhbnN3ZXJzX2JvcmRlciI6Im9uIiwiYW5zd2Vyc19ib3JkZXJfd2lkdGgiOjEsImFuc3dlcnNfYm9yZGVyX3N0eWxlIjoic29saWQiLCJhbnN3ZXJzX2JvcmRlcl9jb2xvciI6IiM0NDQiLCJzb2NpYWxfbGlua3NfaGVhZGluZyI6IiIsInF1aXpfZW5hYmxlX3F1ZXN0aW9uX2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwiYW5zd2Vyc19tYXJnaW4iOjEwLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3JlZGlyZWN0X3RpbWVyIjoiIiwiYnV0dG9uc19tb2JpbGVfZm9udF9zaXplIjoxNywiYW5zd2Vyc19ib3hfc2hhZG93Ijoib2ZmIiwiYW5zd2Vyc19ib3hfc2hhZG93X2NvbG9yIjoiIzAwMCIsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeF9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfel9vZmZzZXQiOjEwLCJxdWl6X2NyZWF0ZV9hdXRob3IiOjEsInF1aXpfZW5hYmxlX3RpdGxlX3RleHRfc2hhZG93Ijoib2ZmIiwicXVpel90aXRsZV90ZXh0X3NoYWRvd19jb2xvciI6IiMzMzMiLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3hfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3lfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3pfb2Zmc2V0IjoyLCJxdWl6X3Nob3dfb25seV93cm9uZ19hbnN3ZXJzIjoib2ZmIiwicXVpel90aXRsZV9mb250X3NpemUiOjIxLCJxdWl6X3RpdGxlX21vYmlsZV9mb250X3NpemUiOjIxLCJxdWl6X3Bhc3N3b3JkX3dpZHRoIjoiIiwicXVpel9yZXZpZXdfcGxhY2Vob2xkZXJfdGV4dCI6IiIsInF1aXpfbWFrZV9yZXZpZXdfcmVxdWlyZWQiOiJvZmYiLCJxdWl6X2VuYWJsZV9yZXN1bHRzX3RvZ2dsZSI6Im9mZiIsInF1aXpfcmV2aWV3X3RoYW5rX3lvdV9tZXNzYWdlIjoiIiwicXVpel9yZXZpZXdfZW5hYmxlX2NvbW1lbnRfZmllbGQiOiJvbiIsInF1ZXN0X2V4cGxhbmF0aW9uX2ZvbnRfc2l6ZSI6MTYsInF1ZXN0X2V4cGxhbmF0aW9uX21vYmlsZV9mb250X3NpemUiOjE2LCJxdWl6X3dhaXRpbmdfdGltZSI6Im9mZiIsIndyb25nX2Fuc3dlcnNfZm9udF9zaXplIjoxNiwid3JvbmdfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9lbmFibGVfcXVlc3Rpb25faW1hZ2Vfem9vbSI6Im9mZiIsInJpZ2h0X2Fuc3dlcnNfZm9udF9zaXplIjoxNiwicmlnaHRfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9kaXNwbGF5X21lc3NhZ2VzX2JlZm9yZV9idXR0b25zIjoib2ZmIiwicXVpel9lbmFibGVfdXNlcl9jXHUwNTcwb29zaW5nX2Fub255bW91c19hc3Nlc3NtZW50Ijoib2ZmIiwibm90ZV90ZXh0X2ZvbnRfc2l6ZSI6MTQsIm5vdGVfdGV4dF9tb2JpbGVfZm9udF9zaXplIjoxNCwicXVpel9xdWVzdGlvbnNfbnVtYmVyaW5nX2J5X2NhdGVnb3J5Ijoib2ZmIiwicXVpel9lbmFibGVfY3VzdG9tX3RleHRzX2Zvcl9idXR0b25zIjoib2ZmIiwicXVpel9jdXN0b21fdGV4dHNfc3RhcnRfYnV0dG9uIjoiRU1QRVpBUiIsInF1aXpfY3VzdG9tX3RleHRzX25leHRfYnV0dG9uIjoiU0lHVUlFTlRFIiwicXVpel9jdXN0b21fdGV4dHNfcHJldl9idXR0b24iOiJBTlRFUklPUiIsInF1aXpfY3VzdG9tX3RleHRzX2NsZWFyX2J1dHRvbiI6IkxJTVBJQVIiLCJxdWl6X2N1c3RvbV90ZXh0c19maW5pc2hfYnV0dG9uIjoiRklOQUxJWkFSIiwicXVpel9jdXN0b21fdGV4dHNfc2VlX3Jlc3VsdHNfYnV0dG9uIjoiVkVSIFRPVEFMIiwicXVpel9jdXN0b21fdGV4dHNfcmVzdGFydF9xdWl6X2J1dHRvbiI6IlJlaW5pY2lhciBQcnVlYmEiLCJxdWl6X2N1c3RvbV90ZXh0c19zZW5kX2ZlZWRiYWNrX2J1dHRvbiI6IkVudmlhciBjb21lbnRhcmlvcyIsInF1aXpfY3VzdG9tX3RleHRzX2xvYWRfbW9yZV9idXR0b24iOiJDYXJnYXIgbVx1MDBlMXMiLCJxdWl6X2N1c3RvbV90ZXh0c19leGl0X2J1dHRvbiI6IlNhbGlyIiwicXVpel9jdXN0b21fdGV4dHNfY2hlY2tfYnV0dG9uIjoiQ2hlY2siLCJxdWl6X2N1c3RvbV90ZXh0c19sb2dpbl9idXR0b24iOiJMb2cgSW4iLCJxdWl6X2VuYWJsZV9xdWl6X2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwicXVpel9hZG1pbl9ub3RlX3RleHRfdHJhbnNmb3JtIjoibm9uZSIsInF1aXpfcXVlc3RfZXhwbGFuYXRpb25fdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel9yaWdodF9hbnN3ZXJfdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel93cm9uZ19hbnN3ZXJfdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel9hZG1pbl9ub3RlX3RleHRfZGVjb3JhdGlvbiI6Im5vbmUiLCJxdWl6X3F1ZXN0X2V4cGxhbmF0aW9uX3RleHRfZGVjb3JhdGlvbiI6Im5vbmUiLCJxdWl6X3JpZ2h0X2Fuc3dlcnNfdGV4dF9kZWNvcmF0aW9uIjoibm9uZSIsInF1aXpfd3JvbmdfYW5zd2Vyc190ZXh0X2RlY29yYXRpb24iOiJub25lIiwicXVpel9hZG1pbl9ub3RlX2xldHRlcl9zcGFjaW5nIjoiMCIsInF1aXpfYmdfaW1nX2R1cmluZ190aGVfcXVpeiI6Im9mZiIsInF1aXpfcXVlc3RfZXhwbGFuYXRpb25fbGV0dGVyX3NwYWNpbmciOiIwIiwicXVpel9yaWdodF9hbnN3ZXJzX2xldHRlcl9zcGFjaW5nIjoiMCIsInF1aXpfd3JvbmdfYW5zd2Vyc19sZXR0ZXJfc3BhY2luZyI6IjAiLCJxdWl6X2FkbWluX25vdGVfZm9udF93ZWlnaHQiOiJub3JtYWwiLCJxdWl6X3F1ZXN0X2V4cGxhbmF0aW9uX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel9yaWdodF9hbnN3ZXJzX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel93cm9uZ19hbnN3ZXJzX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel9jb250ZW50X21heF93aWR0aCI6OTAsInF1aXpfY29udGVudF9tb2JpbGVfbWF4X3dpZHRoIjo5MCwicXVpel90aW1lcl93YXJuaW5nX3RleHRfY29sb3IiOiIjZmYwMDAwIiwicXVpel9lbmFibGVfZGVmYXVsdF9oaWRlX3Jlc3VsdHNfdG9nZ2xlIjoib2ZmIiwicXVpel9zaG93X3Jlc3RhcnRfYnV0dG9uX29uX3F1aXpfZmFpbCI6Im9mZiIsInJlcXVpcmVkX2ZpZWxkcyI6bnVsbCwiZW5hYmxlX3RpbWVyIjoib2ZmIiwiZW5hYmxlX3F1aXpfcmF0ZSI6Im9mZiIsImVuYWJsZV9yYXRlX2F2ZyI6Im9mZiIsImVuYWJsZV9ib3hfc2hhZG93Ijoib2ZmIiwiZW5hYmxlX2JvcmRlciI6Im9uIiwicXVpel90aW1lcl9pbl90aXRsZSI6Im9mZiIsImVuYWJsZV9yYXRlX2NvbW1lbnRzIjoib2ZmIiwiZW5hYmxlX3Jlc3RhcnRfYnV0dG9uIjoib24iLCJhdXRvZmlsbF91c2VyX2RhdGEiOiJvZmYiLCJ0aW1lciI6MTAwLCJzaG93X2Fuc3dlcnNfY2FwdGlvbiI6Im9uIiwicXVpel9lbmFibGVfa2V5Ym9hcmRfbmF2aWdhdGlvbiI6Im9uIiwic2hvd19xdWl6X2ltYWdlIjoib24iLCJxdWl6X2VuYWJsZV93aGF0c2FwcF9zaGFyZV9idXR0b24iOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfYWZ0ZXIiOiIiLCJyd19hbnN3ZXJzX3NvdW5kcyI6dHJ1ZSwiaWQiOiIyNiIsInRpdGxlIjoiU3ViYWp1c3RlIHkgU29icmVhanVzdGUgMiIsImRlc2NyaXB0aW9uIjoiQ29udGVzdGEgbGFzIHNpZ3VpZW50ZXMgcHJlZ3VudGFzIiwicXVpel9pbWFnZSI6IiIsInF1aXpfY2F0ZWdvcnlfaWQiOiIyIiwicXVlc3Rpb25faWRzIjoiNzQsNzUsNzYiLCJvcmRlcmluZyI6IjI2IiwicHVibGlzaGVkIjoiMSIsImludGVydmFscyI6bnVsbCwicXVpel91cmwiOiIiLCJjdXN0b21fcG9zdF9pZCI6bnVsbCwiYXV0aG9yX2lkIjoiMCIsInF1aXpfYW5pbWF0aW9uX3RvcCI6MTAwLCJxdWl6X2VuYWJsZV9hbmltYXRpb25fdG9wIjoib24ifQ==';
        </script>
                    <input type='hidden' name='quiz_id' value='26'/>
                    <input type='hidden' name='start_date' class='ays-start-date'/>
                </form></div>
                            </div>
                            



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Hemos concluido uno de los temas más comunes de deficiencias en <strong>modelos </strong>de <strong>aprendizaje de máquinas.</strong> Conforme avancemos en esta travesía, experimentaremos formas de <strong>identificar</strong> y <strong>lidiar </strong>con estos desperfectos.</p>



<p>A partir de ahora, los temas serán un poco más <strong>avanzados</strong> y enfocados en la optimización del entrenamiento de modelos, ya que constituyen el preámbulo para la comprensión y práctica de las <strong>redes neuronales artificiales</strong>.</p>



<figure class="wp-block-image aligncenter size-large is-resized mi-imagen-pulsa"><a href="https://dialektico.com/introduccion-al-descenso-de-gradiente/"><img loading="lazy" decoding="async" width="300" height="147" src="https://dialektico.com/wp-content/uploads/2024/07/image-4.png" alt="image 4" class="wp-image-8874" style="width:186px;height:91px" title="Sobreajuste y subajuste en modelos de aprendizaje automático 21"></a></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://dialektico.com/subajuste-sobreajuste-teoria-programacion/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Datos desbalanceados</title>
		<link>https://dialektico.com/datos-desbalanceados-definicion-ejemplos/</link>
					<comments>https://dialektico.com/datos-desbalanceados-definicion-ejemplos/#respond</comments>
		
		<dc:creator><![CDATA[Daniel Dialéktico]]></dc:creator>
		<pubDate>Fri, 07 Feb 2025 01:11:12 +0000</pubDate>
				<category><![CDATA[Ciencia de datos]]></category>
		<category><![CDATA[Análisis de Datos]]></category>
		<category><![CDATA[ciencia de datos]]></category>
		<category><![CDATA[datos]]></category>
		<category><![CDATA[machine learning]]></category>
		<guid isPermaLink="false">https://dialektico.com/?p=11115</guid>

					<description><![CDATA[Antes de conocer cómo calcular las métricas de evaluación de modelos de clasificación, debemos atender un concepto de uso común en la labor del científico de datos: los datos desbalanceados. Esta propiedad en la estructura de los datos, que puede llegar a ser problemática, será explorada aquí de manera breve pero detallada, de forma que [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Antes de conocer cómo calcular las <strong>métricas </strong>de evaluación de modelos de <strong>clasificación</strong>, debemos atender un concepto de uso común en la labor del científico de datos: los <strong>datos desbalanceados</strong>.</p>



<p>Esta propiedad en la estructura de los <a href="https://dialektico.com/datos-machine-learning/">datos</a>, que puede llegar a ser problemática, será explorada aquí de manera breve pero detallada, de forma que comprenderemos de qué se trata, qué <strong>problemas</strong> plantea, y cómo podemos <strong>detectarlo</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="847" src="https://dialektico.com/wp-content/uploads/2025/02/DEBC_nivel.jpg" alt="DEBC nivel" class="wp-image-11126" style="width:505px;height:auto" title="Datos desbalanceados 22" srcset="https://dialektico.com/wp-content/uploads/2025/02/DEBC_nivel.jpg 1024w, https://dialektico.com/wp-content/uploads/2025/02/DEBC_nivel-768x635.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Estadística descriptiva</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/MathMagic.jpg" alt="Matemáticas" class="wp-image-6982" style="width:400px" title="Datos desbalanceados 23" srcset="https://dialektico.com/wp-content/uploads/2024/04/MathMagic.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/MathMagic-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Fundamentos de conjuntos de datos y datos etiquetados</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2025/01/image-11.png" alt="image 11" class="wp-image-11127" style="width:400px" title="Datos desbalanceados 24" srcset="https://dialektico.com/wp-content/uploads/2025/01/image-11.png 800w, https://dialektico.com/wp-content/uploads/2025/01/image-11-768x768.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Algún acompañamiento</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2025/01/image-12.png" alt="image 12" class="wp-image-11129" style="width:473px;height:auto" title="Datos desbalanceados 25" srcset="https://dialektico.com/wp-content/uploads/2025/01/image-12.png 1024w, https://dialektico.com/wp-content/uploads/2025/01/image-12-768x768.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center has-text-color" id="aprendizaje-supervisado-que-es" style="color:#840303">Datos desbalanceados, definición y ejemplos</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="2028" height="1024" src="https://dialektico.com/wp-content/uploads/2025/02/Mate_Desc.png" alt="Mate Desc" class="wp-image-11148" style="width:219px;height:auto" title="Datos desbalanceados 26" srcset="https://dialektico.com/wp-content/uploads/2025/02/Mate_Desc.png 2028w, https://dialektico.com/wp-content/uploads/2025/02/Mate_Desc-768x388.png 768w, https://dialektico.com/wp-content/uploads/2025/02/Mate_Desc-1536x776.png 1536w" sizes="(max-width: 2028px) 100vw, 2028px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Los <a href="https://dialektico.com/conjuntos-de-datos-para-machine-learning/">conjuntos de datos</a> no son perfectos. Generalmente, contienen <strong>irregularidades</strong> que son tratadas principalmente en la etapa de <a href="https://dialektico.com/introduccion-preprocesamiento/">preprocesamiento</a>. Entre estos desperfectos, se pueden tener estructuras en las que los <a href="https://dialektico.com/datos-machine-learning/">datos</a> no se encuentren <strong>distribuidos </strong>de manera <strong>equilibrada</strong>, afectando el entrenamiento de modelos de aprendizaje de máquinas; a esto se le conoce como <strong>datos desbalanceados</strong>.</p>



<p>De forma más concisa, los <strong>datos desbalanceados</strong> son una característica de un conjunto de datos en el que la <strong>distribución</strong> de una o más variables de interés está <strong>sesgada</strong>, es decir, ciertos <strong>valores, clases </strong>o<strong> rangos </strong>de datos están representados de manera desigual en comparación con otros.</p>



<p>En el contexto del <a href="https://dialektico.com/aprendizaje-supervisado/">aprendizaje supervisado</a>, en lo que se refiere <a href="https://dialektico.com/datos-etiquetados-machine-learning/">datos etiquetados</a> en los que se han definido variables de <strong>entrada </strong>y variables de <strong>salida</strong>, un desbalance de este tipo no permitiría el <strong>entrenamiento </strong>óptimo de un modelo de machine learning.</p>



<p>¿Aún no captas por completo el concepto?, lo ilustraremos con un ejemplo para tareas tanto de <strong>clasificación </strong>como de <strong>regresión</strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Datos desbalanceados para entrenar modelos de clasificación</h2>



<p>Recordemos que en <strong>conjuntos de datos</strong> que se utilizan para entrenar un <strong>modelo clasificador</strong>, se <strong>etiquetan </strong>los datos de forma que cada <strong><a href="https://dialektico.com/wp-content/uploads/2022/09/CDD_diag_2.jpg">ejemplo de entrenamiento</a></strong> pertenece a alguna <strong>clase </strong>particular. Un caso de datos <strong>perfectamente </strong>balanceados es el siguiente:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="221" height="483" src="https://dialektico.com/wp-content/uploads/2025/02/image-3.png" alt="image 3" class="wp-image-11135" title="Datos desbalanceados 27"><figcaption class="wp-element-caption"><strong>Tabla 3.6.1.1</strong> Ejemplo de un conjunto de datos etiquetados con clases balanceadas (cada clase corresponde a cada mitad del conjunto).</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En la <strong>Tabla 3.6.1.1</strong> se puede observar cómo se tienen 5 valores asignados a la <strong>clase 1</strong>, y 5 valores asignados a la <strong>clase 0</strong> (la mitad). Esto indica que tenemos los <strong>datos balanceados</strong>, ya que se tiene una cantidad igual de datos pertenecientes a cada clase. </p>



<p>Si trasladamos esto al caso que trabajamos con la <a href="https://dialektico.com/regresion-logistica-fundamentos/">regresión logística</a>, se tendrían la mitad de datos asignados a la clase <strong>Black Meta</strong>l, y el otro a la clase <strong>Reggaeton </strong>(y los valores de la variable de entrada corresponderían a la <strong>bailabilidad</strong>). </p>



<p>Podemos utilizar otro <strong>ejemplo </strong>como el de <strong>detección de fraudes</strong>: la <strong>clase 1</strong> indica que una transacción es <strong>fraudulenta</strong>, mientras que la <strong>clase 0</strong> indica que no lo es, y las variables a considerar pueden ser datos demográficos o de comportamiento del usuario.</p>



<p>Aquí lo que importa realmente es la <strong>porción </strong>que existe <strong>etiquetada</strong> para cada clase: si se tuviera un millón de datos, estos estarían perfectamente <strong>balanceados </strong>si la mitad estuvieran etiquetados a una clase y la mitad restante a la otra clase (500 mil y 500 mil, respectivamente).</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/02/DEBC_L1.jpg" alt="DEBC L1" class="wp-image-11160" style="width:486px;height:auto" title="Datos desbalanceados 28" srcset="https://dialektico.com/wp-content/uploads/2025/02/DEBC_L1.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/02/DEBC_L1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En el caso de haber más <strong>clases </strong>se estaría buscando igualdad de proporción de cada una de estas en el <strong>conjunto de datos</strong>; por ejemplo, en un escenario ideal, un conjunto de datos etiquetado con <strong>cuatro clases </strong>tendría que tener, idealmente, la siguiente distribución:</p>



<ul class="wp-block-list">
<li><strong>Clase 1</strong>: 25%</li>



<li><strong>Clase 2</strong>: 25%</li>



<li><strong>Clase 3</strong>: 25%</li>



<li><strong>Clase 4</strong>: 25%</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>O, en un conjunto con <strong>tres clases</strong>, se esperaría aproximadamente esto:</p>



<ul class="wp-block-list">
<li><strong>Clase 1</strong>: 33.33%</li>



<li><strong>Clase 2</strong>: 33.33%</li>



<li><strong>Clase 3</strong>: 33.33%</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/02/DEBC_K1.jpg" alt="DEBC K1" class="wp-image-11161" style="width:504px;height:auto" title="Datos desbalanceados 29" srcset="https://dialektico.com/wp-content/uploads/2025/02/DEBC_K1.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/02/DEBC_K1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>No sucede nada, lo que se busca es tener datos <strong>relativamente balanceados</strong>, de forma que el entrenamiento del modelo no se termine <strong>sesgando</strong>. Es casi <strong>imposible </strong>que hallemos datos que, naturalmente, cuenten con balances perfectos, solo debemos procurar ser conscientes de las <strong>distribuciones </strong>de estos y sus posibles efectos durante la etapa de entrenamiento.</p>



<p>Vayamos con un ejemplo de lo que implica esto. Si tenemos la mayoría de los ejemplos de entrenamiento <strong>etiquetados </strong>para solo <strong>una </strong>clase, entonces el modelo aprenderá a predecir esta clase con efectividad, pero no podrá realizar inferencias precisas sobre la clase o<strong> clases restantes</strong>.</p>



<p>En la<strong> Tabla 3.6.1.2</strong> se puede observar el mismo ejemplo que hemos visualizado con anterioridad, pero con las <strong>clases desbalanceadas</strong>:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="219" height="472" src="https://dialektico.com/wp-content/uploads/2025/02/image-2.png" alt="image 2" class="wp-image-11134" title="Datos desbalanceados 30"><figcaption class="wp-element-caption"><strong>Tabla 3.6.1.2</strong> Tabla con datos desbalanceados. La clase 1 acapara la mayoría de las etiquetas asignadas. </figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En esta última tabla, es notorio cómo la <strong>clase 0</strong> contiene menos datos asignados que la <strong>clase 1</strong>, de forma que la proporción queda como sigue:</p>



<ul class="wp-block-list">
<li><strong>Clase 1</strong>: 80%</li>



<li><strong>Clase 0</strong>: 20%</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Una distribución de este tipo impide un <strong>modelado </strong>efectivo para la predicción de ambas clases. Una excelente manera de percibir un desbalanceo en un conjunto de datos es mediante representaciones gráficas:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="1971" height="913" src="https://dialektico.com/wp-content/uploads/2025/02/DEBC_charts1.png" alt="DEBC charts1" class="wp-image-11140" title="Datos desbalanceados 31" srcset="https://dialektico.com/wp-content/uploads/2025/02/DEBC_charts1.png 1971w, https://dialektico.com/wp-content/uploads/2025/02/DEBC_charts1-768x356.png 768w, https://dialektico.com/wp-content/uploads/2025/02/DEBC_charts1-1536x712.png 1536w" sizes="(max-width: 1971px) 100vw, 1971px" /><figcaption class="wp-element-caption"><strong>Figura 3.6.1.1</strong> Gráficas que muestran la proporción de clases en conjuntos de datos balanceados y desbalanceados.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/02/DEBC_A1.jpg" alt="DEBC A1" class="wp-image-11164" style="width:506px;height:auto" title="Datos desbalanceados 32" srcset="https://dialektico.com/wp-content/uploads/2025/02/DEBC_A1.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/02/DEBC_A1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Vamos hacia allá.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Métricas y reglas para determinar si los datos están desbalanceados</h3>



<p>Existen diversos métodos para determinar si un conjunto de datos para tareas de <strong>clasificación </strong>está <strong>desbalanceado</strong>, a continuación describiremos algunos de los más utilizados.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Ratio de desequilibrio</h3>



<p>Una medida sencilla para identificar <strong>desbalance de clases</strong> en un conjunto de datos es calcular la proporción de asignación de las clases. Para esto se puede utilizar la medida de <strong>ratio de desequilibrio</strong> (imbalanced ratio):</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\text{Imbalanced Ratio (IR)} = \frac{\text{Tamaño de la clase mayoritaria}}{\text{Tamaño de la clase minoritaria}}, \tag{3.68.1}

</pre></div>



<p>donde la <strong>clase mayoritaria</strong> es aquella que acapara la mayor cantidad de datos.</p>



<p>El criterio convencionalmente aceptado para interpretar esta métrica es que un conjunto de datos con un valor de ratio de desequilibrio mayor a 2 <span class="katex-eq" data-katex-display="false">(IR\ge2)</span> puede considerarse desbalanceado, tomando en cuenta la <strong>naturaleza de los datos</strong>.</p>



<p>Si utilizamos el ejemplo de la<strong> <a href="https://dialektico.com/wp-content/uploads/2025/02/image-2.png">Tabla 3.6.1.2</a></strong>, el cálculo del IR es:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\text{IR} = \frac{\text{8}}{\text{2}}=4 \tag{3.68.2}

</pre></div>



<p>Este resultado implicaría un gran desbalanceo, ya que un valor de <span class="katex-eq" data-katex-display="false">(IR=1)</span> indica un equilibrio perfecto entre las clases (<span class="katex-eq" data-katex-display="false">\frac{50}{50}</span>).</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><strong>Porcentaje de la clase minoritaria (Minority Class Percentage)</strong></h3>



<p>Este porcentaje evalúa qué proporción del total representa la <strong>clase minoritaria</strong> (aquella que aparece con menos frecuencia). Si la clase minoritaria representa menos del <strong>30%</strong> de los datos, es probable que haya desbalance. Volviendo al ejemplo anterior:</p>



<ul class="wp-block-list">
<li><strong>Clase 1</strong>: 80%</li>



<li><strong>Clase 0</strong>: 20%</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Aquí, la clase minoritaria es menos del 30%, lo cual indica un posible desbalance.</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Existen otras variadas formas de determinar un <strong>desequilibrio </strong>significativo entre clases en un conjunto de datos:</p>



<ul class="wp-block-list">
<li>Utilizar gráficas como las que se visualizaron en la <strong><a href="http://dialektico.com/wp-content/uploads/2025/02/DEBC_charts1.png">Figura 3.6.1.1</a></strong>.</li>



<li>Utilizar métricas basadas en el <strong>desempeño del modelo</strong>, las cuales veremos en nuestra próxima exploración.</li>



<li>Para conjuntos de datos con más de dos clases (multiclase), se puede consultar <a href="https://bird.bcamath.org/bitstream/handle/20.500.11824/716/PRL%20Jonathan.pdf;jsessionid=EE3FCBCC9645C58783913EB40B867E31?sequence=1" target="_blank" rel="noopener">Measuring the Class-imbalance Extent of Multi-class Problems</a> de Hernández y Lozano.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Con esto debería quedar claro cómo lucen los <strong>datos desbalanceados</strong>. Recuerda que siempre hay que evaluar el <strong>impacto </strong>de esto conforme al <strong>contexto </strong>de los datos y diferentes <strong>métricas </strong>para la evaluación del conjunto de datos y del <strong>modelo </strong>entrenado mediante su ingesta.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Datos desbalanceados en conjuntos de datos para entrenar modelos de regresión</h2>



<p>Hemos visto cómo lucen los <strong>conjuntos de datos</strong> con clases desbalanceadas en conjuntos<strong> etiquetados</strong> con <strong>categorías</strong> cuyo destino es el entrenamiento de <strong>modelos de clasificación</strong>. Revisemos cómo se puede dar esto en conjuntos de datos con objetivos de entrenamiento de modelos de <strong>regresión</strong>. </p>



<p>En un conjunto de datos destinado a una tarea de <strong>regresión</strong>, los datos desbalanceados se refieren a una distribución <strong>no uniforme</strong> de la variable objetivo (<strong>variable dependiente</strong> o <strong>salidas</strong>) en el rango de valores que esta puede tomar. Aunque el concepto de clases no aplica como en la clasificación, el desbalance puede manifestarse en los siguientes casos:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><strong>Concentración de valores en pocos rangos</strong></h3>



<p>En un conjunto de datos <strong>desbalanceado </strong>la mayoría de los valores de las <strong>salidas </strong>pueden estar concentrados en un <strong>rango específico</strong>, dejando a los rangos restantes con pocos <strong>ejemplos de entrenamiento</strong>.</p>



<p>Recordemos el ejemplo de los alumnos y sus calificaciones respecto a horas de estudio que atendimos en la lección sobre la <a href="https://dialektico.com/introduccion-a-la-regresion-lineal/">regresión lineal</a>. Podríamos tener un conjunto de datos como este:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="253" height="480" src="https://dialektico.com/wp-content/uploads/2025/02/image-4.png" alt="image 4" class="wp-image-11141" title="Datos desbalanceados 33"><figcaption class="wp-element-caption"><strong>Tabla 3.6.1.3</strong> Ejemplo de un conjunto de datos donde los valores de las salidas (calificación) tienden a concentrarse en un solo rango (por encima de 85).</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En la <strong>Tabla 3.6.1.3</strong> puedes notar cómo la <strong>mayoría </strong>de las calificaciones son altas (<strong>mayores a 85</strong>). Esto ocasionaría que un modelo entrenado con estos datos no sea capaz de <strong>predecir correctamente </strong>calificaciones con valores más <strong>bajos</strong>. Un <strong>histograma </strong>de estos datos con los rangos mencionados se puede observar en la <strong>Figura 3.6.1.2</strong>:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="1670" height="1106" src="https://dialektico.com/wp-content/uploads/2025/02/image-5.png" alt="image 5" class="wp-image-11143" title="Datos desbalanceados 34" srcset="https://dialektico.com/wp-content/uploads/2025/02/image-5.png 1670w, https://dialektico.com/wp-content/uploads/2025/02/image-5-768x509.png 768w, https://dialektico.com/wp-content/uploads/2025/02/image-5-1536x1017.png 1536w" sizes="(max-width: 1670px) 100vw, 1670px" /><figcaption class="wp-element-caption"><strong>Figura 3.6.1.2</strong> Histograma de la distribución de las calificaciones en rangos numéricos. Se puede constatar que la mayoría de las calificaciones caen en el rango de los valores más altos, lo cual deja pocos ejemplos de entrenamiento con valores bajos para un entrenamiento efectivo del modelo.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Presencia de valores atípicos (outliers)</h3>



<p>Se pueden <strong>desbalancear </strong>los datos si se cuenta con <strong>valores atípicos</strong> en la variable objetivo, es decir, que están muy alejados del comportamiento de la mayoría de los datos. Esto ya lo hemos visto en nuestras actividades <strong>entrenando </strong>modelos, y hemos trabajado en deshacernos de este tipo de valores mediante diferentes <strong>métodos matemáticos</strong>.</p>



<p>Un ejemplo de esto luciría como se muestra en la <strong>Tabla 3.6.1.4</strong>:</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="261" height="490" src="https://dialektico.com/wp-content/uploads/2025/02/image-6.png" alt="image 6" class="wp-image-11144" style="width:261px;height:auto" title="Datos desbalanceados 35"><figcaption class="wp-element-caption"><strong>Tabla 3.6.1.4</strong> Datos de calificaciones con presencia de valores atípicos (10 y 100, los cuales se alejan del comportamiento de las demás observaciones).</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Para discernirlo mejor, observemos la siguiente gráfica:</p>



<figure class="wp-block-image alignwide size-full"><img loading="lazy" decoding="async" width="2790" height="1180" src="https://dialektico.com/wp-content/uploads/2025/02/DEBC_charts3.png" alt="DEBC charts3" class="wp-image-11199" title="Datos desbalanceados 36" srcset="https://dialektico.com/wp-content/uploads/2025/02/DEBC_charts3.png 2790w, https://dialektico.com/wp-content/uploads/2025/02/DEBC_charts3-768x325.png 768w, https://dialektico.com/wp-content/uploads/2025/02/DEBC_charts3-1536x650.png 1536w, https://dialektico.com/wp-content/uploads/2025/02/DEBC_charts3-2048x866.png 2048w" sizes="(max-width: 2790px) 100vw, 2790px" /><figcaption class="wp-element-caption"><strong>Figura 3.6.1.4</strong> Gráfica de la distribución de los datos donde es notoria la aparición de datos atípicos (puntos rojos) distanciados de la tendencia de los demás valores.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>La aparición de este tipo de observaciones puede ocasionar <strong>sesgos </strong>en el rendimiento del modelo entrenado.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p><strong>Sesgo en la Distribución</strong></p>



<p>Otro tipo de desequilibrio en los datos se da cuando las <strong>entradas </strong>presentan una <strong>distribución sesgada</strong>, la cual es generada por valores que no se distribuyen de forma <strong>normal </strong>o <strong>simétrica</strong>. </p>



<p>En la <strong>Figura 3.6.1.5</strong> se puede consultar cómo luce una <strong>gráfica </strong>de datos con una <strong>distribución aproximadamente normal</strong>, donde los valores caen alrededor de la media y la mediana, y también se aprecia una <strong>distribución asimétrica</strong>, donde la mayoría de los valores de calificaciones son altos, provocando una &lt;&lt;cola&gt;&gt; <strong>negativa</strong>, y un conglomerado en los valores <strong>positivos</strong>, generando un sesgo en los rangos de los valores.</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="1711" height="2427" src="https://dialektico.com/wp-content/uploads/2025/02/DEBC_charts2.png" alt="DEBC charts2" class="wp-image-11147" title="Datos desbalanceados 37" srcset="https://dialektico.com/wp-content/uploads/2025/02/DEBC_charts2.png 1711w, https://dialektico.com/wp-content/uploads/2025/02/DEBC_charts2-768x1089.png 768w, https://dialektico.com/wp-content/uploads/2025/02/DEBC_charts2-1083x1536.png 1083w, https://dialektico.com/wp-content/uploads/2025/02/DEBC_charts2-1444x2048.png 1444w" sizes="(max-width: 1711px) 100vw, 1711px" /><figcaption class="wp-element-caption"><strong>Figura 3.6.1.5</strong></figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Cómo detectar datos desbalanceados para entrenamiento de modelos de regresión</h3>



<p>Para hallar indicios de un conjunto de datos <strong>desequilibrado</strong>, podemos utilizar los siguientes métodos:</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Coeficiente de asimetría</h3>



<p>El <strong>coeficiente de asimetría</strong> (<strong>skewness</strong>) es una medida que indica si la distribución de los datos está sesgada hacia la izquierda (<strong>sesgo negativo</strong>) o hacia la derecha (<strong>sesgo positivo</strong>). Se calcula como sigue:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\text{Coeficiente de asimetría} = \frac{ \frac{1}{N} \sum_{i=1}^{N} (x_i - \bar{x})^3 }{ \left( \frac{1}{N} \sum_{i=1}^{N} (x_i - \bar{x})^2 \right)^{\frac{3}{2}} }, \tag{3.68.3}
</pre></div>



<p>donde <span class="katex-eq" data-katex-display="false">N</span> es la cantidad total de observaciones/datos, <span class="katex-eq" data-katex-display="false">x_i</span> es la i-ésima observación, y <span class="katex-eq" data-katex-display="false">\bar{x}</span> es la media de las observaciones.</p>



<p>El valor resultante se interpreta de la siguiente manera:</p>



<ul class="wp-block-list">
<li><strong>Coeficiente&nbsp;de&nbsp;asimetría </strong>(<strong>Skewness) ≈ 0</strong> → Distribución simétrica.</li>



<li><strong>Coeficiente&nbsp;de&nbsp;asimetría</strong> <strong>(Skewness) &gt; 0</strong> → Sesgo positivo (cola a la derecha).</li>



<li><strong>Coeficiente&nbsp;de&nbsp;asimetría</strong> <strong>(Skewness) &lt; 0</strong> → Sesgo negativo (cola a la izquierda).</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Curtosis (kurtosis)</h3>



<p>La <strong>curtosis</strong> mide cuánto peso tienen las <strong>colas </strong>de la distribución en comparación con una distribución normal. Se calcula:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\text{Curtosis} = \frac{ \frac{1}{N} \sum_{i=1}^{N} (x_i - \bar{x})^4 }{ \left( \frac{1}{N} \sum_{i=1}^{N} (x_i - \bar{x})^2 \right)^{2} }, \tag{3.68.4}

</pre></div>



<p>donde, de igual manera, <span class="katex-eq" data-katex-display="false">N</span> es la cantidad total de datos, <span class="katex-eq" data-katex-display="false">x_i</span> es la i-ésima observación, y <span class="katex-eq" data-katex-display="false">\bar{x}</span> es la media de las observaciones.</p>



<p>Esta medida se interpreta de la siguiente forma:</p>



<ul class="wp-block-list">
<li><strong>Curtosis ≈ 3</strong> → Distribución normal (<strong>Mesocúrtica</strong>).</li>



<li><strong>Curtosis &gt; 3</strong> → Colas más pesadas (<strong>Leptocúrtica</strong>, más valores extremos).</li>



<li><strong>Curtosis &lt; 3</strong> → Colas más ligeras (<strong>Platicúrtica</strong>, valores concentrados en el centro).</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Coeficiente de variación</h3>



<p>El <strong>Coeficiente de Variación (CV)</strong> es una métrica que indica altas <strong>variaciones </strong>en los datos, lo cual puede señalar posibles apariciones de datos atípicos, desbalanceando la distribución de estos.</p>



<p>Este se calcula como se muestra a continuación:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>CV = \frac{\sigma}{\bar{x}}, \tag{3.68.5}

</pre></div>



<p>donde <span class="katex-eq" data-katex-display="false">\sigma</span> es <strong>la desviación estándar</strong> de los datos, y <span class="katex-eq" data-katex-display="false">\bar{x}</span> su promedio.</p>



<p>Se interpreta como sigue:</p>



<ul class="wp-block-list">
<li><strong>CV ≈ 0</strong> → Poca variabilidad (valores muy similares entre sí).</li>



<li><strong>CV alto (&gt;0.5)</strong> → Alta dispersión (datos desbalanceados).</li>



<li><strong>CV muy alto (&gt;1)</strong> → Datos extremadamente dispersos.</li>
</ul>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Además de estas medidas, se pueden utilizar las siguientes herramientas:</p>



<ul class="wp-block-list">
<li>Gráficas como las que hemos mostrado antes, donde se puedan visualizar diferencias significativas en la <strong>distribución </strong>de los datos.</li>



<li>Técnicas para identificación de valores atípicos como el <strong>rango intercuartílico</strong> o <a href="https://www.researchgate.net/publication/224384174_Isolation_Forest" target="_blank" rel="noopener"><strong>isolation forest</strong></a>.</li>



<li><strong>Métricas de evaluación</strong> de modelos de regresión.</li>



<li>Comparación entre la media y la mediana de las observaciones.</li>
</ul>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



            <div class='ays-quiz-container ays_quiz_classic_light   ays-quiz-keyboard-active' data-quest-effect='shake'  data-hide-bg-image='false' id='ays-quiz-container-24'>
                
                
                <div class='ays-questions-container'>
                    
                    
                    
                    <form action='' method='post' id='ays_finish_quiz_24' 
                        class='ays-quiz-form enable_correction enable_questions_result '
                    >
            <input type='hidden' value='list' class='answer_view_class'>
            <input type='hidden' value='' class='ays_qm_enable_arrows'>
            <audio id='ays_quiz_right_ans_sound_24' class='ays_quiz_right_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound.wav'></audio><audio id='ays_quiz_wrong_ans_sound_24' class='ays_quiz_wrong_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound-1.wav'></audio>
            
            <div class='step active-step'>
                <div class='ays-abs-fs ays-start-page'>
                    
                    
                    
                    <div class='ays-fs-subtitle'><p>Contesta las siguientes preguntas</p>
</div>
                    <input type='hidden' name='ays_quiz_id' value='24'/>
                    <input type='hidden' name='ays_quiz_finish_nonce' value='7cec930025'>
                    <input type='hidden' name='ays_quiz_curent_page_link' class='ays-quiz-curent-page-link' value='https://dialektico.com/categoria/analisis-de-datos/feed/'/>
                    <input type='hidden' name='ays_quiz_questions' value='68,69,70'>
                    
                    
                    <input type='button'   class='ays_next start_button action-button ays-quiz-keyboard-active' value='EMPEZAR' data-enable-leave-page="false" />
                    
                    </div>
                </div><div class='step  ' data-question-id='68' data-type='checkbox'>
                    
                    
                    <p class='ays-question-counter animated'>1 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Cuáles de los siguientes son casos de datos desbalanceados?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-68]' id='ays-answer-238-24' value='238'/>

                <label for='ays-answer-238-24' class='  ays_position_initial  ays-quiz-keyboard-label'>Datos cuyos valores de la variable objetivo (salidas) están concentrados en un solo rango.</label><label for='ays-answer-238-24' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-68]' id='ays-answer-239-24' value='239'/>

                <label for='ays-answer-239-24' class='  ays_position_initial  ays-quiz-keyboard-label'>Datos con valores cualitativos en una de las variables de entrada.</label><label for='ays-answer-239-24' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-68]' id='ays-answer-240-24' value='240'/>

                <label for='ays-answer-240-24' class='  ays_position_initial  ays-quiz-keyboard-label'>Datos etiquetados con clases, donde el 90% de los datos pertenecen a una sola clase.</label><label for='ays-answer-240-24' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-68]' id='ays-answer-241-24' value='241'/>

                <label for='ays-answer-241-24' class='  ays_position_initial  ays-quiz-keyboard-label'>Datos con una distribución altamente asimétrica de la variable objetivo .</label><label for='ays-answer-241-24' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_24 === 'undefined'){
                window.quizOptions_24 = [];
            }
            window.quizOptions_24['68'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Los datos cualitativos no desbalancean los valores del conjunto, solo deben ser transformados debidamente a valores numéricos.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='69' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>2 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Cuál de los siguientes es un método para la medición de clases desbalanceadas en un conjunto de datos?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-69]' id='ays-answer-242-24' value='242'/>

                <label for='ays-answer-242-24' class='  ays_position_initial  ays-quiz-keyboard-label'>Índice de variabilidad.</label><label for='ays-answer-242-24' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-69]' id='ays-answer-243-24' value='243'/>

                <label for='ays-answer-243-24' class='  ays_position_initial  ays-quiz-keyboard-label'>Detección de valores atípicos.</label><label for='ays-answer-243-24' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-69]' id='ays-answer-244-24' value='244'/>

                <label for='ays-answer-244-24' class='  ays_position_initial  ays-quiz-keyboard-label'>Regresión logística.</label><label for='ays-answer-244-24' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-69]' id='ays-answer-245-24' value='245'/>

                <label for='ays-answer-245-24' class='  ays_position_initial  ays-quiz-keyboard-label'>Ratio de desequilibrio.</label><label for='ays-answer-245-24' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_24 === 'undefined'){
                window.quizOptions_24 = [];
            }
            window.quizOptions_24['69'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>El ratio de desequilibrio es el único de los presentes que mide desbalanceo en clases.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='70' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>3 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Cuál de los siguientes es un método para la medición del desbalanceo de datos buscando un sesgo en la distribución de los valores de la variable objetivo?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-70]' id='ays-answer-246-24' value='246'/>

                <label for='ays-answer-246-24' class='  ays_position_initial  ays-quiz-keyboard-label'>Coeficiente de asimetría.</label><label for='ays-answer-246-24' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-70]' id='ays-answer-247-24' value='247'/>

                <label for='ays-answer-247-24' class='  ays_position_initial  ays-quiz-keyboard-label'>Radio de desequilibrio.</label><label for='ays-answer-247-24' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-70]' id='ays-answer-248-24' value='248'/>

                <label for='ays-answer-248-24' class='  ays_position_initial  ays-quiz-keyboard-label'>Regresión lineal.</label><label for='ays-answer-248-24' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-70]' id='ays-answer-249-24' value='249'/>

                <label for='ays-answer-249-24' class='  ays_position_initial  ays-quiz-keyboard-label'>Porcentaje de la clase minoritaria.</label><label for='ays-answer-249-24' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_24 === 'undefined'){
                window.quizOptions_24 = [];
            }
            window.quizOptions_24['70'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays-quiz-keyboard-active ays_arrow ays_display_none" tabindex='0'></i>
                            <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active '  value='ANTERIOR' /><i class='ays_display_none ays_fa ays_fa_flag_checkered ays_finish action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active' tabindex='0'></i><input type='submit' name='ays_finish_quiz' class='  ays_next ays_finish action-button ays-quiz-keyboard-active' value='VER TOTAL'/></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>El ratio de desequilibrio es el único de los presentes que mide desbalanceo en clases.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step ays_thank_you_fs'>
            <div class='ays-abs-fs ays-end-page'><div data-class='lds-facebook' data-role='loader' class='ays-loader'><div></div><div></div><div></div></div><div class='ays_quiz_results_page'><div class='ays_score_message'></div><div class='ays_message'></div><p class='ays_score ays_score_display_none animated'>Tu puntación es </p><p class='ays_average'>La puntuación media es  66%</p><div class='ays-progress third'>
                <span class='ays-progress-value third'>0%</span>
                <div class='ays-progress-bg third'>
                    <div class='ays-progress-bar third' style='width:0%;'></div>
                </div>
            </div><p class='ays_restart_button_p'><button type='button' class='action-button ays_restart_button ays-quiz-keyboard-active'>
                    <i class='ays_fa ays_fa_undo'></i>
                    <span>Reiniciar Prueba</span>
                </button></p></div>
            </div>
        </div><style>
            div#ays-quiz-container-24 * {
                box-sizing: border-box;
            }

            #ays-quiz-container-24 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                width: 90%;
            }

            /* Styles for Internet Explorer start */
            #ays-quiz-container-24 #ays_finish_quiz_24 {
                
            }

            /* Styles for Quiz container */
            #ays-quiz-container-24{
                min-height: 350px;
                width:400px;
                background-color:#ffffff;
                background-position:center center;background-image: url('https://dialektico.com/wp-content/uploads/2022/08/Q3.jpg');border-radius:0px;box-shadow: none;border-width: 3px;border-style: solid;border-color: #000;}

            /* Styles for questions */
            #ays-quiz-container-24 #ays_finish_quiz_24 div.step {
                min-height: 350px;
            }

            /* Styles for text inside quiz container */
            #ays-quiz-container-24 .ays-start-page *:not(input):not([class^='enlighter']),
            #ays-quiz-container-24 .ays_question_hint,
            #ays-quiz-container-24 label[for^="ays-answer-"],
            #ays-quiz-container-24 #ays_finish_quiz_24 p,
            #ays-quiz-container-24 #ays_finish_quiz_24 .ays-fs-title,
            #ays-quiz-container-24 .ays-fs-subtitle,
            #ays-quiz-container-24 .logged_in_message,
            #ays-quiz-container-24 .ays_score_message,
            #ays-quiz-container-24 .ays_message{
               color: #0a0a0a;
               outline: none;
            }

            div#ays-quiz-container-24 .ays_question_hint.ays-quiz-keyboard-active,
            div#ays-quiz-container-24 .ays_restart_button.ays-quiz-keyboard-active {
                outline: revert;
            }

            #ays-quiz-container-24 .ays-quiz-password-message-box,
            #ays-quiz-container-24 .ays-quiz-question-note-message-box,
            #ays-quiz-container-24 .ays_quiz_question,
            #ays-quiz-container-24 .ays-quiz-question-category-box,
            #ays-quiz-container-24 .ays_quiz_question *:not([class^='enlighter']) {
                color: #0a0a0a;
            }

            #ays-quiz-container-24 .ays-quiz-question-category-box em {
                color: #0a0a0a;
            }

            #ays-quiz-container-24 textarea,
            #ays-quiz-container-24 input::first-letter,
            #ays-quiz-container-24 select::first-letter,
            #ays-quiz-container-24 option::first-letter {
                color: initial !important;
            }
            
            #ays-quiz-container-24 p::first-letter:not(.ays_no_questions_message) {
                color: #0a0a0a !important;
                background-color: transparent !important;
                font-size: inherit !important;
                font-weight: inherit !important;
                float: none !important;
                line-height: inherit !important;
                margin: 0 !important;
                padding: 0 !important;
            }
            
            
            #ays-quiz-container-24 .select2-container,
            #ays-quiz-container-24 .ays-field * {
                font-size: 15px !important;
            }
    
            #ays-quiz-container-24 .ays_quiz_question p {
                font-size: 16px;
                text-align: inherit;
            }

            #ays-quiz-container-24 .ays-fs-subtitle p {
                text-align:  center ;
            }

            #ays-quiz-container-24 .ays_quiz_question {
                text-align:  center ;
                margin-bottom: 10px;
            }

            #ays-quiz-container-24 .ays_quiz_question pre {
                max-width: 100%;
                white-space: break-spaces;
            }

            /* Mango theme (Version: 1.4.202301041836) | tid=32449 | Start */
            #ays-quiz-container-24 .ays_quiz_question img {
                float: unset;
                margin: 0;
            }
            /* Mango theme (Version: 1.4.202301041836) | End */

            #ays-quiz-container-24 .ays-quiz-timer p {
                font-size: 16px;
            }

            #ays-quiz-container-24 section.ays_quiz_redirection_timer_container hr,
            #ays-quiz-container-24 section.ays_quiz_timer_container hr {
                margin: 0;
            }

            #ays-quiz-container-24 section.ays_quiz_timer_container.ays_quiz_timer_red_warning .ays-quiz-timer {
                color: #ff0000;
            }

            #ays-quiz-container-24 .ays_thank_you_fs p {
                text-align: center;
            }

            #ays-quiz-container-24 .ays_quiz_results_page .ays_score span {
                visibility: visible;
            }

            #ays-quiz-container-24 input[type='button'],
            #ays-quiz-container-24 input[type='submit'] {
                color: #ffffff !important;
            }

            #ays-quiz-container-24 input[type='button']{
                outline: none;
            }

            #ays-quiz-container-24 .information_form input[type='text'],
            #ays-quiz-container-24 .information_form input[type='url'],
            #ays-quiz-container-24 .information_form input[type='number'],
            #ays-quiz-container-24 .information_form input[type='email'],
            #ays-quiz-container-24 .information_form input[type='checkbox'],
            #ays-quiz-container-24 .information_form input[type='tel'],
            #ays-quiz-container-24 .information_form textarea,
            #ays-quiz-container-24 .information_form select,
            #ays-quiz-container-24 .information_form option {
                color: initial !important;
                outline: none;
                background-image: unset;
            }

            #ays-quiz-container-24 .wrong_answer_text{
                color:#ff4d4d;
            }
            #ays-quiz-container-24 .right_answer_text{
                color:#33cc33;
            }

            #ays-quiz-container-24 .wrong_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-24 .ays_questtion_explanation p {
                font-size:16px;
            }

            #ays-quiz-container-24 .wrong_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-24 .ays_questtion_explanation *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-24 .right_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-24 .right_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-24 .ays-quiz-question-note-message-box p {
                font-size:14px;
            }

            #ays-quiz-container-24 .ays-quiz-question-note-message-box *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }
            
            #ays-quiz-container-24 .ays_cb_and_a,
            #ays-quiz-container-24 .ays_cb_and_a * {
                color: rgb(10,10,10);
                text-align: center;
            }

            /* Quiz textarea height */
            #ays-quiz-container-24 textarea {
                height: 100px;
                min-height: 100px;
            }

            /* Quiz rate and passed users count */
            #ays-quiz-container-24 .ays_quizn_ancnoxneri_qanak,
            #ays-quiz-container-24 .ays_quiz_rete_avg {
                color:#ffffff !important;
                background-color:#0a0a0a;   
            }

            #ays-quiz-container-24 .ays-questions-container > .ays_quizn_ancnoxneri_qanak {
                padding: 5px 20px;
            }
            #ays-quiz-container-24 div.for_quiz_rate.ui.star.rating .icon {
                color: rgba(10,10,10,0.35);
            }
            #ays-quiz-container-24 .ays_quiz_rete_avg div.for_quiz_rate_avg.ui.star.rating .icon {
                color: rgba(255,255,255,0.5);
            }

            #ays-quiz-container-24 .ays_quiz_rete .ays-quiz-rate-link-box .ays-quiz-rate-link {
                color: #0a0a0a;
            }

            /* Loaders */            
            #ays-quiz-container-24 div.lds-spinner,
            #ays-quiz-container-24 div.lds-spinner2 {
                color: #0a0a0a;
            }
            #ays-quiz-container-24 div.lds-spinner div:after,
            #ays-quiz-container-24 div.lds-spinner2 div:after {
                background-color: #0a0a0a;
            }
            #ays-quiz-container-24 .lds-circle,
            #ays-quiz-container-24 .lds-facebook div,
            #ays-quiz-container-24 .lds-ellipsis div{
                background: #0a0a0a;
            }
            #ays-quiz-container-24 .lds-ripple div{
                border-color: #0a0a0a;
            }
            #ays-quiz-container-24 .lds-dual-ring::after,
            #ays-quiz-container-24 .lds-hourglass::after{
                border-color: #0a0a0a transparent #0a0a0a transparent;
            }

            /* Stars */
            #ays-quiz-container-24 .ui.rating .icon,
            #ays-quiz-container-24 .ui.rating .icon:before {
                font-family: Rating !important;
            }

            /* Progress bars */
            #ays-quiz-container-24 #ays_finish_quiz_24 .ays-progress {
                border-color: rgba(10,10,10,0.8);
            }
            #ays-quiz-container-24 #ays_finish_quiz_24 .ays-progress-bg {
                background-color: rgba(10,10,10,0.3);
            }    
            #ays-quiz-container-24 .ays-progress-value {
                color: #0a0a0a;
                text-align: center;
            }
            #ays-quiz-container-24 .ays-progress-bar {
                background-color: #9e0505;
            }
            #ays-quiz-container-24 .ays-question-counter .ays-live-bar-wrap {
                direction:ltr !important;
            }
            #ays-quiz-container-24 .ays-live-bar-fill{
                color: #0a0a0a;
                border-bottom: 2px solid rgba(10,10,10,0.8);
                text-shadow: 0px 0px 5px #ffffff;
            }
            #ays-quiz-container-24 .ays-live-bar-fill.ays-live-fourth,
            #ays-quiz-container-24 .ays-live-bar-fill.ays-live-third,
            #ays-quiz-container-24 .ays-live-bar-fill.ays-live-second {
                text-shadow: unset;
            }
            #ays-quiz-container-24 .ays-live-bar-percent{
                display:none;
            }
            #ays-quiz-container-24 #ays_finish_quiz_24 .ays_average {
                text-align: center;
            }
            
            /* Music, Sound */
            #ays-quiz-container-24 .ays_music_sound {
                color:rgb(10,10,10);
            }

            /* Dropdown questions scroll bar */
            #ays-quiz-container-24 blockquote {
                border-left-color: #0a0a0a !important;                                      
            }

            /* Quiz Password */
            #ays-quiz-container-24 .ays-start-page > input[id^='ays_quiz_password_val_'],
            #ays-quiz-container-24 .ays-quiz-password-toggle-visibility-box {
                width: 100%;
            }


            /* Question hint */
            #ays-quiz-container-24 .ays_question_hint_container .ays_question_hint_text {
                background-color:#ffffff;
                box-shadow: 0 0 15px 3px rgba(10,10,10,0.35);
                max-width: 270px;
            }

            #ays-quiz-container-24 .ays_question_hint_container .ays_question_hint_text p {
                max-width: unset;
            }

            #ays-quiz-container-24 .ays-quiz-additonal-box {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                position: relative;  
            }

            #ays-quiz-container-24 .ays_questions_hint_max_width_class {
                max-width: 80%;
            }

            /* Information form */
            #ays-quiz-container-24 .ays-form-title{
                color:rgb(10,10,10);
            }

            /* Quiz timer */
            #ays-quiz-container-24 div.ays-quiz-redirection-timer,
            #ays-quiz-container-24 div.ays-quiz-timer{
                color: #0a0a0a;
                text-align: center;
            }

            #ays-quiz-container-24 div.ays-quiz-timer.ays-quiz-message-before-timer:before {
                font-weight: 500;
            }

            /* Quiz title / transformation */
            #ays-quiz-container-24 .ays-fs-title{
                text-transform: uppercase;
                font-size: 21px;
                text-align: center;
                    text-shadow: none;
            }
            
            /* Quiz buttons */
            #ays-quiz-container-24 .ays_arrow {
                color:#ffffff!important;
            }
            #ays-quiz-container-24 input#ays-submit,
            #ays-quiz-container-24 #ays_finish_quiz_24 .action-button,
            div#ays-quiz-container-24 #ays_finish_quiz_24 .action-button.ays_restart_button,
            #ays-quiz-container-24 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-24 .ays-quiz-category-selective-submit-bttn {
                background: none;
                background-color: #9e0505;
                color:#ffffff;
                font-size: 17px;
                padding: 10px 20px;
                border-radius: 3px;
                height: auto;
                letter-spacing: 0;
                box-shadow: unset;
                width: auto;
                /* border: unset; */
                min-height: unset;
                line-height: normal;
                text-shadow: unset;
            }
            #ays-quiz-container-24 input#ays-submit,
            #ays-quiz-container-24 #ays_finish_quiz_24 input.action-button,
            #ays-quiz-container-24 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-24 .ays-quiz-category-selective-submit-bttn {
                
            }

            #ays-quiz-container-24 #ays_finish_quiz_24 .action-button.ays_check_answer {
                padding: 5px 10px;
                font-size: 17px !important;
            }
            #ays-quiz-container-24 #ays_finish_quiz_24 .action-button.ays_restart_button {
                white-space: nowrap;
                padding: 5px 10px;
                white-space: normal;
            }
            #ays-quiz-container-24 input#ays-submit:hover,
            #ays-quiz-container-24 input#ays-submit:focus,
            #ays-quiz-container-24 #ays_finish_quiz_24 .action-button:hover,
            #ays-quiz-container-24 #ays_finish_quiz_24 .action-button:focus,
            #ays-quiz-container-24 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
            #ays-quiz-container-24 .ays-quiz-category-selective-submit-bttn:hover {
                background: none;
                box-shadow: 0 0 0 2px #ffffff;
                background-color: #9e0505;
            }
            #ays-quiz-container-24 .ays_restart_button {
                color: #ffffff;
            }
            
            #ays-quiz-container-24 .ays_restart_button_p,
            #ays-quiz-container-24 .ays_buttons_div {
                justify-content: center;
            }

            #ays-quiz-container-24 .ays_finish.action-button{
                margin: 10px 5px;
            }

            #ays-quiz-container-24 .ays-share-btn.ays-share-btn-branded {
                color: #fff;
                display: inline-block;
            }

            #ays-quiz-container-24 .ays_quiz_results .ays-field.checked_answer_div.correct_div input:checked+label {
                background-color: transparent;
            }
                        
            /* Question answers */
            #ays-quiz-container-24 .ays-field {
                    border-color: #444;
                    border-style: solid;
                    border-width: 1px;
                    box-shadow: none;flex-direction: row-reverse;
            }
            

            /* Answer maximum length of a text field */
            #ays-quiz-container-24 .ays_quiz_question_text_message{
                color: #0a0a0a;
                text-align: left;
                font-size: 12px;
            }

            div#ays-quiz-container-24 div.ays_quiz_question_text_error_message {
                color: #ff0000;
            }

            /* Questions answer image */
            #ays-quiz-container-24 .ays-answer-image {
                width:15em;
                height:150px;
                object-fit: cover;
            }
            
            #ays-quiz-container-24 .ays-quiz-answers .ays-field:hover:not(.ays-answered-text-input){
                opacity: 1;
            }
            #ays-quiz-container-24 #ays_finish_quiz_24 .ays-field label.ays_answer_caption[for^='ays-answer-'] {
                z-index: 1;
                position:initial;bottom:0;}
            #ays-quiz-container-24 #ays_finish_quiz_24 .ays-field input~label[for^='ays-answer-'] {
                padding: 5px;
            }

            #ays-quiz-container-24 #ays_finish_quiz_24 .ays-field {
                margin-bottom: 10px;
            }
            #ays-quiz-container-24 #ays_finish_quiz_24 .ays-field.ays_grid_view_item {
                width: calc(50% - 5px);
            }
            #ays-quiz-container-24 #ays_finish_quiz_24 .ays-field.ays_grid_view_item:nth-child(odd) {
                margin-right: 5px;
            }
            
            #ays-quiz-container-24 #ays_finish_quiz_24 .ays-field input:checked+label:before {
                border-color: #9e0505;
                background: #9e0505;
                background-clip: content-box;
            }
            #ays-quiz-container-24 .ays-quiz-answers div.ays-text-right-answer {
                color: #0a0a0a;
            }
                        
            /* Questions answer right/wrong icons */
            #ays-quiz-container-24 .ays-field input~label.answered.correct:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/correct.png');          }
            #ays-quiz-container-24 .ays-field input~label.answered.wrong:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/wrong.png');
            }
            #ays-quiz-container-24 .ays-field label.answered:last-of-type:after{
                display: none;
                height: auto;
                left: 10px;top: 10px;}
            /* Dropdown questions */            
            #ays-quiz-container-24 #ays_finish_quiz_24 .ays-field .select2-container--default .select2-selection--single {
                border-bottom: 2px solid #9e0505;
                background-color: #9e0505;
            }
            
            #ays-quiz-container-24 .ays-field .select2-container--default .select2-selection--single .select2-selection__placeholder,
            #ays-quiz-container-24 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-24 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow {
                color: #f5f5f5;
            }

            #ays-quiz-container-24 .select2-container--default .select2-search--dropdown .select2-search__field:focus,
            #ays-quiz-container-24 .select2-container--default .select2-search--dropdown .select2-search__field {
                outline: unset;
                padding: 0.75rem;
            }

            #ays-quiz-container-24 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-24 .select2-container--default .select2-results__option--highlighted[aria-selected] {
                background-color: #9e0505;
            }

            #ays-quiz-container-24 .ays-field .select2-container--default,
            #ays-quiz-container-24 .ays-field .select2-container--default .selection,
            #ays-quiz-container-24 .ays-field .select2-container--default .dropdown-wrapper,
            #ays-quiz-container-24 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-24 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered .select2-selection__placeholder,
            #ays-quiz-container-24 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow,
            #ays-quiz-container-24 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow b[role='presentation'] {
                font-size: 16px !important;
            }

            #ays-quiz-container-24 .select2-container--default .select2-results__option {
                padding: 6px;
            }
            
            /* Dropdown questions scroll bar */
            #ays-quiz-container-24 .select2-results__options::-webkit-scrollbar {
                width: 7px;
            }
            #ays-quiz-container-24 .select2-results__options::-webkit-scrollbar-track {
                background-color: rgba(255,255,255,0.35);
            }
            #ays-quiz-container-24 .select2-results__options::-webkit-scrollbar-thumb {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.55);
            }
            #ays-quiz-container-24 .select2-results__options::-webkit-scrollbar-thumb:hover {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.85);
            }

            /* Audio / Video */
            #ays-quiz-container-24 .mejs-container .mejs-time{
                box-sizing: unset;
            }
            #ays-quiz-container-24 .mejs-container .mejs-time-rail {
                padding-top: 15px;
            }

            #ays-quiz-container-24 .mejs-container .mejs-mediaelement video {
                margin: 0;
            }

            /* Limitation */
            #ays-quiz-container-24 .ays-quiz-limitation-count-of-takers {
                padding: 50px;
            }

            #ays-quiz-container-24 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-show,
            #ays-quiz-container-24 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-hide{
                color: #0a0a0a;
            }

            #ays-quiz-container-24 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-24 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-24 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #0a0a0a;
            }

            #ays-quiz-container-24.ays_quiz_elegant_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after,
            #ays-quiz-container-24.ays_quiz_rect_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #000;
            }

            /* Hestia theme (Version: 3.0.16) | Start */
            #ays-quiz-container-24 .mejs-container .mejs-inner .mejs-controls .mejs-button > button:hover,
            #ays-quiz-container-24 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                box-shadow: unset;
                background-color: transparent;
            }
            #ays-quiz-container-24 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                margin: 10px 6px;
            }
            /* Hestia theme (Version: 3.0.16) | End */

            /* Go theme (Version: 1.4.3) | Start */
            #ays-quiz-container-24 label[for^='ays-answer']:before,
            #ays-quiz-container-24 label[for^='ays-answer']:before {
                -webkit-mask-image: unset;
                mask-image: unset;
            }

            #ays-quiz-container-24.ays_quiz_classic_light .ays-field input:checked+label.answered.correct:before,
            #ays-quiz-container-24.ays_quiz_classic_dark .ays-field input:checked+label.answered.correct:before {
                background-color: #9e0505 !important;
                background-color: rgba(39,174,96, 1) !important;
            }
            /* Go theme (Version: 1.4.3) | End */

            #ays-quiz-container-24 .ays_quiz_results fieldset.ays_fieldset .ays_quiz_question .wp-video {
                width: 100% !important;
                max-width: 100%;
            }

            /* Classic Dark / Classic Light */
            /* Dropdown questions right/wrong styles */
            #ays-quiz-container-24.ays_quiz_classic_dark .correct_div,
            #ays-quiz-container-24.ays_quiz_classic_light .correct_div{
                border-color:green !important;
                opacity: 1 !important;
                background-color: rgba(39,174,96,0.4) !important;
            }
            #ays-quiz-container-24.ays_quiz_classic_dark .correct_div .selected-field,
            #ays-quiz-container-24.ays_quiz_classic_light .correct_div .selected-field {
                padding: 0px 10px 0px 10px;
                color: green !important;
            }

            #ays-quiz-container-24.ays_quiz_classic_dark .wrong_div,
            #ays-quiz-container-24.ays_quiz_classic_light .wrong_div{
                border-color:red !important;
                opacity: 1 !important;
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-24.ays_quiz_classic_dark .ays-field.checked_answer_div.wrong_div input:checked~label,
            #ays-quiz-container-24.ays_quiz_classic_light .ays-field.checked_answer_div.wrong_div input:checked~label {
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-24.ays_quiz_classic_dark .ays-field,
            #ays-quiz-container-24.ays_quiz_classic_light .ays-field {
                text-align: left;
                /*margin-bottom: 10px;*/
                padding: 0;
                transition: .3s ease-in-out;
            }

            #ays-quiz-container-24 .ays-quiz-close-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-24 .ays-quiz-open-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-24 .ays_quiz_login_form p{
                color: #0a0a0a;
            }

            /* report questions modal start */
            .ays-modal-reports {
                display: none;
                position: fixed;
                z-index: 9999;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                overflow: auto;
                background-color: rgba(0, 0, 0, 0.4);
                animation-duration: .5s;
                background-color: rgba(0, 0, 0, 0.4);
            }

            #ays-quiz-question-report-modal-24 .ays-modal-content-reports {
                background-color: #fefefe;
                margin: 10% auto;
                border: 1px solid #888;
                max-width: 500px;
                width: 100%;
                border-radius: 10px;
                padding: 20px;
                box-sizing: border-box;
                position: relative;
            }

            #ays-quiz-question-report-modal-24 .ays-modal-content-reports label{
                display: block;
                margin-bottom: 10px;
                font-weight: bold;
                letter-spacing: normal;
            }

            #ays-quiz-question-report-modal-24 .ays-modal-content-reports textarea {
                display: block;
                width: 100%;
                height: 100px;
                padding: 5px;
                box-sizing: border-box;
                border-radius: 5px;
                border: 1px solid #ccc;
                max-width: 100%;
                max-height: 500px;
                resize: vertical;
                transition: unset;
            }

            #ays-quiz-question-report-modal-24 .ays-modal-content-reports input.ays-quiz-submit-question-report {
                background-color: #0073aa;
                color: #fff !important;
                border: none;
                border-radius: 5px;
                padding: 10px 20px;
                cursor: pointer;
                margin-top: 20px;
                line-height: normal;
                letter-spacing: normal;
                box-shadow: unset;
                background-image: unset;
            }

            #ays-quiz-question-report-modal-24 .ays-close-reports-window {
                color: #aaa;
                font-weight: bold;
                position: absolute;
                top: 1%;
                right: 1%;
            }

            #ays-quiz-question-report-modal-24 .ays-close-reports-window img {
                box-shadow: unset;
            }
            
            #ays-quiz-question-report-modal-24 .ays-quiz-preloader img {
                box-shadow: unset;
            }

            #ays-quiz-question-report-modal-24 .ays-close-reports-window img:hover,
            #ays-quiz-question-report-modal-24 .ays-close-reports-window img:focus {
                cursor: pointer;
            }

            #ays-quiz-question-report-modal-24 .ays-quiz-question-report-error {
                display: none;
                font-size: 13px;
                color: #f00;
                text-align: left;
            }

            #ays-quiz-question-report-modal-24 .ays-quiz-question-report-textarea-label,
            #ays-quiz-question-report-modal-24 .ays-quiz-question-report-title {
                text-align: left;
            }

            #ays-quiz-question-report-modal-24 .ays_quiz_modal_overlay {
                width: 100%;
                height: 100%;
                position: fixed;
                top: 0;
                left: 0;
                position: absolute;
                z-index: 1000000000;
                flex-direction: column;
            }

            #ays-quiz-question-report-modal-24 .ays-quiz-container .ays-quiz-user-cհoosing-anonymous-assessment {
                margin: 10px 0;
            }

            /* report questions modal end */

            @media screen and (max-width: 768px){
                #ays-quiz-container-24{
                    max-width: 100%;
                }

                div#ays-quiz-container-24 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                    width: 90%;
                }

                #ays-quiz-container-24 .ays_quiz_question p {
                    font-size: 16px;
                }

                #ays-quiz-container-24 .select2-container,
                #ays-quiz-container-24 .ays-field * {
                    font-size: 15px !important;
                }

                div#ays-quiz-container-24 input#ays-submit,
                div#ays-quiz-container-24 #ays_finish_quiz_24 .action-button,
                div#ays-quiz-container-24 #ays_finish_quiz_24 .action-button.ays_restart_button,
                #ays-quiz-container-24 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
                #ays-quiz-container-24 .ays-quiz-category-selective-submit-bttn {
                    font-size: 17px;
                }

                /* Quiz title / mobile font size */
                div#ays-quiz-container-24 .ays-fs-title {
                    font-size: 21px;
                }

                /* Question explanation / mobile font size */
                #ays-quiz-container-24 .ays_questtion_explanation p {
                    font-size:16px;
                }

                /* Wrong answers / mobile font size */
                #ays-quiz-container-24 .wrong_answer_text p {
                    font-size:16px;
                }

                /* Right answers / mobile font size */
                #ays-quiz-container-24 .right_answer_text p {
                    font-size:16px;
                }

                /* Note text / mobile font size */
                #ays-quiz-container-24 .ays-quiz-question-note-message-box p {
                    font-size:14px;
                }

                div#ays-quiz-container-24 .ays-quiz-question-note-message-box *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-24 .ays_questtion_explanation *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-24 .right_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-24 .wrong_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }
            }
            /* Custom css styles */
            @media screen and (max-width: 768px)
div#ays-quiz-container-5 input#ays-submit, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    font-size: 17px;
    letter-spacing: 1.5px;
}

#ays-quiz-container-5 input#ays-submit, #ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    background: none;
    background-color: #9e0505;
    color: #ffffff;
    font-size: 17px;
    padding: 10px 20px;
    border-radius: 3px;
    height: auto;
    letter-spacing: 1.5px;
    box-shadow: unset;
}
            
            /* RTL direction styles */
            
        </style>
            <style>
                #ays-quiz-container-24 p {
                    margin: 0.625em;
                }
                
                #ays-quiz-container-24 .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }

                #ays-quiz-container-24.ays_quiz_classic_light  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-24.ays_quiz_classic_dark  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-24.ays_quiz_classic_light  .enable_correction .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-24.ays_quiz_classic_dark  .enable_correction .ays-field.checked_answer_div input:checked~label {
                    background-color: transparent;
                }

                #ays-quiz-container-24.ays_quiz_classic_light  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-24.ays_quiz_classic_dark  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-24.ays_quiz_classic_light  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-24.ays_quiz_classic_dark  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }
                
                #ays-quiz-container-24 .ays-field.checked_answer_div input:checked~label:hover {
                    background-color: rgba(158,5,5,0.8);
                }

                #ays-quiz-container-24.ays-quiz-container.ays_quiz_classic_light .ays-questions-container .ays-field:hover label[for^='ays-answer-'],
                #ays-quiz-container-24 .ays-field:hover:not(.ays-answered-text-input){
                    background: rgba(158,5,5,0.8);
                    /* border-radius: 4px; */
                    color: #fff;
                    transition: all .3s;
                }
                #ays-quiz-container-24 #ays_finish_quiz_24 .action-button:hover,
                #ays-quiz-container-24 #ays_finish_quiz_24 .action-button:focus,
                #ays-quiz-container-24 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
                #ays-quiz-container-24 .ays-quiz-category-selective-submit-bttn:focus {
                    box-shadow: 0 0 0 2px white, 0 0 0 3px #9e0505;
                    background: #9e0505;
                }
            </style><script>
                if(typeof aysQuizOptions === 'undefined'){
                    var aysQuizOptions = [];
                }
                aysQuizOptions['24']  = 'eyJxdWl6X3ZlcnNpb24iOiI2LjYuNy41IiwiY29yZV92ZXJzaW9uIjoiNi43LjEiLCJwaHBfdmVyc2lvbiI6IjguMi4yMyIsImNvbG9yIjoiIzllMDUwNSIsImJnX2NvbG9yIjoiI2ZmZmZmZiIsInRleHRfY29sb3IiOiIjMGEwYTBhIiwiaGVpZ2h0IjozNTAsIndpZHRoIjo0MDAsImVuYWJsZV9sb2dnZWRfdXNlcnMiOiJvZmYiLCJpbmZvcm1hdGlvbl9mb3JtIjoiZGlzYWJsZSIsImZvcm1fbmFtZSI6bnVsbCwiZm9ybV9lbWFpbCI6bnVsbCwiZm9ybV9waG9uZSI6bnVsbCwiaW1hZ2Vfd2lkdGgiOiIiLCJpbWFnZV9oZWlnaHQiOiIiLCJlbmFibGVfY29ycmVjdGlvbiI6Im9uIiwiZW5hYmxlX3Byb2dyZXNzX2JhciI6Im9uIiwiZW5hYmxlX3F1ZXN0aW9uc19yZXN1bHQiOiJvbiIsInJhbmRvbWl6ZV9xdWVzdGlvbnMiOiJvZmYiLCJyYW5kb21pemVfYW5zd2VycyI6Im9mZiIsImVuYWJsZV9xdWVzdGlvbnNfY291bnRlciI6Im9uIiwiZW5hYmxlX3Jlc3RyaWN0aW9uX3Bhc3MiOiJvZmYiLCJyZXN0cmljdGlvbl9wYXNzX21lc3NhZ2UiOiIiLCJ1c2VyX3JvbGUiOltdLCJjdXN0b21fY3NzIjoiQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpXHJcbmRpdiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcbn1cclxuXHJcbiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCAjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzllMDUwNTtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xyXG4gICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbn0iLCJsaW1pdF91c2VycyI6Im9mZiIsImxpbWl0YXRpb25fbWVzc2FnZSI6IiIsInJlZGlyZWN0X3VybCI6IiIsInJlZGlyZWN0aW9uX2RlbGF5IjowLCJhbnN3ZXJzX3ZpZXciOiJsaXN0IiwiZW5hYmxlX3J0bF9kaXJlY3Rpb24iOiJvZmYiLCJlbmFibGVfbG9nZ2VkX3VzZXJzX21lc3NhZ2UiOiIiLCJxdWVzdGlvbnNfY291bnQiOiIiLCJlbmFibGVfcXVlc3Rpb25fYmFuayI6Im9mZiIsImVuYWJsZV9saXZlX3Byb2dyZXNzX2JhciI6Im9mZiIsImVuYWJsZV9wZXJjZW50X3ZpZXciOiJvZmYiLCJlbmFibGVfYXZlcmFnZV9zdGF0aXN0aWNhbCI6Im9uIiwiZW5hYmxlX25leHRfYnV0dG9uIjoib24iLCJlbmFibGVfcHJldmlvdXNfYnV0dG9uIjoib24iLCJlbmFibGVfYXJyb3dzIjoib2ZmIiwidGltZXJfdGV4dCI6IiIsInF1aXpfdGhlbWUiOiJjbGFzc2ljX2xpZ2h0IiwiZW5hYmxlX3NvY2lhbF9idXR0b25zIjoib2ZmIiwicmVzdWx0X3RleHQiOiIiLCJlbmFibGVfcGFzc19jb3VudCI6Im9mZiIsImhpZGVfc2NvcmUiOiJvZmYiLCJyYXRlX2Zvcm1fdGl0bGUiOiIiLCJib3hfc2hhZG93X2NvbG9yIjoicmdiYSgxMCwxMCwxMCwwLjM1KSIsInF1aXpfYm9yZGVyX3JhZGl1cyI6IjAiLCJxdWl6X2JnX2ltYWdlIjoiaHR0cHM6XC9cL2RpYWxla3RpY28uY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDIyXC8wOFwvUTMuanBnIiwicXVpel9ib3JkZXJfd2lkdGgiOiIzIiwicXVpel9ib3JkZXJfc3R5bGUiOiJzb2xpZCIsInF1aXpfYm9yZGVyX2NvbG9yIjoiIzAwMCIsInF1aXpfbG9hZGVyIjoiZmFjZWJvb2siLCJjcmVhdGVfZGF0ZSI6bnVsbCwiYXV0aG9yIjoie1wiaWRcIjpcIjFcIixcIm5hbWVcIjpcIkRhbmllbCBEaWFsXFx1MDBlOWt0aWNvXCJ9IiwicXVlc3RfYW5pbWF0aW9uIjoic2hha2UiLCJmb3JtX3RpdGxlIjoiIiwiZW5hYmxlX2JnX211c2ljIjoib2ZmIiwicXVpel9iZ19tdXNpYyI6IiIsImFuc3dlcnNfZm9udF9zaXplIjoxNSwic2hvd19jcmVhdGVfZGF0ZSI6Im9mZiIsInNob3dfYXV0aG9yIjoib2ZmIiwiZW5hYmxlX2Vhcmx5X2ZpbmlzaCI6Im9mZiIsImFuc3dlcnNfcndfdGV4dHMiOiJvbl9wYXNzaW5nIiwiZGlzYWJsZV9zdG9yZV9kYXRhIjoib2ZmIiwiZW5hYmxlX2JhY2tncm91bmRfZ3JhZGllbnQiOiJvZmYiLCJiYWNrZ3JvdW5kX2dyYWRpZW50X2NvbG9yXzEiOiIjMDAwIiwiYmFja2dyb3VuZF9ncmFkaWVudF9jb2xvcl8yIjoiI2ZmZiIsInF1aXpfZ3JhZGllbnRfZGlyZWN0aW9uIjoidmVydGljYWwiLCJyZWRpcmVjdF9hZnRlcl9zdWJtaXQiOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfdXJsIjoiIiwic3VibWl0X3JlZGlyZWN0X2RlbGF5IjoiMCIsInByb2dyZXNzX2Jhcl9zdHlsZSI6InRoaXJkIiwiZW5hYmxlX2V4aXRfYnV0dG9uIjoib2ZmIiwiZXhpdF9yZWRpcmVjdF91cmwiOiIiLCJpbWFnZV9zaXppbmciOiJjb3ZlciIsInF1aXpfYmdfaW1hZ2VfcG9zaXRpb24iOiJjZW50ZXIgY2VudGVyIiwiY3VzdG9tX2NsYXNzIjoiIiwiZW5hYmxlX3NvY2lhbF9saW5rcyI6Im9mZiIsInNvY2lhbF9saW5rcyI6eyJsaW5rZWRpbl9saW5rIjoiIiwiZmFjZWJvb2tfbGluayI6IiIsInR3aXR0ZXJfbGluayI6IiIsInZrb250YWt0ZV9saW5rIjoiIiwiaW5zdGFncmFtX2xpbmsiOiIiLCJ5b3V0dWJlX2xpbmsiOiIiLCJiZWhhbmNlX2xpbmsiOiIifSwic2hvd19xdWl6X3RpdGxlIjoib2ZmIiwic2hvd19xdWl6X2Rlc2MiOiJvbiIsInNob3dfbG9naW5fZm9ybSI6Im9mZiIsIm1vYmlsZV9tYXhfd2lkdGgiOiIiLCJsaW1pdF91c2Vyc19ieSI6ImlwIiwiYWN0aXZlX2RhdGVfY2hlY2siOiJvZmYiLCJhY3RpdmVJbnRlcnZhbCI6IjIwMjUtMDItMDYgMTg6Mjg6MjkiLCJkZWFjdGl2ZUludGVydmFsIjoiMjAyNS0wMi0wNiAxODoyODoyOSIsImFjdGl2ZV9kYXRlX3ByZV9zdGFydF9tZXNzYWdlIjoiVGhlIHF1aXogd2lsbCBiZSBhdmFpbGFibGUgc29vbiEiLCJhY3RpdmVfZGF0ZV9tZXNzYWdlIjoiXHUwMGExRWwgdGVzdCBoYSBleHBpcmFkbyEiLCJleHBsYW5hdGlvbl90aW1lIjoiNCIsImVuYWJsZV9jbGVhcl9hbnN3ZXIiOiJvZmYiLCJzaG93X2NhdGVnb3J5Ijoib2ZmIiwic2hvd19xdWVzdGlvbl9jYXRlZ29yeSI6Im9mZiIsImRpc3BsYXlfc2NvcmUiOiJieV9wZXJjYW50YWdlIiwiZW5hYmxlX3J3X2FzbndlcnNfc291bmRzIjoib24iLCJhbnNfcmlnaHRfd3JvbmdfaWNvbiI6ImRlZmF1bHQiLCJxdWl6X2JnX2ltZ19pbl9maW5pc2hfcGFnZSI6Im9mZiIsImZpbmlzaF9hZnRlcl93cm9uZ19hbnN3ZXIiOiJvZmYiLCJhZnRlcl90aW1lcl90ZXh0IjoiIiwiZW5hYmxlX2VudGVyX2tleSI6Im9uIiwiYnV0dG9uc190ZXh0X2NvbG9yIjoiI2ZmZmZmZiIsImJ1dHRvbnNfcG9zaXRpb24iOiJjZW50ZXIiLCJzaG93X3F1ZXN0aW9uc19leHBsYW5hdGlvbiI6Im9uX3Bhc3NpbmciLCJlbmFibGVfYXVkaW9fYXV0b3BsYXkiOiJvZmYiLCJidXR0b25zX3NpemUiOiJtZWRpdW0iLCJidXR0b25zX2ZvbnRfc2l6ZSI6IjE3IiwiYnV0dG9uc193aWR0aCI6IiIsImJ1dHRvbnNfbGVmdF9yaWdodF9wYWRkaW5nIjoiMjAiLCJidXR0b25zX3RvcF9ib3R0b21fcGFkZGluZyI6IjEwIiwiYnV0dG9uc19ib3JkZXJfcmFkaXVzIjoiMyIsImVuYWJsZV9sZWF2ZV9wYWdlIjoib24iLCJlbmFibGVfdGFja2Vyc19jb3VudCI6Im9mZiIsInRhY2tlcnNfY291bnQiOiIiLCJwYXNzX3Njb3JlIjowLCJwYXNzX3Njb3JlX21lc3NhZ2UiOiI8aDQgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj5Db25ncmF0dWxhdGlvbnMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IHBhc3NlZCB0aGUgcXVpeiE8XC9wPiIsImZhaWxfc2NvcmVfbWVzc2FnZSI6IjxoNCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlclwiPk9vcHMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IGhhdmUgbm90IHBhc3NlZCB0aGUgcXVpeiFcclxuVHJ5IGFnYWluITxcL3A+IiwicXVlc3Rpb25fZm9udF9zaXplIjoxNiwicXVpel93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVlc3Rpb25zX2hpbnRfaWNvbl9vcl90ZXh0IjoiZGVmYXVsdCIsInF1ZXN0aW9uc19oaW50X3ZhbHVlIjoiIiwiZW5hYmxlX2Vhcmx5X2ZpbnNoX2NvbWZpcm1fYm94Ijoib24iLCJlbmFibGVfcXVlc3Rpb25zX29yZGVyaW5nX2J5X2NhdCI6Im9mZiIsInNob3dfc2NoZWR1bGVfdGltZXIiOiJvZmYiLCJzaG93X3RpbWVyX3R5cGUiOiJjb3VudGRvd24iLCJxdWl6X2xvYWRlcl90ZXh0X3ZhbHVlIjoiIiwiaGlkZV9jb3JyZWN0X2Fuc3dlcnMiOiJvZmYiLCJzaG93X2luZm9ybWF0aW9uX2Zvcm0iOiJvbiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWYiOiIiLCJkaXNhYmxlX2hvdmVyX2VmZmVjdCI6Im9mZiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWZfd2lkdGgiOjEwMCwicHJvZ3Jlc3NfbGl2ZV9iYXJfc3R5bGUiOiJkZWZhdWx0IiwicXVpel90aXRsZV90cmFuc2Zvcm1hdGlvbiI6InVwcGVyY2FzZSIsInNob3dfYW5zd2Vyc19udW1iZXJpbmciOiJub25lIiwicXVpel9pbWFnZV93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVpel9pbWFnZV9oZWlnaHQiOiIiLCJxdWl6X2JnX2ltZ19vbl9zdGFydF9wYWdlIjoib2ZmIiwicXVpel9ib3hfc2hhZG93X3hfb2Zmc2V0IjowLCJxdWl6X2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYm94X3NoYWRvd196X29mZnNldCI6MTUsInF1aXpfcXVlc3Rpb25fdGV4dF9hbGlnbm1lbnQiOiJjZW50ZXIiLCJxdWl6X2Fycm93X3R5cGUiOiJkZWZhdWx0IiwicXVpel9zaG93X3dyb25nX2Fuc3dlcnNfZmlyc3QiOiJvZmYiLCJxdWl6X2Rpc3BsYXlfYWxsX3F1ZXN0aW9ucyI6Im9mZiIsInF1aXpfdGltZXJfcmVkX3dhcm5pbmciOiJvZmYiLCJxdWl6X3NjaGVkdWxlX3RpbWV6b25lIjoiQW1lcmljYVwvTWV4aWNvX0NpdHkiLCJxdWVzdGlvbnNfaGludF9idXR0b25fdmFsdWUiOiIiLCJxdWl6X3RhY2tlcnNfbWVzc2FnZSI6Ilx1MDBhMUVzdGUgdGVzdCBoYSBleHBpcmFkbyEiLCJxdWl6X2VuYWJsZV9saW5rZWRpbl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfZW5hYmxlX2ZhY2Vib29rX3NoYXJlX2J1dHRvbiI6Im9uIiwicXVpel9lbmFibGVfdHdpdHRlcl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfbWFrZV9yZXNwb25zZXNfYW5vbnltb3VzIjoib2ZmIiwicXVpel9tYWtlX2FsbF9yZXZpZXdfbGluayI6Im9mZiIsInNob3dfcXVlc3Rpb25zX251bWJlcmluZyI6Im5vbmUiLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3RpbWVyIjoiIiwiZW5hYmxlX3Bhc3N3b3JkIjoib2ZmIiwicGFzc3dvcmRfcXVpeiI6IiIsInF1aXpfcGFzc3dvcmRfbWVzc2FnZSI6IiIsImVuYWJsZV9zZWVfcmVzdWx0X2NvbmZpcm1fYm94Ijoib2ZmIiwiZGlzcGxheV9maWVsZHNfbGFiZWxzIjoib2ZmIiwiZW5hYmxlX2Z1bGxfc2NyZWVuX21vZGUiOiJvZmYiLCJxdWl6X2VuYWJsZV9wYXNzd29yZF92aXNpYmlsaXR5Ijoib2ZmIiwicXVlc3Rpb25fbW9iaWxlX2ZvbnRfc2l6ZSI6MTYsImFuc3dlcnNfbW9iaWxlX2ZvbnRfc2l6ZSI6MTUsInNvY2lhbF9idXR0b25zX2hlYWRpbmciOiIiLCJxdWl6X2VuYWJsZV92a29udGFrdGVfc2hhcmVfYnV0dG9uIjoib24iLCJhbnN3ZXJzX2JvcmRlciI6Im9uIiwiYW5zd2Vyc19ib3JkZXJfd2lkdGgiOjEsImFuc3dlcnNfYm9yZGVyX3N0eWxlIjoic29saWQiLCJhbnN3ZXJzX2JvcmRlcl9jb2xvciI6IiM0NDQiLCJzb2NpYWxfbGlua3NfaGVhZGluZyI6IiIsInF1aXpfZW5hYmxlX3F1ZXN0aW9uX2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwiYW5zd2Vyc19tYXJnaW4iOjEwLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3JlZGlyZWN0X3RpbWVyIjoiIiwiYnV0dG9uc19tb2JpbGVfZm9udF9zaXplIjoxNywiYW5zd2Vyc19ib3hfc2hhZG93Ijoib2ZmIiwiYW5zd2Vyc19ib3hfc2hhZG93X2NvbG9yIjoiIzAwMCIsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeF9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfel9vZmZzZXQiOjEwLCJxdWl6X2NyZWF0ZV9hdXRob3IiOjEsInF1aXpfZW5hYmxlX3RpdGxlX3RleHRfc2hhZG93Ijoib2ZmIiwicXVpel90aXRsZV90ZXh0X3NoYWRvd19jb2xvciI6IiMzMzMiLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3hfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3lfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3pfb2Zmc2V0IjoyLCJxdWl6X3Nob3dfb25seV93cm9uZ19hbnN3ZXJzIjoib2ZmIiwicXVpel90aXRsZV9mb250X3NpemUiOjIxLCJxdWl6X3RpdGxlX21vYmlsZV9mb250X3NpemUiOjIxLCJxdWl6X3Bhc3N3b3JkX3dpZHRoIjoiIiwicXVpel9yZXZpZXdfcGxhY2Vob2xkZXJfdGV4dCI6IiIsInF1aXpfbWFrZV9yZXZpZXdfcmVxdWlyZWQiOiJvZmYiLCJxdWl6X2VuYWJsZV9yZXN1bHRzX3RvZ2dsZSI6Im9mZiIsInF1aXpfcmV2aWV3X3RoYW5rX3lvdV9tZXNzYWdlIjoiIiwicXVpel9yZXZpZXdfZW5hYmxlX2NvbW1lbnRfZmllbGQiOiJvbiIsInF1ZXN0X2V4cGxhbmF0aW9uX2ZvbnRfc2l6ZSI6MTYsInF1ZXN0X2V4cGxhbmF0aW9uX21vYmlsZV9mb250X3NpemUiOjE2LCJxdWl6X3dhaXRpbmdfdGltZSI6Im9mZiIsIndyb25nX2Fuc3dlcnNfZm9udF9zaXplIjoxNiwid3JvbmdfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9lbmFibGVfcXVlc3Rpb25faW1hZ2Vfem9vbSI6Im9mZiIsInJpZ2h0X2Fuc3dlcnNfZm9udF9zaXplIjoxNiwicmlnaHRfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9kaXNwbGF5X21lc3NhZ2VzX2JlZm9yZV9idXR0b25zIjoib2ZmIiwicXVpel9lbmFibGVfdXNlcl9jXHUwNTcwb29zaW5nX2Fub255bW91c19hc3Nlc3NtZW50Ijoib2ZmIiwibm90ZV90ZXh0X2ZvbnRfc2l6ZSI6MTQsIm5vdGVfdGV4dF9tb2JpbGVfZm9udF9zaXplIjoxNCwicXVpel9xdWVzdGlvbnNfbnVtYmVyaW5nX2J5X2NhdGVnb3J5Ijoib2ZmIiwicXVpel9lbmFibGVfY3VzdG9tX3RleHRzX2Zvcl9idXR0b25zIjoib2ZmIiwicXVpel9jdXN0b21fdGV4dHNfc3RhcnRfYnV0dG9uIjoiRU1QRVpBUiIsInF1aXpfY3VzdG9tX3RleHRzX25leHRfYnV0dG9uIjoiU0lHVUlFTlRFIiwicXVpel9jdXN0b21fdGV4dHNfcHJldl9idXR0b24iOiJBTlRFUklPUiIsInF1aXpfY3VzdG9tX3RleHRzX2NsZWFyX2J1dHRvbiI6IkxJTVBJQVIiLCJxdWl6X2N1c3RvbV90ZXh0c19maW5pc2hfYnV0dG9uIjoiRklOQUxJWkFSIiwicXVpel9jdXN0b21fdGV4dHNfc2VlX3Jlc3VsdHNfYnV0dG9uIjoiVkVSIFRPVEFMIiwicXVpel9jdXN0b21fdGV4dHNfcmVzdGFydF9xdWl6X2J1dHRvbiI6IlJlaW5pY2lhciBQcnVlYmEiLCJxdWl6X2N1c3RvbV90ZXh0c19zZW5kX2ZlZWRiYWNrX2J1dHRvbiI6IkVudmlhciBjb21lbnRhcmlvcyIsInF1aXpfY3VzdG9tX3RleHRzX2xvYWRfbW9yZV9idXR0b24iOiJDYXJnYXIgbVx1MDBlMXMiLCJxdWl6X2N1c3RvbV90ZXh0c19leGl0X2J1dHRvbiI6IlNhbGlyIiwicXVpel9jdXN0b21fdGV4dHNfY2hlY2tfYnV0dG9uIjoiQ2hlY2siLCJxdWl6X2N1c3RvbV90ZXh0c19sb2dpbl9idXR0b24iOiJMb2cgSW4iLCJxdWl6X2VuYWJsZV9xdWl6X2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwicXVpel9hZG1pbl9ub3RlX3RleHRfdHJhbnNmb3JtIjoibm9uZSIsInF1aXpfcXVlc3RfZXhwbGFuYXRpb25fdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel9yaWdodF9hbnN3ZXJfdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel93cm9uZ19hbnN3ZXJfdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel9hZG1pbl9ub3RlX3RleHRfZGVjb3JhdGlvbiI6Im5vbmUiLCJxdWl6X3F1ZXN0X2V4cGxhbmF0aW9uX3RleHRfZGVjb3JhdGlvbiI6Im5vbmUiLCJxdWl6X3JpZ2h0X2Fuc3dlcnNfdGV4dF9kZWNvcmF0aW9uIjoibm9uZSIsInF1aXpfd3JvbmdfYW5zd2Vyc190ZXh0X2RlY29yYXRpb24iOiJub25lIiwicXVpel9hZG1pbl9ub3RlX2xldHRlcl9zcGFjaW5nIjoiMCIsInF1aXpfYmdfaW1nX2R1cmluZ190aGVfcXVpeiI6Im9mZiIsInF1aXpfcXVlc3RfZXhwbGFuYXRpb25fbGV0dGVyX3NwYWNpbmciOiIwIiwicXVpel9yaWdodF9hbnN3ZXJzX2xldHRlcl9zcGFjaW5nIjoiMCIsInF1aXpfd3JvbmdfYW5zd2Vyc19sZXR0ZXJfc3BhY2luZyI6IjAiLCJxdWl6X2FkbWluX25vdGVfZm9udF93ZWlnaHQiOiJub3JtYWwiLCJxdWl6X3F1ZXN0X2V4cGxhbmF0aW9uX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel9yaWdodF9hbnN3ZXJzX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel93cm9uZ19hbnN3ZXJzX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel9jb250ZW50X21heF93aWR0aCI6OTAsInF1aXpfY29udGVudF9tb2JpbGVfbWF4X3dpZHRoIjo5MCwicmVxdWlyZWRfZmllbGRzIjpudWxsLCJlbmFibGVfdGltZXIiOiJvZmYiLCJlbmFibGVfcXVpel9yYXRlIjoib2ZmIiwiZW5hYmxlX3JhdGVfYXZnIjoib2ZmIiwiZW5hYmxlX2JveF9zaGFkb3ciOiJvZmYiLCJlbmFibGVfYm9yZGVyIjoib24iLCJxdWl6X3RpbWVyX2luX3RpdGxlIjoib2ZmIiwiZW5hYmxlX3JhdGVfY29tbWVudHMiOiJvZmYiLCJlbmFibGVfcmVzdGFydF9idXR0b24iOiJvbiIsImF1dG9maWxsX3VzZXJfZGF0YSI6Im9mZiIsInRpbWVyIjoxMDAsInNob3dfYW5zd2Vyc19jYXB0aW9uIjoib24iLCJxdWl6X2VuYWJsZV9rZXlib2FyZF9uYXZpZ2F0aW9uIjoib24iLCJzaG93X3F1aXpfaW1hZ2UiOiJvbiIsInF1aXpfZW5hYmxlX3doYXRzYXBwX3NoYXJlX2J1dHRvbiI6Im9mZiIsInN1Ym1pdF9yZWRpcmVjdF9hZnRlciI6IiIsInJ3X2Fuc3dlcnNfc291bmRzIjp0cnVlLCJpZCI6IjI0IiwidGl0bGUiOiJEYXRvcyBkZXNiYWxhbmNlYWRvcyIsImRlc2NyaXB0aW9uIjoiQ29udGVzdGEgbGFzIHNpZ3VpZW50ZXMgcHJlZ3VudGFzIiwicXVpel9pbWFnZSI6IiIsInF1aXpfY2F0ZWdvcnlfaWQiOiIyIiwicXVlc3Rpb25faWRzIjoiNjgsNjksNzAiLCJvcmRlcmluZyI6IjI0IiwicHVibGlzaGVkIjoiMSIsImludGVydmFscyI6bnVsbCwicXVpel91cmwiOiIiLCJjdXN0b21fcG9zdF9pZCI6bnVsbCwiYXV0aG9yX2lkIjoiMCIsInF1aXpfYW5pbWF0aW9uX3RvcCI6MTAwLCJxdWl6X2VuYWJsZV9hbmltYXRpb25fdG9wIjoib24ifQ==';
        </script>
                    <input type='hidden' name='quiz_id' value='24'/>
                    <input type='hidden' name='start_date' class='ays-start-date'/>
                </form></div>
                            </div>
                            



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/02/DEBC_K2.jpg" alt="DEBC K2" class="wp-image-11205" style="width:503px;height:auto" title="Datos desbalanceados 38" srcset="https://dialektico.com/wp-content/uploads/2025/02/DEBC_K2.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/02/DEBC_K2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/02/DEBC_D1.jpg" alt="DEBC D1" class="wp-image-11206" style="width:512px;height:auto" title="Datos desbalanceados 39" srcset="https://dialektico.com/wp-content/uploads/2025/02/DEBC_D1.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/02/DEBC_D1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>¿Podemos ponerlo en práctica? Sí, pero no creo que sea necesario. Estas <strong>métricas </strong>son relativamente sencillas de calcular, y vamos a ver <strong>datos desbalanceados</strong> sobre otras prácticas en las que usaremos conjuntos de datos para entrenar modelos. Por el momento, lo dejaremos así, tengan paciencia, esos datos desbalanceados llegarán eventualmente.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/02/DEBC_L2.jpg" alt="DEBC L2" class="wp-image-11207" style="width:492px;height:auto" title="Datos desbalanceados 40" srcset="https://dialektico.com/wp-content/uploads/2025/02/DEBC_L2.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/02/DEBC_L2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Eso es un tema que puede llegar a ser demasiado extenso, veremos estos métodos más adelante, cuando abarquemos <strong>tópicos avanzados </strong>y <strong>especializados </strong>de <strong>ciencia de datos</strong>.</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-large is-resized mi-imagen-pulsa"><a href="https://dialektico.com/metricas-clasificacion-matriz-confusion/"><img loading="lazy" decoding="async" width="300" height="147" src="https://dialektico.com/wp-content/uploads/2024/07/image-4.png" alt="image 4" class="wp-image-8874" style="width:186px;height:91px" title="Datos desbalanceados 41"></a></figure>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://dialektico.com/datos-desbalanceados-definicion-ejemplos/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Matriz de confusión y métricas de evaluación de modelos de clasificación</title>
		<link>https://dialektico.com/metricas-clasificacion-matriz-confusion/</link>
					<comments>https://dialektico.com/metricas-clasificacion-matriz-confusion/#respond</comments>
		
		<dc:creator><![CDATA[Daniel Dialéktico]]></dc:creator>
		<pubDate>Thu, 23 Jan 2025 08:20:12 +0000</pubDate>
				<category><![CDATA[Análisis de Datos]]></category>
		<category><![CDATA[Ciencia de datos]]></category>
		<category><![CDATA[Deep Learning]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Matemáticas]]></category>
		<guid isPermaLink="false">https://dialektico.com/?p=10883</guid>

					<description><![CDATA[Si has entrenado un modelo de clasificación utilizando técnicas de aprendizaje de máquinas (por ejemplo, ajustando un modelo mediante una regresión logística), debes evaluar qué tan bueno es haciendo su trabajo. Esto se logra mediante el uso de diferentes métricas que derivan de la comparación entre las clasificaciones generadas con el modelo y valores pertenecientes [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Si has entrenado un modelo de <strong>clasificación </strong>utilizando técnicas de <a href="https://dialektico.com/introduccion-machine-learning/">aprendizaje de máquinas</a> (por ejemplo, ajustando un modelo mediante una <a href="https://dialektico.com/regresion-logistica-fundamentos/">regresión logística</a>), debes <strong>evaluar </strong>qué tan bueno es haciendo su trabajo. Esto se logra mediante el uso de diferentes <strong>métricas </strong>que derivan de la comparación entre las clasificaciones generadas con el modelo y valores pertenecientes a un <a href="https://dialektico.com/conjuntos-train-dev-test/">conjunto de datos de prueba</a>.</p>



<p>Justo como hicimos cuando aprendimos sobre <a href="https://dialektico.com/metricas-de-evaluacion-de-modelos-de-regresion/">métricas para medir el desempeño de modelos de regresión</a>, en esta sesión revisaremos qué métricas cumplen con este objetivo para modelos que <strong>categorizan </strong>datos, cómo se usan, <strong>analizan</strong>, e <strong>interpretan</strong>; todo llevado a la práctica en un caso utilizando Python.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="847" src="https://dialektico.com/wp-content/uploads/2024/11/MEMC_Nivel.jpg" alt="matriz de confusión dialéktico" class="wp-image-10884" style="width:601px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 42" srcset="https://dialektico.com/wp-content/uploads/2024/11/MEMC_Nivel.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/11/MEMC_Nivel-768x635.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h6 class="wp-block-heading has-text-align-center">Inventario recomendado</h6>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg" alt="métricas de evaluación para modelos de regresión dialéktico" class="wp-image-7016" style="width:196px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 43" srcset="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Matemáticas: algo de álgebra, probabilidad y estadística</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/MathMagic.jpg" alt="Matemáticas" class="wp-image-6982" style="width:400px" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 44" srcset="https://dialektico.com/wp-content/uploads/2024/04/MathMagic.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/MathMagic-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Fundamentos del <a href="https://dialektico.com/aprendizaje-supervisado/">aprendizaje supervisado</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2023/03/ML_elem.jpg" alt="aprendizaje supervisado" class="wp-image-10137" style="width:416px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 45" srcset="https://dialektico.com/wp-content/uploads/2023/03/ML_elem.jpg 1024w, https://dialektico.com/wp-content/uploads/2023/03/ML_elem-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong><a href="https://dialektico.com/introduccion-a-la-regresion-lineal/">Regresión logística</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><a href="https://dialektico.com/regresion-logistica-fundamentos/"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/06/IRLG_OBJ.jpg" alt="IRLG OBJ" class="wp-image-8303" style="width:400px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 46" srcset="https://dialektico.com/wp-content/uploads/2024/06/IRLG_OBJ.jpg 800w, https://dialektico.com/wp-content/uploads/2024/06/IRLG_OBJ-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></a></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><a href="https://dialektico.com/funcion-perdida-regresion-logistica/"><strong>Función de pérdida de la regresión logística</strong></a></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/07/FDP_Objeto.jpg" alt="funciones de pérdida" class="wp-image-10561" style="width:400px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 47" srcset="https://dialektico.com/wp-content/uploads/2024/07/FDP_Objeto.jpg 800w, https://dialektico.com/wp-content/uploads/2024/07/FDP_Objeto-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong><a href="https://dialektico.com/google-colab/">Google Colab</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec.jpg" alt="Colab" class="wp-image-7521" style="width:400px" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 48" srcset="https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Programación en <a href="https://www.python.org/" target="_blank" rel="noopener">Python</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/Python_Eq.jpg" alt="python" class="wp-image-7522" style="width:400px" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 49" srcset="https://dialektico.com/wp-content/uploads/2024/05/Python_Eq.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/Python_Eq-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Algún aperitivo</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/11/MEMC_platillo.jpg" alt="MEMC platillo" class="wp-image-10888" style="width:444px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 50" srcset="https://dialektico.com/wp-content/uploads/2024/11/MEMC_platillo.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/11/MEMC_platillo-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center has-text-color" id="aprendizaje-supervisado-que-es" style="color:#840303">Métricas de evaluación de modelos de clasificación: cuáles y cómo utilizarlas</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg" alt="Pergamino_3" class="wp-image-6960" style="width:125px" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 51" srcset="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Recordemos que en <a href="https://dialektico.com/aprendizaje-supervisado/">aprendizaje supervisado</a> podemos abordar problemas mediante dos tipos de <strong>enfoques </strong>en cuanto a objetivos de modelos: <strong>modelos de regresión</strong> y <strong>modelos de clasificación</strong>.</p>



<p>Los modelos de regresión predicen valores de una variable continua (<strong>salida</strong>) respecto a los valores de variables con las que está relacionada (<strong>entradas</strong>). De este tipo de modelos ya hemos trazado cómo evaluar su desempeño al generar predicciones sobre datos nuevos no pertenecientes al conjunto de datos de entrenamiento.</p>



<p>Los modelos de <strong>clasificación</strong>, por otro lado, tratan sobre funciones que, mediante un análisis de <strong>probabilidades</strong>, determinan a qué clase pertenece cada dato de entrada de entre un grupo de categorías predefinidas.</p>



<p>Un ejemplo de esto es el caso que hemos desarrollado en la <a href="https://colab.research.google.com/github/DanielDialektico/dialektico-machine-learning-practices/blob/main/notebooks/Machine%20Learning/Aprendizaje%20Supervisado/Regresi%C3%B3n_Log%C3%ADstica.ipynb" target="_blank" rel="noopener">práctica de Python</a> de la regresión logística, en la que se clasificaron canciones de entrada en géneros musicales de acuerdo a sus características. Más adelante veremos cómo utilizar esas mismas clasificaciones para <strong>evaluar </strong>los modelos con <strong>Python</strong>, pero hoy trabajaremos con un nuevo ejemplo para explicar cómo determinar las capacidades de clasificación de un modelo de este tipo, las cuales no contemplan ninguna de las métricas vistas en la anterior exploración.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2024/11/MEMC_M1.jpg" alt="mmerf matriz de confusión dialéktico" class="wp-image-10889" style="width:600px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 52" srcset="https://dialektico.com/wp-content/uploads/2024/11/MEMC_M1.jpg 1080w, https://dialektico.com/wp-content/uploads/2024/11/MEMC_M1-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Métricas para evaluar modelos de clasificación</h2>



<p>Antes de exponer un nuevo ejemplo, haré mención de las <strong>métricas </strong>de las que puedes disponer para <strong>evaluar </strong>modelos de clasificación. Primero, y porque ya las hemos mencionado y estudiado con anterioridad, puedes considerar el uso de <a href="https://dialektico.com/funciones-de-perdida-machine-learning/">funciones de pérdida</a>.</p>



<p>Las funciones de pérdida más comunes para modelos de clasificación son las siguientes:</p>



<ul class="wp-block-list">
<li>Pérdida de entropía cruzada (<em>Cross Entropy Loss</em>).</li>



<li>Pérdida de entropía cruzada sigmoidea (<em>Sigmoid Cross Entropy Loss</em>).</li>



<li>Pérdida de entropía cruzada softmax (<em>Softmax Cross Entropy Loss</em>).</li>



<li>Verosimilitud logarítmica negativa (<em>Negative Log-Likelihoo</em>d).</li>



<li>Pérdida 0-1 (0-1 <em>Loss</em>).</li>



<li>Pérdida de Hinge (<em>Hinge Loss</em>).</li>



<li>Pérdida Huber modificada (<em>Modified Huber Loss</em>).</li>



<li>Pérdida de Hinge suavizada (<em>Smooth Hinge Loss</em>).</li>



<li>Pérdida de Hinge reescalada (<em>Rescaled Hinge Loss</em>).</li>



<li>Pérdida de rampa (<em>Ramp Loss</em>).</li>



<li>Error de clasificación mínimo (<em>Minimum Classification Error</em>).</li>



<li>Pérdida logarítmica (<em>Log Loss</em>).</li>



<li>Pérdida exponencial (<em>Exponential Loss</em>).</li>



<li>Pérdida basada en margen (<em>Margin-Based Loss</em>).</li>



<li>Ranqueo por parejas (<em>Pairwise Ranking</em>).</li>



<li>Ranqueo por tripleta (<em>Triplet Ranking</em>).</li>



<li>Pérdida contrastiva (<em>Contrastive Loss</em>).</li>



<li>Pérdida pinball (<em>Pinball Loss</em>).</li>



<li>Pérdida pinball truncada (<em>Truncated Pinball Loss</em>).</li>
</ul>



<div style="height:0px" aria-hidden="true" class="wp-block-spacer"></div>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/11/MEMC_A1_2.jpg" alt="Laiahrang matriz de confusión dialéktico" class="wp-image-10893" style="width:500px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 53" srcset="https://dialektico.com/wp-content/uploads/2024/11/MEMC_A1_2.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/11/MEMC_A1_2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>No, siendo honestos dudo que haya alguien que las conozca y haya aplicado todas, salvo quienes se hayan dedicado específicamente a escribir <strong>artículos científicos</strong> sobre funciones de pérdida de modelos de clasificación. Solo lo pongo aquí para que sepan que existen.</p>



<p>Mientras menos ignoremos sobre lo que nos especializamos, mejor. Además, deben tener en cuenta que las funciones de pérdida tienen un amplio uso en el <strong>entrenamiento </strong>de modelos, más que en su evaluación final. Para eso, suelen utilizarse otras métricas, que son las que veremos a continuación.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2025/01/MEMC_M2.jpg" alt="mmerf " class="wp-image-10991" style="width:600px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 54" srcset="https://dialektico.com/wp-content/uploads/2025/01/MEMC_M2.jpg 1080w, https://dialektico.com/wp-content/uploads/2025/01/MEMC_M2-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Además de las funciones de pérdida, entre las cuales ya estudiamos con gran detalle la <strong>entropía cruzada</strong>, se cuenta con métricas que son mucho más frecuentes en la práctica de la ciencia datos.</p>



<p>Todas estas parten de la organización de los resultados en algo que se conoce como <strong>matriz de confusión</strong>. Es un concepto clave en ciencia de datos que debemos conocer.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Matriz de confusión para evaluar modelos de clasificación</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>La <strong>matriz de confusión</strong> es una herramienta típica para la <strong>evaluación de modelos</strong> que realizan clasificaciones binarias. De forma más específica, la matriz de confusión es una <strong>matriz </strong>de <strong>dos dimensiones</strong> utilizada para evaluar sistemas de clasificación mostrando la cantidad de datos correcta e incorrectamente categorizados.</p>



<p>Vamos a revisar con detalle cómo luce y cómo se utiliza, pero para entenderla de forma concreta, antes debemos definir los elementos que la componen.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Componentes de la matriz de confusión</h3>



<p>Una matriz de confusión está conformada por los valores de las<strong> clasificaciones binarias</strong> (de dos <strong>clases</strong>) realizadas por un modelo entrenado. Se distinguen dos tipos:</p>



<ul class="wp-block-list">
<li>El modelo predice que un dato pertenece a la clase 0 (que también llamaremos clase &lt;&lt;negativa&gt;&gt;).</li>



<li>El modelo predice que un dato pertenece a la clase 1 (que también llamaremos clase &lt;&lt;positiva&gt;&gt;).</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Teniendo esto en cuenta, en la matriz de confusión se utilizan este par de clasificaciones y se dibujan los siguientes casos de acuerdo a los <strong>aciertos </strong>o <strong>errores </strong>del modelo:</p>



<ul class="wp-block-list">
<li>El modelo predice que un dato pertenece a una clase 1 (positiva), y su predicción es correcta.</li>



<li>El modelo predice que un dato pertenece a una clase 1 (positiva), pero en realidad pertenece a la clase 0 (negativa), por lo que su predicción es incorrecta.</li>



<li>El modelo predice que un dato pertenece a una clase 0 (negativa), y su predicción es correcta.</li>



<li>El modelo predice que un dato pertenece a una clase 0 (negativa), pero en realidad pertenece a la clase 1 (positiva), por lo que su predicción es incorrecta.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/01/MEMC_K_1.jpg" alt="kagnadi matriz de confusión dialéktico" class="wp-image-10994" style="width:516px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 55" srcset="https://dialektico.com/wp-content/uploads/2025/01/MEMC_K_1.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/01/MEMC_K_1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Así es, y cada uno de estos casos tiene un nombre, vamos a revisarlos, definirlos, y compararlos con <strong>ejemplos</strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Ejemplo de evaluación de modelo clasificación con matriz de confusión</h3>



<p>Para el estudio de la matriz de confusión, vamos a plantear un caso típico en el que entrenamos un <strong>modelo </strong>para clasificar reseñas de películas en &lt;&lt;<strong>positivas</strong>&gt;&gt; y &lt;&lt;<strong>negativas</strong>&gt;&gt;.</p>



<p>Las <strong>entradas </strong>del modelo (el <a href="https://dialektico.com/conjuntos-de-datos-para-machine-learning/">conjunto de datos</a>) son reseñas de películas, por ejemplo:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="854" height="137" src="https://dialektico.com/wp-content/uploads/2024/11/image-1.png" alt="image 1" class="wp-image-10927" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 56" srcset="https://dialektico.com/wp-content/uploads/2024/11/image-1.png 854w, https://dialektico.com/wp-content/uploads/2024/11/image-1-768x123.png 768w" sizes="(max-width: 854px) 100vw, 854px" /><figcaption class="wp-element-caption"><strong>Figura 3.7.1</strong> Reseña positiva sobre una película, la cual es una entrada para el modelo.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Esta es una <strong>reseña </strong>de película que se considera <strong>positiva</strong>, ya que elogia a la obra.</p>



<p>Sin embargo, podemos tener <strong>entradas </strong>de este otro tipo:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="774" height="168" src="https://dialektico.com/wp-content/uploads/2024/11/image-2.png" alt="image 2" class="wp-image-10928" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 57" srcset="https://dialektico.com/wp-content/uploads/2024/11/image-2.png 774w, https://dialektico.com/wp-content/uploads/2024/11/image-2-768x167.png 768w" sizes="(max-width: 774px) 100vw, 774px" /><figcaption class="wp-element-caption"><strong>Figura 3.7.2</strong> Reseña negativa sobre una película, otro tipo de entrada para el modelo.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En esta otra reseña podemos notar una intención comunicativa diferente, en la que la película no es del agrado del crítico, y por lo tanto se considera <strong>negativa</strong>.</p>



<p>El objetivo de utilizar un algoritmo de <strong>aprendizaje automático</strong> para procesar esta información, es <strong>entrenar </strong>un modelo que, dada una nueva reseña, la clasifique como positiva o negativa.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/01/MEMC_A2.jpg" alt="laiaahrang" class="wp-image-10995" style="width:503px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 58" srcset="https://dialektico.com/wp-content/uploads/2025/01/MEMC_A2.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/01/MEMC_A2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/01/MEMC_D_2.jpg" alt="dialéktico" class="wp-image-10996" style="width:509px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 59" srcset="https://dialektico.com/wp-content/uploads/2025/01/MEMC_D_2.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/01/MEMC_D_2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<p>Por ahora necesito saber, con los conocimientos que tenemos hasta esta parte de nuestras exploraciones, ¿qué tanto me puedes decir sobre esta tarea de <strong>ciencia de datos</strong>?</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



            <div class='ays-quiz-container ays_quiz_classic_light   ays-quiz-keyboard-active' data-quest-effect='shake'  data-hide-bg-image='false' id='ays-quiz-container-22'>
                
                
                <div class='ays-questions-container'>
                    
                    
                    
                    <form action='' method='post' id='ays_finish_quiz_22' 
                        class='ays-quiz-form enable_correction enable_questions_result '
                    >
            <input type='hidden' value='list' class='answer_view_class'>
            <input type='hidden' value='' class='ays_qm_enable_arrows'>
            <audio id='ays_quiz_right_ans_sound_22' class='ays_quiz_right_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound.wav'></audio><audio id='ays_quiz_wrong_ans_sound_22' class='ays_quiz_wrong_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound-1.wav'></audio>
            
            <div class='step active-step'>
                <div class='ays-abs-fs ays-start-page'>
                    
                    
                    
                    <div class='ays-fs-subtitle'><p>Contesta las siguientes preguntas</p>
</div>
                    <input type='hidden' name='ays_quiz_id' value='22'/>
                    <input type='hidden' name='ays_quiz_finish_nonce' value='7cec930025'>
                    <input type='hidden' name='ays_quiz_curent_page_link' class='ays-quiz-curent-page-link' value='https://dialektico.com/categoria/analisis-de-datos/feed/'/>
                    <input type='hidden' name='ays_quiz_questions' value='60,61,62,63'>
                    
                    
                    <input type='button'   class='ays_next start_button action-button ays-quiz-keyboard-active' value='EMPEZAR' data-enable-leave-page="false" />
                    
                    </div>
                </div><div class='step  ' data-question-id='60' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>1 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Considera el caso planteado sobre entrenar un modelo de machine learning para clasificar reseñas de películas, el conjunto de datos es el conjunto de reseñas de los usuarios. ¿Qué tipo de datos se tiene en cuanto a su estructura?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-60]' id='ays-answer-206-22' value='206'/>

                <label for='ays-answer-206-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Datos estructurados.</label><label for='ays-answer-206-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-60]' id='ays-answer-207-22' value='207'/>

                <label for='ays-answer-207-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Datos no estructurados.</label><label for='ays-answer-207-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-60]' id='ays-answer-208-22' value='208'/>

                <label for='ays-answer-208-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Datos supraestructurados.</label><label for='ays-answer-208-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-60]' id='ays-answer-209-22' value='209'/>

                <label for='ays-answer-209-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Datos fuertes.</label><label for='ays-answer-209-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_22 === 'undefined'){
                window.quizOptions_22 = [];
            }
            window.quizOptions_22['60'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Los datos son de tipo no estructurado. Puedes revisar esta información en <a href="https://dialektico.com/tipos-de-datos/">esta lección</a>.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='61' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>2 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Los ejemplos de entrenamiento están compuestos por reseñas de películas, ¿estos datos de qué tipo son conforme a su presentación?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-61]' id='ays-answer-210-22' value='210'/>

                <label for='ays-answer-210-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Datos cualitativos.</label><label for='ays-answer-210-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-61]' id='ays-answer-211-22' value='211'/>

                <label for='ays-answer-211-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Datos cuantitativos.</label><label for='ays-answer-211-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-61]' id='ays-answer-212-22' value='212'/>

                <label for='ays-answer-212-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Datos enteros.</label><label for='ays-answer-212-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-61]' id='ays-answer-213-22' value='213'/>

                <label for='ays-answer-213-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Datos continuos.</label><label for='ays-answer-213-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_22 === 'undefined'){
                window.quizOptions_22 = [];
            }
            window.quizOptions_22['61'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Al ser texto que expresa opiniones, son datos de tipo cualitativo. Puedes revisar esta información en <a href="https://dialektico.com/tipos-de-datos/">esta lección</a>.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='62' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>3 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Dado que se va a dividir el conjunto de datos en entradas (reseñas) y salidas (positivas o negativas), ¿qué tipo aprendizaje de máquinas es el mejor para modelar estas relaciones?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-62]' id='ays-answer-214-22' value='214'/>

                <label for='ays-answer-214-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Aprendizaje por refuerzo.</label><label for='ays-answer-214-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-62]' id='ays-answer-215-22' value='215'/>

                <label for='ays-answer-215-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Aprendizaje no supervisado.</label><label for='ays-answer-215-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-62]' id='ays-answer-216-22' value='216'/>

                <label for='ays-answer-216-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Aprendizaje newtoniano.</label><label for='ays-answer-216-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-62]' id='ays-answer-217-22' value='217'/>

                <label for='ays-answer-217-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Aprendizaje supervisado.</label><label for='ays-answer-217-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_22 === 'undefined'){
                window.quizOptions_22 = [];
            }
            window.quizOptions_22['62'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>El aprendizaje supervisado es el tipo de machine learning que mejor trabaja en entrenar modelos utilizando datos completamente etiquetados.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='63' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>4 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Se está buscando entrenar un modelo para clasificar datos en categorías, ¿cuál de los siguientes algoritmos puede procrear un modelo que cumpla con este objetivo satisfactoriamente?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-63]' id='ays-answer-218-22' value='218'/>

                <label for='ays-answer-218-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Regresión lineal.</label><label for='ays-answer-218-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-63]' id='ays-answer-219-22' value='219'/>

                <label for='ays-answer-219-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Regresión logística.</label><label for='ays-answer-219-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-63]' id='ays-answer-220-22' value='220'/>

                <label for='ays-answer-220-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Regresión de Galois.</label><label for='ays-answer-220-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-63]' id='ays-answer-221-22' value='221'/>

                <label for='ays-answer-221-22' class='  ays_position_initial  ays-quiz-keyboard-label'>Función de pérdida.</label><label for='ays-answer-221-22' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_22 === 'undefined'){
                window.quizOptions_22 = [];
            }
            window.quizOptions_22['63'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays-quiz-keyboard-active ays_arrow ays_display_none" tabindex='0'></i>
                            <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active '  value='ANTERIOR' /><i class='ays_display_none ays_fa ays_fa_flag_checkered ays_finish action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active' tabindex='0'></i><input type='submit' name='ays_finish_quiz' class='  ays_next ays_finish action-button ays-quiz-keyboard-active' value='VER TOTAL'/></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>La regresión logística es el modelo que mejor se adecúa al problema, ya que genera un modelo que clasifica datos conforme a probabilidades de pertenencia.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step ays_thank_you_fs'>
            <div class='ays-abs-fs ays-end-page'><div data-class='lds-facebook' data-role='loader' class='ays-loader'><div></div><div></div><div></div></div><div class='ays_quiz_results_page'><div class='ays_score_message'></div><div class='ays_message'></div><p class='ays_score ays_score_display_none animated'>Tu puntación es </p><p class='ays_average'>La puntuación media es  86%</p><div class='ays-progress third'>
                <span class='ays-progress-value third'>0%</span>
                <div class='ays-progress-bg third'>
                    <div class='ays-progress-bar third' style='width:0%;'></div>
                </div>
            </div><p class='ays_restart_button_p'><button type='button' class='action-button ays_restart_button ays-quiz-keyboard-active'>
                    <i class='ays_fa ays_fa_undo'></i>
                    <span>Reiniciar Prueba</span>
                </button></p></div>
            </div>
        </div><style>
            div#ays-quiz-container-22 * {
                box-sizing: border-box;
            }

            #ays-quiz-container-22 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                width: 90%;
            }

            /* Styles for Internet Explorer start */
            #ays-quiz-container-22 #ays_finish_quiz_22 {
                
            }

            /* Styles for Quiz container */
            #ays-quiz-container-22{
                min-height: 350px;
                width:400px;
                background-color:#ffffff;
                background-position:center center;background-image: url('https://dialektico.com/wp-content/uploads/2022/08/Q3.jpg');border-radius:0px;box-shadow: none;border-width: 3px;border-style: solid;border-color: #000;}

            /* Styles for questions */
            #ays-quiz-container-22 #ays_finish_quiz_22 div.step {
                min-height: 350px;
            }

            /* Styles for text inside quiz container */
            #ays-quiz-container-22 .ays-start-page *:not(input):not([class^='enlighter']),
            #ays-quiz-container-22 .ays_question_hint,
            #ays-quiz-container-22 label[for^="ays-answer-"],
            #ays-quiz-container-22 #ays_finish_quiz_22 p,
            #ays-quiz-container-22 #ays_finish_quiz_22 .ays-fs-title,
            #ays-quiz-container-22 .ays-fs-subtitle,
            #ays-quiz-container-22 .logged_in_message,
            #ays-quiz-container-22 .ays_score_message,
            #ays-quiz-container-22 .ays_message{
               color: #0a0a0a;
               outline: none;
            }

            div#ays-quiz-container-22 .ays_question_hint.ays-quiz-keyboard-active,
            div#ays-quiz-container-22 .ays_restart_button.ays-quiz-keyboard-active {
                outline: revert;
            }

            #ays-quiz-container-22 .ays-quiz-password-message-box,
            #ays-quiz-container-22 .ays-quiz-question-note-message-box,
            #ays-quiz-container-22 .ays_quiz_question,
            #ays-quiz-container-22 .ays-quiz-question-category-box,
            #ays-quiz-container-22 .ays_quiz_question *:not([class^='enlighter']) {
                color: #0a0a0a;
            }

            #ays-quiz-container-22 .ays-quiz-question-category-box em {
                color: #0a0a0a;
            }

            #ays-quiz-container-22 textarea,
            #ays-quiz-container-22 input::first-letter,
            #ays-quiz-container-22 select::first-letter,
            #ays-quiz-container-22 option::first-letter {
                color: initial !important;
            }
            
            #ays-quiz-container-22 p::first-letter:not(.ays_no_questions_message) {
                color: #0a0a0a !important;
                background-color: transparent !important;
                font-size: inherit !important;
                font-weight: inherit !important;
                float: none !important;
                line-height: inherit !important;
                margin: 0 !important;
                padding: 0 !important;
            }
            
            
            #ays-quiz-container-22 .select2-container,
            #ays-quiz-container-22 .ays-field * {
                font-size: 15px !important;
            }
    
            #ays-quiz-container-22 .ays_quiz_question p {
                font-size: 16px;
                text-align: inherit;
            }

            #ays-quiz-container-22 .ays-fs-subtitle p {
                text-align:  center ;
            }

            #ays-quiz-container-22 .ays_quiz_question {
                text-align:  center ;
                margin-bottom: 10px;
            }

            #ays-quiz-container-22 .ays_quiz_question pre {
                max-width: 100%;
                white-space: break-spaces;
            }

            /* Mango theme (Version: 1.4.202301041836) | tid=32449 | Start */
            #ays-quiz-container-22 .ays_quiz_question img {
                float: unset;
                margin: 0;
            }
            /* Mango theme (Version: 1.4.202301041836) | End */

            #ays-quiz-container-22 .ays-quiz-timer p {
                font-size: 16px;
            }

            #ays-quiz-container-22 section.ays_quiz_redirection_timer_container hr,
            #ays-quiz-container-22 section.ays_quiz_timer_container hr {
                margin: 0;
            }

            #ays-quiz-container-22 section.ays_quiz_timer_container.ays_quiz_timer_red_warning .ays-quiz-timer {
                color: #ff0000;
            }

            #ays-quiz-container-22 .ays_thank_you_fs p {
                text-align: center;
            }

            #ays-quiz-container-22 .ays_quiz_results_page .ays_score span {
                visibility: visible;
            }

            #ays-quiz-container-22 input[type='button'],
            #ays-quiz-container-22 input[type='submit'] {
                color: #ffffff !important;
            }

            #ays-quiz-container-22 input[type='button']{
                outline: none;
            }

            #ays-quiz-container-22 .information_form input[type='text'],
            #ays-quiz-container-22 .information_form input[type='url'],
            #ays-quiz-container-22 .information_form input[type='number'],
            #ays-quiz-container-22 .information_form input[type='email'],
            #ays-quiz-container-22 .information_form input[type='checkbox'],
            #ays-quiz-container-22 .information_form input[type='tel'],
            #ays-quiz-container-22 .information_form textarea,
            #ays-quiz-container-22 .information_form select,
            #ays-quiz-container-22 .information_form option {
                color: initial !important;
                outline: none;
                background-image: unset;
            }

            #ays-quiz-container-22 .wrong_answer_text{
                color:#ff4d4d;
            }
            #ays-quiz-container-22 .right_answer_text{
                color:#33cc33;
            }

            #ays-quiz-container-22 .wrong_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-22 .ays_questtion_explanation p {
                font-size:16px;
            }

            #ays-quiz-container-22 .wrong_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-22 .ays_questtion_explanation *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-22 .right_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-22 .right_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-22 .ays-quiz-question-note-message-box p {
                font-size:14px;
            }

            #ays-quiz-container-22 .ays-quiz-question-note-message-box *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }
            
            #ays-quiz-container-22 .ays_cb_and_a,
            #ays-quiz-container-22 .ays_cb_and_a * {
                color: rgb(10,10,10);
                text-align: center;
            }

            /* Quiz textarea height */
            #ays-quiz-container-22 textarea {
                height: 100px;
                min-height: 100px;
            }

            /* Quiz rate and passed users count */
            #ays-quiz-container-22 .ays_quizn_ancnoxneri_qanak,
            #ays-quiz-container-22 .ays_quiz_rete_avg {
                color:#ffffff !important;
                background-color:#0a0a0a;   
            }

            #ays-quiz-container-22 .ays-questions-container > .ays_quizn_ancnoxneri_qanak {
                padding: 5px 20px;
            }
            #ays-quiz-container-22 div.for_quiz_rate.ui.star.rating .icon {
                color: rgba(10,10,10,0.35);
            }
            #ays-quiz-container-22 .ays_quiz_rete_avg div.for_quiz_rate_avg.ui.star.rating .icon {
                color: rgba(255,255,255,0.5);
            }

            #ays-quiz-container-22 .ays_quiz_rete .ays-quiz-rate-link-box .ays-quiz-rate-link {
                color: #0a0a0a;
            }

            /* Loaders */            
            #ays-quiz-container-22 div.lds-spinner,
            #ays-quiz-container-22 div.lds-spinner2 {
                color: #0a0a0a;
            }
            #ays-quiz-container-22 div.lds-spinner div:after,
            #ays-quiz-container-22 div.lds-spinner2 div:after {
                background-color: #0a0a0a;
            }
            #ays-quiz-container-22 .lds-circle,
            #ays-quiz-container-22 .lds-facebook div,
            #ays-quiz-container-22 .lds-ellipsis div{
                background: #0a0a0a;
            }
            #ays-quiz-container-22 .lds-ripple div{
                border-color: #0a0a0a;
            }
            #ays-quiz-container-22 .lds-dual-ring::after,
            #ays-quiz-container-22 .lds-hourglass::after{
                border-color: #0a0a0a transparent #0a0a0a transparent;
            }

            /* Stars */
            #ays-quiz-container-22 .ui.rating .icon,
            #ays-quiz-container-22 .ui.rating .icon:before {
                font-family: Rating !important;
            }

            /* Progress bars */
            #ays-quiz-container-22 #ays_finish_quiz_22 .ays-progress {
                border-color: rgba(10,10,10,0.8);
            }
            #ays-quiz-container-22 #ays_finish_quiz_22 .ays-progress-bg {
                background-color: rgba(10,10,10,0.3);
            }    
            #ays-quiz-container-22 .ays-progress-value {
                color: #0a0a0a;
                text-align: center;
            }
            #ays-quiz-container-22 .ays-progress-bar {
                background-color: #9e0505;
            }
            #ays-quiz-container-22 .ays-question-counter .ays-live-bar-wrap {
                direction:ltr !important;
            }
            #ays-quiz-container-22 .ays-live-bar-fill{
                color: #0a0a0a;
                border-bottom: 2px solid rgba(10,10,10,0.8);
                text-shadow: 0px 0px 5px #ffffff;
            }
            #ays-quiz-container-22 .ays-live-bar-fill.ays-live-fourth,
            #ays-quiz-container-22 .ays-live-bar-fill.ays-live-third,
            #ays-quiz-container-22 .ays-live-bar-fill.ays-live-second {
                text-shadow: unset;
            }
            #ays-quiz-container-22 .ays-live-bar-percent{
                display:none;
            }
            #ays-quiz-container-22 #ays_finish_quiz_22 .ays_average {
                text-align: center;
            }
            
            /* Music, Sound */
            #ays-quiz-container-22 .ays_music_sound {
                color:rgb(10,10,10);
            }

            /* Dropdown questions scroll bar */
            #ays-quiz-container-22 blockquote {
                border-left-color: #0a0a0a !important;                                      
            }

            /* Quiz Password */
            #ays-quiz-container-22 .ays-start-page > input[id^='ays_quiz_password_val_'],
            #ays-quiz-container-22 .ays-quiz-password-toggle-visibility-box {
                width: 100%;
            }


            /* Question hint */
            #ays-quiz-container-22 .ays_question_hint_container .ays_question_hint_text {
                background-color:#ffffff;
                box-shadow: 0 0 15px 3px rgba(10,10,10,0.35);
                max-width: 270px;
            }

            #ays-quiz-container-22 .ays_question_hint_container .ays_question_hint_text p {
                max-width: unset;
            }

            #ays-quiz-container-22 .ays-quiz-additonal-box {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                position: relative;  
            }

            #ays-quiz-container-22 .ays_questions_hint_max_width_class {
                max-width: 80%;
            }

            /* Information form */
            #ays-quiz-container-22 .ays-form-title{
                color:rgb(10,10,10);
            }

            /* Quiz timer */
            #ays-quiz-container-22 div.ays-quiz-redirection-timer,
            #ays-quiz-container-22 div.ays-quiz-timer{
                color: #0a0a0a;
                text-align: center;
            }

            #ays-quiz-container-22 div.ays-quiz-timer.ays-quiz-message-before-timer:before {
                font-weight: 500;
            }

            /* Quiz title / transformation */
            #ays-quiz-container-22 .ays-fs-title{
                text-transform: uppercase;
                font-size: 21px;
                text-align: center;
                    text-shadow: none;
            }
            
            /* Quiz buttons */
            #ays-quiz-container-22 .ays_arrow {
                color:#ffffff!important;
            }
            #ays-quiz-container-22 input#ays-submit,
            #ays-quiz-container-22 #ays_finish_quiz_22 .action-button,
            div#ays-quiz-container-22 #ays_finish_quiz_22 .action-button.ays_restart_button,
            #ays-quiz-container-22 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-22 .ays-quiz-category-selective-submit-bttn {
                background: none;
                background-color: #9e0505;
                color:#ffffff;
                font-size: 17px;
                padding: 10px 20px;
                border-radius: 3px;
                height: auto;
                letter-spacing: 0;
                box-shadow: unset;
                width: auto;
                /* border: unset; */
                min-height: unset;
                line-height: normal;
                text-shadow: unset;
            }
            #ays-quiz-container-22 input#ays-submit,
            #ays-quiz-container-22 #ays_finish_quiz_22 input.action-button,
            #ays-quiz-container-22 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-22 .ays-quiz-category-selective-submit-bttn {
                
            }

            #ays-quiz-container-22 #ays_finish_quiz_22 .action-button.ays_check_answer {
                padding: 5px 10px;
                font-size: 17px !important;
            }
            #ays-quiz-container-22 #ays_finish_quiz_22 .action-button.ays_restart_button {
                white-space: nowrap;
                padding: 5px 10px;
                white-space: normal;
            }
            #ays-quiz-container-22 input#ays-submit:hover,
            #ays-quiz-container-22 input#ays-submit:focus,
            #ays-quiz-container-22 #ays_finish_quiz_22 .action-button:hover,
            #ays-quiz-container-22 #ays_finish_quiz_22 .action-button:focus,
            #ays-quiz-container-22 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
            #ays-quiz-container-22 .ays-quiz-category-selective-submit-bttn:hover {
                background: none;
                box-shadow: 0 0 0 2px #ffffff;
                background-color: #9e0505;
            }
            #ays-quiz-container-22 .ays_restart_button {
                color: #ffffff;
            }
            
            #ays-quiz-container-22 .ays_restart_button_p,
            #ays-quiz-container-22 .ays_buttons_div {
                justify-content: center;
            }

            #ays-quiz-container-22 .ays_finish.action-button{
                margin: 10px 5px;
            }

            #ays-quiz-container-22 .ays-share-btn.ays-share-btn-branded {
                color: #fff;
                display: inline-block;
            }

            #ays-quiz-container-22 .ays_quiz_results .ays-field.checked_answer_div.correct_div input:checked+label {
                background-color: transparent;
            }
                        
            /* Question answers */
            #ays-quiz-container-22 .ays-field {
                    border-color: #444;
                    border-style: solid;
                    border-width: 1px;
                    box-shadow: none;flex-direction: row-reverse;
            }
            

            /* Answer maximum length of a text field */
            #ays-quiz-container-22 .ays_quiz_question_text_message{
                color: #0a0a0a;
                text-align: left;
                font-size: 12px;
            }

            div#ays-quiz-container-22 div.ays_quiz_question_text_error_message {
                color: #ff0000;
            }

            /* Questions answer image */
            #ays-quiz-container-22 .ays-answer-image {
                width:15em;
                height:150px;
                object-fit: cover;
            }
            
            #ays-quiz-container-22 .ays-quiz-answers .ays-field:hover:not(.ays-answered-text-input){
                opacity: 1;
            }
            #ays-quiz-container-22 #ays_finish_quiz_22 .ays-field label.ays_answer_caption[for^='ays-answer-'] {
                z-index: 1;
                position:initial;bottom:0;}
            #ays-quiz-container-22 #ays_finish_quiz_22 .ays-field input~label[for^='ays-answer-'] {
                padding: 5px;
            }

            #ays-quiz-container-22 #ays_finish_quiz_22 .ays-field {
                margin-bottom: 10px;
            }
            #ays-quiz-container-22 #ays_finish_quiz_22 .ays-field.ays_grid_view_item {
                width: calc(50% - 5px);
            }
            #ays-quiz-container-22 #ays_finish_quiz_22 .ays-field.ays_grid_view_item:nth-child(odd) {
                margin-right: 5px;
            }
            
            #ays-quiz-container-22 #ays_finish_quiz_22 .ays-field input:checked+label:before {
                border-color: #9e0505;
                background: #9e0505;
                background-clip: content-box;
            }
            #ays-quiz-container-22 .ays-quiz-answers div.ays-text-right-answer {
                color: #0a0a0a;
            }
                        
            /* Questions answer right/wrong icons */
            #ays-quiz-container-22 .ays-field input~label.answered.correct:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/correct.png');          }
            #ays-quiz-container-22 .ays-field input~label.answered.wrong:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/wrong.png');
            }
            #ays-quiz-container-22 .ays-field label.answered:last-of-type:after{
                display: none;
                height: auto;
                left: 10px;top: 10px;}
            /* Dropdown questions */            
            #ays-quiz-container-22 #ays_finish_quiz_22 .ays-field .select2-container--default .select2-selection--single {
                border-bottom: 2px solid #9e0505;
                background-color: #9e0505;
            }
            
            #ays-quiz-container-22 .ays-field .select2-container--default .select2-selection--single .select2-selection__placeholder,
            #ays-quiz-container-22 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-22 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow {
                color: #f5f5f5;
            }

            #ays-quiz-container-22 .select2-container--default .select2-search--dropdown .select2-search__field:focus,
            #ays-quiz-container-22 .select2-container--default .select2-search--dropdown .select2-search__field {
                outline: unset;
                padding: 0.75rem;
            }

            #ays-quiz-container-22 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-22 .select2-container--default .select2-results__option--highlighted[aria-selected] {
                background-color: #9e0505;
            }

            #ays-quiz-container-22 .ays-field .select2-container--default,
            #ays-quiz-container-22 .ays-field .select2-container--default .selection,
            #ays-quiz-container-22 .ays-field .select2-container--default .dropdown-wrapper,
            #ays-quiz-container-22 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-22 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered .select2-selection__placeholder,
            #ays-quiz-container-22 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow,
            #ays-quiz-container-22 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow b[role='presentation'] {
                font-size: 16px !important;
            }

            #ays-quiz-container-22 .select2-container--default .select2-results__option {
                padding: 6px;
            }
            
            /* Dropdown questions scroll bar */
            #ays-quiz-container-22 .select2-results__options::-webkit-scrollbar {
                width: 7px;
            }
            #ays-quiz-container-22 .select2-results__options::-webkit-scrollbar-track {
                background-color: rgba(255,255,255,0.35);
            }
            #ays-quiz-container-22 .select2-results__options::-webkit-scrollbar-thumb {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.55);
            }
            #ays-quiz-container-22 .select2-results__options::-webkit-scrollbar-thumb:hover {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.85);
            }

            /* Audio / Video */
            #ays-quiz-container-22 .mejs-container .mejs-time{
                box-sizing: unset;
            }
            #ays-quiz-container-22 .mejs-container .mejs-time-rail {
                padding-top: 15px;
            }

            #ays-quiz-container-22 .mejs-container .mejs-mediaelement video {
                margin: 0;
            }

            /* Limitation */
            #ays-quiz-container-22 .ays-quiz-limitation-count-of-takers {
                padding: 50px;
            }

            #ays-quiz-container-22 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-show,
            #ays-quiz-container-22 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-hide{
                color: #0a0a0a;
            }

            #ays-quiz-container-22 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-22 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-22 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #0a0a0a;
            }

            #ays-quiz-container-22.ays_quiz_elegant_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after,
            #ays-quiz-container-22.ays_quiz_rect_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #000;
            }

            /* Hestia theme (Version: 3.0.16) | Start */
            #ays-quiz-container-22 .mejs-container .mejs-inner .mejs-controls .mejs-button > button:hover,
            #ays-quiz-container-22 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                box-shadow: unset;
                background-color: transparent;
            }
            #ays-quiz-container-22 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                margin: 10px 6px;
            }
            /* Hestia theme (Version: 3.0.16) | End */

            /* Go theme (Version: 1.4.3) | Start */
            #ays-quiz-container-22 label[for^='ays-answer']:before,
            #ays-quiz-container-22 label[for^='ays-answer']:before {
                -webkit-mask-image: unset;
                mask-image: unset;
            }

            #ays-quiz-container-22.ays_quiz_classic_light .ays-field input:checked+label.answered.correct:before,
            #ays-quiz-container-22.ays_quiz_classic_dark .ays-field input:checked+label.answered.correct:before {
                background-color: #9e0505 !important;
                background-color: rgba(39,174,96, 1) !important;
            }
            /* Go theme (Version: 1.4.3) | End */

            #ays-quiz-container-22 .ays_quiz_results fieldset.ays_fieldset .ays_quiz_question .wp-video {
                width: 100% !important;
                max-width: 100%;
            }

            /* Classic Dark / Classic Light */
            /* Dropdown questions right/wrong styles */
            #ays-quiz-container-22.ays_quiz_classic_dark .correct_div,
            #ays-quiz-container-22.ays_quiz_classic_light .correct_div{
                border-color:green !important;
                opacity: 1 !important;
                background-color: rgba(39,174,96,0.4) !important;
            }
            #ays-quiz-container-22.ays_quiz_classic_dark .correct_div .selected-field,
            #ays-quiz-container-22.ays_quiz_classic_light .correct_div .selected-field {
                padding: 0px 10px 0px 10px;
                color: green !important;
            }

            #ays-quiz-container-22.ays_quiz_classic_dark .wrong_div,
            #ays-quiz-container-22.ays_quiz_classic_light .wrong_div{
                border-color:red !important;
                opacity: 1 !important;
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-22.ays_quiz_classic_dark .ays-field.checked_answer_div.wrong_div input:checked~label,
            #ays-quiz-container-22.ays_quiz_classic_light .ays-field.checked_answer_div.wrong_div input:checked~label {
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-22.ays_quiz_classic_dark .ays-field,
            #ays-quiz-container-22.ays_quiz_classic_light .ays-field {
                text-align: left;
                /*margin-bottom: 10px;*/
                padding: 0;
                transition: .3s ease-in-out;
            }

            #ays-quiz-container-22 .ays-quiz-close-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-22 .ays-quiz-open-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-22 .ays_quiz_login_form p{
                color: #0a0a0a;
            }

            /* report questions modal start */
            .ays-modal-reports {
                display: none;
                position: fixed;
                z-index: 9999;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                overflow: auto;
                background-color: rgba(0, 0, 0, 0.4);
                animation-duration: .5s;
                background-color: rgba(0, 0, 0, 0.4);
            }

            #ays-quiz-question-report-modal-22 .ays-modal-content-reports {
                background-color: #fefefe;
                margin: 10% auto;
                border: 1px solid #888;
                max-width: 500px;
                width: 100%;
                border-radius: 10px;
                padding: 20px;
                box-sizing: border-box;
                position: relative;
            }

            #ays-quiz-question-report-modal-22 .ays-modal-content-reports label{
                display: block;
                margin-bottom: 10px;
                font-weight: bold;
                letter-spacing: normal;
            }

            #ays-quiz-question-report-modal-22 .ays-modal-content-reports textarea {
                display: block;
                width: 100%;
                height: 100px;
                padding: 5px;
                box-sizing: border-box;
                border-radius: 5px;
                border: 1px solid #ccc;
                max-width: 100%;
                max-height: 500px;
                resize: vertical;
                transition: unset;
            }

            #ays-quiz-question-report-modal-22 .ays-modal-content-reports input.ays-quiz-submit-question-report {
                background-color: #0073aa;
                color: #fff !important;
                border: none;
                border-radius: 5px;
                padding: 10px 20px;
                cursor: pointer;
                margin-top: 20px;
                line-height: normal;
                letter-spacing: normal;
                box-shadow: unset;
                background-image: unset;
            }

            #ays-quiz-question-report-modal-22 .ays-close-reports-window {
                color: #aaa;
                font-weight: bold;
                position: absolute;
                top: 1%;
                right: 1%;
            }

            #ays-quiz-question-report-modal-22 .ays-close-reports-window img {
                box-shadow: unset;
            }
            
            #ays-quiz-question-report-modal-22 .ays-quiz-preloader img {
                box-shadow: unset;
            }

            #ays-quiz-question-report-modal-22 .ays-close-reports-window img:hover,
            #ays-quiz-question-report-modal-22 .ays-close-reports-window img:focus {
                cursor: pointer;
            }

            #ays-quiz-question-report-modal-22 .ays-quiz-question-report-error {
                display: none;
                font-size: 13px;
                color: #f00;
                text-align: left;
            }

            #ays-quiz-question-report-modal-22 .ays-quiz-question-report-textarea-label,
            #ays-quiz-question-report-modal-22 .ays-quiz-question-report-title {
                text-align: left;
            }

            #ays-quiz-question-report-modal-22 .ays_quiz_modal_overlay {
                width: 100%;
                height: 100%;
                position: fixed;
                top: 0;
                left: 0;
                position: absolute;
                z-index: 1000000000;
                flex-direction: column;
            }

            #ays-quiz-question-report-modal-22 .ays-quiz-container .ays-quiz-user-cհoosing-anonymous-assessment {
                margin: 10px 0;
            }

            /* report questions modal end */

            @media screen and (max-width: 768px){
                #ays-quiz-container-22{
                    max-width: 100%;
                }

                div#ays-quiz-container-22 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                    width: 90%;
                }

                #ays-quiz-container-22 .ays_quiz_question p {
                    font-size: 16px;
                }

                #ays-quiz-container-22 .select2-container,
                #ays-quiz-container-22 .ays-field * {
                    font-size: 15px !important;
                }

                div#ays-quiz-container-22 input#ays-submit,
                div#ays-quiz-container-22 #ays_finish_quiz_22 .action-button,
                div#ays-quiz-container-22 #ays_finish_quiz_22 .action-button.ays_restart_button,
                #ays-quiz-container-22 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
                #ays-quiz-container-22 .ays-quiz-category-selective-submit-bttn {
                    font-size: 17px;
                }

                /* Quiz title / mobile font size */
                div#ays-quiz-container-22 .ays-fs-title {
                    font-size: 21px;
                }

                /* Question explanation / mobile font size */
                #ays-quiz-container-22 .ays_questtion_explanation p {
                    font-size:16px;
                }

                /* Wrong answers / mobile font size */
                #ays-quiz-container-22 .wrong_answer_text p {
                    font-size:16px;
                }

                /* Right answers / mobile font size */
                #ays-quiz-container-22 .right_answer_text p {
                    font-size:16px;
                }

                /* Note text / mobile font size */
                #ays-quiz-container-22 .ays-quiz-question-note-message-box p {
                    font-size:14px;
                }

                div#ays-quiz-container-22 .ays-quiz-question-note-message-box *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-22 .ays_questtion_explanation *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-22 .right_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-22 .wrong_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }
            }
            /* Custom css styles */
            @media screen and (max-width: 768px)
div#ays-quiz-container-5 input#ays-submit, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    font-size: 17px;
    letter-spacing: 1.5px;
}

#ays-quiz-container-5 input#ays-submit, #ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    background: none;
    background-color: #9e0505;
    color: #ffffff;
    font-size: 17px;
    padding: 10px 20px;
    border-radius: 3px;
    height: auto;
    letter-spacing: 1.5px;
    box-shadow: unset;
}
            
            /* RTL direction styles */
            
        </style>
            <style>
                #ays-quiz-container-22 p {
                    margin: 0.625em;
                }
                
                #ays-quiz-container-22 .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }

                #ays-quiz-container-22.ays_quiz_classic_light  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-22.ays_quiz_classic_dark  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-22.ays_quiz_classic_light  .enable_correction .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-22.ays_quiz_classic_dark  .enable_correction .ays-field.checked_answer_div input:checked~label {
                    background-color: transparent;
                }

                #ays-quiz-container-22.ays_quiz_classic_light  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-22.ays_quiz_classic_dark  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-22.ays_quiz_classic_light  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-22.ays_quiz_classic_dark  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }
                
                #ays-quiz-container-22 .ays-field.checked_answer_div input:checked~label:hover {
                    background-color: rgba(158,5,5,0.8);
                }

                #ays-quiz-container-22.ays-quiz-container.ays_quiz_classic_light .ays-questions-container .ays-field:hover label[for^='ays-answer-'],
                #ays-quiz-container-22 .ays-field:hover:not(.ays-answered-text-input){
                    background: rgba(158,5,5,0.8);
                    /* border-radius: 4px; */
                    color: #fff;
                    transition: all .3s;
                }
                #ays-quiz-container-22 #ays_finish_quiz_22 .action-button:hover,
                #ays-quiz-container-22 #ays_finish_quiz_22 .action-button:focus,
                #ays-quiz-container-22 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
                #ays-quiz-container-22 .ays-quiz-category-selective-submit-bttn:focus {
                    box-shadow: 0 0 0 2px white, 0 0 0 3px #9e0505;
                    background: #9e0505;
                }
            </style><script>
                if(typeof aysQuizOptions === 'undefined'){
                    var aysQuizOptions = [];
                }
                aysQuizOptions['22']  = 'eyJxdWl6X3ZlcnNpb24iOiI2LjYuNy4wIiwiY29yZV92ZXJzaW9uIjoiNi43LjEiLCJwaHBfdmVyc2lvbiI6IjguMi4yMyIsImNvbG9yIjoiIzllMDUwNSIsImJnX2NvbG9yIjoiI2ZmZmZmZiIsInRleHRfY29sb3IiOiIjMGEwYTBhIiwiaGVpZ2h0IjozNTAsIndpZHRoIjo0MDAsImVuYWJsZV9sb2dnZWRfdXNlcnMiOiJvZmYiLCJpbmZvcm1hdGlvbl9mb3JtIjoiZGlzYWJsZSIsImZvcm1fbmFtZSI6bnVsbCwiZm9ybV9lbWFpbCI6bnVsbCwiZm9ybV9waG9uZSI6bnVsbCwiaW1hZ2Vfd2lkdGgiOiIiLCJpbWFnZV9oZWlnaHQiOiIiLCJlbmFibGVfY29ycmVjdGlvbiI6Im9uIiwiZW5hYmxlX3Byb2dyZXNzX2JhciI6Im9uIiwiZW5hYmxlX3F1ZXN0aW9uc19yZXN1bHQiOiJvbiIsInJhbmRvbWl6ZV9xdWVzdGlvbnMiOiJvZmYiLCJyYW5kb21pemVfYW5zd2VycyI6Im9mZiIsImVuYWJsZV9xdWVzdGlvbnNfY291bnRlciI6Im9uIiwiZW5hYmxlX3Jlc3RyaWN0aW9uX3Bhc3MiOiJvZmYiLCJyZXN0cmljdGlvbl9wYXNzX21lc3NhZ2UiOiIiLCJ1c2VyX3JvbGUiOltdLCJjdXN0b21fY3NzIjoiQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpXHJcbmRpdiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcbn1cclxuXHJcbiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCAjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzllMDUwNTtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xyXG4gICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbn0iLCJsaW1pdF91c2VycyI6Im9mZiIsImxpbWl0YXRpb25fbWVzc2FnZSI6IiIsInJlZGlyZWN0X3VybCI6IiIsInJlZGlyZWN0aW9uX2RlbGF5IjowLCJhbnN3ZXJzX3ZpZXciOiJsaXN0IiwiZW5hYmxlX3J0bF9kaXJlY3Rpb24iOiJvZmYiLCJlbmFibGVfbG9nZ2VkX3VzZXJzX21lc3NhZ2UiOiIiLCJxdWVzdGlvbnNfY291bnQiOiIiLCJlbmFibGVfcXVlc3Rpb25fYmFuayI6Im9mZiIsImVuYWJsZV9saXZlX3Byb2dyZXNzX2JhciI6Im9mZiIsImVuYWJsZV9wZXJjZW50X3ZpZXciOiJvZmYiLCJlbmFibGVfYXZlcmFnZV9zdGF0aXN0aWNhbCI6Im9uIiwiZW5hYmxlX25leHRfYnV0dG9uIjoib24iLCJlbmFibGVfcHJldmlvdXNfYnV0dG9uIjoib24iLCJlbmFibGVfYXJyb3dzIjoib2ZmIiwidGltZXJfdGV4dCI6IiIsInF1aXpfdGhlbWUiOiJjbGFzc2ljX2xpZ2h0IiwiZW5hYmxlX3NvY2lhbF9idXR0b25zIjoib2ZmIiwicmVzdWx0X3RleHQiOiIiLCJlbmFibGVfcGFzc19jb3VudCI6Im9mZiIsImhpZGVfc2NvcmUiOiJvZmYiLCJyYXRlX2Zvcm1fdGl0bGUiOiIiLCJib3hfc2hhZG93X2NvbG9yIjoicmdiYSgxMCwxMCwxMCwwLjM1KSIsInF1aXpfYm9yZGVyX3JhZGl1cyI6IjAiLCJxdWl6X2JnX2ltYWdlIjoiaHR0cHM6XC9cL2RpYWxla3RpY28uY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDIyXC8wOFwvUTMuanBnIiwicXVpel9ib3JkZXJfd2lkdGgiOiIzIiwicXVpel9ib3JkZXJfc3R5bGUiOiJzb2xpZCIsInF1aXpfYm9yZGVyX2NvbG9yIjoiIzAwMCIsInF1aXpfbG9hZGVyIjoiZmFjZWJvb2siLCJjcmVhdGVfZGF0ZSI6bnVsbCwiYXV0aG9yIjoie1wiaWRcIjpcIjFcIixcIm5hbWVcIjpcIkRhbmllbCBEaWFsXFx1MDBlOWt0aWNvXCJ9IiwicXVlc3RfYW5pbWF0aW9uIjoic2hha2UiLCJmb3JtX3RpdGxlIjoiIiwiZW5hYmxlX2JnX211c2ljIjoib2ZmIiwicXVpel9iZ19tdXNpYyI6IiIsImFuc3dlcnNfZm9udF9zaXplIjoxNSwic2hvd19jcmVhdGVfZGF0ZSI6Im9mZiIsInNob3dfYXV0aG9yIjoib2ZmIiwiZW5hYmxlX2Vhcmx5X2ZpbmlzaCI6Im9mZiIsImFuc3dlcnNfcndfdGV4dHMiOiJvbl9wYXNzaW5nIiwiZGlzYWJsZV9zdG9yZV9kYXRhIjoib2ZmIiwiZW5hYmxlX2JhY2tncm91bmRfZ3JhZGllbnQiOiJvZmYiLCJiYWNrZ3JvdW5kX2dyYWRpZW50X2NvbG9yXzEiOiIjMDAwIiwiYmFja2dyb3VuZF9ncmFkaWVudF9jb2xvcl8yIjoiI2ZmZiIsInF1aXpfZ3JhZGllbnRfZGlyZWN0aW9uIjoidmVydGljYWwiLCJyZWRpcmVjdF9hZnRlcl9zdWJtaXQiOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfdXJsIjoiIiwic3VibWl0X3JlZGlyZWN0X2RlbGF5IjoiMCIsInByb2dyZXNzX2Jhcl9zdHlsZSI6InRoaXJkIiwiZW5hYmxlX2V4aXRfYnV0dG9uIjoib2ZmIiwiZXhpdF9yZWRpcmVjdF91cmwiOiIiLCJpbWFnZV9zaXppbmciOiJjb3ZlciIsInF1aXpfYmdfaW1hZ2VfcG9zaXRpb24iOiJjZW50ZXIgY2VudGVyIiwiY3VzdG9tX2NsYXNzIjoiIiwiZW5hYmxlX3NvY2lhbF9saW5rcyI6Im9mZiIsInNvY2lhbF9saW5rcyI6eyJsaW5rZWRpbl9saW5rIjoiIiwiZmFjZWJvb2tfbGluayI6IiIsInR3aXR0ZXJfbGluayI6IiIsInZrb250YWt0ZV9saW5rIjoiIiwiaW5zdGFncmFtX2xpbmsiOiIiLCJ5b3V0dWJlX2xpbmsiOiIiLCJiZWhhbmNlX2xpbmsiOiIifSwic2hvd19xdWl6X3RpdGxlIjoib2ZmIiwic2hvd19xdWl6X2Rlc2MiOiJvbiIsInNob3dfbG9naW5fZm9ybSI6Im9mZiIsIm1vYmlsZV9tYXhfd2lkdGgiOiIiLCJsaW1pdF91c2Vyc19ieSI6ImlwIiwiYWN0aXZlX2RhdGVfY2hlY2siOiJvZmYiLCJhY3RpdmVJbnRlcnZhbCI6IjIwMjUtMDEtMjMgMDI6MDI6NDYiLCJkZWFjdGl2ZUludGVydmFsIjoiMjAyNS0wMS0yMyAwMjowMjo0NiIsImFjdGl2ZV9kYXRlX3ByZV9zdGFydF9tZXNzYWdlIjoiVGhlIHF1aXogd2lsbCBiZSBhdmFpbGFibGUgc29vbiEiLCJhY3RpdmVfZGF0ZV9tZXNzYWdlIjoiXHUwMGExRWwgdGVzdCBoYSBleHBpcmFkbyEiLCJleHBsYW5hdGlvbl90aW1lIjoiNCIsImVuYWJsZV9jbGVhcl9hbnN3ZXIiOiJvZmYiLCJzaG93X2NhdGVnb3J5Ijoib2ZmIiwic2hvd19xdWVzdGlvbl9jYXRlZ29yeSI6Im9mZiIsImRpc3BsYXlfc2NvcmUiOiJieV9wZXJjYW50YWdlIiwiZW5hYmxlX3J3X2FzbndlcnNfc291bmRzIjoib24iLCJhbnNfcmlnaHRfd3JvbmdfaWNvbiI6ImRlZmF1bHQiLCJxdWl6X2JnX2ltZ19pbl9maW5pc2hfcGFnZSI6Im9mZiIsImZpbmlzaF9hZnRlcl93cm9uZ19hbnN3ZXIiOiJvZmYiLCJhZnRlcl90aW1lcl90ZXh0IjoiIiwiZW5hYmxlX2VudGVyX2tleSI6Im9uIiwiYnV0dG9uc190ZXh0X2NvbG9yIjoiI2ZmZmZmZiIsImJ1dHRvbnNfcG9zaXRpb24iOiJjZW50ZXIiLCJzaG93X3F1ZXN0aW9uc19leHBsYW5hdGlvbiI6Im9uX3Bhc3NpbmciLCJlbmFibGVfYXVkaW9fYXV0b3BsYXkiOiJvZmYiLCJidXR0b25zX3NpemUiOiJtZWRpdW0iLCJidXR0b25zX2ZvbnRfc2l6ZSI6IjE3IiwiYnV0dG9uc193aWR0aCI6IiIsImJ1dHRvbnNfbGVmdF9yaWdodF9wYWRkaW5nIjoiMjAiLCJidXR0b25zX3RvcF9ib3R0b21fcGFkZGluZyI6IjEwIiwiYnV0dG9uc19ib3JkZXJfcmFkaXVzIjoiMyIsImVuYWJsZV9sZWF2ZV9wYWdlIjoib24iLCJlbmFibGVfdGFja2Vyc19jb3VudCI6Im9mZiIsInRhY2tlcnNfY291bnQiOiIiLCJwYXNzX3Njb3JlIjowLCJwYXNzX3Njb3JlX21lc3NhZ2UiOiI8aDQgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj5Db25ncmF0dWxhdGlvbnMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IHBhc3NlZCB0aGUgcXVpeiE8XC9wPiIsImZhaWxfc2NvcmVfbWVzc2FnZSI6IjxoNCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlclwiPk9vcHMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IGhhdmUgbm90IHBhc3NlZCB0aGUgcXVpeiFcclxuVHJ5IGFnYWluITxcL3A+IiwicXVlc3Rpb25fZm9udF9zaXplIjoxNiwicXVpel93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVlc3Rpb25zX2hpbnRfaWNvbl9vcl90ZXh0IjoiZGVmYXVsdCIsInF1ZXN0aW9uc19oaW50X3ZhbHVlIjoiIiwiZW5hYmxlX2Vhcmx5X2ZpbnNoX2NvbWZpcm1fYm94Ijoib24iLCJlbmFibGVfcXVlc3Rpb25zX29yZGVyaW5nX2J5X2NhdCI6Im9mZiIsInNob3dfc2NoZWR1bGVfdGltZXIiOiJvZmYiLCJzaG93X3RpbWVyX3R5cGUiOiJjb3VudGRvd24iLCJxdWl6X2xvYWRlcl90ZXh0X3ZhbHVlIjoiIiwiaGlkZV9jb3JyZWN0X2Fuc3dlcnMiOiJvZmYiLCJzaG93X2luZm9ybWF0aW9uX2Zvcm0iOiJvbiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWYiOiIiLCJkaXNhYmxlX2hvdmVyX2VmZmVjdCI6Im9mZiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWZfd2lkdGgiOjEwMCwicHJvZ3Jlc3NfbGl2ZV9iYXJfc3R5bGUiOiJkZWZhdWx0IiwicXVpel90aXRsZV90cmFuc2Zvcm1hdGlvbiI6InVwcGVyY2FzZSIsInNob3dfYW5zd2Vyc19udW1iZXJpbmciOiJub25lIiwicXVpel9pbWFnZV93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVpel9pbWFnZV9oZWlnaHQiOiIiLCJxdWl6X2JnX2ltZ19vbl9zdGFydF9wYWdlIjoib2ZmIiwicXVpel9ib3hfc2hhZG93X3hfb2Zmc2V0IjowLCJxdWl6X2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYm94X3NoYWRvd196X29mZnNldCI6MTUsInF1aXpfcXVlc3Rpb25fdGV4dF9hbGlnbm1lbnQiOiJjZW50ZXIiLCJxdWl6X2Fycm93X3R5cGUiOiJkZWZhdWx0IiwicXVpel9zaG93X3dyb25nX2Fuc3dlcnNfZmlyc3QiOiJvZmYiLCJxdWl6X2Rpc3BsYXlfYWxsX3F1ZXN0aW9ucyI6Im9mZiIsInF1aXpfdGltZXJfcmVkX3dhcm5pbmciOiJvZmYiLCJxdWl6X3NjaGVkdWxlX3RpbWV6b25lIjoiQW1lcmljYVwvTWV4aWNvX0NpdHkiLCJxdWVzdGlvbnNfaGludF9idXR0b25fdmFsdWUiOiIiLCJxdWl6X3RhY2tlcnNfbWVzc2FnZSI6Ilx1MDBhMUVzdGUgdGVzdCBoYSBleHBpcmFkbyEiLCJxdWl6X2VuYWJsZV9saW5rZWRpbl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfZW5hYmxlX2ZhY2Vib29rX3NoYXJlX2J1dHRvbiI6Im9uIiwicXVpel9lbmFibGVfdHdpdHRlcl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfbWFrZV9yZXNwb25zZXNfYW5vbnltb3VzIjoib2ZmIiwicXVpel9tYWtlX2FsbF9yZXZpZXdfbGluayI6Im9mZiIsInNob3dfcXVlc3Rpb25zX251bWJlcmluZyI6Im5vbmUiLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3RpbWVyIjoiIiwiZW5hYmxlX3Bhc3N3b3JkIjoib2ZmIiwicGFzc3dvcmRfcXVpeiI6IiIsInF1aXpfcGFzc3dvcmRfbWVzc2FnZSI6IiIsImVuYWJsZV9zZWVfcmVzdWx0X2NvbmZpcm1fYm94Ijoib2ZmIiwiZGlzcGxheV9maWVsZHNfbGFiZWxzIjoib2ZmIiwiZW5hYmxlX2Z1bGxfc2NyZWVuX21vZGUiOiJvZmYiLCJxdWl6X2VuYWJsZV9wYXNzd29yZF92aXNpYmlsaXR5Ijoib2ZmIiwicXVlc3Rpb25fbW9iaWxlX2ZvbnRfc2l6ZSI6MTYsImFuc3dlcnNfbW9iaWxlX2ZvbnRfc2l6ZSI6MTUsInNvY2lhbF9idXR0b25zX2hlYWRpbmciOiIiLCJxdWl6X2VuYWJsZV92a29udGFrdGVfc2hhcmVfYnV0dG9uIjoib24iLCJhbnN3ZXJzX2JvcmRlciI6Im9uIiwiYW5zd2Vyc19ib3JkZXJfd2lkdGgiOjEsImFuc3dlcnNfYm9yZGVyX3N0eWxlIjoic29saWQiLCJhbnN3ZXJzX2JvcmRlcl9jb2xvciI6IiM0NDQiLCJzb2NpYWxfbGlua3NfaGVhZGluZyI6IiIsInF1aXpfZW5hYmxlX3F1ZXN0aW9uX2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwiYW5zd2Vyc19tYXJnaW4iOjEwLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3JlZGlyZWN0X3RpbWVyIjoiIiwiYnV0dG9uc19tb2JpbGVfZm9udF9zaXplIjoxNywiYW5zd2Vyc19ib3hfc2hhZG93Ijoib2ZmIiwiYW5zd2Vyc19ib3hfc2hhZG93X2NvbG9yIjoiIzAwMCIsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeF9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfel9vZmZzZXQiOjEwLCJxdWl6X2NyZWF0ZV9hdXRob3IiOjEsInF1aXpfZW5hYmxlX3RpdGxlX3RleHRfc2hhZG93Ijoib2ZmIiwicXVpel90aXRsZV90ZXh0X3NoYWRvd19jb2xvciI6IiMzMzMiLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3hfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3lfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3pfb2Zmc2V0IjoyLCJxdWl6X3Nob3dfb25seV93cm9uZ19hbnN3ZXJzIjoib2ZmIiwicXVpel90aXRsZV9mb250X3NpemUiOjIxLCJxdWl6X3RpdGxlX21vYmlsZV9mb250X3NpemUiOjIxLCJxdWl6X3Bhc3N3b3JkX3dpZHRoIjoiIiwicXVpel9yZXZpZXdfcGxhY2Vob2xkZXJfdGV4dCI6IiIsInF1aXpfbWFrZV9yZXZpZXdfcmVxdWlyZWQiOiJvZmYiLCJxdWl6X2VuYWJsZV9yZXN1bHRzX3RvZ2dsZSI6Im9mZiIsInF1aXpfcmV2aWV3X3RoYW5rX3lvdV9tZXNzYWdlIjoiIiwicXVpel9yZXZpZXdfZW5hYmxlX2NvbW1lbnRfZmllbGQiOiJvbiIsInF1ZXN0X2V4cGxhbmF0aW9uX2ZvbnRfc2l6ZSI6MTYsInF1ZXN0X2V4cGxhbmF0aW9uX21vYmlsZV9mb250X3NpemUiOjE2LCJxdWl6X3dhaXRpbmdfdGltZSI6Im9mZiIsIndyb25nX2Fuc3dlcnNfZm9udF9zaXplIjoxNiwid3JvbmdfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9lbmFibGVfcXVlc3Rpb25faW1hZ2Vfem9vbSI6Im9mZiIsInJpZ2h0X2Fuc3dlcnNfZm9udF9zaXplIjoxNiwicmlnaHRfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9kaXNwbGF5X21lc3NhZ2VzX2JlZm9yZV9idXR0b25zIjoib2ZmIiwicXVpel9lbmFibGVfdXNlcl9jXHUwNTcwb29zaW5nX2Fub255bW91c19hc3Nlc3NtZW50Ijoib2ZmIiwibm90ZV90ZXh0X2ZvbnRfc2l6ZSI6MTQsIm5vdGVfdGV4dF9tb2JpbGVfZm9udF9zaXplIjoxNCwicXVpel9xdWVzdGlvbnNfbnVtYmVyaW5nX2J5X2NhdGVnb3J5Ijoib2ZmIiwicXVpel9lbmFibGVfY3VzdG9tX3RleHRzX2Zvcl9idXR0b25zIjoib2ZmIiwicXVpel9jdXN0b21fdGV4dHNfc3RhcnRfYnV0dG9uIjoiRU1QRVpBUiIsInF1aXpfY3VzdG9tX3RleHRzX25leHRfYnV0dG9uIjoiU0lHVUlFTlRFIiwicXVpel9jdXN0b21fdGV4dHNfcHJldl9idXR0b24iOiJBTlRFUklPUiIsInF1aXpfY3VzdG9tX3RleHRzX2NsZWFyX2J1dHRvbiI6IkxJTVBJQVIiLCJxdWl6X2N1c3RvbV90ZXh0c19maW5pc2hfYnV0dG9uIjoiRklOQUxJWkFSIiwicXVpel9jdXN0b21fdGV4dHNfc2VlX3Jlc3VsdHNfYnV0dG9uIjoiVkVSIFRPVEFMIiwicXVpel9jdXN0b21fdGV4dHNfcmVzdGFydF9xdWl6X2J1dHRvbiI6IlJlaW5pY2lhciBQcnVlYmEiLCJxdWl6X2N1c3RvbV90ZXh0c19zZW5kX2ZlZWRiYWNrX2J1dHRvbiI6IkVudmlhciBjb21lbnRhcmlvcyIsInF1aXpfY3VzdG9tX3RleHRzX2xvYWRfbW9yZV9idXR0b24iOiJDYXJnYXIgbVx1MDBlMXMiLCJxdWl6X2N1c3RvbV90ZXh0c19leGl0X2J1dHRvbiI6IlNhbGlyIiwicXVpel9jdXN0b21fdGV4dHNfY2hlY2tfYnV0dG9uIjoiQ2hlY2siLCJxdWl6X2N1c3RvbV90ZXh0c19sb2dpbl9idXR0b24iOiJMb2cgSW4iLCJxdWl6X2VuYWJsZV9xdWl6X2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwicXVpel9hZG1pbl9ub3RlX3RleHRfdHJhbnNmb3JtIjoibm9uZSIsInF1aXpfcXVlc3RfZXhwbGFuYXRpb25fdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel9yaWdodF9hbnN3ZXJfdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel93cm9uZ19hbnN3ZXJfdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel9hZG1pbl9ub3RlX3RleHRfZGVjb3JhdGlvbiI6Im5vbmUiLCJxdWl6X3F1ZXN0X2V4cGxhbmF0aW9uX3RleHRfZGVjb3JhdGlvbiI6Im5vbmUiLCJxdWl6X3JpZ2h0X2Fuc3dlcnNfdGV4dF9kZWNvcmF0aW9uIjoibm9uZSIsInF1aXpfd3JvbmdfYW5zd2Vyc190ZXh0X2RlY29yYXRpb24iOiJub25lIiwicXVpel9hZG1pbl9ub3RlX2xldHRlcl9zcGFjaW5nIjoiMCIsInF1aXpfYmdfaW1nX2R1cmluZ190aGVfcXVpeiI6Im9mZiIsInF1aXpfcXVlc3RfZXhwbGFuYXRpb25fbGV0dGVyX3NwYWNpbmciOiIwIiwicXVpel9yaWdodF9hbnN3ZXJzX2xldHRlcl9zcGFjaW5nIjoiMCIsInF1aXpfd3JvbmdfYW5zd2Vyc19sZXR0ZXJfc3BhY2luZyI6IjAiLCJxdWl6X2FkbWluX25vdGVfZm9udF93ZWlnaHQiOiJub3JtYWwiLCJxdWl6X3F1ZXN0X2V4cGxhbmF0aW9uX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel9yaWdodF9hbnN3ZXJzX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel93cm9uZ19hbnN3ZXJzX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel9jb250ZW50X21heF93aWR0aCI6OTAsInF1aXpfY29udGVudF9tb2JpbGVfbWF4X3dpZHRoIjo5MCwicmVxdWlyZWRfZmllbGRzIjpudWxsLCJlbmFibGVfdGltZXIiOiJvZmYiLCJlbmFibGVfcXVpel9yYXRlIjoib2ZmIiwiZW5hYmxlX3JhdGVfYXZnIjoib2ZmIiwiZW5hYmxlX2JveF9zaGFkb3ciOiJvZmYiLCJlbmFibGVfYm9yZGVyIjoib24iLCJxdWl6X3RpbWVyX2luX3RpdGxlIjoib2ZmIiwiZW5hYmxlX3JhdGVfY29tbWVudHMiOiJvZmYiLCJlbmFibGVfcmVzdGFydF9idXR0b24iOiJvbiIsImF1dG9maWxsX3VzZXJfZGF0YSI6Im9mZiIsInRpbWVyIjoxMDAsInNob3dfYW5zd2Vyc19jYXB0aW9uIjoib24iLCJxdWl6X2VuYWJsZV9rZXlib2FyZF9uYXZpZ2F0aW9uIjoib24iLCJzaG93X3F1aXpfaW1hZ2UiOiJvbiIsInF1aXpfZW5hYmxlX3doYXRzYXBwX3NoYXJlX2J1dHRvbiI6Im9mZiIsInN1Ym1pdF9yZWRpcmVjdF9hZnRlciI6IiIsInJ3X2Fuc3dlcnNfc291bmRzIjp0cnVlLCJpZCI6IjIyIiwidGl0bGUiOiJNXHUwMGU5dHJpY2FzIGRlIGNsYXNpZmljYWNpXHUwMGYzbiIsImRlc2NyaXB0aW9uIjoiQ29udGVzdGEgbGFzIHNpZ3VpZW50ZXMgcHJlZ3VudGFzIiwicXVpel9pbWFnZSI6IiIsInF1aXpfY2F0ZWdvcnlfaWQiOiIyIiwicXVlc3Rpb25faWRzIjoiNjAsNjEsNjIsNjMiLCJvcmRlcmluZyI6IjIyIiwicHVibGlzaGVkIjoiMSIsImludGVydmFscyI6bnVsbCwicXVpel91cmwiOiIiLCJjdXN0b21fcG9zdF9pZCI6bnVsbCwiYXV0aG9yX2lkIjoiMCIsInF1aXpfYW5pbWF0aW9uX3RvcCI6MTAwLCJxdWl6X2VuYWJsZV9hbmltYXRpb25fdG9wIjoib24ifQ==';
        </script>
                    <input type='hidden' name='quiz_id' value='22'/>
                    <input type='hidden' name='start_date' class='ays-start-date'/>
                </form></div>
                            </div>
                            



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Entonces, podemos distinguir los siguientes elementos en este proyecto de machine learning:</p>



<ul class="wp-block-list">
<li>Conjunto de datos: está compuesto por reseñas positivas y negativas de películas. Los datos son fragmentos de texto, por lo que son <a href="https://dialektico.com/tipos-de-datos/">datos no estructurados</a>, de tipo cualitativo. Además, los datos están <a href="https://dialektico.com/datos-etiquetados-machine-learning/">etiquetados</a>, señalando cuáles reseñas son positivas y cuáles negativas.</li>



<li>Objetivo: entrenar un modelo de machine learning que clasifique reseñas en positivas o negativas.</li>



<li>Algoritmo a utilizar: algún algoritmo de aprendizaje supervisado de clasificación, como la regresión logística.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ahora que conocemos el <strong>caso de estudio</strong>, prosigamos con la definición de los componentes de la matriz de confusión.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Tipos de falsos y verdaderos de la matriz de confusión</h3>



<p>Revisemos ahora los casos que se toman en cuenta en una matriz de confusión y dan vida a las métricas para evaluar modelos de clasificación.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Verdadero Positivo (VP)</h4>



<p>Un <strong>verdadero positivo</strong> es una entrada que el modelo ha clasificado <strong>correctamente </strong>como <strong>positiva</strong>.</p>



<p>Nuestro modelo de clasificación de reseñas de películas se ha entrenado determinando que la clase positiva es 1, por lo tanto, un <strong>verdadero positivo</strong> significa que se ha entregado al modelo una <strong>reseña positiva</strong> y este la ha <strong>clasificado correctamente</strong> en esta categoría.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="733" src="https://dialektico.com/wp-content/uploads/2025/01/MEMC_VP_3.jpg" alt="MEMC VP 3" class="wp-image-11226" style="width:662px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 60" srcset="https://dialektico.com/wp-content/uploads/2025/01/MEMC_VP_3.jpg 1024w, https://dialektico.com/wp-content/uploads/2025/01/MEMC_VP_3-768x550.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Verdadero Negativo (VN)</h4>



<p>Un <strong>verdadero negativo</strong> es una entrada que el modelo ha clasificado <strong>correctamente </strong>como <strong>negativa</strong>.</p>



<p>Dado que la clase negativa es 0, un verdadero negativo generado por el modelo de clasificación de reseñas sucede cuando se le entrega una reseña negativa y la <strong>clasifica correctamente</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="733" src="https://dialektico.com/wp-content/uploads/2025/01/MEMC_VN_3.jpg" alt="MEMC VN 3" class="wp-image-11227" style="width:612px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 61" srcset="https://dialektico.com/wp-content/uploads/2025/01/MEMC_VN_3.jpg 1024w, https://dialektico.com/wp-content/uploads/2025/01/MEMC_VN_3-768x550.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Falso Positivo (FP)</h4>



<p>Un <strong>falso positivo</strong> es un caso en el que modelo <strong>clasifica incorrectamente</strong> una entrada que pertenece a la clase <strong>negativa</strong>. En estadística también se le conoce como <strong>error Tipo I</strong>.</p>



<p>En nuestro ejemplo, un <strong>falso positivo</strong> se da cuando se le entrega al modelo clasificador una reseña negativa, y este la categoriza como reseña positiva.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="733" src="https://dialektico.com/wp-content/uploads/2025/01/MEMC_FP_2.jpg" alt="MEMC FP 2" class="wp-image-11229" style="width:612px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 62" srcset="https://dialektico.com/wp-content/uploads/2025/01/MEMC_FP_2.jpg 1024w, https://dialektico.com/wp-content/uploads/2025/01/MEMC_FP_2-768x550.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Falso Negativo (FN)</h4>



<p>Un <strong>falso negativo</strong> se da cuando el modelo ha clasificado de <strong>forma errónea</strong> una entrada que es de la clase <strong>positiva</strong>, asignándola como <strong>negativo</strong>. En estadística también se le conoce como <strong>error Tipo II</strong>.</p>



<p>En nuestro ejemplo, un <strong>falso negativo</strong> se da cuando se le entrega al modelo clasificador una reseña <strong>positiva</strong>, y este la categoriza como reseña <strong>negativa</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="733" src="https://dialektico.com/wp-content/uploads/2025/01/MEMC_FN_2.jpg" alt="MEMC FN 2" class="wp-image-11230" style="width:617px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 63" srcset="https://dialektico.com/wp-content/uploads/2025/01/MEMC_FN_2.jpg 1024w, https://dialektico.com/wp-content/uploads/2025/01/MEMC_FN_2-768x550.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Estos son los diferentes casos que componen a la matriz de confusión, los verdaderos positivos y negativos (<strong>VP </strong>y <strong>VN</strong>) y los falsos positivos y negativos (<strong>FP </strong>Y <strong>FN</strong>) son lo que se utilizan para obtener métricas de evaluación de modelos de clasificación. </p>



<p>Volvamos a la matriz de confusión.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Estructura de la Matriz de Confusión</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>La matriz de confusión es una herramienta para la evaluación de modelos de clasificación organizando la cantidad de clasificaciones binarias correctas e incorrectas en una matriz de dos dimensiones, como se muestra en la <strong>Figura 3.7.3</strong>:</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1466" height="1131" src="https://dialektico.com/wp-content/uploads/2025/01/MEMC_Matriz_2.jpg" alt="matriz de confusión dialéktico" class="wp-image-11007" style="width:640px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 64" srcset="https://dialektico.com/wp-content/uploads/2025/01/MEMC_Matriz_2.jpg 1466w, https://dialektico.com/wp-content/uploads/2025/01/MEMC_Matriz_2-768x593.jpg 768w" sizes="(max-width: 1466px) 100vw, 1466px" /><figcaption class="wp-element-caption"><strong>Figura 3.7.3</strong> Matriz de confusión.</figcaption></figure>



<p>Donde, como ya vimos antes:</p>



<ul class="wp-block-list">
<li><strong>VN </strong>y <strong>VP</strong> son verdaderos positivos y negativos, ese decir, las clasificaciones realizadas <strong>correctamente</strong>.</li>



<li><strong>FN </strong>y <strong>FP </strong>son falsos positivos y negativos, ese decir, las clasificaciones realizadas <strong>incorrectamente</strong>.</li>



<li>Nótese que la <strong>diagonal </strong>de la matriz (<strong>VN</strong> y <strong>VP</strong>) muestra las predicciones <strong>correctas</strong>.</li>



<li>De forma inversa, los elementos fuera de la <strong>diagonal </strong>(<strong>FP</strong> y <strong>FN</strong>) muestran las predicciones <strong>incorrectas</strong>.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Con esto debería quedar claro cómo está compuesta una <strong>matriz de confusión</strong>. Se trata simplemente del arreglo de los resultados de utilizar el modelo de clasificación en el <strong>conjunto de datos de prueba</strong>: se registran los <strong>errores </strong>y <strong>aciertos</strong>, y se categorizan como verdaderos o falsos respecto a cada clase (como es clasificación <strong>binaria</strong>, estas se consideran como <strong>negativa </strong>y <strong>positiva</strong>).</p>



<p>Por fin podemos hablar de las <strong>métricas </strong>que se derivan de estos valores.</p>



<p>Utilizando los resultados de una matriz de confusión, se pueden derivar las siguientes medidas para evaluar modelos de clasificación:</p>



<ul class="wp-block-list">
<li>Exactitud (<em>Accuracy</em>).</li>



<li>Precisión (<em>Precision</em>).</li>



<li>Sensibilidad (<em>Recall</em>, <em>Sensitivity</em>).</li>



<li>Puntaje F1 (<em>F1 Score</em>).</li>



<li>Curvas ROC y AUC.</li>



<li>Tasa de falsos positivos (<em>False Positive Rate</em>).</li>



<li>Tasa de falsos negativos (<em>False Negative Rate</em>).</li>



<li>Tasa de falsas omisiones (<em>False Omission Rate</em>).</li>



<li>Prevalencia (<em>Prevalence</em>).</li>



<li>Valor predictivo negativo (<em>Negative Predictive Value</em>).</li>



<li>Marcación (<em>Markedness</em>).</li>



<li>Razón de probabilidades diagnóstica (<em>Diagnostic Odds Ratio</em>).</li>



<li>Coeficiente de correlación de Matthews (<em>Matthews Correlation Coefficient</em>).</li>



<li>Puntuación de amenaza, índice de éxito crítico, índice de Jaccard (<em>Threat Score, Critical Success Index, Jaccard Index</em>).</li>



<li>Umbral de prevalencia (<em>Prevalence Threshold</em>).</li>



<li>Exactitud balanceada (<em>Balanced Accuracy</em>).</li>



<li>Índice de Fowlkes-Mallows (<em>Fowlkes-Mallows Index</em>).</li>



<li>Razón de verosimilitud positiva (<em>Positive Likelihood Ratio</em>).</li>



<li>Razón de verosimilitud negativa (<em>Negative Likelihood Ratio</em>).</li>



<li>Información (<em>Informedness</em>).</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Si te preguntas cómo es que se obtienen estas métricas de una matriz de confusión, lo veremos más adelante en esta exploración.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/11/MEMC_L_1.jpg" alt="aelacor matriz de confusión dialéktico" class="wp-image-10895" style="width:500px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 65" srcset="https://dialektico.com/wp-content/uploads/2024/11/MEMC_L_1.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/11/MEMC_L_1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Sí, son demasiadas, pero de entre estas se suelen usar solo un <strong>subconjunto </strong>relativamente pequeño.</p>



<p>Estas son las métricas de evaluación de modelos de clasificación más utilizadas:</p>



<ul class="wp-block-list">
<li>Exactitud.</li>



<li>Precisión.</li>



<li>Sensibilidad.</li>



<li>Puntaje F1.</li>



<li>Pérdida de entropía cruzada.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Y con esto llegamos a las <strong>medidas </strong>que estaremos conociendo y poniendo a prueba aquí. Tenemos cuatro métricas derivadas de la matriz de confusión, y una obtenida por función de pérdida (<strong>entropía cruzada</strong>). Estas son de bastante utilidad para la evaluación de modelos de clasificación.</p>



<p>Para entenderlo mejor, lo desarrollaremos y veremos aplicado a nuestro caso de estudio de clasificación de reseñas.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2025/01/MEMC_M3.jpg" alt="MEMC M3" class="wp-image-11013" style="width:601px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 66" srcset="https://dialektico.com/wp-content/uploads/2025/01/MEMC_M3.jpg 1080w, https://dialektico.com/wp-content/uploads/2025/01/MEMC_M3-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Ejemplo de evaluación de modelo de machine learning con métricas de la matriz de confusión</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Supondremos que hemos <strong>entrenado </strong>un modelo de aprendizaje supervisado para la categorización de reseñas de películas, y lo hemos utilizado sobre un conjunto de datos de prueba, donde obtuvimos los siguientes resultados:</p>



<ul class="wp-block-list">
<li><strong>Verdaderos Positivos (VP)</strong>: 90 reseñas positivas fueron clasificadas correctamente como positivas.</li>



<li><strong>Verdaderos Negativos (VN)</strong>: 80 reseñas negativas fueron clasificadas correctamente como negativas.</li>



<li><strong>Falsos Positivos (FP)</strong>: 20 reseñas negativas fueron clasificadas incorrectamente como positivas.</li>



<li><strong>Falsos Negativos (FN)</strong>: 10 reseñas positivas fueron clasificadas incorrectamente como negativas.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ahora organizamos esta información en la matriz de confusión:</p>



<figure class="wp-block-table aligncenter"><table class="has-fixed-layout"><tbody><tr><td>90</td><td>20</td></tr><tr><td>10</td><td>80</td></tr></tbody></table><figcaption class="wp-element-caption"><strong>Tabla 3.7.1</strong> Matriz de confusión con resultados obtenidos utilizando el modelo clasificador de reseñas de películas.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Compara esta matriz con la de la imagen Figura <strong><a href="https://dialektico.com/wp-content/uploads/2025/01/MEMC_Matriz_2.jpg">3.7.3</a></strong> y podrás notar cómo es que se han realizado los acomodos de las cifras obtenidas.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Métricas Derivadas de la Matriz de Confusión</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Con lo que hemos visto hasta ahora basta para poder aprender sobre métricas de evaluación de modelos de clasificación, para lo cual se utilizan los valores organizados en la matriz de confusión, y se calculan mediante fórmulas sencillas. </p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Exactitud (Accuracy)</h3>



<p>La exactitud es una métrica que mide la proporción de clasificaciones correctas entre todas las clasificaciones realizadas. Se calcula con la siguiente fórmula:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\text{Exactitud} = \frac{VP + VN}{VP + VN + FP + FN}, \tag{3.69}</pre></div>



<p>donde <strong>VP</strong>, <strong>VN</strong>, <strong>FP</strong> y <strong>FN </strong>son los valores de la matriz de confusión revisados en la sección anterior. Esta fórmula es bastante simple, consiste en sumar las predicciones correctas (<strong>VP </strong>y <strong>VN</strong>) y dividirlas entre todas las demás, por lo que arroja una proporción de los datos correctamente clasificados por el modelo.</p>



<p>Aquí haremos una breve pausa para revisar un término de <strong>importancia medular</strong>. Para interpretar correctamente esta métrica y las subsecuentes, debemos tener en cuenta un tipo de estructura que puede presentar un conjunto de datos: <strong>datos desbalanceados</strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Influencia de datos desbalanceados en métricas de rendimiento</h4>



<p>Como vimos en la exploración pasada, los <strong><a href="https://dialektico.com/datos-desbalanceados-definicion-ejemplos/">datos desbalanceados</a></strong> es una propiedad de un conjunto de datos en el que las categorías (datos de salida objetivo para el entrenamiento de un modelo de clasificación) no están repartidas de manera equitativa. Esto significa que una o más clases tienen significativamente más <strong>ejemplos de entrenamiento</strong> que otras.</p>



<p>Para ilustrarlo, recordemos que tenemos <strong><a href="https://dialektico.com/wp-content/uploads/2024/09/CDE_Ejemplos_etiq.jpg">datos etiquetados</a></strong>, donde, en el caso de las tareas de clasificación, se designan clases a cada uno de los ejemplos de entrenamiento. Sin embargo, estos datos pueden llegar a estar <strong>desproporcionados </strong>(<strong>desbalanceados</strong>). Un ejemplo se puede observar en la <strong>Figura 3.7.4</strong>:</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1284" src="https://dialektico.com/wp-content/uploads/2025/01/MEMC_Datos_des.jpg" alt="datos desbalanceados dialéktico" class="wp-image-11015" style="width:651px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 67" srcset="https://dialektico.com/wp-content/uploads/2025/01/MEMC_Datos_des.jpg 1024w, https://dialektico.com/wp-content/uploads/2025/01/MEMC_Datos_des-768x963.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption"><strong>Figura 3.7.4</strong> Representación gráfica de datos balanceados (superior) y desbalanceados (inferior), donde se puede notar una proporción muy separada de datos para las diferentes clases. </figcaption></figure>



<p>Pongamos otro ejemplo: se podrían tener 200 datos etiquetados con la <strong>clase 1</strong>, y solo 10 datos etiquetados con la <strong>clase 0</strong>. Esto significa que no se tiene una proporción igual entre datos que pertenecen a ambas clases (5% de los datos de una clase, y 95% de otra clase).</p>



<p>Esto puede llegar a generar confusión, ya que un modelo podría <strong>acertar </strong>en <strong>predecir </strong>todas las clases de <strong>tipo 1</strong> y fallar en todas las clases de <strong>tipo 0,</strong> pero aun así, si calculamos su exactitud como se hace en la <strong>Ecuación (3.69)</strong>, su precisión sería del 95%, porque las clases están desbalanceadas. Sin embargo, como en realidad no ha logrado clasificar correctamente ningún dato en la clase 0, se podría concluir que en realidad es 50% efectiva, lo cual lo hace un modelo poco eficiente.</p>



<p>Este tema de datos desbalanceados es algo que se debe tener en cuenta al evaluar modelos de clasificación. En una ocasión futura, veremos <strong>técnicas </strong>para lidiar con esto desde el preprocesamiento de datos.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Interpretación de la exactitud</h4>



<p>Ahora sí, volvamos con la métrica de <strong>Exactitud</strong>, y expliquemos como se interpreta. Esta mide la proporción de <strong>predicciones correctas</strong> realizadas por un modelo en relación con el total de predicciones. Es decir, evalúa qué tan bien el modelo clasificó correctamente tanto los casos <strong>positivos </strong>como los <strong>negativos </strong>en un conjunto de datos.</p>



<p>Los resultados de esta métrica se interpretan como sigue:</p>



<ul class="wp-block-list">
<li><strong>Exactitud alta</strong> <strong>(valores cercanos a 1)</strong>: Indican que el modelo tuvo un alto porcentaje de predicciones correctas.</li>



<li><strong>Exactitud baja</strong> <strong>(valores cercanos a 0)</strong>: Indican un bajo desempeño del modelo, es decir, muchas predicciones incorrectas.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Limitaciones en cuanto a datos desbalanceados:</p>



<ul class="wp-block-list">
<li>En conjuntos de datos con clases desbalanceadas (por ejemplo, como ya hemos visto, donde los datos positivos son muy pocos en comparación con los negativos), la exactitud puede ser engañosa. Un modelo podría obtener una alta exactitud simplemente prediciendo siempre la clase con mayor predominancia. En estos casos, es mejor considerar métricas adicionales como la precisión, la sensibilidad (recall) o la métrica F1, que veremos a continuación.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Ejemplo de cálculo e interpretación de la exactitud</h3>



<p>Ahora calcularemos la exactitud del modelo clasificador de reseñas. De acuerdo a los valores de la matriz mostrados en la <strong>Tabla 3.7.1</strong> y a la fórmula de la <strong>Ecuación (3.69)</strong>, se calcula como sigue.</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\text{Exactitud} = \frac{VP + VN}{VP + VN + FP + FN} = \frac{90 + 80}{90 + 80 + 20 + 10} = \frac{170}{200} = 0.85 \tag{3.70}</pre></div>



<p>Esto implica que el modelo tiene una exactitud del 85%, es decir, el modelo clasifica <strong>correctamente </strong>el 85% de las reseñas de películas. Es una buena métrica general, pero puede ser engañosa si las clases están <strong>desbalanceadas </strong>(no es el caso en nuestro ejemplo).</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Precisión (Precision)</h3>



<p>La precisión es una métrica que mide la proporción de clasificaciones de la <strong>clase positiva</strong> que se han hecho correctamente entre todos los datos pertenecientes a la <strong>clase positiva</strong>. Se calcula con la siguiente fórmula:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\text{Precisión} = \frac{VP}{VP + FP}. \tag{3.71}</pre></div>



<p>Nótese que esta fórmula solo considera los <strong>positivos</strong>, tanto los <strong>aciertos </strong>como los <strong>errores</strong>. Quiere decir que refleja el porcentaje de datos correctamente clasificados para la clase 1 (positiva).</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Interpretación de la precisión</h4>



<p>Los resultados de la precisión se interpretan de la siguiente manera:</p>



<ul class="wp-block-list">
<li><strong>Precisión alta (valores cercanos a 1)</strong>: Significa que la mayoría de las predicciones positivas del modelo son correctas. Es decir, el modelo tiene pocos <strong>falsos positivos</strong>. Es importante en escenarios donde los falsos positivos son costosos o críticos, como en el diagnóstico médico.</li>



<li><strong>Precisión baja (valores cercanos a 0)</strong>: Indica que el modelo realiza muchas predicciones positivas incorrectas, lo que sugiere un número elevado de falsos positivos.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Cálculo e interpretación en el ejemplo propuesto</h3>



<p>Calcularemos la precisión del modelo clasificador de reseñas:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\text{Precisión} = \frac{VP}{VP + FP} = \frac{90}{90 + 20} = \frac{90}{110} \approx 0.818 \tag{3.72}
</pre></div>



<p>La <strong>precisión </strong>es aproximadamente 81.8%, lo que significa que de todas las reseñas clasificadas como positivas, el 81.8% realmente son positivas.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Sensibilidad o Exhaustividad (Recall)</h3>



<p>La <strong>sensibilidad </strong>o <strong>exhaustividad </strong>es una métrica que mide el porcentaje de casos positivos correctamente identificados como positivos, considerando también aquellos positivos mal clasificados. Se calcula con la siguiente fórmula:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\text{Sensibilidad} = \frac{VP}{VP + FN} \tag{3.73}</pre></div>



<p>Esta fórmula se diferencia de la precisión porque considera a los <strong>falsos negativos (FN)</strong>, lo cual sucede porque su objetivo principal es medir la capacidad del modelo para identificar correctamente los casos positivos. Los falsos negativos representan los casos positivos que el modelo no logró detectar, por lo que son fundamentales para evaluar esta métrica. Si el modelo tiene un número alto de <strong>falsos negativos</strong>, significa que está fallando en detectar una gran cantidad de casos positivos. Esto reduce el valor de la Exhaustividad, indicando un desempeño deficiente en la detección de la clase positiva.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Interpretación de la sensibilidad </h4>



<p>Los resultados de la sensibilidad se interpretan de la siguiente manera:</p>



<ul class="wp-block-list">
<li><strong>Exhaustividad alta (valores cercanos a 1):</strong> El modelo es muy efectivo detectando los casos positivos. Es decir, tiene pocos falsos negativos. Esta métrica es ideal en escenarios donde es crucial no pasar por alto falsos negativos.</li>



<li><strong>Exhaustividad baja (valores cercanos a 0):</strong> Indica que el modelo falla al identificar muchos casos positivos, generando un alto número de falsos negativos.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Cálculo e interpretación en el ejemplo propuesto</h3>



<p>Calcularemos la sensibilidad del modelo clasificador de reseñas:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\text{Sensibilidad} = \frac{VP}{VP + FN} = \frac{90}{90 + 10} = \frac{90}{100} = 0.9
 \tag{3.74}
</pre></div>



<p>La <strong>sensibilidad </strong>obtenida es del 90%, lo que indica que nuestro modelo detecta correctamente el 90% de las <strong>reseñas positivas</strong>. Esta métrica es útil cuando queremos reducir los <strong>falsos negativos</strong>, priorizando que la mayoría de las reseñas positivas se clasifiquen correctamente.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/01/MEMC_K_2.jpg" alt="MEMC K 2" class="wp-image-11019" style="width:515px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 68" srcset="https://dialektico.com/wp-content/uploads/2025/01/MEMC_K_2.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/01/MEMC_K_2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Casi, pero tienen una pequeña/gran diferencia. Creo que esto se puede prestar a malinterpretaciones, así que revisemos con un poco más de detalle.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Diferencia entre Precisión (precision) y Sensibilidad (recall) | Opcional</h4>



<p>La precisión y la sensibilidad son métricas que calculan proporciones de verdaderos positivos, pero no sobre el mismo grupo de información. Considérese lo siguiente:</p>



<ul class="wp-block-list">
<li>La <strong>precisión </strong>se obtiene dividiendo los <strong>verdaderos positivos</strong> entre la suma de <strong>verdaderos positivos</strong> y <strong>falsos positivos</strong> (<strong><a href="https://dialektico.com/wp-content/uploads/2025/01/ec371.png">Ecuación 3.71</a></strong>). Recordemos que un falso positivo es una predicción errónea, lo cual significa que es un valor de la clase negativa (el modelo la asignó a la clase positiva, pero no acertó). Esto quiere decir que la precisión está obteniendo el porcentaje de predicciones correctas de la clase positiva entre las predicciones correctas e incorrectas de verdaderos positivos. Por lo tanto, un alto valor de precisión indica que el valor de los falsos positivos es bajo, y el modelo está clasificando datos correctamente en la clase positiva, entre otras palabras: de todas las <strong>predicciones positivas</strong> que hizo el modelo, cuántas son correctas.</li>



<li>Por otro lado, la <strong>sensibilidad </strong>es la proporción de <strong>verdaderos positivos</strong> entre la suma de<strong> verdaderos positivos</strong> y <strong>falsos negativos</strong> (<a href="https://dialektico.com/wp-content/uploads/2025/01/ec373.png">Ecuación 3.73</a>). Los falsos negativos son valores que el modelo clasificó incorrectamente, que en realidad eran positivos, pero se clasificaron como negativos. Esto significa que la sensibilidad toma en cuenta no solo los datos que el modelo asignó a la clase positiva, sino también los positivos que quedaron asignados a la clasificación incorrecta. Esto se traduce en que se calcula cuántos datos de la <strong>clase positiva</strong> fueron detectados entre todos los que corresponden realmente a este.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>¿Te parece un poco embrolloso?, lo resumiremos de esta forma:</p>



<ul class="wp-block-list">
<li>La <strong>precisión </strong>prioriza la <strong>minimización </strong>de los <strong>falsos positivos</strong>. Si necesitas que estos sean menores, utiliza esta métrica para ajustar los parámetros de tu modelo. Un ejemplo típico de esto es el <strong>diagnóstico médico</strong>, ya que un <strong>falso positivo</strong> se puede traducir en predecir incorrectamente una enfermedad (el positivo indica que el paciente está enfermo, por lo tanto, un falso positivo es un paciente mal diagnosticado con una enfermedad que no tiene), por lo que minimizar falsos positivos evita tratamientos innecesarios.</li>



<li>La <strong>sensibilidad minimiza </strong>los <strong>falsos negativos</strong>. Si la prioridad es que el modelo no de por alto estos casos, esta métrica es la indicada para realizar ajustes. Un ejemplo de esto es la <strong>detección de fraudes</strong>, donde un valor negativo indica que una transacción no es un fraude; imagina que el modelo predice de forma errónea que una transacción fraudulenta no es un fraude, esto implicaría pérdidas monetarias.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ahora mucho más resumido:</p>



<p>La importancia de la precisión o sensibilidad depende del contexto:</p>



<ul class="wp-block-list">
<li><strong>Priorizar precisión</strong>: Si es crucial minimizar los falsos positivos.</li>



<li><strong>Priorizar sensibilidad</strong>/<strong>recall</strong>: Si es crucial minimizar los falsos negativos.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><strong>Puntuación F1 (F1 Score)</strong></h3>



<p>Por último, el <strong>puntaje F1</strong> es una métrica que combina la <strong>precisión</strong> y el <strong>recall</strong> en un único valor que equilibra ambas métricas. Es especialmente útil cuando se desea un balance entre precisión y sensibilidad.</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre> \text{F1} = 2 \times \frac{\text{Precisión} \times \text{Exhaustividad}}{\text{Precisión} + \text{Exhaustividad}}
 \tag{3.75}</pre></div>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Interpretación del puntaje F1</h4>



<p>Los resultados de F1 se interpretan de la siguiente manera:</p>



<ul class="wp-block-list">
<li><strong>F1 alto (valores cercanos a 1):</strong> Indica que el modelo tiene un buen equilibrio entre precisión y sensibilidad (recall). Es decir, detecta correctamente la mayoría de los positivos reales (alta sensibilidad) y sus predicciones positivas son confiables (alta precisión).</li>



<li><strong>F1 bajo (valores cercanos a 0):</strong> Refleja un desempeño pobre del modelo, ya sea porque tiene baja precisión (muchos falsos positivos), baja sensibilidad (muchos falsos negativos), o ambos.</li>
</ul>



<p>El F1-Score es especialmente útil en escenarios donde:</p>



<ul class="wp-block-list">
<li>Hay un <strong>desequilibrio en las clases</strong> (una clase es mucho más frecuente que otra).</li>



<li>Es importante un <strong>balance entre precisión y recall</strong>.</li>



<li>Los <strong>falsos positivos y falsos negativos tienen un costo similar</strong>, y no se puede priorizar una métrica sobre la otra.</li>
</ul>



<p>F1 es un mediador entre <strong>sensibilidad </strong>y <strong>precisión</strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Cálculo e interpretación en el ejemplo propuesto</h3>



<p>Calcularemos el puntaje F1 del modelo clasificador de reseñas:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
F1 &amp;= 2 \cdot \frac{\text{Precisión} \cdot \text{Sensibilidad}}{\text{Precisión} + \text{Sensibilidad}} \\
   &amp;= 2 \cdot \frac{0.8181 \cdot 0.9}{0.8181 + 0.9} \\
   &amp;= 2 \cdot \frac{0.7363}{1.7181} \\
   &amp;= 2 \cdot 0.4286 \\
   &amp;= 0.8571
\end{aligned}</pre></div>



<p>El <strong>F1-Score</strong> obtenido es de aproximadamente 0.85, lo que indica que el modelo tiene un buen equilibrio entre precisión (0.81) y recall (0.90). Esto significa que:</p>



<ul class="wp-block-list">
<li>Aunque hay algunos falsos positivos, la mayoría de las predicciones positivas son correctas (<strong>precisión moderadamente alta</strong>).</li>



<li>El modelo es capaz de identificar correctamente una gran cantidad de reseñas positivas (<strong>recall/sensibilidad alta</strong>).</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-color has-link-color wp-elements-ab3a07d07aab51a754908fc5148c237a" style="color:#9f1212"><strong>Nota sobre las métricas de la matriz de confusión</strong></p>



<p>Las métricas antes expuestas, derivadas de la <strong>matriz de confusión</strong>, son muy variadas, pero la mayoría son poco conocidas. Esto es porque solo se suelen utilizar las que mencioné en la última lista. Sin embargo, como seguro ya saben, para mí es importante que tengan el conocimiento de todo el abanico de posibilidades que tienen a su disposición para evaluar modelos.</p>



<p>Una buena síntesis gráfica de estas medidas es la que se muestra en la <strong>Figura 3.7.5</strong>, donde se puede observar la relación que existe entre las métricas y los valores predichos y reales.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="960" height="776" src="https://dialektico.com/wp-content/uploads/2024/11/image.png" alt="image" class="wp-image-10898" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 69" srcset="https://dialektico.com/wp-content/uploads/2024/11/image.png 960w, https://dialektico.com/wp-content/uploads/2024/11/image-768x621.png 768w" sizes="(max-width: 960px) 100vw, 960px" /><figcaption class="wp-element-caption">F<strong>igura 3.7.5</strong> Métricas obtenidas mediante operaciones con los valores de una matriz de confusión. Recuperado de (<a href="https://en.wikipedia.org/wiki/Confusion_matrix" target="_blank" rel="noopener">&lt;&lt;Confusion matrix&gt;&gt; s. f., Wikipedia.org</a>).</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Esta imagen está en inglés porque proviene de <a href="https://en.wikipedia.org/wiki/Confusion_matrix" target="_blank" rel="noopener">Wikipedia</a> en inglés, y la traducción automática al español me pareció imprecisa. Creo que tiene una organización que vale la pena revisar.</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="512" height="512" src="https://dialektico.com/wp-content/uploads/2024/11/MEMC_meme.jpg" alt="MEMC meme" class="wp-image-10899" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 70"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2025/01/MEMC_D_1_2.jpg" alt="MEMC D 1 2" class="wp-image-11027" style="width:502px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 71" srcset="https://dialektico.com/wp-content/uploads/2025/01/MEMC_D_1_2.jpg 1200w, https://dialektico.com/wp-content/uploads/2025/01/MEMC_D_1_2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Que en este caso, son estas:</p>



<ol class="wp-block-list">
<li>&nbsp;Fawcett, Tom (2006).&nbsp;<a href="http://people.inf.elte.hu/kiss/11dwhdm/roc.pdf" target="_blank" rel="noopener">«An Introduction to ROC Analysis»</a>&nbsp;(PDF).&nbsp;<em>Pattern Recognition Letters</em>.&nbsp;<strong>27</strong>&nbsp;(8): 861–874.&nbsp;<a href="https://en.wikipedia.org/wiki/Doi_(identifier)" target="_blank" rel="noopener">doi</a>:<a href="https://doi.org/10.1016%2Fj.patrec.2005.10.010" target="_blank" rel="noopener">10.1016/j.patrec.2005.10.010</a>.&nbsp;<a href="https://en.wikipedia.org/wiki/S2CID_(identifier)" target="_blank" rel="noopener">S2CID</a>&nbsp;<a href="https://api.semanticscholar.org/CorpusID:2027090" target="_blank" rel="noopener">2027090</a>.</li>



<li>Provost, Foster; Tom Fawcett (2013-08-01).&nbsp;<a href="https://www.researchgate.net/publication/256438799" target="_blank" rel="noopener">«Data Science for Business: What You Need to Know about Data Mining and Data-Analytic Thinking»</a>.&nbsp;<em>O&#8217;Reilly Media, Inc</em>.</li>



<li>Powers, David M. W. (2011).&nbsp;<a href="https://www.researchgate.net/publication/228529307" target="_blank" rel="noopener">«Evaluation: From Precision, Recall and F-Measure to ROC, Informedness, Markedness &amp; Correlation»</a>.&nbsp;<em>Journal of Machine Learning Technologies</em>.&nbsp;<strong>2</strong>&nbsp;(1): 37–63.</li>



<li>Ting, Kai Ming (2011). Sammut, Claude; Webb, Geoffrey I. (eds.).&nbsp;<em>Encyclopedia of machine learning</em>. Springer.&nbsp;<a href="https://en.wikipedia.org/wiki/Doi_(identifier)" target="_blank" rel="noopener">doi</a>:<a href="https://doi.org/10.1007%2F978-0-387-30164-8" target="_blank" rel="noopener">10.1007/978-0-387-30164-8</a>.&nbsp;<a href="https://en.wikipedia.org/wiki/ISBN_(identifier)" target="_blank" rel="noopener">ISBN</a>&nbsp;<a href="https://en.wikipedia.org/wiki/Special:BookSources/978-0-387-30164-8" target="_blank" rel="noopener"><bdi>978-0-387-30164-8</bdi></a>.</li>



<li>Brooks, Harold; Brown, Barb; Ebert, Beth; Ferro, Chris; Jolliffe, Ian; Koh, Tieh-Yong; Roebber, Paul; Stephenson, David (2015-01-26).&nbsp;<a href="https://www.cawcr.gov.au/projects/verification/" target="_blank" rel="noopener">«WWRP/WGNE Joint Working Group on Forecast Verification Research»</a>.&nbsp;<em>Collaboration for Australian Weather and Climate Research</em>. World Meteorological Organisation. Retrieved&nbsp;2019-07-17.</li>



<li>Chicco D, Jurman G (January 2020).&nbsp;<a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6941312" target="_blank" rel="noopener">«The advantages of the Matthews correlation coefficient (MCC) over F1 score and accuracy in binary classification evaluation»</a>.&nbsp;<em>BMC Genomics</em>.&nbsp;<strong>21</strong>&nbsp;(1): 6-1–6-13.&nbsp;<a href="https://en.wikipedia.org/wiki/Doi_(identifier)" target="_blank" rel="noopener">doi</a>:<a href="https://doi.org/10.1186%2Fs12864-019-6413-7" target="_blank" rel="noopener">10.1186/s12864-019-6413-7</a>.&nbsp;<a href="https://en.wikipedia.org/wiki/PMC_(identifier)" target="_blank" rel="noopener">PMC</a>&nbsp;<a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6941312" target="_blank" rel="noopener">6941312</a>.&nbsp;<a href="https://en.wikipedia.org/wiki/PMID_(identifier)" target="_blank" rel="noopener">PMID</a>&nbsp;<a href="https://pubmed.ncbi.nlm.nih.gov/31898477" target="_blank" rel="noopener">31898477</a>.</li>



<li>Chicco D, Toetsch N, Jurman G (February 2021).&nbsp;<a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7863449" target="_blank" rel="noopener">«The Matthews correlation coefficient (MCC) is more reliable than balanced accuracy, bookmaker informedness, and markedness in two-class confusion matrix evaluation»</a>.&nbsp;<em>BioData Mining</em>.&nbsp;<strong>14</strong>&nbsp;(13): 13.&nbsp;<a href="https://en.wikipedia.org/wiki/Doi_(identifier)" target="_blank" rel="noopener">doi</a>:<a href="https://doi.org/10.1186%2Fs13040-021-00244-z" target="_blank" rel="noopener">10.1186/s13040-021-00244-z</a>.&nbsp;<a href="https://en.wikipedia.org/wiki/PMC_(identifier)" target="_blank" rel="noopener">PMC</a>&nbsp;<a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7863449" target="_blank" rel="noopener">7863449</a>.&nbsp;<a href="https://en.wikipedia.org/wiki/PMID_(identifier)" target="_blank" rel="noopener">PMID</a>&nbsp;<a href="https://pubmed.ncbi.nlm.nih.gov/33541410" target="_blank" rel="noopener">33541410</a>.</li>



<li>Tharwat A. (August 2018).&nbsp;<a href="https://doi.org/10.1016%2Fj.aci.2018.08.003" target="_blank" rel="noopener">«Classification assessment methods»</a>.&nbsp;<em>Applied Computing and Informatics</em>.&nbsp;<strong>17</strong>: 168–192.&nbsp;<a href="https://en.wikipedia.org/wiki/Doi_(identifier)" target="_blank" rel="noopener">doi</a>:<a href="https://doi.org/10.1016%2Fj.aci.2018.08.003" target="_blank" rel="noopener">10.1016/j.aci.2018.08.003</a>.</li>
</ol>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En fin, solo estoy divagando de nuevo. Volvamos a donde estábamos.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



            <div class='ays-quiz-container ays_quiz_classic_light   ays-quiz-keyboard-active' data-quest-effect='shake'  data-hide-bg-image='false' id='ays-quiz-container-23'>
                
                
                <div class='ays-questions-container'>
                    
                    
                    
                    <form action='' method='post' id='ays_finish_quiz_23' 
                        class='ays-quiz-form enable_correction enable_questions_result '
                    >
            <input type='hidden' value='list' class='answer_view_class'>
            <input type='hidden' value='' class='ays_qm_enable_arrows'>
            <audio id='ays_quiz_right_ans_sound_23' class='ays_quiz_right_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound.wav'></audio><audio id='ays_quiz_wrong_ans_sound_23' class='ays_quiz_wrong_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound-1.wav'></audio>
            
            <div class='step active-step'>
                <div class='ays-abs-fs ays-start-page'>
                    
                    
                    
                    <div class='ays-fs-subtitle'><p>Contesta las siguientes preguntas</p>
</div>
                    <input type='hidden' name='ays_quiz_id' value='23'/>
                    <input type='hidden' name='ays_quiz_finish_nonce' value='7cec930025'>
                    <input type='hidden' name='ays_quiz_curent_page_link' class='ays-quiz-curent-page-link' value='https://dialektico.com/categoria/analisis-de-datos/feed/'/>
                    <input type='hidden' name='ays_quiz_questions' value='64,65,66,67'>
                    
                    
                    <input type='button'   class='ays_next start_button action-button ays-quiz-keyboard-active' value='EMPEZAR' data-enable-leave-page="false" />
                    
                    </div>
                </div><div class='step  ' data-question-id='64' data-type='checkbox'>
                    
                    
                    <p class='ays-question-counter animated'>1 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Cuáles de las siguientes son métricas derivadas de la matriz de confusión?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-64]' id='ays-answer-222-23' value='222'/>

                <label for='ays-answer-222-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Sensibilidad.</label><label for='ays-answer-222-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-64]' id='ays-answer-223-23' value='223'/>

                <label for='ays-answer-223-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Luminosidad.</label><label for='ays-answer-223-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-64]' id='ays-answer-224-23' value='224'/>

                <label for='ays-answer-224-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Verosimilitud.</label><label for='ays-answer-224-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-64]' id='ays-answer-225-23' value='225'/>

                <label for='ays-answer-225-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Exactitud.</label><label for='ays-answer-225-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_23 === 'undefined'){
                window.quizOptions_23 = [];
            }
            window.quizOptions_23['64'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>La sensibilidad y la exactitud son medidas calculadas mediante valores de la matriz de confusión.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='65' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>2 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Qué metrica se utiliza para medir el balance entre la sensibilidad y la precisión?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-65]' id='ays-answer-226-23' value='226'/>

                <label for='ays-answer-226-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Sensibilidad.</label><label for='ays-answer-226-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-65]' id='ays-answer-227-23' value='227'/>

                <label for='ays-answer-227-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Puntaje F1</label><label for='ays-answer-227-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-65]' id='ays-answer-228-23' value='228'/>

                <label for='ays-answer-228-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Exactitud.</label><label for='ays-answer-228-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-65]' id='ays-answer-229-23' value='229'/>

                <label for='ays-answer-229-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Precisión.</label><label for='ays-answer-229-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_23 === 'undefined'){
                window.quizOptions_23 = [];
            }
            window.quizOptions_23['65'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>El Puntaje F1 mide el balance entre la sensibilidad y la precisión.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='66' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>3 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Qué metrica se utiliza si necesito minimizar los falsos positivos?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-66]' id='ays-answer-230-23' value='230'/>

                <label for='ays-answer-230-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Sensibilidad.</label><label for='ays-answer-230-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-66]' id='ays-answer-231-23' value='231'/>

                <label for='ays-answer-231-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Puntaje F1</label><label for='ays-answer-231-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-66]' id='ays-answer-232-23' value='232'/>

                <label for='ays-answer-232-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Exactitud.</label><label for='ays-answer-232-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-66]' id='ays-answer-233-23' value='233'/>

                <label for='ays-answer-233-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Precisión.</label><label for='ays-answer-233-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_23 === 'undefined'){
                window.quizOptions_23 = [];
            }
            window.quizOptions_23['66'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>La precisión minimiza los falsos positivos.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='67' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>4 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Cuál de los siguientes es un error de tipo 1?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-67]' id='ays-answer-234-23' value='234'/>

                <label for='ays-answer-234-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Falso negativo.</label><label for='ays-answer-234-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-67]' id='ays-answer-235-23' value='235'/>

                <label for='ays-answer-235-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Verdadero negativo.</label><label for='ays-answer-235-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-67]' id='ays-answer-236-23' value='236'/>

                <label for='ays-answer-236-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Verdadero positivo.</label><label for='ays-answer-236-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-67]' id='ays-answer-237-23' value='237'/>

                <label for='ays-answer-237-23' class='  ays_position_initial  ays-quiz-keyboard-label'>Falso positivo.</label><label for='ays-answer-237-23' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_23 === 'undefined'){
                window.quizOptions_23 = [];
            }
            window.quizOptions_23['67'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays-quiz-keyboard-active ays_arrow ays_display_none" tabindex='0'></i>
                            <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active '  value='ANTERIOR' /><i class='ays_display_none ays_fa ays_fa_flag_checkered ays_finish action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active' tabindex='0'></i><input type='submit' name='ays_finish_quiz' class='  ays_next ays_finish action-button ays-quiz-keyboard-active' value='VER TOTAL'/></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Un falso positivo es también conocido como error de tipo 1.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step ays_thank_you_fs'>
            <div class='ays-abs-fs ays-end-page'><div data-class='lds-facebook' data-role='loader' class='ays-loader'><div></div><div></div><div></div></div><div class='ays_quiz_results_page'><div class='ays_score_message'></div><div class='ays_message'></div><p class='ays_score ays_score_display_none animated'>Tu puntación es </p><p class='ays_average'>La puntuación media es  80%</p><div class='ays-progress third'>
                <span class='ays-progress-value third'>0%</span>
                <div class='ays-progress-bg third'>
                    <div class='ays-progress-bar third' style='width:0%;'></div>
                </div>
            </div><p class='ays_restart_button_p'><button type='button' class='action-button ays_restart_button ays-quiz-keyboard-active'>
                    <i class='ays_fa ays_fa_undo'></i>
                    <span>Reiniciar Prueba</span>
                </button></p></div>
            </div>
        </div><style>
            div#ays-quiz-container-23 * {
                box-sizing: border-box;
            }

            #ays-quiz-container-23 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                width: 90%;
            }

            /* Styles for Internet Explorer start */
            #ays-quiz-container-23 #ays_finish_quiz_23 {
                
            }

            /* Styles for Quiz container */
            #ays-quiz-container-23{
                min-height: 350px;
                width:400px;
                background-color:#ffffff;
                background-position:center center;background-image: url('https://dialektico.com/wp-content/uploads/2022/08/Q3.jpg');border-radius:0px;box-shadow: none;border-width: 3px;border-style: solid;border-color: #000;}

            /* Styles for questions */
            #ays-quiz-container-23 #ays_finish_quiz_23 div.step {
                min-height: 350px;
            }

            /* Styles for text inside quiz container */
            #ays-quiz-container-23 .ays-start-page *:not(input):not([class^='enlighter']),
            #ays-quiz-container-23 .ays_question_hint,
            #ays-quiz-container-23 label[for^="ays-answer-"],
            #ays-quiz-container-23 #ays_finish_quiz_23 p,
            #ays-quiz-container-23 #ays_finish_quiz_23 .ays-fs-title,
            #ays-quiz-container-23 .ays-fs-subtitle,
            #ays-quiz-container-23 .logged_in_message,
            #ays-quiz-container-23 .ays_score_message,
            #ays-quiz-container-23 .ays_message{
               color: #0a0a0a;
               outline: none;
            }

            div#ays-quiz-container-23 .ays_question_hint.ays-quiz-keyboard-active,
            div#ays-quiz-container-23 .ays_restart_button.ays-quiz-keyboard-active {
                outline: revert;
            }

            #ays-quiz-container-23 .ays-quiz-password-message-box,
            #ays-quiz-container-23 .ays-quiz-question-note-message-box,
            #ays-quiz-container-23 .ays_quiz_question,
            #ays-quiz-container-23 .ays-quiz-question-category-box,
            #ays-quiz-container-23 .ays_quiz_question *:not([class^='enlighter']) {
                color: #0a0a0a;
            }

            #ays-quiz-container-23 .ays-quiz-question-category-box em {
                color: #0a0a0a;
            }

            #ays-quiz-container-23 textarea,
            #ays-quiz-container-23 input::first-letter,
            #ays-quiz-container-23 select::first-letter,
            #ays-quiz-container-23 option::first-letter {
                color: initial !important;
            }
            
            #ays-quiz-container-23 p::first-letter:not(.ays_no_questions_message) {
                color: #0a0a0a !important;
                background-color: transparent !important;
                font-size: inherit !important;
                font-weight: inherit !important;
                float: none !important;
                line-height: inherit !important;
                margin: 0 !important;
                padding: 0 !important;
            }
            
            
            #ays-quiz-container-23 .select2-container,
            #ays-quiz-container-23 .ays-field * {
                font-size: 15px !important;
            }
    
            #ays-quiz-container-23 .ays_quiz_question p {
                font-size: 16px;
                text-align: inherit;
            }

            #ays-quiz-container-23 .ays-fs-subtitle p {
                text-align:  center ;
            }

            #ays-quiz-container-23 .ays_quiz_question {
                text-align:  center ;
                margin-bottom: 10px;
            }

            #ays-quiz-container-23 .ays_quiz_question pre {
                max-width: 100%;
                white-space: break-spaces;
            }

            /* Mango theme (Version: 1.4.202301041836) | tid=32449 | Start */
            #ays-quiz-container-23 .ays_quiz_question img {
                float: unset;
                margin: 0;
            }
            /* Mango theme (Version: 1.4.202301041836) | End */

            #ays-quiz-container-23 .ays-quiz-timer p {
                font-size: 16px;
            }

            #ays-quiz-container-23 section.ays_quiz_redirection_timer_container hr,
            #ays-quiz-container-23 section.ays_quiz_timer_container hr {
                margin: 0;
            }

            #ays-quiz-container-23 section.ays_quiz_timer_container.ays_quiz_timer_red_warning .ays-quiz-timer {
                color: #ff0000;
            }

            #ays-quiz-container-23 .ays_thank_you_fs p {
                text-align: center;
            }

            #ays-quiz-container-23 .ays_quiz_results_page .ays_score span {
                visibility: visible;
            }

            #ays-quiz-container-23 input[type='button'],
            #ays-quiz-container-23 input[type='submit'] {
                color: #ffffff !important;
            }

            #ays-quiz-container-23 input[type='button']{
                outline: none;
            }

            #ays-quiz-container-23 .information_form input[type='text'],
            #ays-quiz-container-23 .information_form input[type='url'],
            #ays-quiz-container-23 .information_form input[type='number'],
            #ays-quiz-container-23 .information_form input[type='email'],
            #ays-quiz-container-23 .information_form input[type='checkbox'],
            #ays-quiz-container-23 .information_form input[type='tel'],
            #ays-quiz-container-23 .information_form textarea,
            #ays-quiz-container-23 .information_form select,
            #ays-quiz-container-23 .information_form option {
                color: initial !important;
                outline: none;
                background-image: unset;
            }

            #ays-quiz-container-23 .wrong_answer_text{
                color:#ff4d4d;
            }
            #ays-quiz-container-23 .right_answer_text{
                color:#33cc33;
            }

            #ays-quiz-container-23 .wrong_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-23 .ays_questtion_explanation p {
                font-size:16px;
            }

            #ays-quiz-container-23 .wrong_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-23 .ays_questtion_explanation *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-23 .right_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-23 .right_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-23 .ays-quiz-question-note-message-box p {
                font-size:14px;
            }

            #ays-quiz-container-23 .ays-quiz-question-note-message-box *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }
            
            #ays-quiz-container-23 .ays_cb_and_a,
            #ays-quiz-container-23 .ays_cb_and_a * {
                color: rgb(10,10,10);
                text-align: center;
            }

            /* Quiz textarea height */
            #ays-quiz-container-23 textarea {
                height: 100px;
                min-height: 100px;
            }

            /* Quiz rate and passed users count */
            #ays-quiz-container-23 .ays_quizn_ancnoxneri_qanak,
            #ays-quiz-container-23 .ays_quiz_rete_avg {
                color:#ffffff !important;
                background-color:#0a0a0a;   
            }

            #ays-quiz-container-23 .ays-questions-container > .ays_quizn_ancnoxneri_qanak {
                padding: 5px 20px;
            }
            #ays-quiz-container-23 div.for_quiz_rate.ui.star.rating .icon {
                color: rgba(10,10,10,0.35);
            }
            #ays-quiz-container-23 .ays_quiz_rete_avg div.for_quiz_rate_avg.ui.star.rating .icon {
                color: rgba(255,255,255,0.5);
            }

            #ays-quiz-container-23 .ays_quiz_rete .ays-quiz-rate-link-box .ays-quiz-rate-link {
                color: #0a0a0a;
            }

            /* Loaders */            
            #ays-quiz-container-23 div.lds-spinner,
            #ays-quiz-container-23 div.lds-spinner2 {
                color: #0a0a0a;
            }
            #ays-quiz-container-23 div.lds-spinner div:after,
            #ays-quiz-container-23 div.lds-spinner2 div:after {
                background-color: #0a0a0a;
            }
            #ays-quiz-container-23 .lds-circle,
            #ays-quiz-container-23 .lds-facebook div,
            #ays-quiz-container-23 .lds-ellipsis div{
                background: #0a0a0a;
            }
            #ays-quiz-container-23 .lds-ripple div{
                border-color: #0a0a0a;
            }
            #ays-quiz-container-23 .lds-dual-ring::after,
            #ays-quiz-container-23 .lds-hourglass::after{
                border-color: #0a0a0a transparent #0a0a0a transparent;
            }

            /* Stars */
            #ays-quiz-container-23 .ui.rating .icon,
            #ays-quiz-container-23 .ui.rating .icon:before {
                font-family: Rating !important;
            }

            /* Progress bars */
            #ays-quiz-container-23 #ays_finish_quiz_23 .ays-progress {
                border-color: rgba(10,10,10,0.8);
            }
            #ays-quiz-container-23 #ays_finish_quiz_23 .ays-progress-bg {
                background-color: rgba(10,10,10,0.3);
            }    
            #ays-quiz-container-23 .ays-progress-value {
                color: #0a0a0a;
                text-align: center;
            }
            #ays-quiz-container-23 .ays-progress-bar {
                background-color: #9e0505;
            }
            #ays-quiz-container-23 .ays-question-counter .ays-live-bar-wrap {
                direction:ltr !important;
            }
            #ays-quiz-container-23 .ays-live-bar-fill{
                color: #0a0a0a;
                border-bottom: 2px solid rgba(10,10,10,0.8);
                text-shadow: 0px 0px 5px #ffffff;
            }
            #ays-quiz-container-23 .ays-live-bar-fill.ays-live-fourth,
            #ays-quiz-container-23 .ays-live-bar-fill.ays-live-third,
            #ays-quiz-container-23 .ays-live-bar-fill.ays-live-second {
                text-shadow: unset;
            }
            #ays-quiz-container-23 .ays-live-bar-percent{
                display:none;
            }
            #ays-quiz-container-23 #ays_finish_quiz_23 .ays_average {
                text-align: center;
            }
            
            /* Music, Sound */
            #ays-quiz-container-23 .ays_music_sound {
                color:rgb(10,10,10);
            }

            /* Dropdown questions scroll bar */
            #ays-quiz-container-23 blockquote {
                border-left-color: #0a0a0a !important;                                      
            }

            /* Quiz Password */
            #ays-quiz-container-23 .ays-start-page > input[id^='ays_quiz_password_val_'],
            #ays-quiz-container-23 .ays-quiz-password-toggle-visibility-box {
                width: 100%;
            }


            /* Question hint */
            #ays-quiz-container-23 .ays_question_hint_container .ays_question_hint_text {
                background-color:#ffffff;
                box-shadow: 0 0 15px 3px rgba(10,10,10,0.35);
                max-width: 270px;
            }

            #ays-quiz-container-23 .ays_question_hint_container .ays_question_hint_text p {
                max-width: unset;
            }

            #ays-quiz-container-23 .ays-quiz-additonal-box {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                position: relative;  
            }

            #ays-quiz-container-23 .ays_questions_hint_max_width_class {
                max-width: 80%;
            }

            /* Information form */
            #ays-quiz-container-23 .ays-form-title{
                color:rgb(10,10,10);
            }

            /* Quiz timer */
            #ays-quiz-container-23 div.ays-quiz-redirection-timer,
            #ays-quiz-container-23 div.ays-quiz-timer{
                color: #0a0a0a;
                text-align: center;
            }

            #ays-quiz-container-23 div.ays-quiz-timer.ays-quiz-message-before-timer:before {
                font-weight: 500;
            }

            /* Quiz title / transformation */
            #ays-quiz-container-23 .ays-fs-title{
                text-transform: uppercase;
                font-size: 21px;
                text-align: center;
                    text-shadow: none;
            }
            
            /* Quiz buttons */
            #ays-quiz-container-23 .ays_arrow {
                color:#ffffff!important;
            }
            #ays-quiz-container-23 input#ays-submit,
            #ays-quiz-container-23 #ays_finish_quiz_23 .action-button,
            div#ays-quiz-container-23 #ays_finish_quiz_23 .action-button.ays_restart_button,
            #ays-quiz-container-23 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-23 .ays-quiz-category-selective-submit-bttn {
                background: none;
                background-color: #9e0505;
                color:#ffffff;
                font-size: 17px;
                padding: 10px 20px;
                border-radius: 3px;
                height: auto;
                letter-spacing: 0;
                box-shadow: unset;
                width: auto;
                /* border: unset; */
                min-height: unset;
                line-height: normal;
                text-shadow: unset;
            }
            #ays-quiz-container-23 input#ays-submit,
            #ays-quiz-container-23 #ays_finish_quiz_23 input.action-button,
            #ays-quiz-container-23 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-23 .ays-quiz-category-selective-submit-bttn {
                
            }

            #ays-quiz-container-23 #ays_finish_quiz_23 .action-button.ays_check_answer {
                padding: 5px 10px;
                font-size: 17px !important;
            }
            #ays-quiz-container-23 #ays_finish_quiz_23 .action-button.ays_restart_button {
                white-space: nowrap;
                padding: 5px 10px;
                white-space: normal;
            }
            #ays-quiz-container-23 input#ays-submit:hover,
            #ays-quiz-container-23 input#ays-submit:focus,
            #ays-quiz-container-23 #ays_finish_quiz_23 .action-button:hover,
            #ays-quiz-container-23 #ays_finish_quiz_23 .action-button:focus,
            #ays-quiz-container-23 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
            #ays-quiz-container-23 .ays-quiz-category-selective-submit-bttn:hover {
                background: none;
                box-shadow: 0 0 0 2px #ffffff;
                background-color: #9e0505;
            }
            #ays-quiz-container-23 .ays_restart_button {
                color: #ffffff;
            }
            
            #ays-quiz-container-23 .ays_restart_button_p,
            #ays-quiz-container-23 .ays_buttons_div {
                justify-content: center;
            }

            #ays-quiz-container-23 .ays_finish.action-button{
                margin: 10px 5px;
            }

            #ays-quiz-container-23 .ays-share-btn.ays-share-btn-branded {
                color: #fff;
                display: inline-block;
            }

            #ays-quiz-container-23 .ays_quiz_results .ays-field.checked_answer_div.correct_div input:checked+label {
                background-color: transparent;
            }
                        
            /* Question answers */
            #ays-quiz-container-23 .ays-field {
                    border-color: #444;
                    border-style: solid;
                    border-width: 1px;
                    box-shadow: none;flex-direction: row-reverse;
            }
            

            /* Answer maximum length of a text field */
            #ays-quiz-container-23 .ays_quiz_question_text_message{
                color: #0a0a0a;
                text-align: left;
                font-size: 12px;
            }

            div#ays-quiz-container-23 div.ays_quiz_question_text_error_message {
                color: #ff0000;
            }

            /* Questions answer image */
            #ays-quiz-container-23 .ays-answer-image {
                width:15em;
                height:150px;
                object-fit: cover;
            }
            
            #ays-quiz-container-23 .ays-quiz-answers .ays-field:hover:not(.ays-answered-text-input){
                opacity: 1;
            }
            #ays-quiz-container-23 #ays_finish_quiz_23 .ays-field label.ays_answer_caption[for^='ays-answer-'] {
                z-index: 1;
                position:initial;bottom:0;}
            #ays-quiz-container-23 #ays_finish_quiz_23 .ays-field input~label[for^='ays-answer-'] {
                padding: 5px;
            }

            #ays-quiz-container-23 #ays_finish_quiz_23 .ays-field {
                margin-bottom: 10px;
            }
            #ays-quiz-container-23 #ays_finish_quiz_23 .ays-field.ays_grid_view_item {
                width: calc(50% - 5px);
            }
            #ays-quiz-container-23 #ays_finish_quiz_23 .ays-field.ays_grid_view_item:nth-child(odd) {
                margin-right: 5px;
            }
            
            #ays-quiz-container-23 #ays_finish_quiz_23 .ays-field input:checked+label:before {
                border-color: #9e0505;
                background: #9e0505;
                background-clip: content-box;
            }
            #ays-quiz-container-23 .ays-quiz-answers div.ays-text-right-answer {
                color: #0a0a0a;
            }
                        
            /* Questions answer right/wrong icons */
            #ays-quiz-container-23 .ays-field input~label.answered.correct:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/correct.png');          }
            #ays-quiz-container-23 .ays-field input~label.answered.wrong:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/wrong.png');
            }
            #ays-quiz-container-23 .ays-field label.answered:last-of-type:after{
                display: none;
                height: auto;
                left: 10px;top: 10px;}
            /* Dropdown questions */            
            #ays-quiz-container-23 #ays_finish_quiz_23 .ays-field .select2-container--default .select2-selection--single {
                border-bottom: 2px solid #9e0505;
                background-color: #9e0505;
            }
            
            #ays-quiz-container-23 .ays-field .select2-container--default .select2-selection--single .select2-selection__placeholder,
            #ays-quiz-container-23 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-23 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow {
                color: #f5f5f5;
            }

            #ays-quiz-container-23 .select2-container--default .select2-search--dropdown .select2-search__field:focus,
            #ays-quiz-container-23 .select2-container--default .select2-search--dropdown .select2-search__field {
                outline: unset;
                padding: 0.75rem;
            }

            #ays-quiz-container-23 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-23 .select2-container--default .select2-results__option--highlighted[aria-selected] {
                background-color: #9e0505;
            }

            #ays-quiz-container-23 .ays-field .select2-container--default,
            #ays-quiz-container-23 .ays-field .select2-container--default .selection,
            #ays-quiz-container-23 .ays-field .select2-container--default .dropdown-wrapper,
            #ays-quiz-container-23 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-23 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered .select2-selection__placeholder,
            #ays-quiz-container-23 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow,
            #ays-quiz-container-23 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow b[role='presentation'] {
                font-size: 16px !important;
            }

            #ays-quiz-container-23 .select2-container--default .select2-results__option {
                padding: 6px;
            }
            
            /* Dropdown questions scroll bar */
            #ays-quiz-container-23 .select2-results__options::-webkit-scrollbar {
                width: 7px;
            }
            #ays-quiz-container-23 .select2-results__options::-webkit-scrollbar-track {
                background-color: rgba(255,255,255,0.35);
            }
            #ays-quiz-container-23 .select2-results__options::-webkit-scrollbar-thumb {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.55);
            }
            #ays-quiz-container-23 .select2-results__options::-webkit-scrollbar-thumb:hover {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.85);
            }

            /* Audio / Video */
            #ays-quiz-container-23 .mejs-container .mejs-time{
                box-sizing: unset;
            }
            #ays-quiz-container-23 .mejs-container .mejs-time-rail {
                padding-top: 15px;
            }

            #ays-quiz-container-23 .mejs-container .mejs-mediaelement video {
                margin: 0;
            }

            /* Limitation */
            #ays-quiz-container-23 .ays-quiz-limitation-count-of-takers {
                padding: 50px;
            }

            #ays-quiz-container-23 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-show,
            #ays-quiz-container-23 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-hide{
                color: #0a0a0a;
            }

            #ays-quiz-container-23 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-23 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-23 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #0a0a0a;
            }

            #ays-quiz-container-23.ays_quiz_elegant_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after,
            #ays-quiz-container-23.ays_quiz_rect_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #000;
            }

            /* Hestia theme (Version: 3.0.16) | Start */
            #ays-quiz-container-23 .mejs-container .mejs-inner .mejs-controls .mejs-button > button:hover,
            #ays-quiz-container-23 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                box-shadow: unset;
                background-color: transparent;
            }
            #ays-quiz-container-23 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                margin: 10px 6px;
            }
            /* Hestia theme (Version: 3.0.16) | End */

            /* Go theme (Version: 1.4.3) | Start */
            #ays-quiz-container-23 label[for^='ays-answer']:before,
            #ays-quiz-container-23 label[for^='ays-answer']:before {
                -webkit-mask-image: unset;
                mask-image: unset;
            }

            #ays-quiz-container-23.ays_quiz_classic_light .ays-field input:checked+label.answered.correct:before,
            #ays-quiz-container-23.ays_quiz_classic_dark .ays-field input:checked+label.answered.correct:before {
                background-color: #9e0505 !important;
                background-color: rgba(39,174,96, 1) !important;
            }
            /* Go theme (Version: 1.4.3) | End */

            #ays-quiz-container-23 .ays_quiz_results fieldset.ays_fieldset .ays_quiz_question .wp-video {
                width: 100% !important;
                max-width: 100%;
            }

            /* Classic Dark / Classic Light */
            /* Dropdown questions right/wrong styles */
            #ays-quiz-container-23.ays_quiz_classic_dark .correct_div,
            #ays-quiz-container-23.ays_quiz_classic_light .correct_div{
                border-color:green !important;
                opacity: 1 !important;
                background-color: rgba(39,174,96,0.4) !important;
            }
            #ays-quiz-container-23.ays_quiz_classic_dark .correct_div .selected-field,
            #ays-quiz-container-23.ays_quiz_classic_light .correct_div .selected-field {
                padding: 0px 10px 0px 10px;
                color: green !important;
            }

            #ays-quiz-container-23.ays_quiz_classic_dark .wrong_div,
            #ays-quiz-container-23.ays_quiz_classic_light .wrong_div{
                border-color:red !important;
                opacity: 1 !important;
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-23.ays_quiz_classic_dark .ays-field.checked_answer_div.wrong_div input:checked~label,
            #ays-quiz-container-23.ays_quiz_classic_light .ays-field.checked_answer_div.wrong_div input:checked~label {
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-23.ays_quiz_classic_dark .ays-field,
            #ays-quiz-container-23.ays_quiz_classic_light .ays-field {
                text-align: left;
                /*margin-bottom: 10px;*/
                padding: 0;
                transition: .3s ease-in-out;
            }

            #ays-quiz-container-23 .ays-quiz-close-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-23 .ays-quiz-open-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-23 .ays_quiz_login_form p{
                color: #0a0a0a;
            }

            /* report questions modal start */
            .ays-modal-reports {
                display: none;
                position: fixed;
                z-index: 9999;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                overflow: auto;
                background-color: rgba(0, 0, 0, 0.4);
                animation-duration: .5s;
                background-color: rgba(0, 0, 0, 0.4);
            }

            #ays-quiz-question-report-modal-23 .ays-modal-content-reports {
                background-color: #fefefe;
                margin: 10% auto;
                border: 1px solid #888;
                max-width: 500px;
                width: 100%;
                border-radius: 10px;
                padding: 20px;
                box-sizing: border-box;
                position: relative;
            }

            #ays-quiz-question-report-modal-23 .ays-modal-content-reports label{
                display: block;
                margin-bottom: 10px;
                font-weight: bold;
                letter-spacing: normal;
            }

            #ays-quiz-question-report-modal-23 .ays-modal-content-reports textarea {
                display: block;
                width: 100%;
                height: 100px;
                padding: 5px;
                box-sizing: border-box;
                border-radius: 5px;
                border: 1px solid #ccc;
                max-width: 100%;
                max-height: 500px;
                resize: vertical;
                transition: unset;
            }

            #ays-quiz-question-report-modal-23 .ays-modal-content-reports input.ays-quiz-submit-question-report {
                background-color: #0073aa;
                color: #fff !important;
                border: none;
                border-radius: 5px;
                padding: 10px 20px;
                cursor: pointer;
                margin-top: 20px;
                line-height: normal;
                letter-spacing: normal;
                box-shadow: unset;
                background-image: unset;
            }

            #ays-quiz-question-report-modal-23 .ays-close-reports-window {
                color: #aaa;
                font-weight: bold;
                position: absolute;
                top: 1%;
                right: 1%;
            }

            #ays-quiz-question-report-modal-23 .ays-close-reports-window img {
                box-shadow: unset;
            }
            
            #ays-quiz-question-report-modal-23 .ays-quiz-preloader img {
                box-shadow: unset;
            }

            #ays-quiz-question-report-modal-23 .ays-close-reports-window img:hover,
            #ays-quiz-question-report-modal-23 .ays-close-reports-window img:focus {
                cursor: pointer;
            }

            #ays-quiz-question-report-modal-23 .ays-quiz-question-report-error {
                display: none;
                font-size: 13px;
                color: #f00;
                text-align: left;
            }

            #ays-quiz-question-report-modal-23 .ays-quiz-question-report-textarea-label,
            #ays-quiz-question-report-modal-23 .ays-quiz-question-report-title {
                text-align: left;
            }

            #ays-quiz-question-report-modal-23 .ays_quiz_modal_overlay {
                width: 100%;
                height: 100%;
                position: fixed;
                top: 0;
                left: 0;
                position: absolute;
                z-index: 1000000000;
                flex-direction: column;
            }

            #ays-quiz-question-report-modal-23 .ays-quiz-container .ays-quiz-user-cհoosing-anonymous-assessment {
                margin: 10px 0;
            }

            /* report questions modal end */

            @media screen and (max-width: 768px){
                #ays-quiz-container-23{
                    max-width: 100%;
                }

                div#ays-quiz-container-23 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                    width: 90%;
                }

                #ays-quiz-container-23 .ays_quiz_question p {
                    font-size: 16px;
                }

                #ays-quiz-container-23 .select2-container,
                #ays-quiz-container-23 .ays-field * {
                    font-size: 15px !important;
                }

                div#ays-quiz-container-23 input#ays-submit,
                div#ays-quiz-container-23 #ays_finish_quiz_23 .action-button,
                div#ays-quiz-container-23 #ays_finish_quiz_23 .action-button.ays_restart_button,
                #ays-quiz-container-23 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
                #ays-quiz-container-23 .ays-quiz-category-selective-submit-bttn {
                    font-size: 17px;
                }

                /* Quiz title / mobile font size */
                div#ays-quiz-container-23 .ays-fs-title {
                    font-size: 21px;
                }

                /* Question explanation / mobile font size */
                #ays-quiz-container-23 .ays_questtion_explanation p {
                    font-size:16px;
                }

                /* Wrong answers / mobile font size */
                #ays-quiz-container-23 .wrong_answer_text p {
                    font-size:16px;
                }

                /* Right answers / mobile font size */
                #ays-quiz-container-23 .right_answer_text p {
                    font-size:16px;
                }

                /* Note text / mobile font size */
                #ays-quiz-container-23 .ays-quiz-question-note-message-box p {
                    font-size:14px;
                }

                div#ays-quiz-container-23 .ays-quiz-question-note-message-box *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-23 .ays_questtion_explanation *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-23 .right_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-23 .wrong_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }
            }
            /* Custom css styles */
            @media screen and (max-width: 768px)
div#ays-quiz-container-5 input#ays-submit, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    font-size: 17px;
    letter-spacing: 1.5px;
}

#ays-quiz-container-5 input#ays-submit, #ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    background: none;
    background-color: #9e0505;
    color: #ffffff;
    font-size: 17px;
    padding: 10px 20px;
    border-radius: 3px;
    height: auto;
    letter-spacing: 1.5px;
    box-shadow: unset;
}
            
            /* RTL direction styles */
            
        </style>
            <style>
                #ays-quiz-container-23 p {
                    margin: 0.625em;
                }
                
                #ays-quiz-container-23 .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }

                #ays-quiz-container-23.ays_quiz_classic_light  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-23.ays_quiz_classic_dark  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-23.ays_quiz_classic_light  .enable_correction .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-23.ays_quiz_classic_dark  .enable_correction .ays-field.checked_answer_div input:checked~label {
                    background-color: transparent;
                }

                #ays-quiz-container-23.ays_quiz_classic_light  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-23.ays_quiz_classic_dark  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-23.ays_quiz_classic_light  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-23.ays_quiz_classic_dark  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }
                
                #ays-quiz-container-23 .ays-field.checked_answer_div input:checked~label:hover {
                    background-color: rgba(158,5,5,0.8);
                }

                #ays-quiz-container-23.ays-quiz-container.ays_quiz_classic_light .ays-questions-container .ays-field:hover label[for^='ays-answer-'],
                #ays-quiz-container-23 .ays-field:hover:not(.ays-answered-text-input){
                    background: rgba(158,5,5,0.8);
                    /* border-radius: 4px; */
                    color: #fff;
                    transition: all .3s;
                }
                #ays-quiz-container-23 #ays_finish_quiz_23 .action-button:hover,
                #ays-quiz-container-23 #ays_finish_quiz_23 .action-button:focus,
                #ays-quiz-container-23 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
                #ays-quiz-container-23 .ays-quiz-category-selective-submit-bttn:focus {
                    box-shadow: 0 0 0 2px white, 0 0 0 3px #9e0505;
                    background: #9e0505;
                }
            </style><script>
                if(typeof aysQuizOptions === 'undefined'){
                    var aysQuizOptions = [];
                }
                aysQuizOptions['23']  = 'eyJxdWl6X3ZlcnNpb24iOiI2LjYuNy4wIiwiY29yZV92ZXJzaW9uIjoiNi43LjEiLCJwaHBfdmVyc2lvbiI6IjguMi4yMyIsImNvbG9yIjoiIzllMDUwNSIsImJnX2NvbG9yIjoiI2ZmZmZmZiIsInRleHRfY29sb3IiOiIjMGEwYTBhIiwiaGVpZ2h0IjozNTAsIndpZHRoIjo0MDAsImVuYWJsZV9sb2dnZWRfdXNlcnMiOiJvZmYiLCJpbmZvcm1hdGlvbl9mb3JtIjoiZGlzYWJsZSIsImZvcm1fbmFtZSI6bnVsbCwiZm9ybV9lbWFpbCI6bnVsbCwiZm9ybV9waG9uZSI6bnVsbCwiaW1hZ2Vfd2lkdGgiOiIiLCJpbWFnZV9oZWlnaHQiOiIiLCJlbmFibGVfY29ycmVjdGlvbiI6Im9uIiwiZW5hYmxlX3Byb2dyZXNzX2JhciI6Im9uIiwiZW5hYmxlX3F1ZXN0aW9uc19yZXN1bHQiOiJvbiIsInJhbmRvbWl6ZV9xdWVzdGlvbnMiOiJvZmYiLCJyYW5kb21pemVfYW5zd2VycyI6Im9mZiIsImVuYWJsZV9xdWVzdGlvbnNfY291bnRlciI6Im9uIiwiZW5hYmxlX3Jlc3RyaWN0aW9uX3Bhc3MiOiJvZmYiLCJyZXN0cmljdGlvbl9wYXNzX21lc3NhZ2UiOiIiLCJ1c2VyX3JvbGUiOltdLCJjdXN0b21fY3NzIjoiQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpXHJcbmRpdiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcbn1cclxuXHJcbiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCAjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzllMDUwNTtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xyXG4gICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbn0iLCJsaW1pdF91c2VycyI6Im9mZiIsImxpbWl0YXRpb25fbWVzc2FnZSI6IiIsInJlZGlyZWN0X3VybCI6IiIsInJlZGlyZWN0aW9uX2RlbGF5IjowLCJhbnN3ZXJzX3ZpZXciOiJsaXN0IiwiZW5hYmxlX3J0bF9kaXJlY3Rpb24iOiJvZmYiLCJlbmFibGVfbG9nZ2VkX3VzZXJzX21lc3NhZ2UiOiIiLCJxdWVzdGlvbnNfY291bnQiOiIiLCJlbmFibGVfcXVlc3Rpb25fYmFuayI6Im9mZiIsImVuYWJsZV9saXZlX3Byb2dyZXNzX2JhciI6Im9mZiIsImVuYWJsZV9wZXJjZW50X3ZpZXciOiJvZmYiLCJlbmFibGVfYXZlcmFnZV9zdGF0aXN0aWNhbCI6Im9uIiwiZW5hYmxlX25leHRfYnV0dG9uIjoib24iLCJlbmFibGVfcHJldmlvdXNfYnV0dG9uIjoib24iLCJlbmFibGVfYXJyb3dzIjoib2ZmIiwidGltZXJfdGV4dCI6IiIsInF1aXpfdGhlbWUiOiJjbGFzc2ljX2xpZ2h0IiwiZW5hYmxlX3NvY2lhbF9idXR0b25zIjoib2ZmIiwicmVzdWx0X3RleHQiOiIiLCJlbmFibGVfcGFzc19jb3VudCI6Im9mZiIsImhpZGVfc2NvcmUiOiJvZmYiLCJyYXRlX2Zvcm1fdGl0bGUiOiIiLCJib3hfc2hhZG93X2NvbG9yIjoicmdiYSgxMCwxMCwxMCwwLjM1KSIsInF1aXpfYm9yZGVyX3JhZGl1cyI6IjAiLCJxdWl6X2JnX2ltYWdlIjoiaHR0cHM6XC9cL2RpYWxla3RpY28uY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDIyXC8wOFwvUTMuanBnIiwicXVpel9ib3JkZXJfd2lkdGgiOiIzIiwicXVpel9ib3JkZXJfc3R5bGUiOiJzb2xpZCIsInF1aXpfYm9yZGVyX2NvbG9yIjoiIzAwMCIsInF1aXpfbG9hZGVyIjoiZmFjZWJvb2siLCJjcmVhdGVfZGF0ZSI6bnVsbCwiYXV0aG9yIjoie1wiaWRcIjpcIjFcIixcIm5hbWVcIjpcIkRhbmllbCBEaWFsXFx1MDBlOWt0aWNvXCJ9IiwicXVlc3RfYW5pbWF0aW9uIjoic2hha2UiLCJmb3JtX3RpdGxlIjoiIiwiZW5hYmxlX2JnX211c2ljIjoib2ZmIiwicXVpel9iZ19tdXNpYyI6IiIsImFuc3dlcnNfZm9udF9zaXplIjoxNSwic2hvd19jcmVhdGVfZGF0ZSI6Im9mZiIsInNob3dfYXV0aG9yIjoib2ZmIiwiZW5hYmxlX2Vhcmx5X2ZpbmlzaCI6Im9mZiIsImFuc3dlcnNfcndfdGV4dHMiOiJvbl9wYXNzaW5nIiwiZGlzYWJsZV9zdG9yZV9kYXRhIjoib2ZmIiwiZW5hYmxlX2JhY2tncm91bmRfZ3JhZGllbnQiOiJvZmYiLCJiYWNrZ3JvdW5kX2dyYWRpZW50X2NvbG9yXzEiOiIjMDAwIiwiYmFja2dyb3VuZF9ncmFkaWVudF9jb2xvcl8yIjoiI2ZmZiIsInF1aXpfZ3JhZGllbnRfZGlyZWN0aW9uIjoidmVydGljYWwiLCJyZWRpcmVjdF9hZnRlcl9zdWJtaXQiOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfdXJsIjoiIiwic3VibWl0X3JlZGlyZWN0X2RlbGF5IjoiMCIsInByb2dyZXNzX2Jhcl9zdHlsZSI6InRoaXJkIiwiZW5hYmxlX2V4aXRfYnV0dG9uIjoib2ZmIiwiZXhpdF9yZWRpcmVjdF91cmwiOiIiLCJpbWFnZV9zaXppbmciOiJjb3ZlciIsInF1aXpfYmdfaW1hZ2VfcG9zaXRpb24iOiJjZW50ZXIgY2VudGVyIiwiY3VzdG9tX2NsYXNzIjoiIiwiZW5hYmxlX3NvY2lhbF9saW5rcyI6Im9mZiIsInNvY2lhbF9saW5rcyI6eyJsaW5rZWRpbl9saW5rIjoiIiwiZmFjZWJvb2tfbGluayI6IiIsInR3aXR0ZXJfbGluayI6IiIsInZrb250YWt0ZV9saW5rIjoiIiwiaW5zdGFncmFtX2xpbmsiOiIiLCJ5b3V0dWJlX2xpbmsiOiIiLCJiZWhhbmNlX2xpbmsiOiIifSwic2hvd19xdWl6X3RpdGxlIjoib2ZmIiwic2hvd19xdWl6X2Rlc2MiOiJvbiIsInNob3dfbG9naW5fZm9ybSI6Im9mZiIsIm1vYmlsZV9tYXhfd2lkdGgiOiIiLCJsaW1pdF91c2Vyc19ieSI6ImlwIiwiYWN0aXZlX2RhdGVfY2hlY2siOiJvZmYiLCJhY3RpdmVJbnRlcnZhbCI6IjIwMjUtMDEtMjMgMDI6MDA6NDQiLCJkZWFjdGl2ZUludGVydmFsIjoiMjAyNS0wMS0yMyAwMjowMDo0NCIsImFjdGl2ZV9kYXRlX3ByZV9zdGFydF9tZXNzYWdlIjoiVGhlIHF1aXogd2lsbCBiZSBhdmFpbGFibGUgc29vbiEiLCJhY3RpdmVfZGF0ZV9tZXNzYWdlIjoiXHUwMGExRWwgdGVzdCBoYSBleHBpcmFkbyEiLCJleHBsYW5hdGlvbl90aW1lIjoiNCIsImVuYWJsZV9jbGVhcl9hbnN3ZXIiOiJvZmYiLCJzaG93X2NhdGVnb3J5Ijoib2ZmIiwic2hvd19xdWVzdGlvbl9jYXRlZ29yeSI6Im9mZiIsImRpc3BsYXlfc2NvcmUiOiJieV9wZXJjYW50YWdlIiwiZW5hYmxlX3J3X2FzbndlcnNfc291bmRzIjoib24iLCJhbnNfcmlnaHRfd3JvbmdfaWNvbiI6ImRlZmF1bHQiLCJxdWl6X2JnX2ltZ19pbl9maW5pc2hfcGFnZSI6Im9mZiIsImZpbmlzaF9hZnRlcl93cm9uZ19hbnN3ZXIiOiJvZmYiLCJhZnRlcl90aW1lcl90ZXh0IjoiIiwiZW5hYmxlX2VudGVyX2tleSI6Im9uIiwiYnV0dG9uc190ZXh0X2NvbG9yIjoiI2ZmZmZmZiIsImJ1dHRvbnNfcG9zaXRpb24iOiJjZW50ZXIiLCJzaG93X3F1ZXN0aW9uc19leHBsYW5hdGlvbiI6Im9uX3Bhc3NpbmciLCJlbmFibGVfYXVkaW9fYXV0b3BsYXkiOiJvZmYiLCJidXR0b25zX3NpemUiOiJtZWRpdW0iLCJidXR0b25zX2ZvbnRfc2l6ZSI6IjE3IiwiYnV0dG9uc193aWR0aCI6IiIsImJ1dHRvbnNfbGVmdF9yaWdodF9wYWRkaW5nIjoiMjAiLCJidXR0b25zX3RvcF9ib3R0b21fcGFkZGluZyI6IjEwIiwiYnV0dG9uc19ib3JkZXJfcmFkaXVzIjoiMyIsImVuYWJsZV9sZWF2ZV9wYWdlIjoib24iLCJlbmFibGVfdGFja2Vyc19jb3VudCI6Im9mZiIsInRhY2tlcnNfY291bnQiOiIiLCJwYXNzX3Njb3JlIjowLCJwYXNzX3Njb3JlX21lc3NhZ2UiOiI8aDQgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj5Db25ncmF0dWxhdGlvbnMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IHBhc3NlZCB0aGUgcXVpeiE8XC9wPiIsImZhaWxfc2NvcmVfbWVzc2FnZSI6IjxoNCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlclwiPk9vcHMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IGhhdmUgbm90IHBhc3NlZCB0aGUgcXVpeiFcclxuVHJ5IGFnYWluITxcL3A+IiwicXVlc3Rpb25fZm9udF9zaXplIjoxNiwicXVpel93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVlc3Rpb25zX2hpbnRfaWNvbl9vcl90ZXh0IjoiZGVmYXVsdCIsInF1ZXN0aW9uc19oaW50X3ZhbHVlIjoiIiwiZW5hYmxlX2Vhcmx5X2ZpbnNoX2NvbWZpcm1fYm94Ijoib24iLCJlbmFibGVfcXVlc3Rpb25zX29yZGVyaW5nX2J5X2NhdCI6Im9mZiIsInNob3dfc2NoZWR1bGVfdGltZXIiOiJvZmYiLCJzaG93X3RpbWVyX3R5cGUiOiJjb3VudGRvd24iLCJxdWl6X2xvYWRlcl90ZXh0X3ZhbHVlIjoiIiwiaGlkZV9jb3JyZWN0X2Fuc3dlcnMiOiJvZmYiLCJzaG93X2luZm9ybWF0aW9uX2Zvcm0iOiJvbiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWYiOiIiLCJkaXNhYmxlX2hvdmVyX2VmZmVjdCI6Im9mZiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWZfd2lkdGgiOjEwMCwicHJvZ3Jlc3NfbGl2ZV9iYXJfc3R5bGUiOiJkZWZhdWx0IiwicXVpel90aXRsZV90cmFuc2Zvcm1hdGlvbiI6InVwcGVyY2FzZSIsInNob3dfYW5zd2Vyc19udW1iZXJpbmciOiJub25lIiwicXVpel9pbWFnZV93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVpel9pbWFnZV9oZWlnaHQiOiIiLCJxdWl6X2JnX2ltZ19vbl9zdGFydF9wYWdlIjoib2ZmIiwicXVpel9ib3hfc2hhZG93X3hfb2Zmc2V0IjowLCJxdWl6X2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYm94X3NoYWRvd196X29mZnNldCI6MTUsInF1aXpfcXVlc3Rpb25fdGV4dF9hbGlnbm1lbnQiOiJjZW50ZXIiLCJxdWl6X2Fycm93X3R5cGUiOiJkZWZhdWx0IiwicXVpel9zaG93X3dyb25nX2Fuc3dlcnNfZmlyc3QiOiJvZmYiLCJxdWl6X2Rpc3BsYXlfYWxsX3F1ZXN0aW9ucyI6Im9mZiIsInF1aXpfdGltZXJfcmVkX3dhcm5pbmciOiJvZmYiLCJxdWl6X3NjaGVkdWxlX3RpbWV6b25lIjoiQW1lcmljYVwvTWV4aWNvX0NpdHkiLCJxdWVzdGlvbnNfaGludF9idXR0b25fdmFsdWUiOiIiLCJxdWl6X3RhY2tlcnNfbWVzc2FnZSI6Ilx1MDBhMUVzdGUgdGVzdCBoYSBleHBpcmFkbyEiLCJxdWl6X2VuYWJsZV9saW5rZWRpbl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfZW5hYmxlX2ZhY2Vib29rX3NoYXJlX2J1dHRvbiI6Im9uIiwicXVpel9lbmFibGVfdHdpdHRlcl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfbWFrZV9yZXNwb25zZXNfYW5vbnltb3VzIjoib2ZmIiwicXVpel9tYWtlX2FsbF9yZXZpZXdfbGluayI6Im9mZiIsInNob3dfcXVlc3Rpb25zX251bWJlcmluZyI6Im5vbmUiLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3RpbWVyIjoiIiwiZW5hYmxlX3Bhc3N3b3JkIjoib2ZmIiwicGFzc3dvcmRfcXVpeiI6IiIsInF1aXpfcGFzc3dvcmRfbWVzc2FnZSI6IiIsImVuYWJsZV9zZWVfcmVzdWx0X2NvbmZpcm1fYm94Ijoib2ZmIiwiZGlzcGxheV9maWVsZHNfbGFiZWxzIjoib2ZmIiwiZW5hYmxlX2Z1bGxfc2NyZWVuX21vZGUiOiJvZmYiLCJxdWl6X2VuYWJsZV9wYXNzd29yZF92aXNpYmlsaXR5Ijoib2ZmIiwicXVlc3Rpb25fbW9iaWxlX2ZvbnRfc2l6ZSI6MTYsImFuc3dlcnNfbW9iaWxlX2ZvbnRfc2l6ZSI6MTUsInNvY2lhbF9idXR0b25zX2hlYWRpbmciOiIiLCJxdWl6X2VuYWJsZV92a29udGFrdGVfc2hhcmVfYnV0dG9uIjoib24iLCJhbnN3ZXJzX2JvcmRlciI6Im9uIiwiYW5zd2Vyc19ib3JkZXJfd2lkdGgiOjEsImFuc3dlcnNfYm9yZGVyX3N0eWxlIjoic29saWQiLCJhbnN3ZXJzX2JvcmRlcl9jb2xvciI6IiM0NDQiLCJzb2NpYWxfbGlua3NfaGVhZGluZyI6IiIsInF1aXpfZW5hYmxlX3F1ZXN0aW9uX2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwiYW5zd2Vyc19tYXJnaW4iOjEwLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3JlZGlyZWN0X3RpbWVyIjoiIiwiYnV0dG9uc19tb2JpbGVfZm9udF9zaXplIjoxNywiYW5zd2Vyc19ib3hfc2hhZG93Ijoib2ZmIiwiYW5zd2Vyc19ib3hfc2hhZG93X2NvbG9yIjoiIzAwMCIsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeF9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfel9vZmZzZXQiOjEwLCJxdWl6X2NyZWF0ZV9hdXRob3IiOjEsInF1aXpfZW5hYmxlX3RpdGxlX3RleHRfc2hhZG93Ijoib2ZmIiwicXVpel90aXRsZV90ZXh0X3NoYWRvd19jb2xvciI6IiMzMzMiLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3hfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3lfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3pfb2Zmc2V0IjoyLCJxdWl6X3Nob3dfb25seV93cm9uZ19hbnN3ZXJzIjoib2ZmIiwicXVpel90aXRsZV9mb250X3NpemUiOjIxLCJxdWl6X3RpdGxlX21vYmlsZV9mb250X3NpemUiOjIxLCJxdWl6X3Bhc3N3b3JkX3dpZHRoIjoiIiwicXVpel9yZXZpZXdfcGxhY2Vob2xkZXJfdGV4dCI6IiIsInF1aXpfbWFrZV9yZXZpZXdfcmVxdWlyZWQiOiJvZmYiLCJxdWl6X2VuYWJsZV9yZXN1bHRzX3RvZ2dsZSI6Im9mZiIsInF1aXpfcmV2aWV3X3RoYW5rX3lvdV9tZXNzYWdlIjoiIiwicXVpel9yZXZpZXdfZW5hYmxlX2NvbW1lbnRfZmllbGQiOiJvbiIsInF1ZXN0X2V4cGxhbmF0aW9uX2ZvbnRfc2l6ZSI6MTYsInF1ZXN0X2V4cGxhbmF0aW9uX21vYmlsZV9mb250X3NpemUiOjE2LCJxdWl6X3dhaXRpbmdfdGltZSI6Im9mZiIsIndyb25nX2Fuc3dlcnNfZm9udF9zaXplIjoxNiwid3JvbmdfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9lbmFibGVfcXVlc3Rpb25faW1hZ2Vfem9vbSI6Im9mZiIsInJpZ2h0X2Fuc3dlcnNfZm9udF9zaXplIjoxNiwicmlnaHRfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9kaXNwbGF5X21lc3NhZ2VzX2JlZm9yZV9idXR0b25zIjoib2ZmIiwicXVpel9lbmFibGVfdXNlcl9jXHUwNTcwb29zaW5nX2Fub255bW91c19hc3Nlc3NtZW50Ijoib2ZmIiwibm90ZV90ZXh0X2ZvbnRfc2l6ZSI6MTQsIm5vdGVfdGV4dF9tb2JpbGVfZm9udF9zaXplIjoxNCwicXVpel9xdWVzdGlvbnNfbnVtYmVyaW5nX2J5X2NhdGVnb3J5Ijoib2ZmIiwicXVpel9lbmFibGVfY3VzdG9tX3RleHRzX2Zvcl9idXR0b25zIjoib2ZmIiwicXVpel9jdXN0b21fdGV4dHNfc3RhcnRfYnV0dG9uIjoiRU1QRVpBUiIsInF1aXpfY3VzdG9tX3RleHRzX25leHRfYnV0dG9uIjoiU0lHVUlFTlRFIiwicXVpel9jdXN0b21fdGV4dHNfcHJldl9idXR0b24iOiJBTlRFUklPUiIsInF1aXpfY3VzdG9tX3RleHRzX2NsZWFyX2J1dHRvbiI6IkxJTVBJQVIiLCJxdWl6X2N1c3RvbV90ZXh0c19maW5pc2hfYnV0dG9uIjoiRklOQUxJWkFSIiwicXVpel9jdXN0b21fdGV4dHNfc2VlX3Jlc3VsdHNfYnV0dG9uIjoiVkVSIFRPVEFMIiwicXVpel9jdXN0b21fdGV4dHNfcmVzdGFydF9xdWl6X2J1dHRvbiI6IlJlaW5pY2lhciBQcnVlYmEiLCJxdWl6X2N1c3RvbV90ZXh0c19zZW5kX2ZlZWRiYWNrX2J1dHRvbiI6IkVudmlhciBjb21lbnRhcmlvcyIsInF1aXpfY3VzdG9tX3RleHRzX2xvYWRfbW9yZV9idXR0b24iOiJDYXJnYXIgbVx1MDBlMXMiLCJxdWl6X2N1c3RvbV90ZXh0c19leGl0X2J1dHRvbiI6IlNhbGlyIiwicXVpel9jdXN0b21fdGV4dHNfY2hlY2tfYnV0dG9uIjoiQ2hlY2siLCJxdWl6X2N1c3RvbV90ZXh0c19sb2dpbl9idXR0b24iOiJMb2cgSW4iLCJxdWl6X2VuYWJsZV9xdWl6X2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwicXVpel9hZG1pbl9ub3RlX3RleHRfdHJhbnNmb3JtIjoibm9uZSIsInF1aXpfcXVlc3RfZXhwbGFuYXRpb25fdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel9yaWdodF9hbnN3ZXJfdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel93cm9uZ19hbnN3ZXJfdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel9hZG1pbl9ub3RlX3RleHRfZGVjb3JhdGlvbiI6Im5vbmUiLCJxdWl6X3F1ZXN0X2V4cGxhbmF0aW9uX3RleHRfZGVjb3JhdGlvbiI6Im5vbmUiLCJxdWl6X3JpZ2h0X2Fuc3dlcnNfdGV4dF9kZWNvcmF0aW9uIjoibm9uZSIsInF1aXpfd3JvbmdfYW5zd2Vyc190ZXh0X2RlY29yYXRpb24iOiJub25lIiwicXVpel9hZG1pbl9ub3RlX2xldHRlcl9zcGFjaW5nIjoiMCIsInF1aXpfYmdfaW1nX2R1cmluZ190aGVfcXVpeiI6Im9mZiIsInF1aXpfcXVlc3RfZXhwbGFuYXRpb25fbGV0dGVyX3NwYWNpbmciOiIwIiwicXVpel9yaWdodF9hbnN3ZXJzX2xldHRlcl9zcGFjaW5nIjoiMCIsInF1aXpfd3JvbmdfYW5zd2Vyc19sZXR0ZXJfc3BhY2luZyI6IjAiLCJxdWl6X2FkbWluX25vdGVfZm9udF93ZWlnaHQiOiJub3JtYWwiLCJxdWl6X3F1ZXN0X2V4cGxhbmF0aW9uX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel9yaWdodF9hbnN3ZXJzX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel93cm9uZ19hbnN3ZXJzX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel9jb250ZW50X21heF93aWR0aCI6OTAsInF1aXpfY29udGVudF9tb2JpbGVfbWF4X3dpZHRoIjo5MCwicmVxdWlyZWRfZmllbGRzIjpudWxsLCJlbmFibGVfdGltZXIiOiJvZmYiLCJlbmFibGVfcXVpel9yYXRlIjoib2ZmIiwiZW5hYmxlX3JhdGVfYXZnIjoib2ZmIiwiZW5hYmxlX2JveF9zaGFkb3ciOiJvZmYiLCJlbmFibGVfYm9yZGVyIjoib24iLCJxdWl6X3RpbWVyX2luX3RpdGxlIjoib2ZmIiwiZW5hYmxlX3JhdGVfY29tbWVudHMiOiJvZmYiLCJlbmFibGVfcmVzdGFydF9idXR0b24iOiJvbiIsImF1dG9maWxsX3VzZXJfZGF0YSI6Im9mZiIsInRpbWVyIjoxMDAsInNob3dfYW5zd2Vyc19jYXB0aW9uIjoib24iLCJxdWl6X2VuYWJsZV9rZXlib2FyZF9uYXZpZ2F0aW9uIjoib24iLCJzaG93X3F1aXpfaW1hZ2UiOiJvbiIsInF1aXpfZW5hYmxlX3doYXRzYXBwX3NoYXJlX2J1dHRvbiI6Im9mZiIsInN1Ym1pdF9yZWRpcmVjdF9hZnRlciI6IiIsInJ3X2Fuc3dlcnNfc291bmRzIjp0cnVlLCJpZCI6IjIzIiwidGl0bGUiOiJNXHUwMGU5dHJpY2FzIGRlIGNsYXNpZmljYWNpXHUwMGYzbiAyIiwiZGVzY3JpcHRpb24iOiJDb250ZXN0YSBsYXMgc2lndWllbnRlcyBwcmVndW50YXMiLCJxdWl6X2ltYWdlIjoiIiwicXVpel9jYXRlZ29yeV9pZCI6IjIiLCJxdWVzdGlvbl9pZHMiOiI2NCw2NSw2Niw2NyIsIm9yZGVyaW5nIjoiMjMiLCJwdWJsaXNoZWQiOiIxIiwiaW50ZXJ2YWxzIjpudWxsLCJxdWl6X3VybCI6IiIsImN1c3RvbV9wb3N0X2lkIjpudWxsLCJhdXRob3JfaWQiOiIwIiwicXVpel9hbmltYXRpb25fdG9wIjoxMDAsInF1aXpfZW5hYmxlX2FuaW1hdGlvbl90b3AiOiJvbiJ9';
        </script>
                    <input type='hidden' name='quiz_id' value='23'/>
                    <input type='hidden' name='start_date' class='ays-start-date'/>
                </form></div>
                            </div>
                            



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Métricas de evaluación de modelos de clasificación con Python</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Espadas_1.jpg" alt="Preprocesamiento de datos dialéktico" class="wp-image-6961" style="width:139px" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 72" srcset="https://dialektico.com/wp-content/uploads/2024/04/Espadas_1.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Espadas_1-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Pasemos al campo de batalla. En esta práctica calcularemos medidas de evaluación de los modelos de clasificación que trabajamos en la <a href="https://dialektico.com/introduccion-a-la-regresion-lineal/">introducción a la regresión logística</a>, y haremos el análisis de los resultados, para derivar las conclusiones correspondientes.</p>



<figure class="wp-block-image aligncenter size-full is-resized is-resized, mi-imagen-pulsa" id="colab"><a href="https://colab.research.google.com/github/DanielDialektico/dialektico-machine-learning-practices/blob/main/notebooks/Machine%20Learning/Aprendizaje%20Supervisado/M%C3%A9tricas_modelo_clasificaci%C3%B3n.ipynb" target="_blank" rel="noopener"><img loading="lazy" decoding="async" width="860" height="422" src="https://dialektico.com/wp-content/uploads/2022/07/Boton.png" alt="colab" class="wp-image-1469" style="width:182px;height:auto" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 73" srcset="https://dialektico.com/wp-content/uploads/2022/07/Boton.png 860w, https://dialektico.com/wp-content/uploads/2022/07/Boton-300x147.png 300w, https://dialektico.com/wp-content/uploads/2022/07/Boton-768x377.png 768w" sizes="(max-width: 860px) 100vw, 860px" /></a></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Puedes previsualizar el contenido aquí:</p>



<script src="https://gist.github.com/DanielDialektico/4f4cd880d1787db420c09de917ed29ab.js"></script>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Así concluye esta (un poco) larga sesión. Estas <strong>métricas </strong>las verás varias veces a lo largo de tu carrera, es por eso que le hemos dedicado especial detalle. En la siguiente aventura hablaremos sobre el subajuste y sobreajuste de modelos de machine learning, otro tópico altamente relevante para la ciencia de datos.</p>



<figure class="wp-block-image aligncenter size-large is-resized mi-imagen-pulsa"><a href="https://dialektico.com/subajuste-sobreajuste-teoria-programacion/"><img loading="lazy" decoding="async" width="300" height="147" src="https://dialektico.com/wp-content/uploads/2024/07/image-4.png" alt="image 4" class="wp-image-8874" style="width:186px;height:91px" title="Matriz de confusión y métricas de evaluación de modelos de clasificación 74"></a></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://dialektico.com/metricas-clasificacion-matriz-confusion/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Métricas de evaluación de modelos de regresión</title>
		<link>https://dialektico.com/metricas-de-evaluacion-de-modelos-de-regresion/</link>
					<comments>https://dialektico.com/metricas-de-evaluacion-de-modelos-de-regresion/#respond</comments>
		
		<dc:creator><![CDATA[Daniel Dialéktico]]></dc:creator>
		<pubDate>Thu, 07 Nov 2024 06:45:55 +0000</pubDate>
				<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Análisis de Datos]]></category>
		<category><![CDATA[Ciencia de datos]]></category>
		<guid isPermaLink="false">https://dialektico.com/?p=10691</guid>

					<description><![CDATA[Hasta ahora hemos conocido las características clave de los datos y cómo llevar a cabo su análisis y preprocesamiento, hemos utilizado algoritmos de machine learning para entrenar modelos de regresión y clasificación, y hemos aprendido recientemente cómo las funciones de pérdida miden sus capacidades predictivas, principalmente durante la etapa de entrenamiento. Hoy vamos a detenernos [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Hasta ahora hemos conocido las <strong>características </strong>clave de los <strong>datos </strong>y cómo llevar a cabo su análisis y <strong><a href="https://dialektico.com/introduccion-preprocesamiento/">preprocesamiento</a></strong>, hemos utilizado algoritmos de <strong>machine learning</strong> para entrenar modelos de <strong>regresión </strong>y <strong>clasificación</strong>, y hemos aprendido recientemente cómo las <strong>funciones de pérdida</strong> miden sus capacidades predictivas, principalmente durante la etapa de <strong>entrenamiento</strong>. Hoy vamos a detenernos a explorar cómo evaluar el rendimiento final de modelos de <strong>machine learning</strong> de regresión una vez que sus <strong>parámetros</strong> son ajustados.</p>



<p>Durante esta travesía conocerás las <strong>métricas </strong>más utilizadas para medir el desempeño de modelos de regresión, su finalidad, definición, análisis, y el cómo utilizarlas con <strong>Python</strong>.</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="847" src="https://dialektico.com/wp-content/uploads/2024/10/MEAR_Nivel.jpg" alt="métricas de evaluación para modelos de regresión dialéktico" class="wp-image-10692" style="width:600px;height:auto" title="Métricas de evaluación de modelos de regresión 75" srcset="https://dialektico.com/wp-content/uploads/2024/10/MEAR_Nivel.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/10/MEAR_Nivel-768x635.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h6 class="wp-block-heading has-text-align-center">Inventario recomendado</h6>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg" alt="métricas de evaluación para modelos de regresión dialéktico" class="wp-image-7016" style="width:196px;height:auto" title="Métricas de evaluación de modelos de regresión 76" srcset="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Matemáticas: algo de álgebra, probabilidad y estadística</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/MathMagic.jpg" alt="Matemáticas" class="wp-image-6982" style="width:400px" title="Métricas de evaluación de modelos de regresión 77" srcset="https://dialektico.com/wp-content/uploads/2024/04/MathMagic.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/MathMagic-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Fundamentos del <a href="https://dialektico.com/aprendizaje-supervisado/">aprendizaje supervisado</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2023/03/ML_elem.jpg" alt="aprendizaje supervisado" class="wp-image-10137" style="width:416px;height:auto" title="Métricas de evaluación de modelos de regresión 78" srcset="https://dialektico.com/wp-content/uploads/2023/03/ML_elem.jpg 1024w, https://dialektico.com/wp-content/uploads/2023/03/ML_elem-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong><a href="https://dialektico.com/introduccion-a-la-regresion-lineal/">Regresión lineal</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><a href="https://dialektico.com/introduccion-a-la-regresion-lineal/"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/RL_OB.jpg" alt="regresión lineal" class="wp-image-8027" style="width:400px" title="Métricas de evaluación de modelos de regresión 79" srcset="https://dialektico.com/wp-content/uploads/2024/05/RL_OB.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/RL_OB-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></a></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong><a href="https://dialektico.com/funciones-de-perdida-machine-learning/">Funciones de pérdida</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/07/FDP_Objeto.jpg" alt="funciones de pérdida" class="wp-image-10561" style="width:400px;height:auto" title="Métricas de evaluación de modelos de regresión 80" srcset="https://dialektico.com/wp-content/uploads/2024/07/FDP_Objeto.jpg 800w, https://dialektico.com/wp-content/uploads/2024/07/FDP_Objeto-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong><a href="https://dialektico.com/google-colab/">Google Colab</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec.jpg" alt="Colab" class="wp-image-7521" style="width:400px" title="Métricas de evaluación de modelos de regresión 81" srcset="https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Programación en <a href="https://www.python.org/" target="_blank" rel="noopener">Python</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/Python_Eq.jpg" alt="python" class="wp-image-7522" style="width:400px" title="Métricas de evaluación de modelos de regresión 82" srcset="https://dialektico.com/wp-content/uploads/2024/05/Python_Eq.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/Python_Eq-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Algún aperitivo</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/10/MEAR_aperitivo.jpg" alt="métricas de evaluación para modelos de regresión dialéktico" class="wp-image-10696" style="width:444px;height:auto" title="Métricas de evaluación de modelos de regresión 83" srcset="https://dialektico.com/wp-content/uploads/2024/10/MEAR_aperitivo.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/10/MEAR_aperitivo-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center has-text-color" id="aprendizaje-supervisado-que-es" style="color:#840303">Métricas de evaluación de modelos de regresión: cuáles y cómo utilizarlas</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg" alt="Pergamino_3" class="wp-image-6960" style="width:125px" title="Métricas de evaluación de modelos de regresión 84" srcset="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Después de finalizar el <a href="https://dialektico.com/wp-content/uploads/2022/06/Flujo_ML_IN_4.jpg">ajuste</a> de los <strong>parámetros </strong>de un <strong>modelo </strong>mediante un algoritmo de <a href="https://dialektico.com/introduccion-machine-learning/"><strong>aprendizaje automático</strong></a>, siempre será necesario <strong>evaluar </strong>qué tan capaz es de realizar cálculos eficientes sobre <a href="https://dialektico.com/datos-machine-learning/">datos</a> nuevos. Para esto, se utilizan <strong>métricas </strong>que operan sobre el <a href="https://dialektico.com/conjuntos-train-dev-test/">conjunto de datos de prueba</a> y un grupo predicciones realizadas con la <strong>función </strong>obtenida. En esta ocasión, aprenderemos sobre <strong>medidas </strong>que son frecuentemente utilizadas para evaluar <strong>modelos de regresión</strong> (modelos que realizan predicciones sobre valores en el espectro continuo), y que son parte medular de todo proceso post-entrenamiento.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2024/10/MEAR_M1.jpg" alt="métricas de evaluación para modelos de regresión mmerf" class="wp-image-10711" style="width:598px;height:auto" title="Métricas de evaluación de modelos de regresión 85" srcset="https://dialektico.com/wp-content/uploads/2024/10/MEAR_M1.jpg 1080w, https://dialektico.com/wp-content/uploads/2024/10/MEAR_M1-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Métricas para evaluar modelos de regresión</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Existe una rica diversidad de medidas que puedes utilizar para determinar qué tan bien realiza estimaciones un <strong>modelo </strong>entrenado con <strong>machine learning</strong>. Para este fin, podemos utilizar <strong><a href="https://dialektico.com/funciones-de-perdida-machine-learning/">funciones de pérdida</a></strong> como las que hemos visto en la exploración correspondiente, donde podemos recordar las siguientes para modelos de regresión:</p>



<ul class="wp-block-list">
<li>Error cuadrático medio (<em>Mean Squared Error</em>, MSE).</li>



<li>Error absoluto medio (<em>Mean Absolute Error</em>, MAE).</li>



<li>Error absoluto porcentual medio (<em>Mean Absolute Percentage Error</em>, MAPE)</li>



<li>Raíz del error cuadrático medio (<em>Root Mean Square Error</em>, RMSE).</li>



<li>Raíz del error logarítmico cuadrático medio (<em>Root Mean Squared Logarithmic Error</em>, RMSLE).</li>



<li>Pérdida de Huber (<em>Huber Loss</em>).</li>



<li>Pérdida Log-cosh. (<em>Log-Cosh Loss</em>).</li>



<li>Pérdida cuantílica (<em>Quantile Loss</em>).</li>



<li>L1 suavizado (<em>Smooth L1</em>).</li>



<li>Pérdida ∈-insensible (∈-<em>Insensitive Loss</em>).</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Pero, además, podemos hacer uso de cálculos como los que ofrecen otras métricas que no forman parte del conjunto de las funciones de pérdida:</p>



<ul class="wp-block-list">
<li>Coeficiente de determinación <span class="katex-eq" data-katex-display="false">\text{R}^2</span>.</li>



<li>Coeficientes de correlación.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>A pesar de que las opciones son variadas, aquí nos centraremos en algunas de uso <strong>frecuente</strong>. Siempre debes tener en cuenta que, dependiendo de las <a href="https://dialektico.com/tipos-de-datos/">características</a> de tus datos, algunas <strong>métricas </strong>serán más beneficiosas que otras, por lo que tú tienes la última palabra en cuanto a cuál utilizar.</p>



<p>Las mediciones que revisaremos y pondremos a prueba son:</p>



<ul class="wp-block-list">
<li>Error cuadrático medio (<em>Mean Squared Error</em>, MSE).</li>



<li>Error absoluto medio (<em>Mean Absolute Error</em>, MAE).</li>



<li>Coeficiente de determinación <span class="katex-eq" data-katex-display="false">\text{R}^2</span> (<em>R-Squared</em>).</li>



<li>Coeficiente de correlación de Pearson (<em>Pearson Correlation Coefficient</em>).</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Definiciones y usos de métricas de evaluación con ejemplos</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Las <strong>métricas </strong>que estamos a punto de explorar son ampliamente utilizadas para la evaluación de modelos de regresión, y aunque no son las únicas, nos ayudarán a <strong>comprender </strong>cómo operan y cómo utilizar otras para el mismo fin.</p>



<p>Para abordarlo, plantearemos un nuevo caso para el <strong>entrenamiento </strong>de un <strong>modelo</strong>: predicción de <strong>precios de casas</strong> (un ejemplo típico en machine learning, aunque siempre vigente).</p>



<p>Supongamos que se nos ha dado un <strong><a href="https://dialektico.com/conjuntos-de-datos-para-machine-learning/">conjunto de datos</a></strong> con precios de casas que dependen de <strong>características </strong>de estas como su <strong>tamaño</strong>, <strong>número de habitaciones</strong>, y <strong>ubicación</strong>:</p>



<figure class="wp-block-table is-style-stripes"><table class="has-light-green-cyan-background-color has-background has-fixed-layout"><thead><tr><th class="has-text-align-center" data-align="center">Tamaño (m²)</th><th class="has-text-align-center" data-align="center">Habitaciones</th><th class="has-text-align-center" data-align="center">Ubicación</th><th class="has-text-align-center" data-align="center">Precio Real (USD)</th></tr></thead><tbody><tr><td class="has-text-align-center" data-align="center">100</td><td class="has-text-align-center" data-align="center">3</td><td class="has-text-align-center" data-align="center">Suburbio</td><td class="has-text-align-center" data-align="center">150,000</td></tr><tr><td class="has-text-align-center" data-align="center">80</td><td class="has-text-align-center" data-align="center">2</td><td class="has-text-align-center" data-align="center">Ciudad</td><td class="has-text-align-center" data-align="center">200,000</td></tr><tr><td class="has-text-align-center" data-align="center">120</td><td class="has-text-align-center" data-align="center">4</td><td class="has-text-align-center" data-align="center">Ciudad</td><td class="has-text-align-center" data-align="center">300,000</td></tr><tr><td class="has-text-align-center" data-align="center">60</td><td class="has-text-align-center" data-align="center">1</td><td class="has-text-align-center" data-align="center">Suburbio</td><td class="has-text-align-center" data-align="center">100,000</td></tr><tr><td class="has-text-align-center" data-align="center">90</td><td class="has-text-align-center" data-align="center">3</td><td class="has-text-align-center" data-align="center">Suburbio</td><td class="has-text-align-center" data-align="center">180,000</td></tr></tbody></table><figcaption class="wp-element-caption"><strong>Tabla 3.6.1</strong> Muestra de <a href="https://dialektico.com/datos-etiquetados-machine-learning/">ejemplos de entrenamiento</a> de precios de casas en dólares y sus respectivas características.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Utilizando esto, nuestra meta es modelar la <strong>relación </strong>entre las <strong>variables de entrada</strong> y la <strong>variable objetivo</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/11/MEAR_D1.jpg" alt="métricas de evaluación para modelos de regresión dialéktico" class="wp-image-10742" style="width:512px;height:auto" title="Métricas de evaluación de modelos de regresión 86" srcset="https://dialektico.com/wp-content/uploads/2024/11/MEAR_D1.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/11/MEAR_D1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/11/MEAR_L1.jpg" alt="métricas de evaluación para modelos de regresión laiahrang" class="wp-image-10744" style="width:514px;height:auto" title="Métricas de evaluación de modelos de regresión 87" srcset="https://dialektico.com/wp-content/uploads/2024/11/MEAR_L1.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/11/MEAR_L1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



            <div class='ays-quiz-container ays_quiz_classic_light   ays-quiz-keyboard-active' data-quest-effect='shake'  data-hide-bg-image='false' id='ays-quiz-container-21'>
                
                
                <div class='ays-questions-container'>
                    
                    
                    
                    <form action='' method='post' id='ays_finish_quiz_21' 
                        class='ays-quiz-form enable_correction enable_questions_result '
                    >
            <input type='hidden' value='list' class='answer_view_class'>
            <input type='hidden' value='' class='ays_qm_enable_arrows'>
            <audio id='ays_quiz_right_ans_sound_21' class='ays_quiz_right_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound.wav'></audio><audio id='ays_quiz_wrong_ans_sound_21' class='ays_quiz_wrong_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound-1.wav'></audio>
            
            <div class='step active-step'>
                <div class='ays-abs-fs ays-start-page'>
                    
                    
                    
                    <div class='ays-fs-subtitle'><p>Contesta las siguientes preguntas</p>
</div>
                    <input type='hidden' name='ays_quiz_id' value='21'/>
                    <input type='hidden' name='ays_quiz_finish_nonce' value='7cec930025'>
                    <input type='hidden' name='ays_quiz_curent_page_link' class='ays-quiz-curent-page-link' value='https://dialektico.com/categoria/analisis-de-datos/feed/'/>
                    <input type='hidden' name='ays_quiz_questions' value='55,56,59,57,58'>
                    
                    
                    <input type='button'   class='ays_next start_button action-button ays-quiz-keyboard-active' value='EMPEZAR' data-enable-leave-page="false" />
                    
                    </div>
                </div><div class='step  ' data-question-id='55' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>1 / 5</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Responde a esta y las siguientes preguntas basándote en el caso planteado sobre predicción de precios de casas.</p>
<p>¿Qué tipo de datos tienes, en cuanto a su organización?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-55]' id='ays-answer-191-21' value='191'/>

                <label for='ays-answer-191-21' class='  ays_position_initial  ays-quiz-keyboard-label'>Datos estructurados.</label><label for='ays-answer-191-21' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-55]' id='ays-answer-192-21' value='192'/>

                <label for='ays-answer-192-21' class='  ays_position_initial  ays-quiz-keyboard-label'>Datos no estructurados.</label><label for='ays-answer-192-21' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_21 === 'undefined'){
                window.quizOptions_21 = [];
            }
            window.quizOptions_21['55'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Los datos organizados en tablas son datos estructurados.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='56' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>2 / 5</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Qué tipos de datos tienes por el tipo de sus valores?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-56]' id='ays-answer-193-21' value='193'/>

                <label for='ays-answer-193-21' class='  ays_position_initial  ays-quiz-keyboard-label'>Solo datos cuantitativos.</label><label for='ays-answer-193-21' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-56]' id='ays-answer-194-21' value='194'/>

                <label for='ays-answer-194-21' class='  ays_position_initial  ays-quiz-keyboard-label'>Solo datos cualitativos.</label><label for='ays-answer-194-21' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-56]' id='ays-answer-195-21' value='195'/>

                <label for='ays-answer-195-21' class='  ays_position_initial  ays-quiz-keyboard-label'>Hay datos cualitativos y cuantitativos.</label><label for='ays-answer-195-21' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_21 === 'undefined'){
                window.quizOptions_21 = [];
            }
            window.quizOptions_21['56'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Los datos de la columna <strong>Ubicación</strong> son cualitativos. Los demás, cuantitativos.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='59' data-type='checkbox'>
                    
                    
                    <p class='ays-question-counter animated'>3 / 5</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Qué tareas debes llevar a cabo antes de comenzar a entrenar el modelo con aprendizaje de máquinas?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-59]' id='ays-answer-202-21' value='202'/>

                <label for='ays-answer-202-21' class='  ays_position_initial  ays-quiz-keyboard-label'>Un análisis exploratorio de los datos.</label><label for='ays-answer-202-21' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-59]' id='ays-answer-203-21' value='203'/>

                <label for='ays-answer-203-21' class='  ays_position_initial  ays-quiz-keyboard-label'>Evaluación del modelo.</label><label for='ays-answer-203-21' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-59]' id='ays-answer-204-21' value='204'/>

                <label for='ays-answer-204-21' class='  ays_position_initial  ays-quiz-keyboard-label'>Preprocesamiento de los datos.</label><label for='ays-answer-204-21' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-59]' id='ays-answer-205-21' value='205'/>

                <label for='ays-answer-205-21' class='  ays_position_initial  ays-quiz-keyboard-label'>Pagar clases de salsa a Mmerf.</label><label for='ays-answer-205-21' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_21 === 'undefined'){
                window.quizOptions_21 = [];
            }
            window.quizOptions_21['59'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>El análisis exploratorio y el preprocesamiento son necesarios antes de modelar las relaciones entre entradas y salidas.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='57' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>4 / 5</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Si planeas obtener un modelo con un algoritmo de machine learning etiquetando los datos (definiendo entradas y salidas), ¿qué tipo de algoritmo debes utilizar?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-57]' id='ays-answer-196-21' value='196'/>

                <label for='ays-answer-196-21' class='  ays_position_initial  ays-quiz-keyboard-label'>De aprendizaje no supervisado.</label><label for='ays-answer-196-21' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-57]' id='ays-answer-197-21' value='197'/>

                <label for='ays-answer-197-21' class='  ays_position_initial  ays-quiz-keyboard-label'>De aprendizaje supervisado.</label><label for='ays-answer-197-21' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-57]' id='ays-answer-198-21' value='198'/>

                <label for='ays-answer-198-21' class='  ays_position_initial  ays-quiz-keyboard-label'>De aprendizaje geométrico.</label><label for='ays-answer-198-21' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_21 === 'undefined'){
                window.quizOptions_21 = [];
            }
            window.quizOptions_21['57'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>El modelado de datos etiquetados se hace mediante aprendizaje supervisado.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='58' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>5 / 5</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Qué enfoque adoptarás en el uso de aprendizaje supervisado para obtener un modelo predictor de precios de casas?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-58]' id='ays-answer-199-21' value='199'/>

                <label for='ays-answer-199-21' class='  ays_position_initial  ays-quiz-keyboard-label'>En modelos de clasificación.</label><label for='ays-answer-199-21' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-58]' id='ays-answer-200-21' value='200'/>

                <label for='ays-answer-200-21' class='  ays_position_initial  ays-quiz-keyboard-label'>En modelos de cálculo integral.</label><label for='ays-answer-200-21' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-58]' id='ays-answer-201-21' value='201'/>

                <label for='ays-answer-201-21' class='  ays_position_initial  ays-quiz-keyboard-label'>En modelos de regresión.</label><label for='ays-answer-201-21' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_21 === 'undefined'){
                window.quizOptions_21 = [];
            }
            window.quizOptions_21['58'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays-quiz-keyboard-active ays_arrow ays_display_none" tabindex='0'></i>
                            <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active '  value='ANTERIOR' /><i class='ays_display_none ays_fa ays_fa_flag_checkered ays_finish action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active' tabindex='0'></i><input type='submit' name='ays_finish_quiz' class='  ays_next ays_finish action-button ays-quiz-keyboard-active' value='VER TOTAL'/></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Al no tratarse de una tarea de clasificación, se debe considerar un enfoque en modelos de regresión.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step ays_thank_you_fs'>
            <div class='ays-abs-fs ays-end-page'><div data-class='lds-facebook' data-role='loader' class='ays-loader'><div></div><div></div><div></div></div><div class='ays_quiz_results_page'><div class='ays_score_message'></div><div class='ays_message'></div><p class='ays_score ays_score_display_none animated'>Tu puntación es </p><p class='ays_average'>La puntuación media es  88%</p><div class='ays-progress third'>
                <span class='ays-progress-value third'>0%</span>
                <div class='ays-progress-bg third'>
                    <div class='ays-progress-bar third' style='width:0%;'></div>
                </div>
            </div><p class='ays_restart_button_p'><button type='button' class='action-button ays_restart_button ays-quiz-keyboard-active'>
                    <i class='ays_fa ays_fa_undo'></i>
                    <span>Reiniciar Prueba</span>
                </button></p></div>
            </div>
        </div><style>
            div#ays-quiz-container-21 * {
                box-sizing: border-box;
            }

            #ays-quiz-container-21 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                width: 90%;
            }

            /* Styles for Internet Explorer start */
            #ays-quiz-container-21 #ays_finish_quiz_21 {
                
            }

            /* Styles for Quiz container */
            #ays-quiz-container-21{
                min-height: 350px;
                width:400px;
                background-color:#ffffff;
                background-position:center center;background-image: url('https://dialektico.com/wp-content/uploads/2022/08/Q3.jpg');border-radius:0px;box-shadow: none;border-width: 3px;border-style: solid;border-color: #000;}

            /* Styles for questions */
            #ays-quiz-container-21 #ays_finish_quiz_21 div.step {
                min-height: 350px;
            }

            /* Styles for text inside quiz container */
            #ays-quiz-container-21 .ays-start-page *:not(input):not([class^='enlighter']),
            #ays-quiz-container-21 .ays_question_hint,
            #ays-quiz-container-21 label[for^="ays-answer-"],
            #ays-quiz-container-21 #ays_finish_quiz_21 p,
            #ays-quiz-container-21 #ays_finish_quiz_21 .ays-fs-title,
            #ays-quiz-container-21 .ays-fs-subtitle,
            #ays-quiz-container-21 .logged_in_message,
            #ays-quiz-container-21 .ays_score_message,
            #ays-quiz-container-21 .ays_message{
               color: #0a0a0a;
               outline: none;
            }

            div#ays-quiz-container-21 .ays_question_hint.ays-quiz-keyboard-active,
            div#ays-quiz-container-21 .ays_restart_button.ays-quiz-keyboard-active {
                outline: revert;
            }

            #ays-quiz-container-21 .ays-quiz-password-message-box,
            #ays-quiz-container-21 .ays-quiz-question-note-message-box,
            #ays-quiz-container-21 .ays_quiz_question,
            #ays-quiz-container-21 .ays-quiz-question-category-box,
            #ays-quiz-container-21 .ays_quiz_question *:not([class^='enlighter']) {
                color: #0a0a0a;
            }

            #ays-quiz-container-21 .ays-quiz-question-category-box em {
                color: #0a0a0a;
            }

            #ays-quiz-container-21 textarea,
            #ays-quiz-container-21 input::first-letter,
            #ays-quiz-container-21 select::first-letter,
            #ays-quiz-container-21 option::first-letter {
                color: initial !important;
            }
            
            #ays-quiz-container-21 p::first-letter:not(.ays_no_questions_message) {
                color: #0a0a0a !important;
                background-color: transparent !important;
                font-size: inherit !important;
                font-weight: inherit !important;
                float: none !important;
                line-height: inherit !important;
                margin: 0 !important;
                padding: 0 !important;
            }
            
            
            #ays-quiz-container-21 .select2-container,
            #ays-quiz-container-21 .ays-field * {
                font-size: 15px !important;
            }
    
            #ays-quiz-container-21 .ays_quiz_question p {
                font-size: 16px;
                text-align: inherit;
            }

            #ays-quiz-container-21 .ays-fs-subtitle p {
                text-align:  center ;
            }

            #ays-quiz-container-21 .ays_quiz_question {
                text-align:  center ;
                margin-bottom: 10px;
            }

            #ays-quiz-container-21 .ays_quiz_question pre {
                max-width: 100%;
                white-space: break-spaces;
            }

            /* Mango theme (Version: 1.4.202301041836) | tid=32449 | Start */
            #ays-quiz-container-21 .ays_quiz_question img {
                float: unset;
                margin: 0;
            }
            /* Mango theme (Version: 1.4.202301041836) | End */

            #ays-quiz-container-21 .ays-quiz-timer p {
                font-size: 16px;
            }

            #ays-quiz-container-21 section.ays_quiz_redirection_timer_container hr,
            #ays-quiz-container-21 section.ays_quiz_timer_container hr {
                margin: 0;
            }

            #ays-quiz-container-21 section.ays_quiz_timer_container.ays_quiz_timer_red_warning .ays-quiz-timer {
                color: #ff0000;
            }

            #ays-quiz-container-21 .ays_thank_you_fs p {
                text-align: center;
            }

            #ays-quiz-container-21 .ays_quiz_results_page .ays_score span {
                visibility: visible;
            }

            #ays-quiz-container-21 input[type='button'],
            #ays-quiz-container-21 input[type='submit'] {
                color: #ffffff !important;
            }

            #ays-quiz-container-21 input[type='button']{
                outline: none;
            }

            #ays-quiz-container-21 .information_form input[type='text'],
            #ays-quiz-container-21 .information_form input[type='url'],
            #ays-quiz-container-21 .information_form input[type='number'],
            #ays-quiz-container-21 .information_form input[type='email'],
            #ays-quiz-container-21 .information_form input[type='checkbox'],
            #ays-quiz-container-21 .information_form input[type='tel'],
            #ays-quiz-container-21 .information_form textarea,
            #ays-quiz-container-21 .information_form select,
            #ays-quiz-container-21 .information_form option {
                color: initial !important;
                outline: none;
                background-image: unset;
            }

            #ays-quiz-container-21 .wrong_answer_text{
                color:#ff4d4d;
            }
            #ays-quiz-container-21 .right_answer_text{
                color:#33cc33;
            }

            #ays-quiz-container-21 .wrong_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-21 .ays_questtion_explanation p {
                font-size:16px;
            }

            #ays-quiz-container-21 .wrong_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-21 .ays_questtion_explanation *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-21 .right_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-21 .right_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-21 .ays-quiz-question-note-message-box p {
                font-size:14px;
            }

            #ays-quiz-container-21 .ays-quiz-question-note-message-box *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }
            
            #ays-quiz-container-21 .ays_cb_and_a,
            #ays-quiz-container-21 .ays_cb_and_a * {
                color: rgb(10,10,10);
                text-align: center;
            }

            /* Quiz textarea height */
            #ays-quiz-container-21 textarea {
                height: 100px;
                min-height: 100px;
            }

            /* Quiz rate and passed users count */
            #ays-quiz-container-21 .ays_quizn_ancnoxneri_qanak,
            #ays-quiz-container-21 .ays_quiz_rete_avg {
                color:#ffffff !important;
                background-color:#0a0a0a;   
            }

            #ays-quiz-container-21 .ays-questions-container > .ays_quizn_ancnoxneri_qanak {
                padding: 5px 20px;
            }
            #ays-quiz-container-21 div.for_quiz_rate.ui.star.rating .icon {
                color: rgba(10,10,10,0.35);
            }
            #ays-quiz-container-21 .ays_quiz_rete_avg div.for_quiz_rate_avg.ui.star.rating .icon {
                color: rgba(255,255,255,0.5);
            }

            #ays-quiz-container-21 .ays_quiz_rete .ays-quiz-rate-link-box .ays-quiz-rate-link {
                color: #0a0a0a;
            }

            /* Loaders */            
            #ays-quiz-container-21 div.lds-spinner,
            #ays-quiz-container-21 div.lds-spinner2 {
                color: #0a0a0a;
            }
            #ays-quiz-container-21 div.lds-spinner div:after,
            #ays-quiz-container-21 div.lds-spinner2 div:after {
                background-color: #0a0a0a;
            }
            #ays-quiz-container-21 .lds-circle,
            #ays-quiz-container-21 .lds-facebook div,
            #ays-quiz-container-21 .lds-ellipsis div{
                background: #0a0a0a;
            }
            #ays-quiz-container-21 .lds-ripple div{
                border-color: #0a0a0a;
            }
            #ays-quiz-container-21 .lds-dual-ring::after,
            #ays-quiz-container-21 .lds-hourglass::after{
                border-color: #0a0a0a transparent #0a0a0a transparent;
            }

            /* Stars */
            #ays-quiz-container-21 .ui.rating .icon,
            #ays-quiz-container-21 .ui.rating .icon:before {
                font-family: Rating !important;
            }

            /* Progress bars */
            #ays-quiz-container-21 #ays_finish_quiz_21 .ays-progress {
                border-color: rgba(10,10,10,0.8);
            }
            #ays-quiz-container-21 #ays_finish_quiz_21 .ays-progress-bg {
                background-color: rgba(10,10,10,0.3);
            }    
            #ays-quiz-container-21 .ays-progress-value {
                color: #0a0a0a;
                text-align: center;
            }
            #ays-quiz-container-21 .ays-progress-bar {
                background-color: #9e0505;
            }
            #ays-quiz-container-21 .ays-question-counter .ays-live-bar-wrap {
                direction:ltr !important;
            }
            #ays-quiz-container-21 .ays-live-bar-fill{
                color: #0a0a0a;
                border-bottom: 2px solid rgba(10,10,10,0.8);
                text-shadow: 0px 0px 5px #ffffff;
            }
            #ays-quiz-container-21 .ays-live-bar-fill.ays-live-fourth,
            #ays-quiz-container-21 .ays-live-bar-fill.ays-live-third,
            #ays-quiz-container-21 .ays-live-bar-fill.ays-live-second {
                text-shadow: unset;
            }
            #ays-quiz-container-21 .ays-live-bar-percent{
                display:none;
            }
            #ays-quiz-container-21 #ays_finish_quiz_21 .ays_average {
                text-align: center;
            }
            
            /* Music, Sound */
            #ays-quiz-container-21 .ays_music_sound {
                color:rgb(10,10,10);
            }

            /* Dropdown questions scroll bar */
            #ays-quiz-container-21 blockquote {
                border-left-color: #0a0a0a !important;                                      
            }

            /* Quiz Password */
            #ays-quiz-container-21 .ays-start-page > input[id^='ays_quiz_password_val_'],
            #ays-quiz-container-21 .ays-quiz-password-toggle-visibility-box {
                width: 100%;
            }


            /* Question hint */
            #ays-quiz-container-21 .ays_question_hint_container .ays_question_hint_text {
                background-color:#ffffff;
                box-shadow: 0 0 15px 3px rgba(10,10,10,0.35);
                max-width: 270px;
            }

            #ays-quiz-container-21 .ays_question_hint_container .ays_question_hint_text p {
                max-width: unset;
            }

            #ays-quiz-container-21 .ays-quiz-additonal-box {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                position: relative;  
            }

            #ays-quiz-container-21 .ays_questions_hint_max_width_class {
                max-width: 80%;
            }

            /* Information form */
            #ays-quiz-container-21 .ays-form-title{
                color:rgb(10,10,10);
            }

            /* Quiz timer */
            #ays-quiz-container-21 div.ays-quiz-redirection-timer,
            #ays-quiz-container-21 div.ays-quiz-timer{
                color: #0a0a0a;
                text-align: center;
            }

            #ays-quiz-container-21 div.ays-quiz-timer.ays-quiz-message-before-timer:before {
                font-weight: 500;
            }

            /* Quiz title / transformation */
            #ays-quiz-container-21 .ays-fs-title{
                text-transform: uppercase;
                font-size: 21px;
                text-align: center;
                    text-shadow: none;
            }
            
            /* Quiz buttons */
            #ays-quiz-container-21 .ays_arrow {
                color:#ffffff!important;
            }
            #ays-quiz-container-21 input#ays-submit,
            #ays-quiz-container-21 #ays_finish_quiz_21 .action-button,
            div#ays-quiz-container-21 #ays_finish_quiz_21 .action-button.ays_restart_button,
            #ays-quiz-container-21 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-21 .ays-quiz-category-selective-submit-bttn {
                background: none;
                background-color: #9e0505;
                color:#ffffff;
                font-size: 17px;
                padding: 10px 20px;
                border-radius: 3px;
                height: auto;
                letter-spacing: 0;
                box-shadow: unset;
                width: auto;
                /* border: unset; */
                min-height: unset;
                line-height: normal;
                text-shadow: unset;
            }
            #ays-quiz-container-21 input#ays-submit,
            #ays-quiz-container-21 #ays_finish_quiz_21 input.action-button,
            #ays-quiz-container-21 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-21 .ays-quiz-category-selective-submit-bttn {
                
            }

            #ays-quiz-container-21 #ays_finish_quiz_21 .action-button.ays_check_answer {
                padding: 5px 10px;
                font-size: 17px !important;
            }
            #ays-quiz-container-21 #ays_finish_quiz_21 .action-button.ays_restart_button {
                white-space: nowrap;
                padding: 5px 10px;
                white-space: normal;
            }
            #ays-quiz-container-21 input#ays-submit:hover,
            #ays-quiz-container-21 input#ays-submit:focus,
            #ays-quiz-container-21 #ays_finish_quiz_21 .action-button:hover,
            #ays-quiz-container-21 #ays_finish_quiz_21 .action-button:focus,
            #ays-quiz-container-21 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
            #ays-quiz-container-21 .ays-quiz-category-selective-submit-bttn:hover {
                background: none;
                box-shadow: 0 0 0 2px #ffffff;
                background-color: #9e0505;
            }
            #ays-quiz-container-21 .ays_restart_button {
                color: #ffffff;
            }
            
            #ays-quiz-container-21 .ays_restart_button_p,
            #ays-quiz-container-21 .ays_buttons_div {
                justify-content: center;
            }

            #ays-quiz-container-21 .ays_finish.action-button{
                margin: 10px 5px;
            }

            #ays-quiz-container-21 .ays-share-btn.ays-share-btn-branded {
                color: #fff;
                display: inline-block;
            }

            #ays-quiz-container-21 .ays_quiz_results .ays-field.checked_answer_div.correct_div input:checked+label {
                background-color: transparent;
            }
                        
            /* Question answers */
            #ays-quiz-container-21 .ays-field {
                    border-color: #444;
                    border-style: solid;
                    border-width: 1px;
                    box-shadow: none;flex-direction: row-reverse;
            }
            

            /* Answer maximum length of a text field */
            #ays-quiz-container-21 .ays_quiz_question_text_message{
                color: #0a0a0a;
                text-align: left;
                font-size: 12px;
            }

            div#ays-quiz-container-21 div.ays_quiz_question_text_error_message {
                color: #ff0000;
            }

            /* Questions answer image */
            #ays-quiz-container-21 .ays-answer-image {
                width:15em;
                height:150px;
                object-fit: cover;
            }
            
            #ays-quiz-container-21 .ays-quiz-answers .ays-field:hover:not(.ays-answered-text-input){
                opacity: 1;
            }
            #ays-quiz-container-21 #ays_finish_quiz_21 .ays-field label.ays_answer_caption[for^='ays-answer-'] {
                z-index: 1;
                position:initial;bottom:0;}
            #ays-quiz-container-21 #ays_finish_quiz_21 .ays-field input~label[for^='ays-answer-'] {
                padding: 5px;
            }

            #ays-quiz-container-21 #ays_finish_quiz_21 .ays-field {
                margin-bottom: 10px;
            }
            #ays-quiz-container-21 #ays_finish_quiz_21 .ays-field.ays_grid_view_item {
                width: calc(50% - 5px);
            }
            #ays-quiz-container-21 #ays_finish_quiz_21 .ays-field.ays_grid_view_item:nth-child(odd) {
                margin-right: 5px;
            }
            
            #ays-quiz-container-21 #ays_finish_quiz_21 .ays-field input:checked+label:before {
                border-color: #9e0505;
                background: #9e0505;
                background-clip: content-box;
            }
            #ays-quiz-container-21 .ays-quiz-answers div.ays-text-right-answer {
                color: #0a0a0a;
            }
                        
            /* Questions answer right/wrong icons */
            #ays-quiz-container-21 .ays-field input~label.answered.correct:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/correct.png');          }
            #ays-quiz-container-21 .ays-field input~label.answered.wrong:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/wrong.png');
            }
            #ays-quiz-container-21 .ays-field label.answered:last-of-type:after{
                display: none;
                height: auto;
                left: 10px;top: 10px;}
            /* Dropdown questions */            
            #ays-quiz-container-21 #ays_finish_quiz_21 .ays-field .select2-container--default .select2-selection--single {
                border-bottom: 2px solid #9e0505;
                background-color: #9e0505;
            }
            
            #ays-quiz-container-21 .ays-field .select2-container--default .select2-selection--single .select2-selection__placeholder,
            #ays-quiz-container-21 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-21 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow {
                color: #f5f5f5;
            }

            #ays-quiz-container-21 .select2-container--default .select2-search--dropdown .select2-search__field:focus,
            #ays-quiz-container-21 .select2-container--default .select2-search--dropdown .select2-search__field {
                outline: unset;
                padding: 0.75rem;
            }

            #ays-quiz-container-21 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-21 .select2-container--default .select2-results__option--highlighted[aria-selected] {
                background-color: #9e0505;
            }

            #ays-quiz-container-21 .ays-field .select2-container--default,
            #ays-quiz-container-21 .ays-field .select2-container--default .selection,
            #ays-quiz-container-21 .ays-field .select2-container--default .dropdown-wrapper,
            #ays-quiz-container-21 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-21 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered .select2-selection__placeholder,
            #ays-quiz-container-21 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow,
            #ays-quiz-container-21 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow b[role='presentation'] {
                font-size: 16px !important;
            }

            #ays-quiz-container-21 .select2-container--default .select2-results__option {
                padding: 6px;
            }
            
            /* Dropdown questions scroll bar */
            #ays-quiz-container-21 .select2-results__options::-webkit-scrollbar {
                width: 7px;
            }
            #ays-quiz-container-21 .select2-results__options::-webkit-scrollbar-track {
                background-color: rgba(255,255,255,0.35);
            }
            #ays-quiz-container-21 .select2-results__options::-webkit-scrollbar-thumb {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.55);
            }
            #ays-quiz-container-21 .select2-results__options::-webkit-scrollbar-thumb:hover {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.85);
            }

            /* Audio / Video */
            #ays-quiz-container-21 .mejs-container .mejs-time{
                box-sizing: unset;
            }
            #ays-quiz-container-21 .mejs-container .mejs-time-rail {
                padding-top: 15px;
            }

            #ays-quiz-container-21 .mejs-container .mejs-mediaelement video {
                margin: 0;
            }

            /* Limitation */
            #ays-quiz-container-21 .ays-quiz-limitation-count-of-takers {
                padding: 50px;
            }

            #ays-quiz-container-21 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-show,
            #ays-quiz-container-21 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-hide{
                color: #0a0a0a;
            }

            #ays-quiz-container-21 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-21 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-21 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #0a0a0a;
            }

            #ays-quiz-container-21.ays_quiz_elegant_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after,
            #ays-quiz-container-21.ays_quiz_rect_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #000;
            }

            /* Hestia theme (Version: 3.0.16) | Start */
            #ays-quiz-container-21 .mejs-container .mejs-inner .mejs-controls .mejs-button > button:hover,
            #ays-quiz-container-21 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                box-shadow: unset;
                background-color: transparent;
            }
            #ays-quiz-container-21 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                margin: 10px 6px;
            }
            /* Hestia theme (Version: 3.0.16) | End */

            /* Go theme (Version: 1.4.3) | Start */
            #ays-quiz-container-21 label[for^='ays-answer']:before,
            #ays-quiz-container-21 label[for^='ays-answer']:before {
                -webkit-mask-image: unset;
                mask-image: unset;
            }

            #ays-quiz-container-21.ays_quiz_classic_light .ays-field input:checked+label.answered.correct:before,
            #ays-quiz-container-21.ays_quiz_classic_dark .ays-field input:checked+label.answered.correct:before {
                background-color: #9e0505 !important;
                background-color: rgba(39,174,96, 1) !important;
            }
            /* Go theme (Version: 1.4.3) | End */

            #ays-quiz-container-21 .ays_quiz_results fieldset.ays_fieldset .ays_quiz_question .wp-video {
                width: 100% !important;
                max-width: 100%;
            }

            /* Classic Dark / Classic Light */
            /* Dropdown questions right/wrong styles */
            #ays-quiz-container-21.ays_quiz_classic_dark .correct_div,
            #ays-quiz-container-21.ays_quiz_classic_light .correct_div{
                border-color:green !important;
                opacity: 1 !important;
                background-color: rgba(39,174,96,0.4) !important;
            }
            #ays-quiz-container-21.ays_quiz_classic_dark .correct_div .selected-field,
            #ays-quiz-container-21.ays_quiz_classic_light .correct_div .selected-field {
                padding: 0px 10px 0px 10px;
                color: green !important;
            }

            #ays-quiz-container-21.ays_quiz_classic_dark .wrong_div,
            #ays-quiz-container-21.ays_quiz_classic_light .wrong_div{
                border-color:red !important;
                opacity: 1 !important;
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-21.ays_quiz_classic_dark .ays-field.checked_answer_div.wrong_div input:checked~label,
            #ays-quiz-container-21.ays_quiz_classic_light .ays-field.checked_answer_div.wrong_div input:checked~label {
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-21.ays_quiz_classic_dark .ays-field,
            #ays-quiz-container-21.ays_quiz_classic_light .ays-field {
                text-align: left;
                /*margin-bottom: 10px;*/
                padding: 0;
                transition: .3s ease-in-out;
            }

            #ays-quiz-container-21 .ays-quiz-close-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-21 .ays-quiz-open-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-21 .ays_quiz_login_form p{
                color: #0a0a0a;
            }

            /* report questions modal start */
            .ays-modal-reports {
                display: none;
                position: fixed;
                z-index: 9999;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                overflow: auto;
                background-color: rgba(0, 0, 0, 0.4);
                animation-duration: .5s;
                background-color: rgba(0, 0, 0, 0.4);
            }

            #ays-quiz-question-report-modal-21 .ays-modal-content-reports {
                background-color: #fefefe;
                margin: 10% auto;
                border: 1px solid #888;
                max-width: 500px;
                width: 100%;
                border-radius: 10px;
                padding: 20px;
                box-sizing: border-box;
                position: relative;
            }

            #ays-quiz-question-report-modal-21 .ays-modal-content-reports label{
                display: block;
                margin-bottom: 10px;
                font-weight: bold;
                letter-spacing: normal;
            }

            #ays-quiz-question-report-modal-21 .ays-modal-content-reports textarea {
                display: block;
                width: 100%;
                height: 100px;
                padding: 5px;
                box-sizing: border-box;
                border-radius: 5px;
                border: 1px solid #ccc;
                max-width: 100%;
                max-height: 500px;
                resize: vertical;
                transition: unset;
            }

            #ays-quiz-question-report-modal-21 .ays-modal-content-reports input.ays-quiz-submit-question-report {
                background-color: #0073aa;
                color: #fff !important;
                border: none;
                border-radius: 5px;
                padding: 10px 20px;
                cursor: pointer;
                margin-top: 20px;
                line-height: normal;
                letter-spacing: normal;
                box-shadow: unset;
                background-image: unset;
            }

            #ays-quiz-question-report-modal-21 .ays-close-reports-window {
                color: #aaa;
                font-weight: bold;
                position: absolute;
                top: 1%;
                right: 1%;
            }

            #ays-quiz-question-report-modal-21 .ays-close-reports-window img {
                box-shadow: unset;
            }
            
            #ays-quiz-question-report-modal-21 .ays-quiz-preloader img {
                box-shadow: unset;
            }

            #ays-quiz-question-report-modal-21 .ays-close-reports-window img:hover,
            #ays-quiz-question-report-modal-21 .ays-close-reports-window img:focus {
                cursor: pointer;
            }

            #ays-quiz-question-report-modal-21 .ays-quiz-question-report-error {
                display: none;
                font-size: 13px;
                color: #f00;
                text-align: left;
            }

            #ays-quiz-question-report-modal-21 .ays-quiz-question-report-textarea-label,
            #ays-quiz-question-report-modal-21 .ays-quiz-question-report-title {
                text-align: left;
            }

            #ays-quiz-question-report-modal-21 .ays_quiz_modal_overlay {
                width: 100%;
                height: 100%;
                position: fixed;
                top: 0;
                left: 0;
                position: absolute;
                z-index: 1000000000;
                flex-direction: column;
            }

            #ays-quiz-question-report-modal-21 .ays-quiz-container .ays-quiz-user-cհoosing-anonymous-assessment {
                margin: 10px 0;
            }

            /* report questions modal end */

            @media screen and (max-width: 768px){
                #ays-quiz-container-21{
                    max-width: 100%;
                }

                div#ays-quiz-container-21 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                    width: 90%;
                }

                #ays-quiz-container-21 .ays_quiz_question p {
                    font-size: 16px;
                }

                #ays-quiz-container-21 .select2-container,
                #ays-quiz-container-21 .ays-field * {
                    font-size: 15px !important;
                }

                div#ays-quiz-container-21 input#ays-submit,
                div#ays-quiz-container-21 #ays_finish_quiz_21 .action-button,
                div#ays-quiz-container-21 #ays_finish_quiz_21 .action-button.ays_restart_button,
                #ays-quiz-container-21 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
                #ays-quiz-container-21 .ays-quiz-category-selective-submit-bttn {
                    font-size: 17px;
                }

                /* Quiz title / mobile font size */
                div#ays-quiz-container-21 .ays-fs-title {
                    font-size: 21px;
                }

                /* Question explanation / mobile font size */
                #ays-quiz-container-21 .ays_questtion_explanation p {
                    font-size:16px;
                }

                /* Wrong answers / mobile font size */
                #ays-quiz-container-21 .wrong_answer_text p {
                    font-size:16px;
                }

                /* Right answers / mobile font size */
                #ays-quiz-container-21 .right_answer_text p {
                    font-size:16px;
                }

                /* Note text / mobile font size */
                #ays-quiz-container-21 .ays-quiz-question-note-message-box p {
                    font-size:14px;
                }

                div#ays-quiz-container-21 .ays-quiz-question-note-message-box *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-21 .ays_questtion_explanation *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-21 .right_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-21 .wrong_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }
            }
            /* Custom css styles */
            @media screen and (max-width: 768px)
div#ays-quiz-container-5 input#ays-submit, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    font-size: 17px;
    letter-spacing: 1.5px;
}

#ays-quiz-container-5 input#ays-submit, #ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    background: none;
    background-color: #9e0505;
    color: #ffffff;
    font-size: 17px;
    padding: 10px 20px;
    border-radius: 3px;
    height: auto;
    letter-spacing: 1.5px;
    box-shadow: unset;
}
            
            /* RTL direction styles */
            
        </style>
            <style>
                #ays-quiz-container-21 p {
                    margin: 0.625em;
                }
                
                #ays-quiz-container-21 .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }

                #ays-quiz-container-21.ays_quiz_classic_light  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-21.ays_quiz_classic_dark  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-21.ays_quiz_classic_light  .enable_correction .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-21.ays_quiz_classic_dark  .enable_correction .ays-field.checked_answer_div input:checked~label {
                    background-color: transparent;
                }

                #ays-quiz-container-21.ays_quiz_classic_light  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-21.ays_quiz_classic_dark  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-21.ays_quiz_classic_light  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-21.ays_quiz_classic_dark  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }
                
                #ays-quiz-container-21 .ays-field.checked_answer_div input:checked~label:hover {
                    background-color: rgba(158,5,5,0.8);
                }

                #ays-quiz-container-21.ays-quiz-container.ays_quiz_classic_light .ays-questions-container .ays-field:hover label[for^='ays-answer-'],
                #ays-quiz-container-21 .ays-field:hover:not(.ays-answered-text-input){
                    background: rgba(158,5,5,0.8);
                    /* border-radius: 4px; */
                    color: #fff;
                    transition: all .3s;
                }
                #ays-quiz-container-21 #ays_finish_quiz_21 .action-button:hover,
                #ays-quiz-container-21 #ays_finish_quiz_21 .action-button:focus,
                #ays-quiz-container-21 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
                #ays-quiz-container-21 .ays-quiz-category-selective-submit-bttn:focus {
                    box-shadow: 0 0 0 2px white, 0 0 0 3px #9e0505;
                    background: #9e0505;
                }
            </style><script>
                if(typeof aysQuizOptions === 'undefined'){
                    var aysQuizOptions = [];
                }
                aysQuizOptions['21']  = 'eyJxdWl6X3ZlcnNpb24iOiI2LjYuNC4xIiwiY29yZV92ZXJzaW9uIjoiNi42LjIiLCJwaHBfdmVyc2lvbiI6IjguMi4yMyIsImNvbG9yIjoiIzllMDUwNSIsImJnX2NvbG9yIjoiI2ZmZmZmZiIsInRleHRfY29sb3IiOiIjMGEwYTBhIiwiaGVpZ2h0IjozNTAsIndpZHRoIjo0MDAsImVuYWJsZV9sb2dnZWRfdXNlcnMiOiJvZmYiLCJpbmZvcm1hdGlvbl9mb3JtIjoiZGlzYWJsZSIsImZvcm1fbmFtZSI6bnVsbCwiZm9ybV9lbWFpbCI6bnVsbCwiZm9ybV9waG9uZSI6bnVsbCwiaW1hZ2Vfd2lkdGgiOiIiLCJpbWFnZV9oZWlnaHQiOiIiLCJlbmFibGVfY29ycmVjdGlvbiI6Im9uIiwiZW5hYmxlX3Byb2dyZXNzX2JhciI6Im9uIiwiZW5hYmxlX3F1ZXN0aW9uc19yZXN1bHQiOiJvbiIsInJhbmRvbWl6ZV9xdWVzdGlvbnMiOiJvZmYiLCJyYW5kb21pemVfYW5zd2VycyI6Im9mZiIsImVuYWJsZV9xdWVzdGlvbnNfY291bnRlciI6Im9uIiwiZW5hYmxlX3Jlc3RyaWN0aW9uX3Bhc3MiOiJvZmYiLCJyZXN0cmljdGlvbl9wYXNzX21lc3NhZ2UiOiIiLCJ1c2VyX3JvbGUiOltdLCJjdXN0b21fY3NzIjoiQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpXHJcbmRpdiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcbn1cclxuXHJcbiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCAjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzllMDUwNTtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xyXG4gICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbn0iLCJsaW1pdF91c2VycyI6Im9mZiIsImxpbWl0YXRpb25fbWVzc2FnZSI6IiIsInJlZGlyZWN0X3VybCI6IiIsInJlZGlyZWN0aW9uX2RlbGF5IjowLCJhbnN3ZXJzX3ZpZXciOiJsaXN0IiwiZW5hYmxlX3J0bF9kaXJlY3Rpb24iOiJvZmYiLCJlbmFibGVfbG9nZ2VkX3VzZXJzX21lc3NhZ2UiOiIiLCJxdWVzdGlvbnNfY291bnQiOiIiLCJlbmFibGVfcXVlc3Rpb25fYmFuayI6Im9mZiIsImVuYWJsZV9saXZlX3Byb2dyZXNzX2JhciI6Im9mZiIsImVuYWJsZV9wZXJjZW50X3ZpZXciOiJvZmYiLCJlbmFibGVfYXZlcmFnZV9zdGF0aXN0aWNhbCI6Im9uIiwiZW5hYmxlX25leHRfYnV0dG9uIjoib24iLCJlbmFibGVfcHJldmlvdXNfYnV0dG9uIjoib24iLCJlbmFibGVfYXJyb3dzIjoib2ZmIiwidGltZXJfdGV4dCI6IiIsInF1aXpfdGhlbWUiOiJjbGFzc2ljX2xpZ2h0IiwiZW5hYmxlX3NvY2lhbF9idXR0b25zIjoib2ZmIiwicmVzdWx0X3RleHQiOiIiLCJlbmFibGVfcGFzc19jb3VudCI6Im9mZiIsImhpZGVfc2NvcmUiOiJvZmYiLCJyYXRlX2Zvcm1fdGl0bGUiOiIiLCJib3hfc2hhZG93X2NvbG9yIjoicmdiYSgxMCwxMCwxMCwwLjM1KSIsInF1aXpfYm9yZGVyX3JhZGl1cyI6IjAiLCJxdWl6X2JnX2ltYWdlIjoiaHR0cHM6XC9cL2RpYWxla3RpY28uY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDIyXC8wOFwvUTMuanBnIiwicXVpel9ib3JkZXJfd2lkdGgiOiIzIiwicXVpel9ib3JkZXJfc3R5bGUiOiJzb2xpZCIsInF1aXpfYm9yZGVyX2NvbG9yIjoiIzAwMCIsInF1aXpfbG9hZGVyIjoiZmFjZWJvb2siLCJjcmVhdGVfZGF0ZSI6bnVsbCwiYXV0aG9yIjoie1wiaWRcIjpcIjFcIixcIm5hbWVcIjpcIkRhbmllbCBEaWFsXFx1MDBlOWt0aWNvXCJ9IiwicXVlc3RfYW5pbWF0aW9uIjoic2hha2UiLCJmb3JtX3RpdGxlIjoiIiwiZW5hYmxlX2JnX211c2ljIjoib2ZmIiwicXVpel9iZ19tdXNpYyI6IiIsImFuc3dlcnNfZm9udF9zaXplIjoxNSwic2hvd19jcmVhdGVfZGF0ZSI6Im9mZiIsInNob3dfYXV0aG9yIjoib2ZmIiwiZW5hYmxlX2Vhcmx5X2ZpbmlzaCI6Im9mZiIsImFuc3dlcnNfcndfdGV4dHMiOiJvbl9wYXNzaW5nIiwiZGlzYWJsZV9zdG9yZV9kYXRhIjoib2ZmIiwiZW5hYmxlX2JhY2tncm91bmRfZ3JhZGllbnQiOiJvZmYiLCJiYWNrZ3JvdW5kX2dyYWRpZW50X2NvbG9yXzEiOiIjMDAwIiwiYmFja2dyb3VuZF9ncmFkaWVudF9jb2xvcl8yIjoiI2ZmZiIsInF1aXpfZ3JhZGllbnRfZGlyZWN0aW9uIjoidmVydGljYWwiLCJyZWRpcmVjdF9hZnRlcl9zdWJtaXQiOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfdXJsIjoiIiwic3VibWl0X3JlZGlyZWN0X2RlbGF5IjoiMCIsInByb2dyZXNzX2Jhcl9zdHlsZSI6InRoaXJkIiwiZW5hYmxlX2V4aXRfYnV0dG9uIjoib2ZmIiwiZXhpdF9yZWRpcmVjdF91cmwiOiIiLCJpbWFnZV9zaXppbmciOiJjb3ZlciIsInF1aXpfYmdfaW1hZ2VfcG9zaXRpb24iOiJjZW50ZXIgY2VudGVyIiwiY3VzdG9tX2NsYXNzIjoiIiwiZW5hYmxlX3NvY2lhbF9saW5rcyI6Im9mZiIsInNvY2lhbF9saW5rcyI6eyJsaW5rZWRpbl9saW5rIjoiIiwiZmFjZWJvb2tfbGluayI6IiIsInR3aXR0ZXJfbGluayI6IiIsInZrb250YWt0ZV9saW5rIjoiIiwiaW5zdGFncmFtX2xpbmsiOiIiLCJ5b3V0dWJlX2xpbmsiOiIiLCJiZWhhbmNlX2xpbmsiOiIifSwic2hvd19xdWl6X3RpdGxlIjoib2ZmIiwic2hvd19xdWl6X2Rlc2MiOiJvbiIsInNob3dfbG9naW5fZm9ybSI6Im9mZiIsIm1vYmlsZV9tYXhfd2lkdGgiOiIiLCJsaW1pdF91c2Vyc19ieSI6ImlwIiwiYWN0aXZlX2RhdGVfY2hlY2siOiJvZmYiLCJhY3RpdmVJbnRlcnZhbCI6IjIwMjQtMTEtMDYgMTk6NDQ6NTUiLCJkZWFjdGl2ZUludGVydmFsIjoiMjAyNC0xMS0wNiAxOTo0NDo1NSIsImFjdGl2ZV9kYXRlX3ByZV9zdGFydF9tZXNzYWdlIjoiVGhlIHF1aXogd2lsbCBiZSBhdmFpbGFibGUgc29vbiEiLCJhY3RpdmVfZGF0ZV9tZXNzYWdlIjoiXHUwMGExRWwgdGVzdCBoYSBleHBpcmFkbyEiLCJleHBsYW5hdGlvbl90aW1lIjoiNCIsImVuYWJsZV9jbGVhcl9hbnN3ZXIiOiJvZmYiLCJzaG93X2NhdGVnb3J5Ijoib2ZmIiwic2hvd19xdWVzdGlvbl9jYXRlZ29yeSI6Im9mZiIsImRpc3BsYXlfc2NvcmUiOiJieV9wZXJjYW50YWdlIiwiZW5hYmxlX3J3X2FzbndlcnNfc291bmRzIjoib24iLCJhbnNfcmlnaHRfd3JvbmdfaWNvbiI6ImRlZmF1bHQiLCJxdWl6X2JnX2ltZ19pbl9maW5pc2hfcGFnZSI6Im9mZiIsImZpbmlzaF9hZnRlcl93cm9uZ19hbnN3ZXIiOiJvZmYiLCJhZnRlcl90aW1lcl90ZXh0IjoiIiwiZW5hYmxlX2VudGVyX2tleSI6Im9uIiwiYnV0dG9uc190ZXh0X2NvbG9yIjoiI2ZmZmZmZiIsImJ1dHRvbnNfcG9zaXRpb24iOiJjZW50ZXIiLCJzaG93X3F1ZXN0aW9uc19leHBsYW5hdGlvbiI6Im9uX3Bhc3NpbmciLCJlbmFibGVfYXVkaW9fYXV0b3BsYXkiOiJvZmYiLCJidXR0b25zX3NpemUiOiJtZWRpdW0iLCJidXR0b25zX2ZvbnRfc2l6ZSI6IjE3IiwiYnV0dG9uc193aWR0aCI6IiIsImJ1dHRvbnNfbGVmdF9yaWdodF9wYWRkaW5nIjoiMjAiLCJidXR0b25zX3RvcF9ib3R0b21fcGFkZGluZyI6IjEwIiwiYnV0dG9uc19ib3JkZXJfcmFkaXVzIjoiMyIsImVuYWJsZV9sZWF2ZV9wYWdlIjoib24iLCJlbmFibGVfdGFja2Vyc19jb3VudCI6Im9mZiIsInRhY2tlcnNfY291bnQiOiIiLCJwYXNzX3Njb3JlIjowLCJwYXNzX3Njb3JlX21lc3NhZ2UiOiI8aDQgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj5Db25ncmF0dWxhdGlvbnMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IHBhc3NlZCB0aGUgcXVpeiE8XC9wPiIsImZhaWxfc2NvcmVfbWVzc2FnZSI6IjxoNCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlclwiPk9vcHMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IGhhdmUgbm90IHBhc3NlZCB0aGUgcXVpeiFcclxuVHJ5IGFnYWluITxcL3A+IiwicXVlc3Rpb25fZm9udF9zaXplIjoxNiwicXVpel93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVlc3Rpb25zX2hpbnRfaWNvbl9vcl90ZXh0IjoiZGVmYXVsdCIsInF1ZXN0aW9uc19oaW50X3ZhbHVlIjoiIiwiZW5hYmxlX2Vhcmx5X2ZpbnNoX2NvbWZpcm1fYm94Ijoib24iLCJlbmFibGVfcXVlc3Rpb25zX29yZGVyaW5nX2J5X2NhdCI6Im9mZiIsInNob3dfc2NoZWR1bGVfdGltZXIiOiJvZmYiLCJzaG93X3RpbWVyX3R5cGUiOiJjb3VudGRvd24iLCJxdWl6X2xvYWRlcl90ZXh0X3ZhbHVlIjoiIiwiaGlkZV9jb3JyZWN0X2Fuc3dlcnMiOiJvZmYiLCJzaG93X2luZm9ybWF0aW9uX2Zvcm0iOiJvbiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWYiOiIiLCJkaXNhYmxlX2hvdmVyX2VmZmVjdCI6Im9mZiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWZfd2lkdGgiOjEwMCwicHJvZ3Jlc3NfbGl2ZV9iYXJfc3R5bGUiOiJkZWZhdWx0IiwicXVpel90aXRsZV90cmFuc2Zvcm1hdGlvbiI6InVwcGVyY2FzZSIsInNob3dfYW5zd2Vyc19udW1iZXJpbmciOiJub25lIiwicXVpel9pbWFnZV93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVpel9pbWFnZV9oZWlnaHQiOiIiLCJxdWl6X2JnX2ltZ19vbl9zdGFydF9wYWdlIjoib2ZmIiwicXVpel9ib3hfc2hhZG93X3hfb2Zmc2V0IjowLCJxdWl6X2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYm94X3NoYWRvd196X29mZnNldCI6MTUsInF1aXpfcXVlc3Rpb25fdGV4dF9hbGlnbm1lbnQiOiJjZW50ZXIiLCJxdWl6X2Fycm93X3R5cGUiOiJkZWZhdWx0IiwicXVpel9zaG93X3dyb25nX2Fuc3dlcnNfZmlyc3QiOiJvZmYiLCJxdWl6X2Rpc3BsYXlfYWxsX3F1ZXN0aW9ucyI6Im9mZiIsInF1aXpfdGltZXJfcmVkX3dhcm5pbmciOiJvZmYiLCJxdWl6X3NjaGVkdWxlX3RpbWV6b25lIjoiQW1lcmljYVwvTWV4aWNvX0NpdHkiLCJxdWVzdGlvbnNfaGludF9idXR0b25fdmFsdWUiOiIiLCJxdWl6X3RhY2tlcnNfbWVzc2FnZSI6Ilx1MDBhMUVzdGUgdGVzdCBoYSBleHBpcmFkbyEiLCJxdWl6X2VuYWJsZV9saW5rZWRpbl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfZW5hYmxlX2ZhY2Vib29rX3NoYXJlX2J1dHRvbiI6Im9uIiwicXVpel9lbmFibGVfdHdpdHRlcl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfbWFrZV9yZXNwb25zZXNfYW5vbnltb3VzIjoib2ZmIiwicXVpel9tYWtlX2FsbF9yZXZpZXdfbGluayI6Im9mZiIsInNob3dfcXVlc3Rpb25zX251bWJlcmluZyI6Im5vbmUiLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3RpbWVyIjoiIiwiZW5hYmxlX3Bhc3N3b3JkIjoib2ZmIiwicGFzc3dvcmRfcXVpeiI6IiIsInF1aXpfcGFzc3dvcmRfbWVzc2FnZSI6IiIsImVuYWJsZV9zZWVfcmVzdWx0X2NvbmZpcm1fYm94Ijoib2ZmIiwiZGlzcGxheV9maWVsZHNfbGFiZWxzIjoib2ZmIiwiZW5hYmxlX2Z1bGxfc2NyZWVuX21vZGUiOiJvZmYiLCJxdWl6X2VuYWJsZV9wYXNzd29yZF92aXNpYmlsaXR5Ijoib2ZmIiwicXVlc3Rpb25fbW9iaWxlX2ZvbnRfc2l6ZSI6MTYsImFuc3dlcnNfbW9iaWxlX2ZvbnRfc2l6ZSI6MTUsInNvY2lhbF9idXR0b25zX2hlYWRpbmciOiIiLCJxdWl6X2VuYWJsZV92a29udGFrdGVfc2hhcmVfYnV0dG9uIjoib24iLCJhbnN3ZXJzX2JvcmRlciI6Im9uIiwiYW5zd2Vyc19ib3JkZXJfd2lkdGgiOjEsImFuc3dlcnNfYm9yZGVyX3N0eWxlIjoic29saWQiLCJhbnN3ZXJzX2JvcmRlcl9jb2xvciI6IiM0NDQiLCJzb2NpYWxfbGlua3NfaGVhZGluZyI6IiIsInF1aXpfZW5hYmxlX3F1ZXN0aW9uX2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwiYW5zd2Vyc19tYXJnaW4iOjEwLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3JlZGlyZWN0X3RpbWVyIjoiIiwiYnV0dG9uc19tb2JpbGVfZm9udF9zaXplIjoxNywiYW5zd2Vyc19ib3hfc2hhZG93Ijoib2ZmIiwiYW5zd2Vyc19ib3hfc2hhZG93X2NvbG9yIjoiIzAwMCIsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeF9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfel9vZmZzZXQiOjEwLCJxdWl6X2NyZWF0ZV9hdXRob3IiOjEsInF1aXpfZW5hYmxlX3RpdGxlX3RleHRfc2hhZG93Ijoib2ZmIiwicXVpel90aXRsZV90ZXh0X3NoYWRvd19jb2xvciI6IiMzMzMiLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3hfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3lfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3pfb2Zmc2V0IjoyLCJxdWl6X3Nob3dfb25seV93cm9uZ19hbnN3ZXJzIjoib2ZmIiwicXVpel90aXRsZV9mb250X3NpemUiOjIxLCJxdWl6X3RpdGxlX21vYmlsZV9mb250X3NpemUiOjIxLCJxdWl6X3Bhc3N3b3JkX3dpZHRoIjoiIiwicXVpel9yZXZpZXdfcGxhY2Vob2xkZXJfdGV4dCI6IiIsInF1aXpfbWFrZV9yZXZpZXdfcmVxdWlyZWQiOiJvZmYiLCJxdWl6X2VuYWJsZV9yZXN1bHRzX3RvZ2dsZSI6Im9mZiIsInF1aXpfcmV2aWV3X3RoYW5rX3lvdV9tZXNzYWdlIjoiIiwicXVpel9yZXZpZXdfZW5hYmxlX2NvbW1lbnRfZmllbGQiOiJvbiIsInF1ZXN0X2V4cGxhbmF0aW9uX2ZvbnRfc2l6ZSI6MTYsInF1ZXN0X2V4cGxhbmF0aW9uX21vYmlsZV9mb250X3NpemUiOjE2LCJxdWl6X3dhaXRpbmdfdGltZSI6Im9mZiIsIndyb25nX2Fuc3dlcnNfZm9udF9zaXplIjoxNiwid3JvbmdfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9lbmFibGVfcXVlc3Rpb25faW1hZ2Vfem9vbSI6Im9mZiIsInJpZ2h0X2Fuc3dlcnNfZm9udF9zaXplIjoxNiwicmlnaHRfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9kaXNwbGF5X21lc3NhZ2VzX2JlZm9yZV9idXR0b25zIjoib2ZmIiwicXVpel9lbmFibGVfdXNlcl9jXHUwNTcwb29zaW5nX2Fub255bW91c19hc3Nlc3NtZW50Ijoib2ZmIiwibm90ZV90ZXh0X2ZvbnRfc2l6ZSI6MTQsIm5vdGVfdGV4dF9tb2JpbGVfZm9udF9zaXplIjoxNCwicXVpel9xdWVzdGlvbnNfbnVtYmVyaW5nX2J5X2NhdGVnb3J5Ijoib2ZmIiwicXVpel9lbmFibGVfY3VzdG9tX3RleHRzX2Zvcl9idXR0b25zIjoib2ZmIiwicXVpel9jdXN0b21fdGV4dHNfc3RhcnRfYnV0dG9uIjoiRU1QRVpBUiIsInF1aXpfY3VzdG9tX3RleHRzX25leHRfYnV0dG9uIjoiU0lHVUlFTlRFIiwicXVpel9jdXN0b21fdGV4dHNfcHJldl9idXR0b24iOiJBTlRFUklPUiIsInF1aXpfY3VzdG9tX3RleHRzX2NsZWFyX2J1dHRvbiI6IkxJTVBJQVIiLCJxdWl6X2N1c3RvbV90ZXh0c19maW5pc2hfYnV0dG9uIjoiRklOQUxJWkFSIiwicXVpel9jdXN0b21fdGV4dHNfc2VlX3Jlc3VsdHNfYnV0dG9uIjoiVkVSIFRPVEFMIiwicXVpel9jdXN0b21fdGV4dHNfcmVzdGFydF9xdWl6X2J1dHRvbiI6IlJlaW5pY2lhciBQcnVlYmEiLCJxdWl6X2N1c3RvbV90ZXh0c19zZW5kX2ZlZWRiYWNrX2J1dHRvbiI6IkVudmlhciBjb21lbnRhcmlvcyIsInF1aXpfY3VzdG9tX3RleHRzX2xvYWRfbW9yZV9idXR0b24iOiJDYXJnYXIgbVx1MDBlMXMiLCJxdWl6X2N1c3RvbV90ZXh0c19leGl0X2J1dHRvbiI6IlNhbGlyIiwicXVpel9jdXN0b21fdGV4dHNfY2hlY2tfYnV0dG9uIjoiQ2hlY2siLCJxdWl6X2N1c3RvbV90ZXh0c19sb2dpbl9idXR0b24iOiJMb2cgSW4iLCJxdWl6X2VuYWJsZV9xdWl6X2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwicXVpel9hZG1pbl9ub3RlX3RleHRfdHJhbnNmb3JtIjoibm9uZSIsInF1aXpfcXVlc3RfZXhwbGFuYXRpb25fdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel9yaWdodF9hbnN3ZXJfdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel93cm9uZ19hbnN3ZXJfdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel9hZG1pbl9ub3RlX3RleHRfZGVjb3JhdGlvbiI6Im5vbmUiLCJxdWl6X3F1ZXN0X2V4cGxhbmF0aW9uX3RleHRfZGVjb3JhdGlvbiI6Im5vbmUiLCJxdWl6X3JpZ2h0X2Fuc3dlcnNfdGV4dF9kZWNvcmF0aW9uIjoibm9uZSIsInF1aXpfd3JvbmdfYW5zd2Vyc190ZXh0X2RlY29yYXRpb24iOiJub25lIiwicXVpel9hZG1pbl9ub3RlX2xldHRlcl9zcGFjaW5nIjoiMCIsInF1aXpfYmdfaW1nX2R1cmluZ190aGVfcXVpeiI6Im9mZiIsInF1aXpfcXVlc3RfZXhwbGFuYXRpb25fbGV0dGVyX3NwYWNpbmciOiIwIiwicXVpel9yaWdodF9hbnN3ZXJzX2xldHRlcl9zcGFjaW5nIjoiMCIsInF1aXpfd3JvbmdfYW5zd2Vyc19sZXR0ZXJfc3BhY2luZyI6IjAiLCJxdWl6X2FkbWluX25vdGVfZm9udF93ZWlnaHQiOiJub3JtYWwiLCJxdWl6X3F1ZXN0X2V4cGxhbmF0aW9uX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel9yaWdodF9hbnN3ZXJzX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel93cm9uZ19hbnN3ZXJzX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicmVxdWlyZWRfZmllbGRzIjpudWxsLCJlbmFibGVfdGltZXIiOiJvZmYiLCJlbmFibGVfcXVpel9yYXRlIjoib2ZmIiwiZW5hYmxlX3JhdGVfYXZnIjoib2ZmIiwiZW5hYmxlX2JveF9zaGFkb3ciOiJvZmYiLCJlbmFibGVfYm9yZGVyIjoib24iLCJxdWl6X3RpbWVyX2luX3RpdGxlIjoib2ZmIiwiZW5hYmxlX3JhdGVfY29tbWVudHMiOiJvZmYiLCJlbmFibGVfcmVzdGFydF9idXR0b24iOiJvbiIsImF1dG9maWxsX3VzZXJfZGF0YSI6Im9mZiIsInRpbWVyIjoxMDAsInNob3dfYW5zd2Vyc19jYXB0aW9uIjoib24iLCJxdWl6X2VuYWJsZV9rZXlib2FyZF9uYXZpZ2F0aW9uIjoib24iLCJzaG93X3F1aXpfaW1hZ2UiOiJvbiIsInF1aXpfZW5hYmxlX3doYXRzYXBwX3NoYXJlX2J1dHRvbiI6Im9mZiIsInN1Ym1pdF9yZWRpcmVjdF9hZnRlciI6IiIsInJ3X2Fuc3dlcnNfc291bmRzIjp0cnVlLCJpZCI6IjIxIiwidGl0bGUiOiJNXHUwMGU5dHJpY2FzIGRlIHJlZ3Jlc2lcdTAwZjNuIiwiZGVzY3JpcHRpb24iOiJDb250ZXN0YSBsYXMgc2lndWllbnRlcyBwcmVndW50YXMiLCJxdWl6X2ltYWdlIjoiIiwicXVpel9jYXRlZ29yeV9pZCI6IjIiLCJxdWVzdGlvbl9pZHMiOiI1NSw1Niw1OSw1Nyw1OCIsIm9yZGVyaW5nIjoiMjEiLCJwdWJsaXNoZWQiOiIxIiwiaW50ZXJ2YWxzIjpudWxsLCJxdWl6X3VybCI6IiIsImN1c3RvbV9wb3N0X2lkIjpudWxsLCJhdXRob3JfaWQiOiIwIiwicXVpel9hbmltYXRpb25fdG9wIjoxMDAsInF1aXpfZW5hYmxlX2FuaW1hdGlvbl90b3AiOiJvbiJ9';
        </script>
                    <input type='hidden' name='quiz_id' value='21'/>
                    <input type='hidden' name='start_date' class='ays-start-date'/>
                </form></div>
                            </div>
                            



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/11/MEAR_K1.jpg" alt="métricas de evaluación para modelos de regresión kagnadi" class="wp-image-10745" style="width:500px;height:auto" title="Métricas de evaluación de modelos de regresión 88" srcset="https://dialektico.com/wp-content/uploads/2024/11/MEAR_K1.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/11/MEAR_K1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ya que hemos identificado los aspectos y tareas clave para cumplir nuestro objetivo, supondremos que hemos <strong>preprocesado </strong>nuestros datos y <strong>entrenado </strong>un modelo de <a href="https://dialektico.com/aprendizaje-supervisado/">aprendizaje supervisado</a> que captura las relaciones entre las <strong>entradas </strong>y <strong>salidas</strong>, dando el siguiente resultado en las estimaciones realizadas:</p>



<figure class="wp-block-table is-style-stripes"><table class="has-light-green-cyan-background-color has-background has-fixed-layout"><thead><tr><th>Precio Real (USD)</th><th>Precio Predicho (USD)</th></tr></thead><tbody><tr><td>150,000</td><td>145,000</td></tr><tr><td>200,000</td><td>210,000</td></tr><tr><td>300,000</td><td>295,000</td></tr><tr><td>100,000</td><td>110,000</td></tr><tr><td>180,000</td><td>175,000</td></tr></tbody></table><figcaption class="wp-element-caption"><strong>Tabla 3.6.2</strong> Valores de la variable de salida y su comparación con los valores predichos con el modelo entrenado.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ya que tenemos <strong>predicciones </strong>hechas con el modelo, lo que sigue es <strong>evaluar </strong>su desempeño utilizando las métricas antes propuestas.</p>



<p>Veamos qué son y qué nos dice cada una.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p><strong>Nota:</strong> estamos a punto de comenzar a explorar el funcionamiento e implicaciones de algunas métricas de evaluación. El fin es que conozcas cómo operan y cómo analizar los resultados obtenidos. Es tu obligación como científica/o de datos conocer gran parte de las métricas que tienes a disposición y aprender a utilizarlas de forma oportuna. (Es decir, en lo que concierne a las demás medidas de evaluación, <a href="https://dialektico.com/wp-content/uploads/2024/11/MEAR_misc_1.jpg">se deja como ejercicio al lector</a>).</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Error cuadrático medio (MSE)</h3>



<p>Las primeras dos métricas (<strong>MSE </strong>y <strong>MAE</strong>) son <strong>funciones de pérdida</strong> que operan de la forma que hemos presenciado con anterioridad, comparando los valores del conjunto de datos <strong>reales </strong>con las predicciones realizadas utilizando el modelo (véase la <a href="https://dialektico.com/wp-content/uploads/2024/06/FDP_FuncionesPDiagrama.jpg">Imagen 3.4.1</a>). Sin embargo, ambas son ligeramente diferentes, y lo revisaremos a detalle. Comenzaremos con la que ya hemos definido en una excursión pasada.</p>



<p>El <strong>Error Cuadrático Medio (MSE, </strong>por sus siglas en inglés de<strong> <em>Mean Squared Error)</em></strong> es una <strong>métrica </strong>que mide la magnitud de los errores en las predicciones de un modelo de regresión, lo cual se hace calculando el promedio de elevar al cuadrado las <strong>diferencias </strong>entre los <strong>valores reales</strong> y las <strong>predicciones </strong>realizadas con el <strong>modelo</strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Interpretación del MSE</h4>



<p>Para interpretar los resultados del Error Cuadrático Medio, se debe considerar lo siguiente:</p>



<ul class="wp-block-list">
<li>Un MSE <strong>bajo</strong> indica que las predicciones del modelo están más cerca de los valores reales, lo cual es deseable.</li>



<li>Un MSE <strong>alto</strong> significa que el modelo tiene un error más grande en las predicciones, lo cual indica un mal ajuste.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>También debemos tomar en cuenta que, dado que el <strong>MSE </strong>es una métrica cuadrática, los <strong>errores grandes </strong>son penalizados de manera más severa que los <strong>errores pequeños </strong>(son más vistosos en el resultado, por así decirlo). Esto lo convierte en una métrica sensible a <strong>valores atípicos</strong> (outliers).</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/11/MEAR_A1.jpg" alt="métricas de evaluación para modelos de regresión aelacor" class="wp-image-10750" style="width:500px;height:auto" title="Métricas de evaluación de modelos de regresión 89" srcset="https://dialektico.com/wp-content/uploads/2024/11/MEAR_A1.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/11/MEAR_A1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Por eso debemos tener cuidado al preparar los datos para su ingesta.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Cálculo del MSE</h4>



<p>Ahora calculamos el MSE, justo como lo dicta la fórmula, con los datos de la <a href="https://dialektico.com/wp-content/uploads/2024/11/tab_362.png"><strong>Tabla 3.6.2</strong></a>:</p>



<p>Se obtiene el cuadrado de la diferencia entre las predicciones y los valores reales, y se suman:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\text{Suma de diferencia de errores} = (150,000 - 145,000)^2 + (200,000 - 210,000)^2\\ + (300,000 - 295,000)^2
+ (100,000 - 110,000)^2 + (180,000 - 175,000)^2</pre></div>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\text{Suma de diferencia de errores} = (5,000)^2 + (-10,000)^2, (5,000)^2 + (-10,000)^2 + (5,000)^2</pre></div>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\text{Suma de diferencia de errores} = 25,000,000 + 100,000,000 + 25,000,000 + 100,000,000\\ + 25,000,000</pre></div>



<p>Se suman estos errores y se calcula el promedio, el cual se obtiene dividiendo la suma entre el número total de ejemplos (5 en este caso):</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\text{MSE} = \frac{25,000,000 + 100,000,000 + 25,000,000 + 100,000,000 + 25,000,000}{5}</pre></div>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}\text{MSE} &amp;= \frac{275,000,000}{5} \\ &amp;= 55,000,000\end{aligned}</pre></div>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Notarás que el MSE obtenido es <strong>55,000,000</strong> USD², lo cual representa el error promedio al cuadrado de las predicciones del modelo en comparación con los valores reales.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Análisis del MSE</h4>



<p>En primera instancia, parece un valor alto. Dado que el <strong>MSE </strong>tiende a crecer con valores grandes en los datos, se puede deber a la presencia de algún <strong>valor atípico</strong>. Pero, además, se debe considerar la <strong>escala</strong>, ya que el MSE eleva al cuadrado las diferencias, por lo que el resultado no se encuentra en la escala original de los precios, que rondan entre 150 mil y 300 mil USD, dificultando la interpretación del resultado sin un contexto estadístico adicional. En algunos casos, se usa la <strong>Raíz del Error Cuadrático Medio</strong> (RMSE), que es simplemente la raíz cuadrada del MSE, para tener una métrica en las mismas unidades que la variable objetivo (en este caso, el precio en USD); o también se puede optar por utilizar alguna otra métrica para complementar la información, como el error absoluto medio, el cual veremos a continuación.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2024/11/MEAR_M2.jpg" alt="métricas de evaluación para modelos de regresión mmerf" class="wp-image-10753" style="width:600px;height:auto" title="Métricas de evaluación de modelos de regresión 90" srcset="https://dialektico.com/wp-content/uploads/2024/11/MEAR_M2.jpg 1080w, https://dialektico.com/wp-content/uploads/2024/11/MEAR_M2-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Error Absoluto Medio (MAE)</h3>



<p>El <strong>Error Absoluto Medio</strong> (MAE) es una función de pérdida como el <strong>MSE</strong>, pero esta mide el error promedio entre las predicciones y los valores reales, sin tomar en cuenta el signo (si las pérdidas son positivas o negativas). Es decir, calcula el promedio de las <strong>diferencias absolutas</strong> entre las predicciones y los valores reales. La definición matemática concreta de esta y las demás medidas la veremos en la última sección.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Interpretación del MAE</h4>



<p>Se considera lo siguiente para interpretar los resultados del MAE:</p>



<ul class="wp-block-list">
<li>Un MAE <strong>más bajo</strong> indica un error promedio menor, lo que significa que las predicciones están cerca de los valores reales.</li>



<li>A diferencia del MSE, el MAE <strong>no penaliza</strong> tanto los <strong>errores grande</strong>s, ya que no los eleva al cuadrado. Esto lo hace más robusto frente a valores atípicos.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/11/MEAR_A2_2.jpg" alt="métricas de evaluación para modelos de regresión aelacor" class="wp-image-10755" style="width:506px;height:auto" title="Métricas de evaluación de modelos de regresión 91" srcset="https://dialektico.com/wp-content/uploads/2024/11/MEAR_A2_2.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/11/MEAR_A2_2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Eso no es la mejor idea, pero es una posibilidad. Recuerda que todo lo que uses para procesar tus datos va de acuerdo a las características que has develado mediante su <a href="https://dialektico.com/introduccion-analisis-exploratorio-de-datos/">análisis</a> y manipulación.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Cálculo del MAE</h4>



<p>Calculamos el MAE obteniendo la suma del valor absoluto de las diferencias entre los valores estimados y los del conjunto de datos como sigue:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\text{Suma de valor absoluto de errores} = |150,000 - 145,000| + |200,000 - 210,000|+\\ |300,000 - 295,000|+ |100,000 - 110,000|+ |180,000 - 175,000| 
</pre></div>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\text{Suma de valor absoluto de errores} = 5,000 + 10,000 + 5,000 + 10,000 + 5,000 
</pre></div>



<p>Y obtenemos el promedio de esta suma:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}\text{MAE} &amp;= \frac{5,000 + 10,000 + 5,000 + 10,000 + 5,000}{5}\\ &amp;= \frac{35,000}{5}\\ &amp;= 7,000\end{aligned}
</pre></div>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Análisis del MAE</h4>



<p>El MAE obtenido es <strong>7,000</strong> USD, lo cual significa que, en promedio, las predicciones están a 7,000 USD de los valores reales. Esto es una porción relativamente baja, que ya se trata del 4.6% del valor más bajo en los <a href="https://dialektico.com/wp-content/uploads/2024/06/FDP_FuncionesPDiagrama.jpg">precios</a>, así como representa el 2.3% del valor más alto. Esto puede indicar que el modelo ha logrado capturar de manera efectiva las relaciones entre las entradas y las salidas.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/11/MEAR_K2_2.jpg" alt="MEAR K2 2" class="wp-image-10835" style="width:505px;height:auto" title="Métricas de evaluación de modelos de regresión 92" srcset="https://dialektico.com/wp-content/uploads/2024/11/MEAR_K2_2.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/11/MEAR_K2_2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Como verán en la <strong>práctica </strong>de <strong>Python</strong>, con una sola línea de <strong>código </strong>pueden obtener el valor de una métrica de evaluación, pero aquí estamos desarrollando un poco el proceso para captar la idea de operar con las predicciones y los datos del terreno real para determinar la precisión del <strong>modelo</strong>. No se asusten, el obtener las métricas es sencillo, lo importante es <strong>interpretarlas</strong> <strong>correctamente</strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Coeficiente de Determinación (R2)</h3>



<p>Ahora que hemos utilizado un par de funciones de pérdida, vamos con otro tipo de métricas útiles. <span class="katex-eq" data-katex-display="false">\text{R}^2</span> es una medida que, entre otras palabras, indica qué proporción de la variabilidad en los datos es explicada por el modelo.</p>



<p>Cuando decimos que <span class="katex-eq" data-katex-display="false">\text{R}^2</span> explica la<strong> variabilidad </strong>en los datos, nos referimos a cuánto del <strong>cambio </strong>o <strong>variación </strong>en los valores de la <strong>variable dependiente</strong> (o variable objetivo) puede ser explicado por las <strong>variables independientes</strong> (entradas o características) del modelo.</p>



<p>En el contexto de nuestro ejemplo, en nuestro conjunto de datos el precio de las viviendas puede variar debido a varios factores, como el tamaño, la ubicación o el número de habitaciones. Esta &lt;&lt;<strong>variabilidad</strong>&gt;&gt; o &lt;&lt;<strong>dispersión</strong>&gt;&gt; de los precios en el conjunto de datos es lo que el modelo intenta capturar, y <span class="katex-eq" data-katex-display="false">\text{R}^2</span> cuantifica qué tanto los cambios en las <strong>entradas </strong>producen cambios en las <strong>salidas</strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Interpretación del R2</h4>



<p>La interpretación de esta métrica es relativamente sencilla:</p>



<ul class="wp-block-list">
<li><span class="katex-eq" data-katex-display="false">\text{R}^2=1</span> significa que el modelo explica el <strong>100% de la variabilidad</strong> en los datos. Esto indica que el modelo se ajusta perfectamente a los datos, ya que todas las predicciones coinciden con los valores reales.</li>



<li><span class="katex-eq" data-katex-display="false">\text{R}^2=0</span> indica que el modelo no explica ninguna variabilidad en los datos. En este caso, el modelo no es mejor que simplemente predecir el promedio de los valores reales; en otras palabras, el modelo no está mejorando la predicción en comparación con una simple línea horizontal que representaría el promedio de los valores de salida.</li>



<li>Un <span class="katex-eq" data-katex-display="false">\text{R}^2</span> <strong>negativo</strong> es posible si los errores del modelo son tan grandes que el modelo no solo no explica la variabilidad, sino que introduce más error, o sea, más valores alejados del patrón que se asume que describen los datos.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Cálculo del R2</h4>



<p>Dado que para su definición matemática se requieren algunos términos más <strong>avanzados de</strong> <strong>estadística</strong>, solo mostraremos el resultado de esta medida para nuestro ejemplo, y hablaremos sobre cómo se calcula en la siguiente sección (donde podemos formalizar tranquilamente).</p>



<p>Supongamos que hemos calculado el <span class="katex-eq" data-katex-display="false">R^2</span> y hemos obtenido lo siguiente:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\text{R}^2=0.75</pre></div>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Análisis del coeficiente de determinación</h4>



<p>Un <span class="katex-eq" data-katex-display="false">\text{R}^2</span> de 0.75 significa que el <strong>75% de la variabilidad</strong> en el precio de las viviendas puede ser explicado por los valores de las variables de entrada. El otro 25% de la variabilidad puede deberse a factores no incluidos en el modelo, o a ruido aleatorio. Se puede concluir que, respecto a esta métrica, las variables independientes sí generan cambios en la variable objetivo, y el modelo ha logrado capturar parte de esta <strong>variabilidad</strong>. El valor es bueno, pero su lejanía de 25 puntos del 100 (0.75 de 1) indica que se puede mejorar la <strong>precisión de</strong> <strong>predicción </strong>del modelo evaluado.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Coeficiente de Correlación de Pearson</h3>



<p>Por último, pero definitivamente no menos importante, el <a href="https://dialektico.com/wp-content/uploads/2024/11/MEAR_meme.jpg">ya tradicional</a> <strong>Coeficiente de Correlación de Pearson</strong>, es una medida de la la correlación lineal entre los valores reales y las predicciones del modelo, cuyo valor resultante está en el rango de <span class="katex-eq" data-katex-display="false">-1</span> a <span class="katex-eq" data-katex-display="false">1</span>. Esta métrica indica qué tan dependientes son las salidas de las entradas, y engloba esa dependencia en valores fácilmente interpretables, como vimos que hace <span class="katex-eq" data-katex-display="false">\text{R}^2</span>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Interpretación del Coeficiente de Pearson</h4>



<p>El coeficiente de Pearson se interpreta como sigue:</p>



<ul class="wp-block-list">
<li>Un <span class="katex-eq" data-katex-display="false">1</span> indica una correlación lineal positiva perfecta: a medida que aumentan o disminuyen los valores reales, aumentan o disminuyen también los valores de las predicciones.</li>



<li>Un <span class="katex-eq" data-katex-display="false">0</span> indica que no hay correlación lineal entre las predicciones y los valores reales.</li>



<li>Un <span class="katex-eq" data-katex-display="false">-1</span> indica una correlación lineal negativa perfecta: a medida que aumentan los valores reales, las predicciones disminuyen, o viceversa, a medida que disminuyen los valores reales, las predicciones aumentan.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2024/11/MEAR_M3_3.jpg" alt="MEAR M3 3" class="wp-image-10880" style="width:600px;height:auto" title="Métricas de evaluación de modelos de regresión 93" srcset="https://dialektico.com/wp-content/uploads/2024/11/MEAR_M3_3.jpg 1080w, https://dialektico.com/wp-content/uploads/2024/11/MEAR_M3_3-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Sí, algo así es la idea.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Cálculo del Coeficiente de Correlación de Pearson</h4>



<p>Al igual que como hicimos con <span class="katex-eq" data-katex-display="false">\text{R}^2</span>, dejaremos para después las operaciones propias de esta métrica. Por el momento, plantearemos que obtuvimos el siguiente valor de correlación:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\rho = 0.85</pre></div>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Análisis del coeficiente de correlación</h4>



<p>Al obtener un valor de 0.85, podemos inferir que, al ser cercano a <span class="katex-eq" data-katex-display="false">1</span>, implica que existe una <strong>correlación positiva fuerte</strong> entre las dos variables en cuestión. Esto significa que, en general, a medida que una variable <strong>aumenta</strong>, la otra también tiende a <strong>aumentar</strong>. Además, nótese la relación entre las variables es <strong>positiva</strong>, pero no perfecta. Es decir, aunque las dos variables se muevan en la misma <strong>dirección</strong>, puede haber algunos puntos que no sigan esta relación exacta debido a la <strong>variabilidad </strong>o <strong>ruido </strong>en los datos. Esto empata con el resultado obtenido en <span class="katex-eq" data-katex-display="false">\text{R}^2</span>.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center has-text-color" id="aprendizaje-supervisado-codigo-de-programacion" style="color:#840303">Métricas de evaluación de modelos de regresión con Python</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Espadas_1.jpg" alt="Preprocesamiento de datos dialéktico" class="wp-image-6961" style="width:139px" title="Métricas de evaluación de modelos de regresión 94" srcset="https://dialektico.com/wp-content/uploads/2024/04/Espadas_1.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Espadas_1-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ha llegado el momento de poner en marcha lo aprendido. En la práctica de hoy obtendremos medidas de evaluación de los modelos de regresión que trabajamos en la <a href="https://dialektico.com/introduccion-a-la-regresion-lineal/">introducción a la regresión lineal</a>, y haremos su respectivo análisis.</p>



<figure class="wp-block-image aligncenter size-full is-resized is-resized, mi-imagen-pulsa" id="colab"><a href="https://colab.research.google.com/github/DanielDialektico/dialektico-machine-learning-practices/blob/main/notebooks/Machine%20Learning/Aprendizaje%20Supervisado/M%C3%A9tricas_Modelos_Regresi%C3%B3n.ipynb" target="_blank" rel="noopener"><img loading="lazy" decoding="async" width="860" height="422" src="https://dialektico.com/wp-content/uploads/2022/07/Boton.png" alt="colab" class="wp-image-1469" style="width:182px;height:auto" title="Métricas de evaluación de modelos de regresión 95" srcset="https://dialektico.com/wp-content/uploads/2022/07/Boton.png 860w, https://dialektico.com/wp-content/uploads/2022/07/Boton-300x147.png 300w, https://dialektico.com/wp-content/uploads/2022/07/Boton-768x377.png 768w" sizes="(max-width: 860px) 100vw, 860px" /></a></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Puedes previsualizar el contenido aquí:</p>


<p><script src="https://gist.github.com/DanielDialektico/365c5aa0eb7c8af8943aca3075969a8c.js"></script></p>



<p>Para finalizar con este recorrido, haremos mención de la definición matemática de cada métrica para tener consciencia de cómo es que se calculan. No usaremos mucho estas definiciones en el futuro, pero te las dejaré aquí por si llegas a necesitarlas.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center has-text-color" id="aprendizaje-supervisado-que-es" style="color:#840303">Métricas de evaluación de regresión: definiciones matemáticas</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Libro_1.jpg" alt="Libro_1" class="wp-image-6962" style="width:125px;height:125px" title="Métricas de evaluación de modelos de regresión 96" srcset="https://dialektico.com/wp-content/uploads/2024/04/Libro_1.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Libro_1-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Para estas definiciones, consideremos que <span class="katex-eq" data-katex-display="false">\mathcal{D} = \lbrace (x_{1},y_{1}),…,(x_{N},y_{N})\rbrace</span> es un conjunto de <span class="katex-eq" data-katex-display="false"> N </span> <a href="https://dialektico.com/wp-content/uploads/2024/10/IAS_def1.png">datos etiquetados</a>, donde <span class="katex-eq" data-katex-display="false">x_n </span> representa las entradas y <span class="katex-eq" data-katex-display="false"> y_n </span> a la salidas observada correspondiente a cada entrada. Además, se asume que existe un modelo <span class="katex-eq" data-katex-display="false">h(x)</span> entrenado con estos datos mediante un algoritmo de <a href="https://dialektico.com/wp-content/uploads/2024/11/def_31.png">aprendizaje supervisado</a>, el cual genera predicciones <span class="katex-eq" data-katex-display="false"> \hat{y}_n = h(x_n) </span> para cada entrada <span class="katex-eq" data-katex-display="false"> x_n </span>.</p>



<p><strong>Definición (3.12) Error Cuadrático Medio.</strong> El Error Cuadrático Medio (MSE<strong>)</strong> evalúa la precisión promedio de un modelo <span class="katex-eq" data-katex-display="false">h(x)</span> como sigue:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\text{MSE} = \frac{1}{N} \sum_{i=1}^N (y_n - \hat{y}_n)^2,\tag{3.65}</pre></div>



<p>donde, debe recordarse, <span class="katex-eq" data-katex-display="false">\hat{y}_n</span> es la predicción del modelo dadas las variables de la entrada <span class="katex-eq" data-katex-display="false">x_n </span>, y <span class="katex-eq" data-katex-display="false">y_n</span> es el valor del terreno real del conjunto de datos para esa entrada.</p>



<p>El MSE mide la magnitud del error al cuadrado, penalizando errores grandes más que errores pequeños.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p><strong>Definición (3.13) Error Absoluto Medio.</strong> El Error Absoluto Medio (MAE<strong>)</strong> calcula el error promedio en valor absoluto entre las predicciones y los valores reales, proporcionando una medida de la distancia media absoluta entre los valores predichos y los valores observados. Se define como:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\text{MAE} = \frac{1}{N} \sum_{i=1}^N |y_n - \hat{y}_n|\tag{3.66}</pre></div>



<p>Esta métrica es menos sensible a los valores atípicos que el MSE, ya que no eleva los errores al cuadrado. Nótese que <span class="katex-eq" data-katex-display="false"> |y_i - \hat{y}_i| </span> representa la diferencia absoluta entre el valor observado y el valor predicho para cada observación.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p><strong>Definición (3.14)</strong> <strong>Coeficiente de Determinación.</strong> El coeficiente de determinación <span class="katex-eq" data-katex-display="false"> \text{R}^2</span> mide la proporción del error cuadrático medio y la varianza. Se calcula mediante la siguiente operación:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\text{R}^2 = 1 - \frac{\sum_{n=1}^N (y_n - \hat{y}_n)^2}{\sum_{n=1}^N (y_n - \bar{y})^2}, \tag{3.67}</pre></div>



<p>donde <span class="katex-eq" data-katex-display="false"> \bar{y} </span> es el promedio de los valores observados <span class="katex-eq" data-katex-display="false"> y_n </span>. Nótese que el numerador es el MSE, y el denominador la varianza de los datos. Cuando el error cuadrático medio es menor que la varianza total, significa que el modelo ha logrado capturar al menos parte de la variabilidad en los datos. En otras palabras, es indicativo de que el modelo mejora las predicciones en comparación con el uso de una simple línea promedio. Cuanto más se reduzca el error cuadrático medio en comparación con la varianza, mayor será el valor de <span class="katex-eq" data-katex-display="false"> \text{R}^2</span>, lo cual indica un mejor ajuste del modelo. </p>



<p>Por lo tanto, la métrica <span class="katex-eq" data-katex-display="false"> \text{R}^2 </span> toma valores entre 0 y 1, donde un valor cercano a 1 indica que el modelo explica bien la variabilidad de los datos, mientras que un valor cercano a 0 indica que el modelo no captura de forma eficiente la variabilidad.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p><strong>Definición (3.15)</strong> <strong>Coeficiente de Correlación de Pearson.</strong> El Coeficiente de Correlación de Pearson mide la fuerza y dirección de la relación lineal entre las predicciones y los valores observados. Se obtiene como sigue:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\rho = \frac{\sum_{i=1}^n (y_i - \bar{y})(\hat{y}_i - \bar{\hat{y}})}{\sqrt{\sum_{i=1}^n (y_i - \bar{y})^2 \sum_{i=1}^n (\hat{y}_i - \bar{\hat{y}})^2}}, \tag{3.68}</pre></div>



<p>donde <span class="katex-eq" data-katex-display="false"> \bar{y} </span> y <span class="katex-eq" data-katex-display="false"> \bar{\hat{y}} </span> representan las medias de los valores observados y predichos, respectivamente. El coeficiente <span class="katex-eq" data-katex-display="false"> r </span> varía entre <span class="katex-eq" data-katex-display="false">-1</span> y <span class="katex-eq" data-katex-display="false">1</span>, donde un valor cercano a 1 indica una fuerte correlación positiva, un valor cercano a <span class="katex-eq" data-katex-display="false"> -1</span> indica una fuerte correlación negativa, y un valor cercano a 0 indica poca o ninguna correlación lineal.</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Nuestra travesía ha concluido. Hemos aprendido cómo utilizar <strong>métricas </strong>para <strong>evaluar </strong>el rendimiento de un <strong>modelo de regresión</strong>. En nuestra siguiente sesión aprenderemos sobre la <strong>evaluación </strong>de <strong>modelos de clasificación</strong>, y con eso estaremos preparando nuestra salida hacia las exploraciones previas a uno de los modelos más icónicos del aprendizaje de máquinas.</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-large is-resized mi-imagen-pulsa"><a href="https://dialektico.com/datos-desbalanceados-definicion-ejemplos/"><img loading="lazy" decoding="async" width="300" height="147" src="https://dialektico.com/wp-content/uploads/2024/07/image-4.png" alt="image 4" class="wp-image-8874" style="width:186px;height:91px" title="Métricas de evaluación de modelos de regresión 97"></a></figure>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://dialektico.com/metricas-de-evaluacion-de-modelos-de-regresion/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Introducción al Análisis Exploratorio de Datos</title>
		<link>https://dialektico.com/introduccion-analisis-exploratorio-de-datos/</link>
					<comments>https://dialektico.com/introduccion-analisis-exploratorio-de-datos/#respond</comments>
		
		<dc:creator><![CDATA[Daniel Dialéktico]]></dc:creator>
		<pubDate>Thu, 03 Oct 2024 19:38:08 +0000</pubDate>
				<category><![CDATA[Análisis de Datos]]></category>
		<category><![CDATA[Ciencia de datos]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[análisis de datos]]></category>
		<category><![CDATA[ciencia de datos]]></category>
		<category><![CDATA[datos]]></category>
		<category><![CDATA[EDA]]></category>
		<category><![CDATA[machine learning]]></category>
		<guid isPermaLink="false">https://dialektico.com/?p=9996</guid>

					<description><![CDATA[Ahora que hemos hablado sobre qué son los datos, sus características, su definición como un conjunto procesable computacionalmente, y su evolución a lo largo de la ejecución de un proyecto, tu entrenamiento en datos por fin te ha llevado a empezar a operar con ellos. En esta sesión veremos un componente esencial del tratamiento de [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Ahora que hemos hablado sobre qué son los <strong><a href="https://dialektico.com/datos-machine-learning/">datos</a></strong>, sus <a href="https://dialektico.com/tipos-de-datos/"><strong>características</strong></a>, su definición como un <strong>conjunto </strong>procesable computacionalmente, y su <strong>evolución </strong>a lo largo de la ejecución de un proyecto, tu entrenamiento en datos por fin te ha llevado a empezar a operar con ellos. En esta sesión veremos un componente esencial del tratamiento de datos en una fase anterior a su transformación y uso para el <a href="https://dialektico.com/tipos-de-datos/">entrenamiento</a> de modelos de<strong> machine learning</strong>: el <strong>análisis exploratorio de datos</strong>.</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="847" src="https://dialektico.com/wp-content/uploads/2024/10/EDA_Nivel_4.jpg" alt="EDA Nivel 4" class="wp-image-10056" style="width:564px;height:auto" title="Introducción al Análisis Exploratorio de Datos 98" srcset="https://dialektico.com/wp-content/uploads/2024/10/EDA_Nivel_4.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/10/EDA_Nivel_4-768x635.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h6 class="wp-block-heading has-text-align-center">Inventario recomendado</h6>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg" alt="aprendizaje supervisado dialéktico" class="wp-image-7016" style="width:196px;height:auto" title="Introducción al Análisis Exploratorio de Datos 99" srcset="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:35px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Nociones sobre <a href="https://dialektico.com/conjuntos-de-datos-para-machine-learning/">conjuntos de datos</a></strong> <strong>y su <a href="https://dialektico.com/ciclo-de-vida-de-los-datos/">ciclo de vida</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><a href="https://dialektico.com/conjuntos-de-datos-para-machine-learning/"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/TiposDD_3.jpg" alt="Ciclo de vida de los datos dialéktico" class="wp-image-7367" style="width:400px;height:400px" title="Introducción al Análisis Exploratorio de Datos 100" srcset="https://dialektico.com/wp-content/uploads/2024/05/TiposDD_3.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/TiposDD_3-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></a></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Matemáticas: conocimiento en estadística descriptiva e inferencial</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/10/image.png" alt="image" class="wp-image-10035" style="width:410px;height:auto" title="Introducción al Análisis Exploratorio de Datos 101" srcset="https://dialektico.com/wp-content/uploads/2024/10/image.png 1024w, https://dialektico.com/wp-content/uploads/2024/10/image-768x768.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Algún acompañamiento</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/09/EDA_T.jpg" alt="alimento dialéktico" class="wp-image-10001" style="width:430px;height:auto" title="Introducción al Análisis Exploratorio de Datos 102" srcset="https://dialektico.com/wp-content/uploads/2024/09/EDA_T.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/09/EDA_T-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center">Análisis Exploratorio de Datos</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg" alt="análisis exploratorio de datos" class="wp-image-6960" style="width:125px" title="Introducción al Análisis Exploratorio de Datos 103" srcset="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Hasta el momento hemos abordado qué son los <a href="https://dialektico.com/conjuntos-de-datos-para-machine-learning/">conjuntos de datos</a> y <a href="https://dialektico.com/obtener-conjuntos-de-datos-para-ml/">cómo obtenerlos</a>, pero después, ¿qué sigue?</p>



<p>El siguiente paso es <strong><em>conocer </em></strong>los datos. Esto implica tomarlos y <strong>explorarlos </strong>a conciencia con el fin de aprender sobre sus características, alcance, limitaciones, y las modificaciones que serán necesarias para dejarlos listos como entradas para un <strong>algoritmo </strong>de <strong><a href="https://dialektico.com/introduccion-machine-learning/">machine learning</a></strong>. Esto se hace realizando lo que se conoce como análisis de datos exploratorio.</p>



<p>Un análisis de datos exploratorio (<strong>EDA</strong>, por sus siglas en inglés: <em>Exploratory Data Analysis</em>) es un procedimiento que consiste en obtener conocimientos sobre un conjunto de datos mediante su <strong>manipulación</strong>, <strong>análisis </strong>estadístico <strong>descriptivo </strong>e <strong>inferencial</strong>, y <strong>visualización </strong>en representaciones gráficas. Es un paso vital en el flujo de trabajo cuyo fin es el entrenamiento de algoritmos de aprendizaje automático, ya que es necesario para conocer los aspectos básicos del <strong>conjunto de datos</strong> a utilizar, y del tratamiento que debe tener antes de ser <strong>modelado</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2024/10/EDA_M1.jpg" alt="análisis exploratorio de datos mmerf" class="wp-image-10008" style="width:604px;height:auto" title="Introducción al Análisis Exploratorio de Datos 104" srcset="https://dialektico.com/wp-content/uploads/2024/10/EDA_M1.jpg 1080w, https://dialektico.com/wp-content/uploads/2024/10/EDA_M1-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">¿Cómo se hace un análisis exploratorio de datos?</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>El cómo ejecutar un análisis exploratorio puede variar conforme a los <strong>tipos de datos</strong> y los <strong>objetivos </strong>particulares, pero en general se recomienda seguir un flujo compuesto por las siguientes etapas.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">1.  Exploración de las características generales de los datos</h3>



<p>El primer paso es conocer lo datos de manera <strong>superficial</strong>, aún sin preocuparnos por obtener medidas <strong>estadísticas</strong>. Esto se trata sobre conocer su <strong>composición</strong>, <strong>estructura</strong>, y <strong>calidad</strong>, y se puede resumir como sigue:</p>



<ul class="wp-block-list">
<li><strong>Dimensión de los datos</strong>: Conocer cuántos registros (filas) y cuántos atributos o características (columnas) tiene el conjunto de datos.</li>



<li><strong>Tipo de datos</strong>: Identificar los tipos de datos que componen al conjunto: ¿se trata de datos estructurados o no estructurados?, ¿cuáles de estos son cuantitativos o cualitativos?, ¿qué tipo de datos computacionales son? (float, int, object, etc). Conocer los tipos de datos será vital para su manipulación numérica.</li>



<li><strong>Calidad de los datos</strong>: Debemos buscar posibles inconsistencias en los datos que puedan generar conflictos en cálculos realizados sobre estos, por ejemplo: datos faltantes, datos nulos, datos duplicados, datos mal registrados.</li>
</ul>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/10/EDA_A1.jpg" alt="análisis exploratorio de datos aelacor" class="wp-image-10016" style="width:502px;height:auto" title="Introducción al Análisis Exploratorio de Datos 105" srcset="https://dialektico.com/wp-content/uploads/2024/10/EDA_A1.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/10/EDA_A1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">2. Estadística descriptiva</h3>



<p>Después de conocer los datos con un primer acercamiento, es hora de obtener algunas <strong>medidas </strong>que nos hablen sobre estos en cuanto a sus <strong>propiedades</strong> <strong>matemáticas</strong>. Para esto, utilizaremos <strong>estadística descriptiva</strong>, la cual consiste en calcular medidas que resuman algunas de sus <strong>características </strong>más <strong>elementales</strong>. Ejemplos de métricas que se suelen utilizar son las siguientes:</p>



<ul class="wp-block-list">
<li><strong>Medidas de tendencia central</strong>: Media, mediana, moda.</li>



<li><strong>Medidas de dispersión</strong>: rango, varianza, desviación estándar, rango intercuartílico.</li>



<li><strong>Medidas de posición</strong>: cuartiles, percentiles.</li>



<li><strong>Medidas de forma</strong>: asimetría, curtosis.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/10/EDA_L1.jpg" alt="análisis exploratorio de datos laiahrang" class="wp-image-10017" style="width:522px;height:auto" title="Introducción al Análisis Exploratorio de Datos 106" srcset="https://dialektico.com/wp-content/uploads/2024/10/EDA_L1.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/10/EDA_L1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>No precisamente. Todo dependerá de los datos, tus necesidades, y lo que hayas observado en estos. Tú llevas la batuta de los componentes de tu análisis exploratorio.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">3. Visualización de datos</h3>



<p>Una parte imprescindible de la ciencia de datos es la <strong>visualización </strong>de datos utilizando <strong>gráficas</strong>. Esto facilita el conocimiento intuitivo de algunas de las propiedades de los datos, y facilita su comprensión. Es importante saber llevar los datos al dominio de las gráficas, tanto para observar propiedades como para compartir hallazgos. </p>



<p>Algunas gráficas recomendadas son las siguientes:</p>



<ul class="wp-block-list">
<li><strong>Histogramas</strong>: Utilizados para visualizar la distribución de una variable numérica.</li>



<li><strong>Gráficos de barras</strong>: Utilizados para representar y comparar la <strong>frecuencia, cantidad o proporción</strong> de diferentes categorías o grupos.</li>



<li><strong>Diagramas de cajas y bigotes</strong>: Representan la distribución de una variable numérica resaltando los cuartiles, la mediana y los valores atípicos (outliers).</li>



<li><strong>Gráficos de dispersión</strong>: Utilizados para examinar la relación entre dos variables numéricas.</li>



<li><strong>Gráficos de densidad</strong>: Son una versión suavizada de los histogramas, utilizados para visualizar la distribución de una variable. Proporcionan una visión más continua de la densidad de los datos, sin depender de la elección de bins.</li>



<li><strong>Gráficos de pastel</strong>: Se utiliza para representar la composición o proporción de un todo. Está formada por un círculo dividido en «rebanadas» (sectores) que muestran cómo se distribuyen diferentes partes dentro de un conjunto total de datos.</li>



<li><strong>Mapas de calor</strong>: Utilizados para visualizar matrices de correlación entre múltiples variables numéricas. Facilitan la identificación de relaciones fuertes o débiles entre las variables.</li>



<li><strong>Gráficos de línea</strong>: Utilizados para visualizar datos temporales o series de tiempo. Ayudan a identificar tendencias a lo largo del tiempo, patrones estacionales y anomalías.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2024/10/plots_1.jpg" alt="gráficas más usadas en análisis exploratorio dialéktico" class="wp-image-10019" title="Introducción al Análisis Exploratorio de Datos 107"><figcaption class="wp-element-caption"><strong>Figura 2.6.1</strong> Ejemplos de gráficas para visualización de datos.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Estos son algunos ejemplos para darte una idea de la variedad de gráficas que puedes tener a tu disposición. Recuerda que tú decides cuáles serán o no de utilidad para tus fines.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1024" height="181" src="https://dialektico.com/wp-content/uploads/2024/05/HistoricFrame_1.jpg" alt="HistoricFrame 1" class="wp-image-7458" title="Introducción al Análisis Exploratorio de Datos 108" srcset="https://dialektico.com/wp-content/uploads/2024/05/HistoricFrame_1.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/05/HistoricFrame_1-768x136.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Se considera que la primera gráfica utilizada con fines estadísticos fue publicada en 1644 por el astrónomo y cartógrafo belga Michael Florent van Langren, en su obra &lt;&lt;<a href="https://archive.org/details/ayer_qb_225_l36_1644/page/n11/mode/2up" target="_blank" rel="noopener">La verdadera Longitvd por Mar y Tierra</a>>>. En esta se mostraban las diferentes estimaciones de la longitud geográfica entre las ciudades de Toledo (España) y Roma (Italia), realizadas por varios astrónomos y geógrafos de la época.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="791" height="644" src="https://dialektico.com/wp-content/uploads/2024/10/EDA_vl.jpg" alt="michael ban langren dialéktico" class="wp-image-10021" title="Introducción al Análisis Exploratorio de Datos 109" srcset="https://dialektico.com/wp-content/uploads/2024/10/EDA_vl.jpg 791w, https://dialektico.com/wp-content/uploads/2024/10/EDA_vl-768x625.jpg 768w" sizes="(max-width: 791px) 100vw, 791px" /></figure>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="162" src="https://dialektico.com/wp-content/uploads/2024/05/HistoricFrameBottom_1.jpg" alt="HistoricFrameBottom 1" class="wp-image-7459" style="width:847px;height:auto" title="Introducción al Análisis Exploratorio de Datos 110" srcset="https://dialektico.com/wp-content/uploads/2024/05/HistoricFrameBottom_1.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/05/HistoricFrameBottom_1-768x122.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">4. Análisis inferencial</h3>



<p>El <strong>análisis inferencial</strong>, finalmente, consiste en la aplicación de técnicas <strong>estadísticas </strong>para obtener información más profunda sobre los datos; esto se hace a través de métodos que <strong>infieran </strong>propiedades de estos al operar sobre ellos. Algunos ejemplos de técnicas que podrías utilizar, son los siguientes:</p>



<ul class="wp-block-list">
<li>Pruebas de hipótesis.</li>



<li>Medidas de covarianza y correlación.</li>



<li>Detección de datos anómalos.</li>



<li>Análisis de componentes principales.</li>



<li>Análisis de componentes de series de tiempo.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Lo vuelvo a repetir, lo que hagas para realizar <strong>inferencias estadísticas</strong> en un <strong>análisis exploratorio</strong> dependerá de las cualidades de tus datos, y de los aspectos que hayas develado anteriormente mediante la estadística descriptiva; los mencionados aquí son meramente informativos, y no pretenden ser ni obligatorios ni únicos.</p>



<p>Las distintas tareas que hemos explicado aquí para la ejecución de un análisis exploratorio se resumen en la <strong>Figura 2.6.1</strong>:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="1024" height="1450" src="https://dialektico.com/wp-content/uploads/2024/10/EDA_esquema_2.jpg" alt="EDA esquema 2" class="wp-image-10707" title="Introducción al Análisis Exploratorio de Datos 111" srcset="https://dialektico.com/wp-content/uploads/2024/10/EDA_esquema_2.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/10/EDA_esquema_2-768x1088.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption"><strong>Figura 2.6.1</strong> Esquema que muestra los componentes de un análisis exploratorio de datos.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/10/EDA_K1.jpg" alt="análisis exploratorio de datos kagnadi" class="wp-image-10034" style="width:512px;height:auto" title="Introducción al Análisis Exploratorio de Datos 112" srcset="https://dialektico.com/wp-content/uploads/2024/10/EDA_K1.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/10/EDA_K1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Existen diferentes formas de hacerlo. Se puede realizar con cualquier <strong>plataforma </strong>o <strong>lenguaje de programación</strong> que permita la manipulación de datos y la aplicación de técnicas estadísticas. Yo personalmente sugiero que lo hagas usando la misma herramienta con la que crees y pongas en marcha tu algoritmo de machine learning. En nuestro caso, lo haremos con <strong>Python</strong>, pero esto será hasta nuestro próximo encuentro.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



            <div class='ays-quiz-container ays_quiz_classic_light   ays-quiz-keyboard-active' data-quest-effect='shake'  data-hide-bg-image='false' id='ays-quiz-container-19'>
                
                
                <div class='ays-questions-container'>
                    
                    
                    
                    <form action='' method='post' id='ays_finish_quiz_19' 
                        class='ays-quiz-form enable_correction enable_questions_result '
                    >
            <input type='hidden' value='list' class='answer_view_class'>
            <input type='hidden' value='' class='ays_qm_enable_arrows'>
            <audio id='ays_quiz_right_ans_sound_19' class='ays_quiz_right_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound.wav'></audio><audio id='ays_quiz_wrong_ans_sound_19' class='ays_quiz_wrong_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound-1.wav'></audio>
            
            <div class='step active-step'>
                <div class='ays-abs-fs ays-start-page'>
                    
                    
                    
                    <div class='ays-fs-subtitle'><p>Contesta las siguientes preguntas</p>
</div>
                    <input type='hidden' name='ays_quiz_id' value='19'/>
                    <input type='hidden' name='ays_quiz_finish_nonce' value='7cec930025'>
                    <input type='hidden' name='ays_quiz_curent_page_link' class='ays-quiz-curent-page-link' value='https://dialektico.com/categoria/analisis-de-datos/feed/'/>
                    <input type='hidden' name='ays_quiz_questions' value='49,50,51'>
                    
                    
                    <input type='button'   class='ays_next start_button action-button ays-quiz-keyboard-active' value='EMPEZAR' data-enable-leave-page="false" />
                    
                    </div>
                </div><div class='step  ' data-question-id='49' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>1 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Tienes un conjunto de datos que utilizarás para entrenar un modelo de machine learning, y decides realizar un análisis exploratorio. ¿Cuál de las siguientes actividades corresponde a estadísticas descriptivas del conjunto?:</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-49]' id='ays-answer-167-19' value='167'/>

                <label for='ays-answer-167-19' class='  ays_position_initial  ays-quiz-keyboard-label'>Obtención de una matriz de correlación de Pearson.</label><label for='ays-answer-167-19' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-49]' id='ays-answer-168-19' value='168'/>

                <label for='ays-answer-168-19' class='  ays_position_initial  ays-quiz-keyboard-label'>Cálculo de la media y la varianza.</label><label for='ays-answer-168-19' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-49]' id='ays-answer-169-19' value='169'/>

                <label for='ays-answer-169-19' class='  ays_position_initial  ays-quiz-keyboard-label'>Vizualización de la distribución con un histograma.</label><label for='ays-answer-169-19' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-49]' id='ays-answer-170-19' value='170'/>

                <label for='ays-answer-170-19' class='  ays_position_initial  ays-quiz-keyboard-label'>Identificación de variables categóricas.</label><label for='ays-answer-170-19' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_19 === 'undefined'){
                window.quizOptions_19 = [];
            }
            window.quizOptions_19['49'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>La media y varianza son estadísticas descriptivas.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='50' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>2 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Una vez que obtuviste la media de los datos, y visualizaste la información en una gráfica de dispersión, has decidido utilizar una técnica matemática para la detección de datos atípicos. ¿Esto a qué etapa corresponde?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-50]' id='ays-answer-171-19' value='171'/>

                <label for='ays-answer-171-19' class='  ays_position_initial  ays-quiz-keyboard-label'>Exploración de tipos de datos.</label><label for='ays-answer-171-19' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-50]' id='ays-answer-172-19' value='172'/>

                <label for='ays-answer-172-19' class='  ays_position_initial  ays-quiz-keyboard-label'>Modelación de patrones con aprendizaje de máquinas.</label><label for='ays-answer-172-19' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-50]' id='ays-answer-173-19' value='173'/>

                <label for='ays-answer-173-19' class='  ays_position_initial  ays-quiz-keyboard-label'>Estadística descriptiva.</label><label for='ays-answer-173-19' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-50]' id='ays-answer-174-19' value='174'/>

                <label for='ays-answer-174-19' class='  ays_position_initial  ays-quiz-keyboard-label'>Estadística inferencial.</label><label for='ays-answer-174-19' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_19 === 'undefined'){
                window.quizOptions_19 = [];
            }
            window.quizOptions_19['50'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Se considera que forma parte de un proceso de de estadística inferencial, dado que se utilizan técnicas de inferencia avanzadas.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='51' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>3 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Durante una etapa del análisis exploratorio, has descubierto que tienes datos duplicados, ¿en qué etapa sucedió esto?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-51]' id='ays-answer-175-19' value='175'/>

                <label for='ays-answer-175-19' class='  ays_position_initial  ays-quiz-keyboard-label'>Exploración general de datos.</label><label for='ays-answer-175-19' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-51]' id='ays-answer-176-19' value='176'/>

                <label for='ays-answer-176-19' class='  ays_position_initial  ays-quiz-keyboard-label'>Estadística descriptiva.</label><label for='ays-answer-176-19' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-51]' id='ays-answer-177-19' value='177'/>

                <label for='ays-answer-177-19' class='  ays_position_initial  ays-quiz-keyboard-label'>Visualización de datos</label><label for='ays-answer-177-19' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-51]' id='ays-answer-178-19' value='178'/>

                <label for='ays-answer-178-19' class='  ays_position_initial  ays-quiz-keyboard-label'>Estadística inferencial.</label><label for='ays-answer-178-19' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_19 === 'undefined'){
                window.quizOptions_19 = [];
            }
            window.quizOptions_19['51'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays-quiz-keyboard-active ays_arrow ays_display_none" tabindex='0'></i>
                            <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active '  value='ANTERIOR' /><i class='ays_display_none ays_fa ays_fa_flag_checkered ays_finish action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active' tabindex='0'></i><input type='submit' name='ays_finish_quiz' class='  ays_next ays_finish action-button ays-quiz-keyboard-active' value='VER TOTAL'/></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Todo lo referente a generalidades sobre los datos, sus tipos y su consistencia se identifica en en al análisis inicial general.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step ays_thank_you_fs'>
            <div class='ays-abs-fs ays-end-page'><div data-class='lds-facebook' data-role='loader' class='ays-loader'><div></div><div></div><div></div></div><div class='ays_quiz_results_page'><div class='ays_score_message'></div><div class='ays_message'></div><p class='ays_score ays_score_display_none animated'>Tu puntación es </p><p class='ays_average'>La puntuación media es  78%</p><div class='ays-progress third'>
                <span class='ays-progress-value third'>0%</span>
                <div class='ays-progress-bg third'>
                    <div class='ays-progress-bar third' style='width:0%;'></div>
                </div>
            </div><p class='ays_restart_button_p'><button type='button' class='action-button ays_restart_button ays-quiz-keyboard-active'>
                    <i class='ays_fa ays_fa_undo'></i>
                    <span>Reiniciar Prueba</span>
                </button></p></div>
            </div>
        </div><style>
            div#ays-quiz-container-19 * {
                box-sizing: border-box;
            }

            #ays-quiz-container-19 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                width: 90%;
            }

            /* Styles for Internet Explorer start */
            #ays-quiz-container-19 #ays_finish_quiz_19 {
                
            }

            /* Styles for Quiz container */
            #ays-quiz-container-19{
                min-height: 350px;
                width:400px;
                background-color:#ffffff;
                background-position:center center;background-image: url('https://dialektico.com/wp-content/uploads/2022/08/Q3.jpg');border-radius:0px;box-shadow: none;border-width: 3px;border-style: solid;border-color: #000;}

            /* Styles for questions */
            #ays-quiz-container-19 #ays_finish_quiz_19 div.step {
                min-height: 350px;
            }

            /* Styles for text inside quiz container */
            #ays-quiz-container-19 .ays-start-page *:not(input):not([class^='enlighter']),
            #ays-quiz-container-19 .ays_question_hint,
            #ays-quiz-container-19 label[for^="ays-answer-"],
            #ays-quiz-container-19 #ays_finish_quiz_19 p,
            #ays-quiz-container-19 #ays_finish_quiz_19 .ays-fs-title,
            #ays-quiz-container-19 .ays-fs-subtitle,
            #ays-quiz-container-19 .logged_in_message,
            #ays-quiz-container-19 .ays_score_message,
            #ays-quiz-container-19 .ays_message{
               color: #0a0a0a;
               outline: none;
            }

            div#ays-quiz-container-19 .ays_question_hint.ays-quiz-keyboard-active,
            div#ays-quiz-container-19 .ays_restart_button.ays-quiz-keyboard-active {
                outline: revert;
            }

            #ays-quiz-container-19 .ays-quiz-password-message-box,
            #ays-quiz-container-19 .ays-quiz-question-note-message-box,
            #ays-quiz-container-19 .ays_quiz_question,
            #ays-quiz-container-19 .ays-quiz-question-category-box,
            #ays-quiz-container-19 .ays_quiz_question *:not([class^='enlighter']) {
                color: #0a0a0a;
            }

            #ays-quiz-container-19 .ays-quiz-question-category-box em {
                color: #0a0a0a;
            }

            #ays-quiz-container-19 textarea,
            #ays-quiz-container-19 input::first-letter,
            #ays-quiz-container-19 select::first-letter,
            #ays-quiz-container-19 option::first-letter {
                color: initial !important;
            }
            
            #ays-quiz-container-19 p::first-letter:not(.ays_no_questions_message) {
                color: #0a0a0a !important;
                background-color: transparent !important;
                font-size: inherit !important;
                font-weight: inherit !important;
                float: none !important;
                line-height: inherit !important;
                margin: 0 !important;
                padding: 0 !important;
            }
            
            
            #ays-quiz-container-19 .select2-container,
            #ays-quiz-container-19 .ays-field * {
                font-size: 15px !important;
            }
    
            #ays-quiz-container-19 .ays_quiz_question p {
                font-size: 16px;
                text-align: inherit;
            }

            #ays-quiz-container-19 .ays-fs-subtitle p {
                text-align:  center ;
            }

            #ays-quiz-container-19 .ays_quiz_question {
                text-align:  center ;
                margin-bottom: 10px;
            }

            #ays-quiz-container-19 .ays_quiz_question pre {
                max-width: 100%;
                white-space: break-spaces;
            }

            /* Mango theme (Version: 1.4.202301041836) | tid=32449 | Start */
            #ays-quiz-container-19 .ays_quiz_question img {
                float: unset;
                margin: 0;
            }
            /* Mango theme (Version: 1.4.202301041836) | End */

            #ays-quiz-container-19 .ays-quiz-timer p {
                font-size: 16px;
            }

            #ays-quiz-container-19 section.ays_quiz_redirection_timer_container hr,
            #ays-quiz-container-19 section.ays_quiz_timer_container hr {
                margin: 0;
            }

            #ays-quiz-container-19 section.ays_quiz_timer_container.ays_quiz_timer_red_warning .ays-quiz-timer {
                color: #ff0000;
            }

            #ays-quiz-container-19 .ays_thank_you_fs p {
                text-align: center;
            }

            #ays-quiz-container-19 .ays_quiz_results_page .ays_score span {
                visibility: visible;
            }

            #ays-quiz-container-19 input[type='button'],
            #ays-quiz-container-19 input[type='submit'] {
                color: #ffffff !important;
            }

            #ays-quiz-container-19 input[type='button']{
                outline: none;
            }

            #ays-quiz-container-19 .information_form input[type='text'],
            #ays-quiz-container-19 .information_form input[type='url'],
            #ays-quiz-container-19 .information_form input[type='number'],
            #ays-quiz-container-19 .information_form input[type='email'],
            #ays-quiz-container-19 .information_form input[type='checkbox'],
            #ays-quiz-container-19 .information_form input[type='tel'],
            #ays-quiz-container-19 .information_form textarea,
            #ays-quiz-container-19 .information_form select,
            #ays-quiz-container-19 .information_form option {
                color: initial !important;
                outline: none;
                background-image: unset;
            }

            #ays-quiz-container-19 .wrong_answer_text{
                color:#ff4d4d;
            }
            #ays-quiz-container-19 .right_answer_text{
                color:#33cc33;
            }

            #ays-quiz-container-19 .wrong_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-19 .ays_questtion_explanation p {
                font-size:16px;
            }

            #ays-quiz-container-19 .wrong_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-19 .ays_questtion_explanation *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-19 .right_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-19 .right_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-19 .ays-quiz-question-note-message-box p {
                font-size:14px;
            }

            #ays-quiz-container-19 .ays-quiz-question-note-message-box *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }
            
            #ays-quiz-container-19 .ays_cb_and_a,
            #ays-quiz-container-19 .ays_cb_and_a * {
                color: rgb(10,10,10);
                text-align: center;
            }

            /* Quiz textarea height */
            #ays-quiz-container-19 textarea {
                height: 100px;
                min-height: 100px;
            }

            /* Quiz rate and passed users count */
            #ays-quiz-container-19 .ays_quizn_ancnoxneri_qanak,
            #ays-quiz-container-19 .ays_quiz_rete_avg {
                color:#ffffff !important;
                background-color:#0a0a0a;   
            }

            #ays-quiz-container-19 .ays-questions-container > .ays_quizn_ancnoxneri_qanak {
                padding: 5px 20px;
            }
            #ays-quiz-container-19 div.for_quiz_rate.ui.star.rating .icon {
                color: rgba(10,10,10,0.35);
            }
            #ays-quiz-container-19 .ays_quiz_rete_avg div.for_quiz_rate_avg.ui.star.rating .icon {
                color: rgba(255,255,255,0.5);
            }

            #ays-quiz-container-19 .ays_quiz_rete .ays-quiz-rate-link-box .ays-quiz-rate-link {
                color: #0a0a0a;
            }

            /* Loaders */            
            #ays-quiz-container-19 div.lds-spinner,
            #ays-quiz-container-19 div.lds-spinner2 {
                color: #0a0a0a;
            }
            #ays-quiz-container-19 div.lds-spinner div:after,
            #ays-quiz-container-19 div.lds-spinner2 div:after {
                background-color: #0a0a0a;
            }
            #ays-quiz-container-19 .lds-circle,
            #ays-quiz-container-19 .lds-facebook div,
            #ays-quiz-container-19 .lds-ellipsis div{
                background: #0a0a0a;
            }
            #ays-quiz-container-19 .lds-ripple div{
                border-color: #0a0a0a;
            }
            #ays-quiz-container-19 .lds-dual-ring::after,
            #ays-quiz-container-19 .lds-hourglass::after{
                border-color: #0a0a0a transparent #0a0a0a transparent;
            }

            /* Stars */
            #ays-quiz-container-19 .ui.rating .icon,
            #ays-quiz-container-19 .ui.rating .icon:before {
                font-family: Rating !important;
            }

            /* Progress bars */
            #ays-quiz-container-19 #ays_finish_quiz_19 .ays-progress {
                border-color: rgba(10,10,10,0.8);
            }
            #ays-quiz-container-19 #ays_finish_quiz_19 .ays-progress-bg {
                background-color: rgba(10,10,10,0.3);
            }    
            #ays-quiz-container-19 .ays-progress-value {
                color: #0a0a0a;
                text-align: center;
            }
            #ays-quiz-container-19 .ays-progress-bar {
                background-color: #9e0505;
            }
            #ays-quiz-container-19 .ays-question-counter .ays-live-bar-wrap {
                direction:ltr !important;
            }
            #ays-quiz-container-19 .ays-live-bar-fill{
                color: #0a0a0a;
                border-bottom: 2px solid rgba(10,10,10,0.8);
                text-shadow: 0px 0px 5px #ffffff;
            }
            #ays-quiz-container-19 .ays-live-bar-fill.ays-live-fourth,
            #ays-quiz-container-19 .ays-live-bar-fill.ays-live-third,
            #ays-quiz-container-19 .ays-live-bar-fill.ays-live-second {
                text-shadow: unset;
            }
            #ays-quiz-container-19 .ays-live-bar-percent{
                display:none;
            }
            #ays-quiz-container-19 #ays_finish_quiz_19 .ays_average {
                text-align: center;
            }
            
            /* Music, Sound */
            #ays-quiz-container-19 .ays_music_sound {
                color:rgb(10,10,10);
            }

            /* Dropdown questions scroll bar */
            #ays-quiz-container-19 blockquote {
                border-left-color: #0a0a0a !important;                                      
            }

            /* Quiz Password */
            #ays-quiz-container-19 .ays-start-page > input[id^='ays_quiz_password_val_'],
            #ays-quiz-container-19 .ays-quiz-password-toggle-visibility-box {
                width: 100%;
            }


            /* Question hint */
            #ays-quiz-container-19 .ays_question_hint_container .ays_question_hint_text {
                background-color:#ffffff;
                box-shadow: 0 0 15px 3px rgba(10,10,10,0.35);
                max-width: 270px;
            }

            #ays-quiz-container-19 .ays_question_hint_container .ays_question_hint_text p {
                max-width: unset;
            }

            #ays-quiz-container-19 .ays-quiz-additonal-box {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                position: relative;  
            }

            #ays-quiz-container-19 .ays_questions_hint_max_width_class {
                max-width: 80%;
            }

            /* Information form */
            #ays-quiz-container-19 .ays-form-title{
                color:rgb(10,10,10);
            }

            /* Quiz timer */
            #ays-quiz-container-19 div.ays-quiz-redirection-timer,
            #ays-quiz-container-19 div.ays-quiz-timer{
                color: #0a0a0a;
                text-align: center;
            }

            #ays-quiz-container-19 div.ays-quiz-timer.ays-quiz-message-before-timer:before {
                font-weight: 500;
            }

            /* Quiz title / transformation */
            #ays-quiz-container-19 .ays-fs-title{
                text-transform: uppercase;
                font-size: 21px;
                text-align: center;
                    text-shadow: none;
            }
            
            /* Quiz buttons */
            #ays-quiz-container-19 .ays_arrow {
                color:#ffffff!important;
            }
            #ays-quiz-container-19 input#ays-submit,
            #ays-quiz-container-19 #ays_finish_quiz_19 .action-button,
            div#ays-quiz-container-19 #ays_finish_quiz_19 .action-button.ays_restart_button,
            #ays-quiz-container-19 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-19 .ays-quiz-category-selective-submit-bttn {
                background: none;
                background-color: #9e0505;
                color:#ffffff;
                font-size: 17px;
                padding: 10px 20px;
                border-radius: 3px;
                height: auto;
                letter-spacing: 0;
                box-shadow: unset;
                width: auto;
                /* border: unset; */
                min-height: unset;
                line-height: normal;
                text-shadow: unset;
            }
            #ays-quiz-container-19 input#ays-submit,
            #ays-quiz-container-19 #ays_finish_quiz_19 input.action-button,
            #ays-quiz-container-19 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-19 .ays-quiz-category-selective-submit-bttn {
                
            }

            #ays-quiz-container-19 #ays_finish_quiz_19 .action-button.ays_check_answer {
                padding: 5px 10px;
                font-size: 17px !important;
            }
            #ays-quiz-container-19 #ays_finish_quiz_19 .action-button.ays_restart_button {
                white-space: nowrap;
                padding: 5px 10px;
                white-space: normal;
            }
            #ays-quiz-container-19 input#ays-submit:hover,
            #ays-quiz-container-19 input#ays-submit:focus,
            #ays-quiz-container-19 #ays_finish_quiz_19 .action-button:hover,
            #ays-quiz-container-19 #ays_finish_quiz_19 .action-button:focus,
            #ays-quiz-container-19 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
            #ays-quiz-container-19 .ays-quiz-category-selective-submit-bttn:hover {
                background: none;
                box-shadow: 0 0 0 2px #ffffff;
                background-color: #9e0505;
            }
            #ays-quiz-container-19 .ays_restart_button {
                color: #ffffff;
            }
            
            #ays-quiz-container-19 .ays_restart_button_p,
            #ays-quiz-container-19 .ays_buttons_div {
                justify-content: center;
            }

            #ays-quiz-container-19 .ays_finish.action-button{
                margin: 10px 5px;
            }

            #ays-quiz-container-19 .ays-share-btn.ays-share-btn-branded {
                color: #fff;
                display: inline-block;
            }

            #ays-quiz-container-19 .ays_quiz_results .ays-field.checked_answer_div.correct_div input:checked+label {
                background-color: transparent;
            }
                        
            /* Question answers */
            #ays-quiz-container-19 .ays-field {
                    border-color: #444;
                    border-style: solid;
                    border-width: 1px;
                    box-shadow: none;flex-direction: row-reverse;
            }
            

            /* Answer maximum length of a text field */
            #ays-quiz-container-19 .ays_quiz_question_text_message{
                color: #0a0a0a;
                text-align: left;
                font-size: 12px;
            }

            div#ays-quiz-container-19 div.ays_quiz_question_text_error_message {
                color: #ff0000;
            }

            /* Questions answer image */
            #ays-quiz-container-19 .ays-answer-image {
                width:15em;
                height:150px;
                object-fit: cover;
            }
            
            #ays-quiz-container-19 .ays-quiz-answers .ays-field:hover:not(.ays-answered-text-input){
                opacity: 1;
            }
            #ays-quiz-container-19 #ays_finish_quiz_19 .ays-field label.ays_answer_caption[for^='ays-answer-'] {
                z-index: 1;
                position:initial;bottom:0;}
            #ays-quiz-container-19 #ays_finish_quiz_19 .ays-field input~label[for^='ays-answer-'] {
                padding: 5px;
            }

            #ays-quiz-container-19 #ays_finish_quiz_19 .ays-field {
                margin-bottom: 10px;
            }
            #ays-quiz-container-19 #ays_finish_quiz_19 .ays-field.ays_grid_view_item {
                width: calc(50% - 5px);
            }
            #ays-quiz-container-19 #ays_finish_quiz_19 .ays-field.ays_grid_view_item:nth-child(odd) {
                margin-right: 5px;
            }
            
            #ays-quiz-container-19 #ays_finish_quiz_19 .ays-field input:checked+label:before {
                border-color: #9e0505;
                background: #9e0505;
                background-clip: content-box;
            }
            #ays-quiz-container-19 .ays-quiz-answers div.ays-text-right-answer {
                color: #0a0a0a;
            }
                        
            /* Questions answer right/wrong icons */
            #ays-quiz-container-19 .ays-field input~label.answered.correct:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/correct.png');          }
            #ays-quiz-container-19 .ays-field input~label.answered.wrong:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/wrong.png');
            }
            #ays-quiz-container-19 .ays-field label.answered:last-of-type:after{
                display: none;
                height: auto;
                left: 10px;top: 10px;}
            /* Dropdown questions */            
            #ays-quiz-container-19 #ays_finish_quiz_19 .ays-field .select2-container--default .select2-selection--single {
                border-bottom: 2px solid #9e0505;
                background-color: #9e0505;
            }
            
            #ays-quiz-container-19 .ays-field .select2-container--default .select2-selection--single .select2-selection__placeholder,
            #ays-quiz-container-19 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-19 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow {
                color: #f5f5f5;
            }

            #ays-quiz-container-19 .select2-container--default .select2-search--dropdown .select2-search__field:focus,
            #ays-quiz-container-19 .select2-container--default .select2-search--dropdown .select2-search__field {
                outline: unset;
                padding: 0.75rem;
            }

            #ays-quiz-container-19 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-19 .select2-container--default .select2-results__option--highlighted[aria-selected] {
                background-color: #9e0505;
            }

            #ays-quiz-container-19 .ays-field .select2-container--default,
            #ays-quiz-container-19 .ays-field .select2-container--default .selection,
            #ays-quiz-container-19 .ays-field .select2-container--default .dropdown-wrapper,
            #ays-quiz-container-19 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-19 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered .select2-selection__placeholder,
            #ays-quiz-container-19 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow,
            #ays-quiz-container-19 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow b[role='presentation'] {
                font-size: 16px !important;
            }

            #ays-quiz-container-19 .select2-container--default .select2-results__option {
                padding: 6px;
            }
            
            /* Dropdown questions scroll bar */
            #ays-quiz-container-19 .select2-results__options::-webkit-scrollbar {
                width: 7px;
            }
            #ays-quiz-container-19 .select2-results__options::-webkit-scrollbar-track {
                background-color: rgba(255,255,255,0.35);
            }
            #ays-quiz-container-19 .select2-results__options::-webkit-scrollbar-thumb {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.55);
            }
            #ays-quiz-container-19 .select2-results__options::-webkit-scrollbar-thumb:hover {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.85);
            }

            /* Audio / Video */
            #ays-quiz-container-19 .mejs-container .mejs-time{
                box-sizing: unset;
            }
            #ays-quiz-container-19 .mejs-container .mejs-time-rail {
                padding-top: 15px;
            }

            #ays-quiz-container-19 .mejs-container .mejs-mediaelement video {
                margin: 0;
            }

            /* Limitation */
            #ays-quiz-container-19 .ays-quiz-limitation-count-of-takers {
                padding: 50px;
            }

            #ays-quiz-container-19 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-show,
            #ays-quiz-container-19 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-hide{
                color: #0a0a0a;
            }

            #ays-quiz-container-19 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-19 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-19 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #0a0a0a;
            }

            #ays-quiz-container-19.ays_quiz_elegant_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after,
            #ays-quiz-container-19.ays_quiz_rect_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #000;
            }

            /* Hestia theme (Version: 3.0.16) | Start */
            #ays-quiz-container-19 .mejs-container .mejs-inner .mejs-controls .mejs-button > button:hover,
            #ays-quiz-container-19 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                box-shadow: unset;
                background-color: transparent;
            }
            #ays-quiz-container-19 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                margin: 10px 6px;
            }
            /* Hestia theme (Version: 3.0.16) | End */

            /* Go theme (Version: 1.4.3) | Start */
            #ays-quiz-container-19 label[for^='ays-answer']:before,
            #ays-quiz-container-19 label[for^='ays-answer']:before {
                -webkit-mask-image: unset;
                mask-image: unset;
            }

            #ays-quiz-container-19.ays_quiz_classic_light .ays-field input:checked+label.answered.correct:before,
            #ays-quiz-container-19.ays_quiz_classic_dark .ays-field input:checked+label.answered.correct:before {
                background-color: #9e0505 !important;
                background-color: rgba(39,174,96, 1) !important;
            }
            /* Go theme (Version: 1.4.3) | End */

            #ays-quiz-container-19 .ays_quiz_results fieldset.ays_fieldset .ays_quiz_question .wp-video {
                width: 100% !important;
                max-width: 100%;
            }

            /* Classic Dark / Classic Light */
            /* Dropdown questions right/wrong styles */
            #ays-quiz-container-19.ays_quiz_classic_dark .correct_div,
            #ays-quiz-container-19.ays_quiz_classic_light .correct_div{
                border-color:green !important;
                opacity: 1 !important;
                background-color: rgba(39,174,96,0.4) !important;
            }
            #ays-quiz-container-19.ays_quiz_classic_dark .correct_div .selected-field,
            #ays-quiz-container-19.ays_quiz_classic_light .correct_div .selected-field {
                padding: 0px 10px 0px 10px;
                color: green !important;
            }

            #ays-quiz-container-19.ays_quiz_classic_dark .wrong_div,
            #ays-quiz-container-19.ays_quiz_classic_light .wrong_div{
                border-color:red !important;
                opacity: 1 !important;
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-19.ays_quiz_classic_dark .ays-field.checked_answer_div.wrong_div input:checked~label,
            #ays-quiz-container-19.ays_quiz_classic_light .ays-field.checked_answer_div.wrong_div input:checked~label {
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-19.ays_quiz_classic_dark .ays-field,
            #ays-quiz-container-19.ays_quiz_classic_light .ays-field {
                text-align: left;
                /*margin-bottom: 10px;*/
                padding: 0;
                transition: .3s ease-in-out;
            }

            #ays-quiz-container-19 .ays-quiz-close-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-19 .ays-quiz-open-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-19 .ays_quiz_login_form p{
                color: #0a0a0a;
            }

            /* report questions modal start */
            .ays-modal-reports {
                display: none;
                position: fixed;
                z-index: 9999;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                overflow: auto;
                background-color: rgba(0, 0, 0, 0.4);
                animation-duration: .5s;
                background-color: rgba(0, 0, 0, 0.4);
            }

            #ays-quiz-question-report-modal-19 .ays-modal-content-reports {
                background-color: #fefefe;
                margin: 10% auto;
                border: 1px solid #888;
                max-width: 500px;
                width: 100%;
                border-radius: 10px;
                padding: 20px;
                box-sizing: border-box;
                position: relative;
            }

            #ays-quiz-question-report-modal-19 .ays-modal-content-reports label{
                display: block;
                margin-bottom: 10px;
                font-weight: bold;
                letter-spacing: normal;
            }

            #ays-quiz-question-report-modal-19 .ays-modal-content-reports textarea {
                display: block;
                width: 100%;
                height: 100px;
                padding: 5px;
                box-sizing: border-box;
                border-radius: 5px;
                border: 1px solid #ccc;
                max-width: 100%;
                max-height: 500px;
                resize: vertical;
                transition: unset;
            }

            #ays-quiz-question-report-modal-19 .ays-modal-content-reports input.ays-quiz-submit-question-report {
                background-color: #0073aa;
                color: #fff !important;
                border: none;
                border-radius: 5px;
                padding: 10px 20px;
                cursor: pointer;
                margin-top: 20px;
                line-height: normal;
                letter-spacing: normal;
                box-shadow: unset;
                background-image: unset;
            }

            #ays-quiz-question-report-modal-19 .ays-close-reports-window {
                color: #aaa;
                font-weight: bold;
                position: absolute;
                top: 1%;
                right: 1%;
            }

            #ays-quiz-question-report-modal-19 .ays-close-reports-window img {
                box-shadow: unset;
            }
            
            #ays-quiz-question-report-modal-19 .ays-quiz-preloader img {
                box-shadow: unset;
            }

            #ays-quiz-question-report-modal-19 .ays-close-reports-window img:hover,
            #ays-quiz-question-report-modal-19 .ays-close-reports-window img:focus {
                cursor: pointer;
            }

            #ays-quiz-question-report-modal-19 .ays-quiz-question-report-error {
                display: none;
                font-size: 13px;
                color: #f00;
                text-align: left;
            }

            #ays-quiz-question-report-modal-19 .ays-quiz-question-report-textarea-label,
            #ays-quiz-question-report-modal-19 .ays-quiz-question-report-title {
                text-align: left;
            }

            #ays-quiz-question-report-modal-19 .ays_quiz_modal_overlay {
                width: 100%;
                height: 100%;
                position: fixed;
                top: 0;
                left: 0;
                position: absolute;
                z-index: 1000000000;
                flex-direction: column;
            }

            #ays-quiz-question-report-modal-19 .ays-quiz-container .ays-quiz-user-cհoosing-anonymous-assessment {
                margin: 10px 0;
            }

            /* report questions modal end */

            @media screen and (max-width: 768px){
                #ays-quiz-container-19{
                    max-width: 100%;
                }

                div#ays-quiz-container-19 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                    width: 90%;
                }

                #ays-quiz-container-19 .ays_quiz_question p {
                    font-size: 16px;
                }

                #ays-quiz-container-19 .select2-container,
                #ays-quiz-container-19 .ays-field * {
                    font-size: 15px !important;
                }

                div#ays-quiz-container-19 input#ays-submit,
                div#ays-quiz-container-19 #ays_finish_quiz_19 .action-button,
                div#ays-quiz-container-19 #ays_finish_quiz_19 .action-button.ays_restart_button,
                #ays-quiz-container-19 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
                #ays-quiz-container-19 .ays-quiz-category-selective-submit-bttn {
                    font-size: 17px;
                }

                /* Quiz title / mobile font size */
                div#ays-quiz-container-19 .ays-fs-title {
                    font-size: 21px;
                }

                /* Question explanation / mobile font size */
                #ays-quiz-container-19 .ays_questtion_explanation p {
                    font-size:16px;
                }

                /* Wrong answers / mobile font size */
                #ays-quiz-container-19 .wrong_answer_text p {
                    font-size:16px;
                }

                /* Right answers / mobile font size */
                #ays-quiz-container-19 .right_answer_text p {
                    font-size:16px;
                }

                /* Note text / mobile font size */
                #ays-quiz-container-19 .ays-quiz-question-note-message-box p {
                    font-size:14px;
                }

                div#ays-quiz-container-19 .ays-quiz-question-note-message-box *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-19 .ays_questtion_explanation *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-19 .right_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-19 .wrong_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }
            }
            /* Custom css styles */
            @media screen and (max-width: 768px)
div#ays-quiz-container-5 input#ays-submit, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    font-size: 17px;
    letter-spacing: 1.5px;
}

#ays-quiz-container-5 input#ays-submit, #ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    background: none;
    background-color: #9e0505;
    color: #ffffff;
    font-size: 17px;
    padding: 10px 20px;
    border-radius: 3px;
    height: auto;
    letter-spacing: 1.5px;
    box-shadow: unset;
}
            
            /* RTL direction styles */
            
        </style>
            <style>
                #ays-quiz-container-19 p {
                    margin: 0.625em;
                }
                
                #ays-quiz-container-19 .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }

                #ays-quiz-container-19.ays_quiz_classic_light  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-19.ays_quiz_classic_dark  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-19.ays_quiz_classic_light  .enable_correction .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-19.ays_quiz_classic_dark  .enable_correction .ays-field.checked_answer_div input:checked~label {
                    background-color: transparent;
                }

                #ays-quiz-container-19.ays_quiz_classic_light  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-19.ays_quiz_classic_dark  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-19.ays_quiz_classic_light  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-19.ays_quiz_classic_dark  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }
                
                #ays-quiz-container-19 .ays-field.checked_answer_div input:checked~label:hover {
                    background-color: rgba(158,5,5,0.8);
                }

                #ays-quiz-container-19.ays-quiz-container.ays_quiz_classic_light .ays-questions-container .ays-field:hover label[for^='ays-answer-'],
                #ays-quiz-container-19 .ays-field:hover:not(.ays-answered-text-input){
                    background: rgba(158,5,5,0.8);
                    /* border-radius: 4px; */
                    color: #fff;
                    transition: all .3s;
                }
                #ays-quiz-container-19 #ays_finish_quiz_19 .action-button:hover,
                #ays-quiz-container-19 #ays_finish_quiz_19 .action-button:focus,
                #ays-quiz-container-19 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
                #ays-quiz-container-19 .ays-quiz-category-selective-submit-bttn:focus {
                    box-shadow: 0 0 0 2px white, 0 0 0 3px #9e0505;
                    background: #9e0505;
                }
            </style><script>
                if(typeof aysQuizOptions === 'undefined'){
                    var aysQuizOptions = [];
                }
                aysQuizOptions['19']  = 'eyJxdWl6X3ZlcnNpb24iOiI2LjYuMi41IiwiY29yZV92ZXJzaW9uIjoiNi42LjIiLCJwaHBfdmVyc2lvbiI6IjguMi4yMyIsImNvbG9yIjoiIzllMDUwNSIsImJnX2NvbG9yIjoiI2ZmZmZmZiIsInRleHRfY29sb3IiOiIjMGEwYTBhIiwiaGVpZ2h0IjozNTAsIndpZHRoIjo0MDAsImVuYWJsZV9sb2dnZWRfdXNlcnMiOiJvZmYiLCJpbmZvcm1hdGlvbl9mb3JtIjoiZGlzYWJsZSIsImZvcm1fbmFtZSI6bnVsbCwiZm9ybV9lbWFpbCI6bnVsbCwiZm9ybV9waG9uZSI6bnVsbCwiaW1hZ2Vfd2lkdGgiOiIiLCJpbWFnZV9oZWlnaHQiOiIiLCJlbmFibGVfY29ycmVjdGlvbiI6Im9uIiwiZW5hYmxlX3Byb2dyZXNzX2JhciI6Im9uIiwiZW5hYmxlX3F1ZXN0aW9uc19yZXN1bHQiOiJvbiIsInJhbmRvbWl6ZV9xdWVzdGlvbnMiOiJvZmYiLCJyYW5kb21pemVfYW5zd2VycyI6Im9mZiIsImVuYWJsZV9xdWVzdGlvbnNfY291bnRlciI6Im9uIiwiZW5hYmxlX3Jlc3RyaWN0aW9uX3Bhc3MiOiJvZmYiLCJyZXN0cmljdGlvbl9wYXNzX21lc3NhZ2UiOiIiLCJ1c2VyX3JvbGUiOltdLCJjdXN0b21fY3NzIjoiQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpXHJcbmRpdiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcbn1cclxuXHJcbiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCAjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzllMDUwNTtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xyXG4gICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbn0iLCJsaW1pdF91c2VycyI6Im9mZiIsImxpbWl0YXRpb25fbWVzc2FnZSI6IiIsInJlZGlyZWN0X3VybCI6IiIsInJlZGlyZWN0aW9uX2RlbGF5IjowLCJhbnN3ZXJzX3ZpZXciOiJsaXN0IiwiZW5hYmxlX3J0bF9kaXJlY3Rpb24iOiJvZmYiLCJlbmFibGVfbG9nZ2VkX3VzZXJzX21lc3NhZ2UiOiIiLCJxdWVzdGlvbnNfY291bnQiOiIiLCJlbmFibGVfcXVlc3Rpb25fYmFuayI6Im9mZiIsImVuYWJsZV9saXZlX3Byb2dyZXNzX2JhciI6Im9mZiIsImVuYWJsZV9wZXJjZW50X3ZpZXciOiJvZmYiLCJlbmFibGVfYXZlcmFnZV9zdGF0aXN0aWNhbCI6Im9uIiwiZW5hYmxlX25leHRfYnV0dG9uIjoib24iLCJlbmFibGVfcHJldmlvdXNfYnV0dG9uIjoib24iLCJlbmFibGVfYXJyb3dzIjoib2ZmIiwidGltZXJfdGV4dCI6IiIsInF1aXpfdGhlbWUiOiJjbGFzc2ljX2xpZ2h0IiwiZW5hYmxlX3NvY2lhbF9idXR0b25zIjoib2ZmIiwicmVzdWx0X3RleHQiOiIiLCJlbmFibGVfcGFzc19jb3VudCI6Im9mZiIsImhpZGVfc2NvcmUiOiJvZmYiLCJyYXRlX2Zvcm1fdGl0bGUiOiIiLCJib3hfc2hhZG93X2NvbG9yIjoicmdiYSgxMCwxMCwxMCwwLjM1KSIsInF1aXpfYm9yZGVyX3JhZGl1cyI6IjAiLCJxdWl6X2JnX2ltYWdlIjoiaHR0cHM6XC9cL2RpYWxla3RpY28uY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDIyXC8wOFwvUTMuanBnIiwicXVpel9ib3JkZXJfd2lkdGgiOiIzIiwicXVpel9ib3JkZXJfc3R5bGUiOiJzb2xpZCIsInF1aXpfYm9yZGVyX2NvbG9yIjoiIzAwMCIsInF1aXpfbG9hZGVyIjoiZmFjZWJvb2siLCJjcmVhdGVfZGF0ZSI6bnVsbCwiYXV0aG9yIjoie1wiaWRcIjpcIjFcIixcIm5hbWVcIjpcIkRhbmllbCBEaWFsXFx1MDBlOWt0aWNvXCJ9IiwicXVlc3RfYW5pbWF0aW9uIjoic2hha2UiLCJmb3JtX3RpdGxlIjoiIiwiZW5hYmxlX2JnX211c2ljIjoib2ZmIiwicXVpel9iZ19tdXNpYyI6IiIsImFuc3dlcnNfZm9udF9zaXplIjoxNSwic2hvd19jcmVhdGVfZGF0ZSI6Im9mZiIsInNob3dfYXV0aG9yIjoib2ZmIiwiZW5hYmxlX2Vhcmx5X2ZpbmlzaCI6Im9mZiIsImFuc3dlcnNfcndfdGV4dHMiOiJvbl9wYXNzaW5nIiwiZGlzYWJsZV9zdG9yZV9kYXRhIjoib2ZmIiwiZW5hYmxlX2JhY2tncm91bmRfZ3JhZGllbnQiOiJvZmYiLCJiYWNrZ3JvdW5kX2dyYWRpZW50X2NvbG9yXzEiOiIjMDAwIiwiYmFja2dyb3VuZF9ncmFkaWVudF9jb2xvcl8yIjoiI2ZmZiIsInF1aXpfZ3JhZGllbnRfZGlyZWN0aW9uIjoidmVydGljYWwiLCJyZWRpcmVjdF9hZnRlcl9zdWJtaXQiOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfdXJsIjoiIiwic3VibWl0X3JlZGlyZWN0X2RlbGF5IjoiMCIsInByb2dyZXNzX2Jhcl9zdHlsZSI6InRoaXJkIiwiZW5hYmxlX2V4aXRfYnV0dG9uIjoib2ZmIiwiZXhpdF9yZWRpcmVjdF91cmwiOiIiLCJpbWFnZV9zaXppbmciOiJjb3ZlciIsInF1aXpfYmdfaW1hZ2VfcG9zaXRpb24iOiJjZW50ZXIgY2VudGVyIiwiY3VzdG9tX2NsYXNzIjoiIiwiZW5hYmxlX3NvY2lhbF9saW5rcyI6Im9mZiIsInNvY2lhbF9saW5rcyI6eyJsaW5rZWRpbl9saW5rIjoiIiwiZmFjZWJvb2tfbGluayI6IiIsInR3aXR0ZXJfbGluayI6IiIsInZrb250YWt0ZV9saW5rIjoiIiwiaW5zdGFncmFtX2xpbmsiOiIiLCJ5b3V0dWJlX2xpbmsiOiIiLCJiZWhhbmNlX2xpbmsiOiIifSwic2hvd19xdWl6X3RpdGxlIjoib2ZmIiwic2hvd19xdWl6X2Rlc2MiOiJvbiIsInNob3dfbG9naW5fZm9ybSI6Im9mZiIsIm1vYmlsZV9tYXhfd2lkdGgiOiIiLCJsaW1pdF91c2Vyc19ieSI6ImlwIiwiYWN0aXZlX2RhdGVfY2hlY2siOiJvZmYiLCJhY3RpdmVJbnRlcnZhbCI6IjIwMjQtMTAtMDEgMTc6MTU6MjciLCJkZWFjdGl2ZUludGVydmFsIjoiMjAyNC0xMC0wMSAxNzoxNToyNyIsImFjdGl2ZV9kYXRlX3ByZV9zdGFydF9tZXNzYWdlIjoiVGhlIHF1aXogd2lsbCBiZSBhdmFpbGFibGUgc29vbiEiLCJhY3RpdmVfZGF0ZV9tZXNzYWdlIjoiXHUwMGExRWwgdGVzdCBoYSBleHBpcmFkbyEiLCJleHBsYW5hdGlvbl90aW1lIjoiNCIsImVuYWJsZV9jbGVhcl9hbnN3ZXIiOiJvZmYiLCJzaG93X2NhdGVnb3J5Ijoib2ZmIiwic2hvd19xdWVzdGlvbl9jYXRlZ29yeSI6Im9mZiIsImRpc3BsYXlfc2NvcmUiOiJieV9wZXJjYW50YWdlIiwiZW5hYmxlX3J3X2FzbndlcnNfc291bmRzIjoib24iLCJhbnNfcmlnaHRfd3JvbmdfaWNvbiI6ImRlZmF1bHQiLCJxdWl6X2JnX2ltZ19pbl9maW5pc2hfcGFnZSI6Im9mZiIsImZpbmlzaF9hZnRlcl93cm9uZ19hbnN3ZXIiOiJvZmYiLCJhZnRlcl90aW1lcl90ZXh0IjoiIiwiZW5hYmxlX2VudGVyX2tleSI6Im9uIiwiYnV0dG9uc190ZXh0X2NvbG9yIjoiI2ZmZmZmZiIsImJ1dHRvbnNfcG9zaXRpb24iOiJjZW50ZXIiLCJzaG93X3F1ZXN0aW9uc19leHBsYW5hdGlvbiI6Im9uX3Bhc3NpbmciLCJlbmFibGVfYXVkaW9fYXV0b3BsYXkiOiJvZmYiLCJidXR0b25zX3NpemUiOiJtZWRpdW0iLCJidXR0b25zX2ZvbnRfc2l6ZSI6IjE3IiwiYnV0dG9uc193aWR0aCI6IiIsImJ1dHRvbnNfbGVmdF9yaWdodF9wYWRkaW5nIjoiMjAiLCJidXR0b25zX3RvcF9ib3R0b21fcGFkZGluZyI6IjEwIiwiYnV0dG9uc19ib3JkZXJfcmFkaXVzIjoiMyIsImVuYWJsZV9sZWF2ZV9wYWdlIjoib24iLCJlbmFibGVfdGFja2Vyc19jb3VudCI6Im9mZiIsInRhY2tlcnNfY291bnQiOiIiLCJwYXNzX3Njb3JlIjowLCJwYXNzX3Njb3JlX21lc3NhZ2UiOiI8aDQgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj5Db25ncmF0dWxhdGlvbnMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IHBhc3NlZCB0aGUgcXVpeiE8XC9wPiIsImZhaWxfc2NvcmVfbWVzc2FnZSI6IjxoNCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlclwiPk9vcHMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IGhhdmUgbm90IHBhc3NlZCB0aGUgcXVpeiFcclxuVHJ5IGFnYWluITxcL3A+IiwicXVlc3Rpb25fZm9udF9zaXplIjoxNiwicXVpel93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVlc3Rpb25zX2hpbnRfaWNvbl9vcl90ZXh0IjoiZGVmYXVsdCIsInF1ZXN0aW9uc19oaW50X3ZhbHVlIjoiIiwiZW5hYmxlX2Vhcmx5X2ZpbnNoX2NvbWZpcm1fYm94Ijoib24iLCJlbmFibGVfcXVlc3Rpb25zX29yZGVyaW5nX2J5X2NhdCI6Im9mZiIsInNob3dfc2NoZWR1bGVfdGltZXIiOiJvZmYiLCJzaG93X3RpbWVyX3R5cGUiOiJjb3VudGRvd24iLCJxdWl6X2xvYWRlcl90ZXh0X3ZhbHVlIjoiIiwiaGlkZV9jb3JyZWN0X2Fuc3dlcnMiOiJvZmYiLCJzaG93X2luZm9ybWF0aW9uX2Zvcm0iOiJvbiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWYiOiIiLCJkaXNhYmxlX2hvdmVyX2VmZmVjdCI6Im9mZiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWZfd2lkdGgiOjEwMCwicHJvZ3Jlc3NfbGl2ZV9iYXJfc3R5bGUiOiJkZWZhdWx0IiwicXVpel90aXRsZV90cmFuc2Zvcm1hdGlvbiI6InVwcGVyY2FzZSIsInNob3dfYW5zd2Vyc19udW1iZXJpbmciOiJub25lIiwicXVpel9pbWFnZV93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVpel9pbWFnZV9oZWlnaHQiOiIiLCJxdWl6X2JnX2ltZ19vbl9zdGFydF9wYWdlIjoib2ZmIiwicXVpel9ib3hfc2hhZG93X3hfb2Zmc2V0IjowLCJxdWl6X2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYm94X3NoYWRvd196X29mZnNldCI6MTUsInF1aXpfcXVlc3Rpb25fdGV4dF9hbGlnbm1lbnQiOiJjZW50ZXIiLCJxdWl6X2Fycm93X3R5cGUiOiJkZWZhdWx0IiwicXVpel9zaG93X3dyb25nX2Fuc3dlcnNfZmlyc3QiOiJvZmYiLCJxdWl6X2Rpc3BsYXlfYWxsX3F1ZXN0aW9ucyI6Im9mZiIsInF1aXpfdGltZXJfcmVkX3dhcm5pbmciOiJvZmYiLCJxdWl6X3NjaGVkdWxlX3RpbWV6b25lIjoiQW1lcmljYVwvTWV4aWNvX0NpdHkiLCJxdWVzdGlvbnNfaGludF9idXR0b25fdmFsdWUiOiIiLCJxdWl6X3RhY2tlcnNfbWVzc2FnZSI6Ilx1MDBhMUVzdGUgdGVzdCBoYSBleHBpcmFkbyEiLCJxdWl6X2VuYWJsZV9saW5rZWRpbl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfZW5hYmxlX2ZhY2Vib29rX3NoYXJlX2J1dHRvbiI6Im9uIiwicXVpel9lbmFibGVfdHdpdHRlcl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfbWFrZV9yZXNwb25zZXNfYW5vbnltb3VzIjoib2ZmIiwicXVpel9tYWtlX2FsbF9yZXZpZXdfbGluayI6Im9mZiIsInNob3dfcXVlc3Rpb25zX251bWJlcmluZyI6Im5vbmUiLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3RpbWVyIjoiIiwiZW5hYmxlX3Bhc3N3b3JkIjoib2ZmIiwicGFzc3dvcmRfcXVpeiI6IiIsInF1aXpfcGFzc3dvcmRfbWVzc2FnZSI6IiIsImVuYWJsZV9zZWVfcmVzdWx0X2NvbmZpcm1fYm94Ijoib2ZmIiwiZGlzcGxheV9maWVsZHNfbGFiZWxzIjoib2ZmIiwiZW5hYmxlX2Z1bGxfc2NyZWVuX21vZGUiOiJvZmYiLCJxdWl6X2VuYWJsZV9wYXNzd29yZF92aXNpYmlsaXR5Ijoib2ZmIiwicXVlc3Rpb25fbW9iaWxlX2ZvbnRfc2l6ZSI6MTYsImFuc3dlcnNfbW9iaWxlX2ZvbnRfc2l6ZSI6MTUsInNvY2lhbF9idXR0b25zX2hlYWRpbmciOiIiLCJxdWl6X2VuYWJsZV92a29udGFrdGVfc2hhcmVfYnV0dG9uIjoib24iLCJhbnN3ZXJzX2JvcmRlciI6Im9uIiwiYW5zd2Vyc19ib3JkZXJfd2lkdGgiOjEsImFuc3dlcnNfYm9yZGVyX3N0eWxlIjoic29saWQiLCJhbnN3ZXJzX2JvcmRlcl9jb2xvciI6IiM0NDQiLCJzb2NpYWxfbGlua3NfaGVhZGluZyI6IiIsInF1aXpfZW5hYmxlX3F1ZXN0aW9uX2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwiYW5zd2Vyc19tYXJnaW4iOjEwLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3JlZGlyZWN0X3RpbWVyIjoiIiwiYnV0dG9uc19tb2JpbGVfZm9udF9zaXplIjoxNywiYW5zd2Vyc19ib3hfc2hhZG93Ijoib2ZmIiwiYW5zd2Vyc19ib3hfc2hhZG93X2NvbG9yIjoiIzAwMCIsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeF9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfel9vZmZzZXQiOjEwLCJxdWl6X2NyZWF0ZV9hdXRob3IiOjEsInF1aXpfZW5hYmxlX3RpdGxlX3RleHRfc2hhZG93Ijoib2ZmIiwicXVpel90aXRsZV90ZXh0X3NoYWRvd19jb2xvciI6IiMzMzMiLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3hfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3lfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3pfb2Zmc2V0IjoyLCJxdWl6X3Nob3dfb25seV93cm9uZ19hbnN3ZXJzIjoib2ZmIiwicXVpel90aXRsZV9mb250X3NpemUiOjIxLCJxdWl6X3RpdGxlX21vYmlsZV9mb250X3NpemUiOjIxLCJxdWl6X3Bhc3N3b3JkX3dpZHRoIjoiIiwicXVpel9yZXZpZXdfcGxhY2Vob2xkZXJfdGV4dCI6IiIsInF1aXpfbWFrZV9yZXZpZXdfcmVxdWlyZWQiOiJvZmYiLCJxdWl6X2VuYWJsZV9yZXN1bHRzX3RvZ2dsZSI6Im9mZiIsInF1aXpfcmV2aWV3X3RoYW5rX3lvdV9tZXNzYWdlIjoiIiwicXVpel9yZXZpZXdfZW5hYmxlX2NvbW1lbnRfZmllbGQiOiJvbiIsInF1ZXN0X2V4cGxhbmF0aW9uX2ZvbnRfc2l6ZSI6MTYsInF1ZXN0X2V4cGxhbmF0aW9uX21vYmlsZV9mb250X3NpemUiOjE2LCJxdWl6X3dhaXRpbmdfdGltZSI6Im9mZiIsIndyb25nX2Fuc3dlcnNfZm9udF9zaXplIjoxNiwid3JvbmdfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9lbmFibGVfcXVlc3Rpb25faW1hZ2Vfem9vbSI6Im9mZiIsInJpZ2h0X2Fuc3dlcnNfZm9udF9zaXplIjoxNiwicmlnaHRfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9kaXNwbGF5X21lc3NhZ2VzX2JlZm9yZV9idXR0b25zIjoib2ZmIiwicXVpel9lbmFibGVfdXNlcl9jXHUwNTcwb29zaW5nX2Fub255bW91c19hc3Nlc3NtZW50Ijoib2ZmIiwibm90ZV90ZXh0X2ZvbnRfc2l6ZSI6MTQsIm5vdGVfdGV4dF9tb2JpbGVfZm9udF9zaXplIjoxNCwicXVpel9xdWVzdGlvbnNfbnVtYmVyaW5nX2J5X2NhdGVnb3J5Ijoib2ZmIiwicXVpel9lbmFibGVfY3VzdG9tX3RleHRzX2Zvcl9idXR0b25zIjoib2ZmIiwicXVpel9jdXN0b21fdGV4dHNfc3RhcnRfYnV0dG9uIjoiRU1QRVpBUiIsInF1aXpfY3VzdG9tX3RleHRzX25leHRfYnV0dG9uIjoiU0lHVUlFTlRFIiwicXVpel9jdXN0b21fdGV4dHNfcHJldl9idXR0b24iOiJBTlRFUklPUiIsInF1aXpfY3VzdG9tX3RleHRzX2NsZWFyX2J1dHRvbiI6IkxJTVBJQVIiLCJxdWl6X2N1c3RvbV90ZXh0c19maW5pc2hfYnV0dG9uIjoiRklOQUxJWkFSIiwicXVpel9jdXN0b21fdGV4dHNfc2VlX3Jlc3VsdHNfYnV0dG9uIjoiVkVSIFRPVEFMIiwicXVpel9jdXN0b21fdGV4dHNfcmVzdGFydF9xdWl6X2J1dHRvbiI6IlJlaW5pY2lhciBQcnVlYmEiLCJxdWl6X2N1c3RvbV90ZXh0c19zZW5kX2ZlZWRiYWNrX2J1dHRvbiI6IkVudmlhciBjb21lbnRhcmlvcyIsInF1aXpfY3VzdG9tX3RleHRzX2xvYWRfbW9yZV9idXR0b24iOiJDYXJnYXIgbVx1MDBlMXMiLCJxdWl6X2N1c3RvbV90ZXh0c19leGl0X2J1dHRvbiI6IlNhbGlyIiwicXVpel9jdXN0b21fdGV4dHNfY2hlY2tfYnV0dG9uIjoiQ2hlY2siLCJxdWl6X2N1c3RvbV90ZXh0c19sb2dpbl9idXR0b24iOiJMb2cgSW4iLCJxdWl6X2VuYWJsZV9xdWl6X2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwicXVpel9hZG1pbl9ub3RlX3RleHRfdHJhbnNmb3JtIjoibm9uZSIsInF1aXpfcXVlc3RfZXhwbGFuYXRpb25fdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel9yaWdodF9hbnN3ZXJfdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel93cm9uZ19hbnN3ZXJfdGV4dF90cmFuc2Zvcm0iOiJub25lIiwicXVpel9hZG1pbl9ub3RlX3RleHRfZGVjb3JhdGlvbiI6Im5vbmUiLCJxdWl6X3F1ZXN0X2V4cGxhbmF0aW9uX3RleHRfZGVjb3JhdGlvbiI6Im5vbmUiLCJxdWl6X3JpZ2h0X2Fuc3dlcnNfdGV4dF9kZWNvcmF0aW9uIjoibm9uZSIsInF1aXpfd3JvbmdfYW5zd2Vyc190ZXh0X2RlY29yYXRpb24iOiJub25lIiwicXVpel9hZG1pbl9ub3RlX2xldHRlcl9zcGFjaW5nIjoiMCIsInF1aXpfYmdfaW1nX2R1cmluZ190aGVfcXVpeiI6Im9mZiIsInF1aXpfcXVlc3RfZXhwbGFuYXRpb25fbGV0dGVyX3NwYWNpbmciOiIwIiwicXVpel9yaWdodF9hbnN3ZXJzX2xldHRlcl9zcGFjaW5nIjoiMCIsInF1aXpfd3JvbmdfYW5zd2Vyc19sZXR0ZXJfc3BhY2luZyI6IjAiLCJxdWl6X2FkbWluX25vdGVfZm9udF93ZWlnaHQiOiJub3JtYWwiLCJxdWl6X3F1ZXN0X2V4cGxhbmF0aW9uX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel9yaWdodF9hbnN3ZXJzX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicXVpel93cm9uZ19hbnN3ZXJzX2ZvbnRfd2VpZ2h0Ijoibm9ybWFsIiwicmVxdWlyZWRfZmllbGRzIjpudWxsLCJlbmFibGVfdGltZXIiOiJvZmYiLCJlbmFibGVfcXVpel9yYXRlIjoib2ZmIiwiZW5hYmxlX3JhdGVfYXZnIjoib2ZmIiwiZW5hYmxlX2JveF9zaGFkb3ciOiJvZmYiLCJlbmFibGVfYm9yZGVyIjoib24iLCJxdWl6X3RpbWVyX2luX3RpdGxlIjoib2ZmIiwiZW5hYmxlX3JhdGVfY29tbWVudHMiOiJvZmYiLCJlbmFibGVfcmVzdGFydF9idXR0b24iOiJvbiIsImF1dG9maWxsX3VzZXJfZGF0YSI6Im9mZiIsInRpbWVyIjoxMDAsInNob3dfYW5zd2Vyc19jYXB0aW9uIjoib24iLCJxdWl6X2VuYWJsZV9rZXlib2FyZF9uYXZpZ2F0aW9uIjoib24iLCJzaG93X3F1aXpfaW1hZ2UiOiJvbiIsInF1aXpfZW5hYmxlX3doYXRzYXBwX3NoYXJlX2J1dHRvbiI6Im9mZiIsInN1Ym1pdF9yZWRpcmVjdF9hZnRlciI6IiIsInJ3X2Fuc3dlcnNfc291bmRzIjp0cnVlLCJpZCI6IjE5IiwidGl0bGUiOiJFREEiLCJkZXNjcmlwdGlvbiI6IkNvbnRlc3RhIGxhcyBzaWd1aWVudGVzIHByZWd1bnRhcyIsInF1aXpfaW1hZ2UiOiIiLCJxdWl6X2NhdGVnb3J5X2lkIjoiMiIsInF1ZXN0aW9uX2lkcyI6IjQ5LDUwLDUxIiwib3JkZXJpbmciOiIxOSIsInB1Ymxpc2hlZCI6IjEiLCJpbnRlcnZhbHMiOm51bGwsInF1aXpfdXJsIjoiIiwiY3VzdG9tX3Bvc3RfaWQiOm51bGwsImF1dGhvcl9pZCI6IjAiLCJxdWl6X2FuaW1hdGlvbl90b3AiOjEwMCwicXVpel9lbmFibGVfYW5pbWF0aW9uX3RvcCI6Im9uIn0=';
        </script>
                    <input type='hidden' name='quiz_id' value='19'/>
                    <input type='hidden' name='start_date' class='ays-start-date'/>
                </form></div>
                            </div>
                            



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Así finaliza este breve cruce con una de las actividades más elementales en todo proceso que incluya la puesta en marcha de un algoritmo de aprendizaje automático. Nuestra siguiente expedición será sobre <strong>preprocesamiento </strong>de datos, una etapa del ciclo de vida de los datos que incluye el análisis aquí expuesto, y que pondremos en práctica utilizando <strong><a href="https://www.python.org/" target="_blank" rel="noopener">Python</a></strong>.</p>



<figure class="wp-block-image aligncenter size-large is-resized mi-imagen-pulsa"><a href="https://dialektico.com/introduccion-preprocesamiento/"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2022/06/Button2-1.png" alt="botón" style="width:172px" title="Introducción al Análisis Exploratorio de Datos 113"></a></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://dialektico.com/introduccion-analisis-exploratorio-de-datos/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Tipos de datos y sus características</title>
		<link>https://dialektico.com/tipos-de-datos/</link>
					<comments>https://dialektico.com/tipos-de-datos/#comments</comments>
		
		<dc:creator><![CDATA[Daniel Dialéktico]]></dc:creator>
		<pubDate>Mon, 22 Apr 2024 06:38:07 +0000</pubDate>
				<category><![CDATA[Ciencia de datos]]></category>
		<category><![CDATA[Análisis de Datos]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[ciencia de datos]]></category>
		<category><![CDATA[conjuntos de datos]]></category>
		<category><![CDATA[datos]]></category>
		<category><![CDATA[machine learning]]></category>
		<guid isPermaLink="false">https://dialektico.com/?p=7262</guid>

					<description><![CDATA[Ahora que sabemos qué son los datos y su colosal importancia para el aprendizaje de máquinas, continuaremos con la exploración de sus atributos: las diferentes formas en las que se presentan y cómo se suelen categorizar. Equipaje recomendado Tentempié Tipos de datos Todo dato recabado puede ser categorizado de varias maneras dependiendo del enfoque y [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Ahora que sabemos qué son los <strong><a href="https://dialektico.com/datos-machine-learning/">datos</a></strong> y su colosal importancia para el <strong><a href="https://dialektico.com/introduccion-machine-learning/">aprendizaje de máquinas</a></strong>, continuaremos con la exploración de sus atributos: las diferentes formas en las que se presentan y cómo se suelen categorizar.</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="847" src="https://dialektico.com/wp-content/uploads/2022/09/IND_Nivel_2.jpg" alt="IND Nivel 2" class="wp-image-9786" style="width:500px;height:auto" title="Tipos de datos y sus características 115" srcset="https://dialektico.com/wp-content/uploads/2022/09/IND_Nivel_2.jpg 1024w, https://dialektico.com/wp-content/uploads/2022/09/IND_Nivel_2-768x635.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h6 class="wp-block-heading has-text-align-center">Equipaje recomendado</h6>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg" alt="Travel Bag" class="wp-image-7016" style="width:196px;height:auto" title="Tipos de datos y sus características 116" srcset="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:35px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong> Tentempié</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/image.png" alt="image" class="wp-image-9412" style="width:508px;height:auto" title="Tipos de datos y sus características 117" srcset="https://dialektico.com/wp-content/uploads/2024/04/image.png 1024w, https://dialektico.com/wp-content/uploads/2024/04/image-768x768.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center">Tipos de datos</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg" alt="Pergamino_3" class="wp-image-6960" style="width:125px" title="Tipos de datos y sus características 118" srcset="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-left">Todo <strong>dato </strong>recabado puede ser categorizado de varias maneras dependiendo del <strong>enfoque </strong>y las <strong>características </strong>que se desean enfatizar. Dada su particular importancia para el aprendizaje de máquinas. A continuación, hablaremos sobre dos pares de tipificaciones específicas:</p>



<ul class="wp-block-list">
<li>Tipos de datos por la presentación de sus valores.</li>



<li>Tipos de datos por su estructura.</li>
</ul>



<div style="height:30px" aria-hidden="true" id="CualCuant" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Tipos de datos por la presentación de sus valores</h3>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Una de las formas en las que se pueden clasificar datos es respecto a las propiedades de los valores que contienen, los cuales se expresan mediante el uso de diferentes tipos de <em>signos</em>. Estos son generalmente categorizados como <strong>no numéricos</strong> <strong>o</strong> <strong>numéricos</strong>, o de forma más común, como <strong>cualitativos </strong>y <strong>cuantitativos</strong>.</p>



<div style="height:25px" aria-hidden="true" id="Dcualit" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Datos cualitativos</h4>



<p>Los <strong>datos cualitativos</strong> son un tipo de datos que describen entidades subjetivas o cualidades/características de objetos, que no se pueden expresar consistentemente con entidades matemáticas. Se trata de datos a los que no se les puede asignar un número o expresión matemática de acuerdo a un sistema estandarizado, por lo que, generalmente, estos se recolectan y simbolizan en forma de texto.</p>



<p>Un <strong>ejemplo </strong>de datos cualitativos son las <strong>opiniones </strong>de un conjunto de personas sobre una película. Al tratarse de valoraciones personales, estas no pueden ser fácilmente comunicadas en términos numéricos, por lo que se recolectan y se almacenan como <strong>texto</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2024/04/TDD_M1.jpg" alt="TDD M1" class="wp-image-7282" style="width:636px" title="Tipos de datos y sus características 119" srcset="https://dialektico.com/wp-content/uploads/2024/04/TDD_M1.jpg 1080w, https://dialektico.com/wp-content/uploads/2024/04/TDD_M1-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Además de juicios personales como opiniones o gustos, como ya he mencionado, los datos cualitativos también pueden referirse a <strong>propiedades </strong>que no se suelen<strong> cuantificar</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/04/TDD_K1.jpg" alt="TDD K1" class="wp-image-7283" style="width:490px" title="Tipos de datos y sus características 120" srcset="https://dialektico.com/wp-content/uploads/2024/04/TDD_K1.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/04/TDD_K1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Es correcto, toda característica o cualidad que sea fácilmente descrita de una manera no numérica cae en esta clase de datos. Veamos otros ejemplos.</p>



<p><strong>Ejemplos de datos cualitativos:</strong></p>



<ul class="wp-block-list">
<li>Reseñas de productos de una tienda virtual.</li>



<li>Nombres de personas</li>



<li>Videojuegos favoritos de un grupo de adolescentes.</li>



<li>Estaciones del año.</li>



<li>Marcas de computadoras.</li>
</ul>



<div style="height:25px" aria-hidden="true" id="Dcuant" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Datos cuantitativos</h4>



<p>Los <strong>datos cuantitativos</strong> son el tipo de datos que representan información mediante cifras o expresiones matemáticas equivalentes.</p>



<p>Los datos cuantitativos, por lo tanto, pueden tratarse sobre cualquier cosa o cualidad que se pueda comunicar sencillamente utilizando <strong>números</strong>, como el peso de un objeto, su longitud, o su temperatura.</p>



<p><strong>Ejemplos de datos cuantitativos:</strong></p>



<ul class="wp-block-list">
<li>Número de estudiantes extranjeros en una universidad.</li>



<li>La amplitud de una onda.</li>



<li>Calificación dada a un hotel (por ejemplo, entre 0 y 5).</li>



<li>Magnitud de un sismo.</li>



<li>Porcentaje de sal en el agua.</li>
</ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En la <strong>Figura 2.2.1 </strong>puedes observar una comparación entre ambos tipos de datos:</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2024/04/E3.jpg" alt="E3" class="wp-image-7297" style="width:657px" title="Tipos de datos y sus características 121" srcset="https://dialektico.com/wp-content/uploads/2024/04/E3.jpg 1080w, https://dialektico.com/wp-content/uploads/2024/04/E3-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /><figcaption class="wp-element-caption"><center><strong>Fig. 2.2.1</strong> Colección de datos cualitativos y cuantitativos sobre un conejo.  </center></figcaption></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Como los datos cualitativos son muy comunes, es necesario que tomes en cuenta que para que una computadora pueda procesar la información para la generación de modelos matemáticos, esta <strong>siempre debe ser convertida a una forma numérica</strong>. Entre las artes del <strong>machine learning</strong> residen técnicas que transforman todo tipo de información cualitativa en entidades numéricas digeribles para una máquina. Esto lo irás conociendo poco a poco, conforme avancemos en nuestras travesías.</p>



<div style="height:25px" aria-hidden="true" id="DatEsNoEs" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Tipos de datos por su estructura</h3>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En este último tramo, hablaremos sobre otro par de tipos de datos bastante común en la labor de un especialista en aprendizaje automático, y que hacen alusión a la forma en la que se presenta la información recolectada: <strong>datos estructurados</strong> y <strong>no estructurados</strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Datos estructurados</h4>



<p>Los <strong>datos estructurados</strong> son los tipos de conjuntos de datos que están organizados en formatos que permiten su fácil <strong>almacenamiento </strong>y/o <strong>procesamiento</strong>. La mayoría de las veces, estos se presentan en forma de <strong>tablas </strong>(las cuales pueden ser almacenadas en lo que se conoce como <strong><a href="https://aws.amazon.com/es/relational-database/" target="_blank" rel="noopener">bases de datos relacionales</a></strong>, y manipularse con lenguajes de programación como <strong><a href="https://es.wikipedia.org/wiki/SQL" target="_blank" rel="noopener">SQL </a></strong>o <strong>Python</strong>), pero también puede presentarse en otros formatos estandarizados o «semi-estructurados» como el <strong><a href="https://www.json.org/json-es.html" target="_blank" rel="noopener">JSON</a></strong>. </p>



<div style="height:25px" aria-hidden="true" id="datos-no-estruct" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Datos no estructurados</h4>



<p>Los datos no estructurados, por otra parte, son un tipo de datos no organizados en formatos predefinidos para bases de datos tradicionales, por lo cual su almacenamiento y procesamiento computacional no es tan sencillo como con los datos estructurados. Ejemplos de estos pueden ser: videos, imágenes, o sonidos.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2024/04/E4.jpg" alt="E4" class="wp-image-7298" style="width:650px" title="Tipos de datos y sus características 122" srcset="https://dialektico.com/wp-content/uploads/2024/04/E4.jpg 1080w, https://dialektico.com/wp-content/uploads/2024/04/E4-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /><figcaption class="wp-element-caption"><center><strong>Fig. 2.2.2</strong> Algunos ejemplos de datos estructurados y no estructurados. <br>Nota: el formato JSON se considera como un tipo de dato <a href="https://dialektico.com/glosario/">semiestructurado</a>.</center></figcaption></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>La razón por la que estas distinciones son importantes es análoga a la de datos cualitativos y cuantitativos: la información siempre deberá ser estructurada de la mejor manera para su lectura por la computadora, por lo que todo tipo de datos no estructurados se deberá pretender organizar hasta alcanzar un formato adecuado su procesamiento numérico, principalmente en arreglos <strong>vectoriales </strong>o <strong>matriciales</strong>. Estas transformaciones forman parte de un conjunto de tareas llamado <em><strong>preprocesamiento</strong></em>, que todos los científicos de datos deben conocer, y sobre el cual aprenderás más en las próximas expediciones.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



            <div class='ays-quiz-container ays_quiz_classic_light   ays-quiz-keyboard-active' data-quest-effect='shake'  data-hide-bg-image='false' id='ays-quiz-container-7'>
                
                
                <div class='ays-questions-container'>
                    
                    
                    
                    <form action='' method='post' id='ays_finish_quiz_7' 
                        class='ays-quiz-form enable_correction enable_questions_result '
                    >
            <input type='hidden' value='list' class='answer_view_class'>
            <input type='hidden' value='' class='ays_qm_enable_arrows'>
            <audio id='ays_quiz_right_ans_sound_7' class='ays_quiz_right_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound.wav'></audio><audio id='ays_quiz_wrong_ans_sound_7' class='ays_quiz_wrong_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound-1.wav'></audio>
            
            <div class='step active-step'>
                <div class='ays-abs-fs ays-start-page'>
                    
                    
                    
                    <div class='ays-fs-subtitle'><p>Contesta las siguientes preguntas</p>
</div>
                    <input type='hidden' name='ays_quiz_id' value='7'/>
                    <input type='hidden' name='ays_quiz_finish_nonce' value='7cec930025'>
                    <input type='hidden' name='ays_quiz_curent_page_link' class='ays-quiz-curent-page-link' value='https://dialektico.com/categoria/analisis-de-datos/feed/'/>
                    <input type='hidden' name='ays_quiz_questions' value='17,18,19,20'>
                    
                    
                    <input type='button'   class='ays_next start_button action-button ays-quiz-keyboard-active' value='EMPEZAR' data-enable-leave-page="false" />
                    
                    </div>
                </div><div class='step  ' data-question-id='17' data-type='checkbox'>
                    
                    
                    <p class='ays-question-counter animated'>1 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Cuáles de los siguientes son datos cuantitativos? Marca todas las opciones que apliquen:</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-17]' id='ays-answer-47-7' value='47'/>

                <label for='ays-answer-47-7' class='  ays_position_initial  ays-quiz-keyboard-label'>Películas favoritas de un grupo de personas.</label><label for='ays-answer-47-7' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-17]' id='ays-answer-48-7' value='48'/>

                <label for='ays-answer-48-7' class='  ays_position_initial  ays-quiz-keyboard-label'>Número de ventas mensuales de un comercio.</label><label for='ays-answer-48-7' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-17]' id='ays-answer-49-7' value='49'/>

                <label for='ays-answer-49-7' class='  ays_position_initial  ays-quiz-keyboard-label'>Presión de un gas.</label><label for='ays-answer-49-7' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-17]' id='ays-answer-50-7' value='50'/>

                <label for='ays-answer-50-7' class='  ays_position_initial  ays-quiz-keyboard-label'>Nombres de países.</label><label for='ays-answer-50-7' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_7 === 'undefined'){
                window.quizOptions_7 = [];
            }
            window.quizOptions_7['17'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Los nombres de países y nombres de materiales no están representados de forma numérica, y por lo tanto no son cuantitativos.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='18' data-type='checkbox'>
                    
                    
                    <p class='ays-question-counter animated'>2 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Cuáles de los siguientes son datos cualitativos? Marca todas las opciones que apliquen:</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-18]' id='ays-answer-51-7' value='51'/>

                <label for='ays-answer-51-7' class='  ays_position_initial  ays-quiz-keyboard-label'>Materiales de los que está hecho un objeto.</label><label for='ays-answer-51-7' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-18]' id='ays-answer-52-7' value='52'/>

                <label for='ays-answer-52-7' class='  ays_position_initial  ays-quiz-keyboard-label'>Masa de una estrella.</label><label for='ays-answer-52-7' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-18]' id='ays-answer-53-7' value='53'/>

                <label for='ays-answer-53-7' class='  ays_position_initial  ays-quiz-keyboard-label'>Estados de la materia.</label><label for='ays-answer-53-7' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-18]' id='ays-answer-54-7' value='54'/>

                <label for='ays-answer-54-7' class='  ays_position_initial  ays-quiz-keyboard-label'>Reseñas de productos.</label><label for='ays-answer-54-7' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_7 === 'undefined'){
                window.quizOptions_7 = [];
            }
            window.quizOptions_7['18'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Todos corresponden a datos que se expresan de forma textual y hablan sobre cualidades o juicios subjetivos, salvo la masa de una estrella.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='19' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>3 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Un conjunto de textos provenientes de publicaciones de redes sociales con fecha y nombre de usuario, son datos estructurados.</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-19]' id='ays-answer-55-7' value='55'/>

                <label for='ays-answer-55-7' class='  ays_position_initial  ays-quiz-keyboard-label'>Verdadero</label><label for='ays-answer-55-7' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-19]' id='ays-answer-56-7' value='56'/>

                <label for='ays-answer-56-7' class='  ays_position_initial  ays-quiz-keyboard-label'>Falso</label><label for='ays-answer-56-7' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_7 === 'undefined'){
                window.quizOptions_7 = [];
            }
            window.quizOptions_7['19'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Los textos (más la información agregada mencionada) no están formatos fácilmente digeribles por una computadora para su análisis numérico, ni fácilmente almacenables en bases de datos convencionales, por lo que son datos no estructurados.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='20' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>4 / 4</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>La información del número de reacciones, compartidas y comentarios de un grupo de publicaciones de una red social, organizada en una tabla, es un conjunto de datos estructurados.</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-20]' id='ays-answer-59-7' value='59'/>

                <label for='ays-answer-59-7' class='  ays_position_initial  ays-quiz-keyboard-label'>Verdadero</label><label for='ays-answer-59-7' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-20]' id='ays-answer-60-7' value='60'/>

                <label for='ays-answer-60-7' class='  ays_position_initial  ays-quiz-keyboard-label'>Falso</label><label for='ays-answer-60-7' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_7 === 'undefined'){
                window.quizOptions_7 = [];
            }
            window.quizOptions_7['20'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays-quiz-keyboard-active ays_arrow ays_display_none" tabindex='0'></i>
                            <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active '  value='ANTERIOR' /><i class='ays_display_none ays_fa ays_fa_flag_checkered ays_finish action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active' tabindex='0'></i><input type='submit' name='ays_finish_quiz' class='  ays_next ays_finish action-button ays-quiz-keyboard-active' value='VER TOTAL'/></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Al tener un formato fácilmente almacenable y digerible para una computadora, se trata de datos estructurados.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step ays_thank_you_fs'>
            <div class='ays-abs-fs ays-end-page'><div data-class='lds-facebook' data-role='loader' class='ays-loader'><div></div><div></div><div></div></div><div class='ays_quiz_results_page'><div class='ays_score_message'></div><div class='ays_message'></div><p class='ays_score ays_score_display_none animated'>Tu puntación es </p><p class='ays_average'>La puntuación media es  71%</p><div class='ays-progress third'>
                <span class='ays-progress-value third'>0%</span>
                <div class='ays-progress-bg third'>
                    <div class='ays-progress-bar third' style='width:0%;'></div>
                </div>
            </div><p class='ays_restart_button_p'><button type='button' class='action-button ays_restart_button ays-quiz-keyboard-active'>
                    <i class='ays_fa ays_fa_undo'></i>
                    <span>Reiniciar Prueba</span>
                </button></p></div>
            </div>
        </div><style>
            div#ays-quiz-container-7 * {
                box-sizing: border-box;
            }

            #ays-quiz-container-7 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                width: 90%;
            }

            /* Styles for Internet Explorer start */
            #ays-quiz-container-7 #ays_finish_quiz_7 {
                
            }

            /* Styles for Quiz container */
            #ays-quiz-container-7{
                min-height: 350px;
                width:400px;
                background-color:#ffffff;
                background-position:center center;background-image: url('https://dialektico.com/wp-content/uploads/2022/08/Q3.jpg');border-radius:0px;box-shadow: none;border-width: 3px;border-style: solid;border-color: #000;}

            /* Styles for questions */
            #ays-quiz-container-7 #ays_finish_quiz_7 div.step {
                min-height: 350px;
            }

            /* Styles for text inside quiz container */
            #ays-quiz-container-7 .ays-start-page *:not(input):not([class^='enlighter']),
            #ays-quiz-container-7 .ays_question_hint,
            #ays-quiz-container-7 label[for^="ays-answer-"],
            #ays-quiz-container-7 #ays_finish_quiz_7 p,
            #ays-quiz-container-7 #ays_finish_quiz_7 .ays-fs-title,
            #ays-quiz-container-7 .ays-fs-subtitle,
            #ays-quiz-container-7 .logged_in_message,
            #ays-quiz-container-7 .ays_score_message,
            #ays-quiz-container-7 .ays_message{
               color: #0a0a0a;
               outline: none;
            }

            div#ays-quiz-container-7 .ays_question_hint.ays-quiz-keyboard-active,
            div#ays-quiz-container-7 .ays_restart_button.ays-quiz-keyboard-active {
                outline: revert;
            }

            #ays-quiz-container-7 .ays-quiz-password-message-box,
            #ays-quiz-container-7 .ays-quiz-question-note-message-box,
            #ays-quiz-container-7 .ays_quiz_question,
            #ays-quiz-container-7 .ays-quiz-question-category-box,
            #ays-quiz-container-7 .ays_quiz_question *:not([class^='enlighter']) {
                color: #0a0a0a;
            }

            #ays-quiz-container-7 .ays-quiz-question-category-box em {
                color: #0a0a0a;
            }

            #ays-quiz-container-7 textarea,
            #ays-quiz-container-7 input::first-letter,
            #ays-quiz-container-7 select::first-letter,
            #ays-quiz-container-7 option::first-letter {
                color: initial !important;
            }
            
            #ays-quiz-container-7 p::first-letter:not(.ays_no_questions_message) {
                color: #0a0a0a !important;
                background-color: transparent !important;
                font-size: inherit !important;
                font-weight: inherit !important;
                float: none !important;
                line-height: inherit !important;
                margin: 0 !important;
                padding: 0 !important;
            }
            
            
            #ays-quiz-container-7 .select2-container,
            #ays-quiz-container-7 .ays-field * {
                font-size: 15px !important;
            }
    
            #ays-quiz-container-7 .ays_quiz_question p {
                font-size: 16px;
                text-align: inherit;
            }

            #ays-quiz-container-7 .ays-fs-subtitle p {
                text-align:  center ;
            }

            #ays-quiz-container-7 .ays_quiz_question {
                text-align:  center ;
                margin-bottom: 10px;
            }

            #ays-quiz-container-7 .ays_quiz_question pre {
                max-width: 100%;
                white-space: break-spaces;
            }

            /* Mango theme (Version: 1.4.202301041836) | tid=32449 | Start */
            #ays-quiz-container-7 .ays_quiz_question img {
                float: unset;
                margin: 0;
            }
            /* Mango theme (Version: 1.4.202301041836) | End */

            #ays-quiz-container-7 .ays-quiz-timer p {
                font-size: 16px;
            }

            #ays-quiz-container-7 section.ays_quiz_redirection_timer_container hr,
            #ays-quiz-container-7 section.ays_quiz_timer_container hr {
                margin: 0;
            }

            #ays-quiz-container-7 section.ays_quiz_timer_container.ays_quiz_timer_red_warning .ays-quiz-timer {
                color: #ff0000;
            }

            #ays-quiz-container-7 .ays_thank_you_fs p {
                text-align: center;
            }

            #ays-quiz-container-7 .ays_quiz_results_page .ays_score span {
                visibility: visible;
            }

            #ays-quiz-container-7 input[type='button'],
            #ays-quiz-container-7 input[type='submit'] {
                color: #ffffff !important;
            }

            #ays-quiz-container-7 input[type='button']{
                outline: none;
            }

            #ays-quiz-container-7 .information_form input[type='text'],
            #ays-quiz-container-7 .information_form input[type='url'],
            #ays-quiz-container-7 .information_form input[type='number'],
            #ays-quiz-container-7 .information_form input[type='email'],
            #ays-quiz-container-7 .information_form input[type='checkbox'],
            #ays-quiz-container-7 .information_form input[type='tel'],
            #ays-quiz-container-7 .information_form textarea,
            #ays-quiz-container-7 .information_form select,
            #ays-quiz-container-7 .information_form option {
                color: initial !important;
                outline: none;
                background-image: unset;
            }

            #ays-quiz-container-7 .wrong_answer_text{
                color:#ff4d4d;
            }
            #ays-quiz-container-7 .right_answer_text{
                color:#33cc33;
            }

            #ays-quiz-container-7 .wrong_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-7 .ays_questtion_explanation p {
                font-size:16px;
            }

            #ays-quiz-container-7 .wrong_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-7 .ays_questtion_explanation *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-7 .right_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-7 .right_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-7 .ays-quiz-question-note-message-box p {
                font-size:14px;
            }

            #ays-quiz-container-7 .ays-quiz-question-note-message-box *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }
            
            #ays-quiz-container-7 .ays_cb_and_a,
            #ays-quiz-container-7 .ays_cb_and_a * {
                color: rgb(10,10,10);
                text-align: center;
            }

            /* Quiz textarea height */
            #ays-quiz-container-7 textarea {
                height: 100px;
                min-height: 100px;
            }

            /* Quiz rate and passed users count */
            #ays-quiz-container-7 .ays_quizn_ancnoxneri_qanak,
            #ays-quiz-container-7 .ays_quiz_rete_avg {
                color:#ffffff !important;
                background-color:#0a0a0a;   
            }

            #ays-quiz-container-7 .ays-questions-container > .ays_quizn_ancnoxneri_qanak {
                padding: 5px 20px;
            }
            #ays-quiz-container-7 div.for_quiz_rate.ui.star.rating .icon {
                color: rgba(10,10,10,0.35);
            }
            #ays-quiz-container-7 .ays_quiz_rete_avg div.for_quiz_rate_avg.ui.star.rating .icon {
                color: rgba(255,255,255,0.5);
            }

            #ays-quiz-container-7 .ays_quiz_rete .ays-quiz-rate-link-box .ays-quiz-rate-link {
                color: #0a0a0a;
            }

            /* Loaders */            
            #ays-quiz-container-7 div.lds-spinner,
            #ays-quiz-container-7 div.lds-spinner2 {
                color: #0a0a0a;
            }
            #ays-quiz-container-7 div.lds-spinner div:after,
            #ays-quiz-container-7 div.lds-spinner2 div:after {
                background-color: #0a0a0a;
            }
            #ays-quiz-container-7 .lds-circle,
            #ays-quiz-container-7 .lds-facebook div,
            #ays-quiz-container-7 .lds-ellipsis div{
                background: #0a0a0a;
            }
            #ays-quiz-container-7 .lds-ripple div{
                border-color: #0a0a0a;
            }
            #ays-quiz-container-7 .lds-dual-ring::after,
            #ays-quiz-container-7 .lds-hourglass::after{
                border-color: #0a0a0a transparent #0a0a0a transparent;
            }

            /* Stars */
            #ays-quiz-container-7 .ui.rating .icon,
            #ays-quiz-container-7 .ui.rating .icon:before {
                font-family: Rating !important;
            }

            /* Progress bars */
            #ays-quiz-container-7 #ays_finish_quiz_7 .ays-progress {
                border-color: rgba(10,10,10,0.8);
            }
            #ays-quiz-container-7 #ays_finish_quiz_7 .ays-progress-bg {
                background-color: rgba(10,10,10,0.3);
            }    
            #ays-quiz-container-7 .ays-progress-value {
                color: #0a0a0a;
                text-align: center;
            }
            #ays-quiz-container-7 .ays-progress-bar {
                background-color: #9e0505;
            }
            #ays-quiz-container-7 .ays-question-counter .ays-live-bar-wrap {
                direction:ltr !important;
            }
            #ays-quiz-container-7 .ays-live-bar-fill{
                color: #0a0a0a;
                border-bottom: 2px solid rgba(10,10,10,0.8);
                text-shadow: 0px 0px 5px #ffffff;
            }
            #ays-quiz-container-7 .ays-live-bar-fill.ays-live-fourth,
            #ays-quiz-container-7 .ays-live-bar-fill.ays-live-third,
            #ays-quiz-container-7 .ays-live-bar-fill.ays-live-second {
                text-shadow: unset;
            }
            #ays-quiz-container-7 .ays-live-bar-percent{
                display:none;
            }
            #ays-quiz-container-7 #ays_finish_quiz_7 .ays_average {
                text-align: center;
            }
            
            /* Music, Sound */
            #ays-quiz-container-7 .ays_music_sound {
                color:rgb(10,10,10);
            }

            /* Dropdown questions scroll bar */
            #ays-quiz-container-7 blockquote {
                border-left-color: #0a0a0a !important;                                      
            }

            /* Quiz Password */
            #ays-quiz-container-7 .ays-start-page > input[id^='ays_quiz_password_val_'],
            #ays-quiz-container-7 .ays-quiz-password-toggle-visibility-box {
                width: 100%;
            }


            /* Question hint */
            #ays-quiz-container-7 .ays_question_hint_container .ays_question_hint_text {
                background-color:#ffffff;
                box-shadow: 0 0 15px 3px rgba(10,10,10,0.35);
                max-width: 270px;
            }

            #ays-quiz-container-7 .ays_question_hint_container .ays_question_hint_text p {
                max-width: unset;
            }

            #ays-quiz-container-7 .ays-quiz-additonal-box {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                position: relative;  
            }

            #ays-quiz-container-7 .ays_questions_hint_max_width_class {
                max-width: 80%;
            }

            /* Information form */
            #ays-quiz-container-7 .ays-form-title{
                color:rgb(10,10,10);
            }

            /* Quiz timer */
            #ays-quiz-container-7 div.ays-quiz-redirection-timer,
            #ays-quiz-container-7 div.ays-quiz-timer{
                color: #0a0a0a;
                text-align: center;
            }

            #ays-quiz-container-7 div.ays-quiz-timer.ays-quiz-message-before-timer:before {
                font-weight: 500;
            }

            /* Quiz title / transformation */
            #ays-quiz-container-7 .ays-fs-title{
                text-transform: uppercase;
                font-size: 21px;
                text-align: center;
                    text-shadow: none;
            }
            
            /* Quiz buttons */
            #ays-quiz-container-7 .ays_arrow {
                color:#ffffff!important;
            }
            #ays-quiz-container-7 input#ays-submit,
            #ays-quiz-container-7 #ays_finish_quiz_7 .action-button,
            div#ays-quiz-container-7 #ays_finish_quiz_7 .action-button.ays_restart_button,
            #ays-quiz-container-7 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-7 .ays-quiz-category-selective-submit-bttn {
                background: none;
                background-color: #9e0505;
                color:#ffffff;
                font-size: 17px;
                padding: 10px 20px;
                border-radius: 3px;
                height: auto;
                letter-spacing: 0;
                box-shadow: unset;
                width: auto;
                /* border: unset; */
                min-height: unset;
                line-height: normal;
                text-shadow: unset;
            }
            #ays-quiz-container-7 input#ays-submit,
            #ays-quiz-container-7 #ays_finish_quiz_7 input.action-button,
            #ays-quiz-container-7 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-7 .ays-quiz-category-selective-submit-bttn {
                
            }

            #ays-quiz-container-7 #ays_finish_quiz_7 .action-button.ays_check_answer {
                padding: 5px 10px;
                font-size: 17px !important;
            }
            #ays-quiz-container-7 #ays_finish_quiz_7 .action-button.ays_restart_button {
                white-space: nowrap;
                padding: 5px 10px;
                white-space: normal;
            }
            #ays-quiz-container-7 input#ays-submit:hover,
            #ays-quiz-container-7 input#ays-submit:focus,
            #ays-quiz-container-7 #ays_finish_quiz_7 .action-button:hover,
            #ays-quiz-container-7 #ays_finish_quiz_7 .action-button:focus,
            #ays-quiz-container-7 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
            #ays-quiz-container-7 .ays-quiz-category-selective-submit-bttn:hover {
                background: none;
                box-shadow: 0 0 0 2px #ffffff;
                background-color: #9e0505;
            }
            #ays-quiz-container-7 .ays_restart_button {
                color: #ffffff;
            }
            
            #ays-quiz-container-7 .ays_restart_button_p,
            #ays-quiz-container-7 .ays_buttons_div {
                justify-content: center;
            }

            #ays-quiz-container-7 .ays_finish.action-button{
                margin: 10px 5px;
            }

            #ays-quiz-container-7 .ays-share-btn.ays-share-btn-branded {
                color: #fff;
                display: inline-block;
            }

            #ays-quiz-container-7 .ays_quiz_results .ays-field.checked_answer_div.correct_div input:checked+label {
                background-color: transparent;
            }
                        
            /* Question answers */
            #ays-quiz-container-7 .ays-field {
                    border-color: #444;
                    border-style: solid;
                    border-width: 1px;
                    box-shadow: none;flex-direction: row-reverse;
            }
            

            /* Answer maximum length of a text field */
            #ays-quiz-container-7 .ays_quiz_question_text_message{
                color: #0a0a0a;
                text-align: left;
                font-size: 12px;
            }

            div#ays-quiz-container-7 div.ays_quiz_question_text_error_message {
                color: #ff0000;
            }

            /* Questions answer image */
            #ays-quiz-container-7 .ays-answer-image {
                width:15em;
                height:150px;
                object-fit: cover;
            }
            
            #ays-quiz-container-7 .ays-quiz-answers .ays-field:hover:not(.ays-answered-text-input){
                opacity: 1;
            }
            #ays-quiz-container-7 #ays_finish_quiz_7 .ays-field label.ays_answer_caption[for^='ays-answer-'] {
                z-index: 1;
                position:initial;bottom:0;}
            #ays-quiz-container-7 #ays_finish_quiz_7 .ays-field input~label[for^='ays-answer-'] {
                padding: 5px;
            }

            #ays-quiz-container-7 #ays_finish_quiz_7 .ays-field {
                margin-bottom: 10px;
            }
            #ays-quiz-container-7 #ays_finish_quiz_7 .ays-field.ays_grid_view_item {
                width: calc(50% - 5px);
            }
            #ays-quiz-container-7 #ays_finish_quiz_7 .ays-field.ays_grid_view_item:nth-child(odd) {
                margin-right: 5px;
            }
            
            #ays-quiz-container-7 #ays_finish_quiz_7 .ays-field input:checked+label:before {
                border-color: #9e0505;
                background: #9e0505;
                background-clip: content-box;
            }
            #ays-quiz-container-7 .ays-quiz-answers div.ays-text-right-answer {
                color: #0a0a0a;
            }
                        
            /* Questions answer right/wrong icons */
            #ays-quiz-container-7 .ays-field input~label.answered.correct:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/correct.png');          }
            #ays-quiz-container-7 .ays-field input~label.answered.wrong:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/wrong.png');
            }
            #ays-quiz-container-7 .ays-field label.answered:last-of-type:after{
                display: none;
                height: auto;
                left: 10px;top: 10px;}
            /* Dropdown questions */            
            #ays-quiz-container-7 #ays_finish_quiz_7 .ays-field .select2-container--default .select2-selection--single {
                border-bottom: 2px solid #9e0505;
                background-color: #9e0505;
            }
            
            #ays-quiz-container-7 .ays-field .select2-container--default .select2-selection--single .select2-selection__placeholder,
            #ays-quiz-container-7 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-7 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow {
                color: #f5f5f5;
            }

            #ays-quiz-container-7 .select2-container--default .select2-search--dropdown .select2-search__field:focus,
            #ays-quiz-container-7 .select2-container--default .select2-search--dropdown .select2-search__field {
                outline: unset;
                padding: 0.75rem;
            }

            #ays-quiz-container-7 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-7 .select2-container--default .select2-results__option--highlighted[aria-selected] {
                background-color: #9e0505;
            }

            #ays-quiz-container-7 .ays-field .select2-container--default,
            #ays-quiz-container-7 .ays-field .select2-container--default .selection,
            #ays-quiz-container-7 .ays-field .select2-container--default .dropdown-wrapper,
            #ays-quiz-container-7 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-7 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered .select2-selection__placeholder,
            #ays-quiz-container-7 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow,
            #ays-quiz-container-7 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow b[role='presentation'] {
                font-size: 16px !important;
            }

            #ays-quiz-container-7 .select2-container--default .select2-results__option {
                padding: 6px;
            }
            
            /* Dropdown questions scroll bar */
            #ays-quiz-container-7 .select2-results__options::-webkit-scrollbar {
                width: 7px;
            }
            #ays-quiz-container-7 .select2-results__options::-webkit-scrollbar-track {
                background-color: rgba(255,255,255,0.35);
            }
            #ays-quiz-container-7 .select2-results__options::-webkit-scrollbar-thumb {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.55);
            }
            #ays-quiz-container-7 .select2-results__options::-webkit-scrollbar-thumb:hover {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.85);
            }

            /* Audio / Video */
            #ays-quiz-container-7 .mejs-container .mejs-time{
                box-sizing: unset;
            }
            #ays-quiz-container-7 .mejs-container .mejs-time-rail {
                padding-top: 15px;
            }

            #ays-quiz-container-7 .mejs-container .mejs-mediaelement video {
                margin: 0;
            }

            /* Limitation */
            #ays-quiz-container-7 .ays-quiz-limitation-count-of-takers {
                padding: 50px;
            }

            #ays-quiz-container-7 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-show,
            #ays-quiz-container-7 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-hide{
                color: #0a0a0a;
            }

            #ays-quiz-container-7 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-7 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-7 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #0a0a0a;
            }

            #ays-quiz-container-7.ays_quiz_elegant_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after,
            #ays-quiz-container-7.ays_quiz_rect_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #000;
            }

            /* Hestia theme (Version: 3.0.16) | Start */
            #ays-quiz-container-7 .mejs-container .mejs-inner .mejs-controls .mejs-button > button:hover,
            #ays-quiz-container-7 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                box-shadow: unset;
                background-color: transparent;
            }
            #ays-quiz-container-7 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                margin: 10px 6px;
            }
            /* Hestia theme (Version: 3.0.16) | End */

            /* Go theme (Version: 1.4.3) | Start */
            #ays-quiz-container-7 label[for^='ays-answer']:before,
            #ays-quiz-container-7 label[for^='ays-answer']:before {
                -webkit-mask-image: unset;
                mask-image: unset;
            }

            #ays-quiz-container-7.ays_quiz_classic_light .ays-field input:checked+label.answered.correct:before,
            #ays-quiz-container-7.ays_quiz_classic_dark .ays-field input:checked+label.answered.correct:before {
                background-color: #9e0505 !important;
                background-color: rgba(39,174,96, 1) !important;
            }
            /* Go theme (Version: 1.4.3) | End */

            #ays-quiz-container-7 .ays_quiz_results fieldset.ays_fieldset .ays_quiz_question .wp-video {
                width: 100% !important;
                max-width: 100%;
            }

            /* Classic Dark / Classic Light */
            /* Dropdown questions right/wrong styles */
            #ays-quiz-container-7.ays_quiz_classic_dark .correct_div,
            #ays-quiz-container-7.ays_quiz_classic_light .correct_div{
                border-color:green !important;
                opacity: 1 !important;
                background-color: rgba(39,174,96,0.4) !important;
            }
            #ays-quiz-container-7.ays_quiz_classic_dark .correct_div .selected-field,
            #ays-quiz-container-7.ays_quiz_classic_light .correct_div .selected-field {
                padding: 0px 10px 0px 10px;
                color: green !important;
            }

            #ays-quiz-container-7.ays_quiz_classic_dark .wrong_div,
            #ays-quiz-container-7.ays_quiz_classic_light .wrong_div{
                border-color:red !important;
                opacity: 1 !important;
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-7.ays_quiz_classic_dark .ays-field.checked_answer_div.wrong_div input:checked~label,
            #ays-quiz-container-7.ays_quiz_classic_light .ays-field.checked_answer_div.wrong_div input:checked~label {
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-7.ays_quiz_classic_dark .ays-field,
            #ays-quiz-container-7.ays_quiz_classic_light .ays-field {
                text-align: left;
                /*margin-bottom: 10px;*/
                padding: 0;
                transition: .3s ease-in-out;
            }

            #ays-quiz-container-7 .ays-quiz-close-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-7 .ays-quiz-open-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-7 .ays_quiz_login_form p{
                color: #0a0a0a;
            }

            /* report questions modal start */
            .ays-modal-reports {
                display: none;
                position: fixed;
                z-index: 9999;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                overflow: auto;
                background-color: rgba(0, 0, 0, 0.4);
                animation-duration: .5s;
                background-color: rgba(0, 0, 0, 0.4);
            }

            #ays-quiz-question-report-modal-7 .ays-modal-content-reports {
                background-color: #fefefe;
                margin: 10% auto;
                border: 1px solid #888;
                max-width: 500px;
                width: 100%;
                border-radius: 10px;
                padding: 20px;
                box-sizing: border-box;
                position: relative;
            }

            #ays-quiz-question-report-modal-7 .ays-modal-content-reports label{
                display: block;
                margin-bottom: 10px;
                font-weight: bold;
                letter-spacing: normal;
            }

            #ays-quiz-question-report-modal-7 .ays-modal-content-reports textarea {
                display: block;
                width: 100%;
                height: 100px;
                padding: 5px;
                box-sizing: border-box;
                border-radius: 5px;
                border: 1px solid #ccc;
                max-width: 100%;
                max-height: 500px;
                resize: vertical;
                transition: unset;
            }

            #ays-quiz-question-report-modal-7 .ays-modal-content-reports input.ays-quiz-submit-question-report {
                background-color: #0073aa;
                color: #fff !important;
                border: none;
                border-radius: 5px;
                padding: 10px 20px;
                cursor: pointer;
                margin-top: 20px;
                line-height: normal;
                letter-spacing: normal;
                box-shadow: unset;
                background-image: unset;
            }

            #ays-quiz-question-report-modal-7 .ays-close-reports-window {
                color: #aaa;
                font-weight: bold;
                position: absolute;
                top: 1%;
                right: 1%;
            }

            #ays-quiz-question-report-modal-7 .ays-close-reports-window img {
                box-shadow: unset;
            }
            
            #ays-quiz-question-report-modal-7 .ays-quiz-preloader img {
                box-shadow: unset;
            }

            #ays-quiz-question-report-modal-7 .ays-close-reports-window img:hover,
            #ays-quiz-question-report-modal-7 .ays-close-reports-window img:focus {
                cursor: pointer;
            }

            #ays-quiz-question-report-modal-7 .ays-quiz-question-report-error {
                display: none;
                font-size: 13px;
                color: #f00;
                text-align: left;
            }

            #ays-quiz-question-report-modal-7 .ays-quiz-question-report-textarea-label,
            #ays-quiz-question-report-modal-7 .ays-quiz-question-report-title {
                text-align: left;
            }

            #ays-quiz-question-report-modal-7 .ays_quiz_modal_overlay {
                width: 100%;
                height: 100%;
                position: fixed;
                top: 0;
                left: 0;
                position: absolute;
                z-index: 1000000000;
                flex-direction: column;
            }

            #ays-quiz-question-report-modal-7 .ays-quiz-container .ays-quiz-user-cհoosing-anonymous-assessment {
                margin: 10px 0;
            }

            /* report questions modal end */

            @media screen and (max-width: 768px){
                #ays-quiz-container-7{
                    max-width: 100%;
                }

                div#ays-quiz-container-7 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                    width: 90%;
                }

                #ays-quiz-container-7 .ays_quiz_question p {
                    font-size: 16px;
                }

                #ays-quiz-container-7 .select2-container,
                #ays-quiz-container-7 .ays-field * {
                    font-size: 15px !important;
                }

                div#ays-quiz-container-7 input#ays-submit,
                div#ays-quiz-container-7 #ays_finish_quiz_7 .action-button,
                div#ays-quiz-container-7 #ays_finish_quiz_7 .action-button.ays_restart_button,
                #ays-quiz-container-7 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
                #ays-quiz-container-7 .ays-quiz-category-selective-submit-bttn {
                    font-size: 17px;
                }

                /* Quiz title / mobile font size */
                div#ays-quiz-container-7 .ays-fs-title {
                    font-size: 21px;
                }

                /* Question explanation / mobile font size */
                #ays-quiz-container-7 .ays_questtion_explanation p {
                    font-size:16px;
                }

                /* Wrong answers / mobile font size */
                #ays-quiz-container-7 .wrong_answer_text p {
                    font-size:16px;
                }

                /* Right answers / mobile font size */
                #ays-quiz-container-7 .right_answer_text p {
                    font-size:16px;
                }

                /* Note text / mobile font size */
                #ays-quiz-container-7 .ays-quiz-question-note-message-box p {
                    font-size:14px;
                }

                div#ays-quiz-container-7 .ays-quiz-question-note-message-box *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-7 .ays_questtion_explanation *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-7 .right_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-7 .wrong_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }
            }
            /* Custom css styles */
            @media screen and (max-width: 768px)
div#ays-quiz-container-5 input#ays-submit, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    font-size: 17px;
    letter-spacing: 1.5px;
}

#ays-quiz-container-5 input#ays-submit, #ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    background: none;
    background-color: #9e0505;
    color: #ffffff;
    font-size: 17px;
    padding: 10px 20px;
    border-radius: 3px;
    height: auto;
    letter-spacing: 1.5px;
    box-shadow: unset;
}
            
            /* RTL direction styles */
            
        </style>
            <style>
                #ays-quiz-container-7 p {
                    margin: 0.625em;
                }
                
                #ays-quiz-container-7 .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }

                #ays-quiz-container-7.ays_quiz_classic_light  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-7.ays_quiz_classic_dark  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-7.ays_quiz_classic_light  .enable_correction .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-7.ays_quiz_classic_dark  .enable_correction .ays-field.checked_answer_div input:checked~label {
                    background-color: transparent;
                }

                #ays-quiz-container-7.ays_quiz_classic_light  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-7.ays_quiz_classic_dark  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-7.ays_quiz_classic_light  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-7.ays_quiz_classic_dark  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }
                
                #ays-quiz-container-7 .ays-field.checked_answer_div input:checked~label:hover {
                    background-color: rgba(158,5,5,0.8);
                }

                #ays-quiz-container-7.ays-quiz-container.ays_quiz_classic_light .ays-questions-container .ays-field:hover label[for^='ays-answer-'],
                #ays-quiz-container-7 .ays-field:hover:not(.ays-answered-text-input){
                    background: rgba(158,5,5,0.8);
                    /* border-radius: 4px; */
                    color: #fff;
                    transition: all .3s;
                }
                #ays-quiz-container-7 #ays_finish_quiz_7 .action-button:hover,
                #ays-quiz-container-7 #ays_finish_quiz_7 .action-button:focus,
                #ays-quiz-container-7 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
                #ays-quiz-container-7 .ays-quiz-category-selective-submit-bttn:focus {
                    box-shadow: 0 0 0 2px white, 0 0 0 3px #9e0505;
                    background: #9e0505;
                }
            </style><script>
                if(typeof aysQuizOptions === 'undefined'){
                    var aysQuizOptions = [];
                }
                aysQuizOptions['7']  = 'eyJxdWl6X3ZlcnNpb24iOiI2LjMuNS44IiwiY29yZV92ZXJzaW9uIjoiNi4wLjIiLCJwaHBfdmVyc2lvbiI6IjcuNC4yOCIsImNvbG9yIjoiIzllMDUwNSIsImJnX2NvbG9yIjoiI2ZmZmZmZiIsInRleHRfY29sb3IiOiIjMGEwYTBhIiwiaGVpZ2h0IjozNTAsIndpZHRoIjo0MDAsImVuYWJsZV9sb2dnZWRfdXNlcnMiOiJvZmYiLCJpbmZvcm1hdGlvbl9mb3JtIjoiZGlzYWJsZSIsImZvcm1fbmFtZSI6bnVsbCwiZm9ybV9lbWFpbCI6bnVsbCwiZm9ybV9waG9uZSI6bnVsbCwiaW1hZ2Vfd2lkdGgiOiIiLCJpbWFnZV9oZWlnaHQiOiIiLCJlbmFibGVfY29ycmVjdGlvbiI6Im9uIiwiZW5hYmxlX3Byb2dyZXNzX2JhciI6Im9uIiwiZW5hYmxlX3F1ZXN0aW9uc19yZXN1bHQiOiJvbiIsInJhbmRvbWl6ZV9xdWVzdGlvbnMiOiJvZmYiLCJyYW5kb21pemVfYW5zd2VycyI6Im9mZiIsImVuYWJsZV9xdWVzdGlvbnNfY291bnRlciI6Im9uIiwiZW5hYmxlX3Jlc3RyaWN0aW9uX3Bhc3MiOiJvZmYiLCJyZXN0cmljdGlvbl9wYXNzX21lc3NhZ2UiOiIiLCJ1c2VyX3JvbGUiOltdLCJjdXN0b21fY3NzIjoiQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpXHJcbmRpdiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcbn1cclxuXHJcbiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCAjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzllMDUwNTtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xyXG4gICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbn0iLCJsaW1pdF91c2VycyI6Im9mZiIsImxpbWl0YXRpb25fbWVzc2FnZSI6IiIsInJlZGlyZWN0X3VybCI6IiIsInJlZGlyZWN0aW9uX2RlbGF5IjowLCJhbnN3ZXJzX3ZpZXciOiJsaXN0IiwiZW5hYmxlX3J0bF9kaXJlY3Rpb24iOiJvZmYiLCJlbmFibGVfbG9nZ2VkX3VzZXJzX21lc3NhZ2UiOiIiLCJxdWVzdGlvbnNfY291bnQiOiIiLCJlbmFibGVfcXVlc3Rpb25fYmFuayI6Im9mZiIsImVuYWJsZV9saXZlX3Byb2dyZXNzX2JhciI6Im9mZiIsImVuYWJsZV9wZXJjZW50X3ZpZXciOiJvZmYiLCJlbmFibGVfYXZlcmFnZV9zdGF0aXN0aWNhbCI6Im9uIiwiZW5hYmxlX25leHRfYnV0dG9uIjoib24iLCJlbmFibGVfcHJldmlvdXNfYnV0dG9uIjoib24iLCJlbmFibGVfYXJyb3dzIjoib2ZmIiwidGltZXJfdGV4dCI6IiIsInF1aXpfdGhlbWUiOiJjbGFzc2ljX2xpZ2h0IiwiZW5hYmxlX3NvY2lhbF9idXR0b25zIjoib2ZmIiwicmVzdWx0X3RleHQiOiIiLCJlbmFibGVfcGFzc19jb3VudCI6Im9mZiIsImhpZGVfc2NvcmUiOiJvZmYiLCJyYXRlX2Zvcm1fdGl0bGUiOiIiLCJib3hfc2hhZG93X2NvbG9yIjoicmdiYSgxMCwxMCwxMCwwLjM1KSIsInF1aXpfYm9yZGVyX3JhZGl1cyI6IjAiLCJxdWl6X2JnX2ltYWdlIjoiaHR0cHM6XC9cL2RpYWxla3RpY28uY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDIyXC8wOFwvUTMuanBnIiwicXVpel9ib3JkZXJfd2lkdGgiOiIzIiwicXVpel9ib3JkZXJfc3R5bGUiOiJzb2xpZCIsInF1aXpfYm9yZGVyX2NvbG9yIjoiIzAwMCIsInF1aXpfbG9hZGVyIjoiZmFjZWJvb2siLCJjcmVhdGVfZGF0ZSI6bnVsbCwiYXV0aG9yIjoie1wiaWRcIjpcIjFcIixcIm5hbWVcIjpcIkRhbmllbCBEaWFsXFx1MDBlOWt0aWNvXCJ9IiwicXVlc3RfYW5pbWF0aW9uIjoic2hha2UiLCJmb3JtX3RpdGxlIjoiIiwiZW5hYmxlX2JnX211c2ljIjoib2ZmIiwicXVpel9iZ19tdXNpYyI6IiIsImFuc3dlcnNfZm9udF9zaXplIjoxNSwic2hvd19jcmVhdGVfZGF0ZSI6Im9mZiIsInNob3dfYXV0aG9yIjoib2ZmIiwiZW5hYmxlX2Vhcmx5X2ZpbmlzaCI6Im9mZiIsImFuc3dlcnNfcndfdGV4dHMiOiJvbl9wYXNzaW5nIiwiZGlzYWJsZV9zdG9yZV9kYXRhIjoib2ZmIiwiZW5hYmxlX2JhY2tncm91bmRfZ3JhZGllbnQiOiJvZmYiLCJiYWNrZ3JvdW5kX2dyYWRpZW50X2NvbG9yXzEiOiIjMDAwIiwiYmFja2dyb3VuZF9ncmFkaWVudF9jb2xvcl8yIjoiI2ZmZiIsInF1aXpfZ3JhZGllbnRfZGlyZWN0aW9uIjoidmVydGljYWwiLCJyZWRpcmVjdF9hZnRlcl9zdWJtaXQiOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfdXJsIjoiIiwic3VibWl0X3JlZGlyZWN0X2RlbGF5IjowLCJwcm9ncmVzc19iYXJfc3R5bGUiOiJ0aGlyZCIsImVuYWJsZV9leGl0X2J1dHRvbiI6Im9mZiIsImV4aXRfcmVkaXJlY3RfdXJsIjoiIiwiaW1hZ2Vfc2l6aW5nIjoiY292ZXIiLCJxdWl6X2JnX2ltYWdlX3Bvc2l0aW9uIjoiY2VudGVyIGNlbnRlciIsImN1c3RvbV9jbGFzcyI6IiIsImVuYWJsZV9zb2NpYWxfbGlua3MiOiJvZmYiLCJzb2NpYWxfbGlua3MiOnsibGlua2VkaW5fbGluayI6IiIsImZhY2Vib29rX2xpbmsiOiIiLCJ0d2l0dGVyX2xpbmsiOiIiLCJ2a29udGFrdGVfbGluayI6IiIsImluc3RhZ3JhbV9saW5rIjoiIiwieW91dHViZV9saW5rIjoiIn0sInNob3dfcXVpel90aXRsZSI6Im9mZiIsInNob3dfcXVpel9kZXNjIjoib24iLCJzaG93X2xvZ2luX2Zvcm0iOiJvZmYiLCJtb2JpbGVfbWF4X3dpZHRoIjoiIiwibGltaXRfdXNlcnNfYnkiOiJpcCIsImFjdGl2ZV9kYXRlX2NoZWNrIjoib2ZmIiwiYWN0aXZlSW50ZXJ2YWwiOiIyMDIyLTA5LTIyIDAwOjQ3OjE4IiwiZGVhY3RpdmVJbnRlcnZhbCI6IjIwMjItMDktMjIgMDA6NDc6MTgiLCJhY3RpdmVfZGF0ZV9wcmVfc3RhcnRfbWVzc2FnZSI6IlRoZSBxdWl6IHdpbGwgYmUgYXZhaWxhYmxlIHNvb24hIiwiYWN0aXZlX2RhdGVfbWVzc2FnZSI6Ilx1MDBhMUVsIHRlc3QgaGEgZXhwaXJhZG8hIiwiZXhwbGFuYXRpb25fdGltZSI6IjQiLCJlbmFibGVfY2xlYXJfYW5zd2VyIjoib2ZmIiwic2hvd19jYXRlZ29yeSI6Im9mZiIsInNob3dfcXVlc3Rpb25fY2F0ZWdvcnkiOiJvZmYiLCJkaXNwbGF5X3Njb3JlIjoiYnlfcGVyY2FudGFnZSIsImVuYWJsZV9yd19hc253ZXJzX3NvdW5kcyI6Im9uIiwiYW5zX3JpZ2h0X3dyb25nX2ljb24iOiJkZWZhdWx0IiwicXVpel9iZ19pbWdfaW5fZmluaXNoX3BhZ2UiOiJvZmYiLCJmaW5pc2hfYWZ0ZXJfd3JvbmdfYW5zd2VyIjoib2ZmIiwiYWZ0ZXJfdGltZXJfdGV4dCI6IiIsImVuYWJsZV9lbnRlcl9rZXkiOiJvbiIsImJ1dHRvbnNfdGV4dF9jb2xvciI6IiNmZmZmZmYiLCJidXR0b25zX3Bvc2l0aW9uIjoiY2VudGVyIiwic2hvd19xdWVzdGlvbnNfZXhwbGFuYXRpb24iOiJvbl9wYXNzaW5nIiwiZW5hYmxlX2F1ZGlvX2F1dG9wbGF5Ijoib2ZmIiwiYnV0dG9uc19zaXplIjoibWVkaXVtIiwiYnV0dG9uc19mb250X3NpemUiOiIxNyIsImJ1dHRvbnNfd2lkdGgiOiIiLCJidXR0b25zX2xlZnRfcmlnaHRfcGFkZGluZyI6IjIwIiwiYnV0dG9uc190b3BfYm90dG9tX3BhZGRpbmciOiIxMCIsImJ1dHRvbnNfYm9yZGVyX3JhZGl1cyI6IjMiLCJlbmFibGVfbGVhdmVfcGFnZSI6Im9uIiwiZW5hYmxlX3RhY2tlcnNfY291bnQiOiJvZmYiLCJ0YWNrZXJzX2NvdW50IjoiIiwicGFzc19zY29yZSI6MCwicGFzc19zY29yZV9tZXNzYWdlIjoiPGg0IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+Q29uZ3JhdHVsYXRpb25zITxcL2g0PlxyXG48cCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlclwiPllvdSBwYXNzZWQgdGhlIHF1aXohPFwvcD4iLCJmYWlsX3Njb3JlX21lc3NhZ2UiOiI8aDQgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj5Pb3BzITxcL2g0PlxyXG48cCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlclwiPllvdSBoYXZlIG5vdCBwYXNzZWQgdGhlIHF1aXohXHJcblRyeSBhZ2FpbiE8XC9wPiIsInF1ZXN0aW9uX2ZvbnRfc2l6ZSI6MTYsInF1aXpfd2lkdGhfYnlfcGVyY2VudGFnZV9weCI6InBpeGVscyIsInF1ZXN0aW9uc19oaW50X2ljb25fb3JfdGV4dCI6ImRlZmF1bHQiLCJxdWVzdGlvbnNfaGludF92YWx1ZSI6IiIsImVuYWJsZV9lYXJseV9maW5zaF9jb21maXJtX2JveCI6Im9uIiwiZW5hYmxlX3F1ZXN0aW9uc19vcmRlcmluZ19ieV9jYXQiOiJvZmYiLCJzaG93X3NjaGVkdWxlX3RpbWVyIjoib2ZmIiwic2hvd190aW1lcl90eXBlIjoiY291bnRkb3duIiwicXVpel9sb2FkZXJfdGV4dF92YWx1ZSI6IiIsImhpZGVfY29ycmVjdF9hbnN3ZXJzIjoib2ZmIiwic2hvd19pbmZvcm1hdGlvbl9mb3JtIjoib24iLCJxdWl6X2xvYWRlcl9jdXN0b21fZ2lmIjoiIiwiZGlzYWJsZV9ob3Zlcl9lZmZlY3QiOiJvZmYiLCJxdWl6X2xvYWRlcl9jdXN0b21fZ2lmX3dpZHRoIjoxMDAsInByb2dyZXNzX2xpdmVfYmFyX3N0eWxlIjoiZGVmYXVsdCIsInF1aXpfdGl0bGVfdHJhbnNmb3JtYXRpb24iOiJ1cHBlcmNhc2UiLCJzaG93X2Fuc3dlcnNfbnVtYmVyaW5nIjoibm9uZSIsInF1aXpfaW1hZ2Vfd2lkdGhfYnlfcGVyY2VudGFnZV9weCI6InBpeGVscyIsInF1aXpfaW1hZ2VfaGVpZ2h0IjoiIiwicXVpel9iZ19pbWdfb25fc3RhcnRfcGFnZSI6Im9mZiIsInF1aXpfYm94X3NoYWRvd194X29mZnNldCI6MCwicXVpel9ib3hfc2hhZG93X3lfb2Zmc2V0IjowLCJxdWl6X2JveF9zaGFkb3dfel9vZmZzZXQiOjE1LCJxdWl6X3F1ZXN0aW9uX3RleHRfYWxpZ25tZW50IjoiY2VudGVyIiwicXVpel9hcnJvd190eXBlIjoiZGVmYXVsdCIsInF1aXpfc2hvd193cm9uZ19hbnN3ZXJzX2ZpcnN0Ijoib2ZmIiwicXVpel9kaXNwbGF5X2FsbF9xdWVzdGlvbnMiOiJvZmYiLCJxdWl6X3RpbWVyX3JlZF93YXJuaW5nIjoib2ZmIiwicXVpel9zY2hlZHVsZV90aW1lem9uZSI6IkFtZXJpY2FcL01leGljb19DaXR5IiwicXVlc3Rpb25zX2hpbnRfYnV0dG9uX3ZhbHVlIjoiIiwicXVpel90YWNrZXJzX21lc3NhZ2UiOiJcdTAwYTFFc3RlIHRlc3QgaGEgZXhwaXJhZG8hIiwicXVpel9lbmFibGVfbGlua2VkaW5fc2hhcmVfYnV0dG9uIjoib24iLCJxdWl6X2VuYWJsZV9mYWNlYm9va19zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfZW5hYmxlX3R3aXR0ZXJfc2hhcmVfYnV0dG9uIjoib24iLCJxdWl6X21ha2VfcmVzcG9uc2VzX2Fub255bW91cyI6Im9mZiIsInF1aXpfbWFrZV9hbGxfcmV2aWV3X2xpbmsiOiJvZmYiLCJzaG93X3F1ZXN0aW9uc19udW1iZXJpbmciOiJub25lIiwicXVpel9tZXNzYWdlX2JlZm9yZV90aW1lciI6IiIsImVuYWJsZV9wYXNzd29yZCI6Im9mZiIsInBhc3N3b3JkX3F1aXoiOiIiLCJxdWl6X3Bhc3N3b3JkX21lc3NhZ2UiOiIiLCJlbmFibGVfc2VlX3Jlc3VsdF9jb25maXJtX2JveCI6Im9mZiIsImRpc3BsYXlfZmllbGRzX2xhYmVscyI6Im9mZiIsImVuYWJsZV9mdWxsX3NjcmVlbl9tb2RlIjoib2ZmIiwicXVpel9lbmFibGVfcGFzc3dvcmRfdmlzaWJpbGl0eSI6Im9mZiIsInF1ZXN0aW9uX21vYmlsZV9mb250X3NpemUiOjE2LCJhbnN3ZXJzX21vYmlsZV9mb250X3NpemUiOjE1LCJzb2NpYWxfYnV0dG9uc19oZWFkaW5nIjoiIiwicXVpel9lbmFibGVfdmtvbnRha3RlX3NoYXJlX2J1dHRvbiI6Im9uIiwiYW5zd2Vyc19ib3JkZXIiOiJvbiIsImFuc3dlcnNfYm9yZGVyX3dpZHRoIjoxLCJhbnN3ZXJzX2JvcmRlcl9zdHlsZSI6InNvbGlkIiwiYW5zd2Vyc19ib3JkZXJfY29sb3IiOiIjNDQ0Iiwic29jaWFsX2xpbmtzX2hlYWRpbmciOiIiLCJxdWl6X2VuYWJsZV9xdWVzdGlvbl9jYXRlZ29yeV9kZXNjcmlwdGlvbiI6Im9mZiIsImFuc3dlcnNfbWFyZ2luIjoxMCwicXVpel9tZXNzYWdlX2JlZm9yZV9yZWRpcmVjdF90aW1lciI6IiIsImJ1dHRvbnNfbW9iaWxlX2ZvbnRfc2l6ZSI6MTcsImFuc3dlcnNfYm94X3NoYWRvdyI6Im9mZiIsImFuc3dlcnNfYm94X3NoYWRvd19jb2xvciI6IiMwMDAiLCJxdWl6X2Fuc3dlcl9ib3hfc2hhZG93X3hfb2Zmc2V0IjowLCJxdWl6X2Fuc3dlcl9ib3hfc2hhZG93X3lfb2Zmc2V0IjowLCJxdWl6X2Fuc3dlcl9ib3hfc2hhZG93X3pfb2Zmc2V0IjoxMCwicXVpel9jcmVhdGVfYXV0aG9yIjoxLCJxdWl6X2VuYWJsZV90aXRsZV90ZXh0X3NoYWRvdyI6Im9mZiIsInF1aXpfdGl0bGVfdGV4dF9zaGFkb3dfY29sb3IiOiIjMzMzIiwicXVpel90aXRsZV90ZXh0X3NoYWRvd194X29mZnNldCI6MiwicXVpel90aXRsZV90ZXh0X3NoYWRvd195X29mZnNldCI6MiwicXVpel90aXRsZV90ZXh0X3NoYWRvd196X29mZnNldCI6MiwicXVpel9zaG93X29ubHlfd3JvbmdfYW5zd2VycyI6Im9mZiIsInF1aXpfdGl0bGVfZm9udF9zaXplIjoyMSwicXVpel90aXRsZV9tb2JpbGVfZm9udF9zaXplIjoyMSwicXVpel9wYXNzd29yZF93aWR0aCI6IiIsInF1aXpfcmV2aWV3X3BsYWNlaG9sZGVyX3RleHQiOiIiLCJxdWl6X21ha2VfcmV2aWV3X3JlcXVpcmVkIjoib2ZmIiwicmVxdWlyZWRfZmllbGRzIjpudWxsLCJlbmFibGVfdGltZXIiOiJvZmYiLCJlbmFibGVfcXVpel9yYXRlIjoib2ZmIiwiZW5hYmxlX3JhdGVfYXZnIjoib2ZmIiwiZW5hYmxlX2JveF9zaGFkb3ciOiJvZmYiLCJlbmFibGVfYm9yZGVyIjoib24iLCJxdWl6X3RpbWVyX2luX3RpdGxlIjoib2ZmIiwiZW5hYmxlX3JhdGVfY29tbWVudHMiOiJvZmYiLCJlbmFibGVfcmVzdGFydF9idXR0b24iOiJvbiIsImF1dG9maWxsX3VzZXJfZGF0YSI6Im9mZiIsInRpbWVyIjoxMDAsInF1aXpfd2FpdGluZ190aW1lIjoib2ZmIiwicXVpel9iZ19pbWdfZHVyaW5nX3RoZV9xdWl6Ijoib2ZmIiwic2hvd19hbnN3ZXJzX2NhcHRpb24iOiJvbiIsInF1aXpfZW5hYmxlX2tleWJvYXJkX25hdmlnYXRpb24iOiJvbiIsInNob3dfcXVpel9pbWFnZSI6Im9uIiwicXVpel9lbmFibGVfcXVpel9jYXRlZ29yeV9kZXNjcmlwdGlvbiI6Im9mZiIsInF1aXpfZW5hYmxlX3VzZXJfY1x1MDU3MG9vc2luZ19hbm9ueW1vdXNfYXNzZXNzbWVudCI6Im9mZiIsInF1aXpfZW5hYmxlX3doYXRzYXBwX3NoYXJlX2J1dHRvbiI6Im9mZiIsInN1Ym1pdF9yZWRpcmVjdF9hZnRlciI6MCwicndfYW5zd2Vyc19zb3VuZHMiOnRydWUsImlkIjoiNyIsInRpdGxlIjoiRGF0b3MgMiIsImRlc2NyaXB0aW9uIjoiQ29udGVzdGEgbGFzIHNpZ3VpZW50ZXMgcHJlZ3VudGFzIiwicXVpel9pbWFnZSI6IiIsInF1aXpfY2F0ZWdvcnlfaWQiOiIyIiwicXVlc3Rpb25faWRzIjoiMTcsMTgsMTksMjAiLCJvcmRlcmluZyI6IjciLCJwdWJsaXNoZWQiOiIxIiwiaW50ZXJ2YWxzIjpudWxsLCJxdWl6X3VybCI6bnVsbCwiY3VzdG9tX3Bvc3RfaWQiOm51bGwsImF1dGhvcl9pZCI6IjAiLCJxdWl6X2FuaW1hdGlvbl90b3AiOjEwMCwicXVpel9lbmFibGVfYW5pbWF0aW9uX3RvcCI6Im9uIn0=';
        </script>
                    <input type='hidden' name='quiz_id' value='7'/>
                    <input type='hidden' name='start_date' class='ays-start-date'/>
                </form></div>
                            </div>
                            



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Con esto concluye esta breve exploración sobre tipos de datos, en el próximo recorrido conocerás qué es y cómo se conforma un <strong>conjunto de datos</strong> en el contexto del aprendizaje de máquinas, uno de los conceptos más conocidos y utilizados en este ámbito.</p>



<p class="has-text-align-center mi-imagen-pulsa"><br><a href="https://dialektico.com/conjuntos-de-datos-para-machine-learning/"><img decoding="async" style="width:172px;height:85px" src="https://dialektico.com/wp-content/uploads/2022/06/Button2-1.png" alt="siguiente" title="Tipos de datos y sus características 123"></a><br></p>
]]></content:encoded>
					
					<wfw:commentRss>https://dialektico.com/tipos-de-datos/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Tutorial de API de Spotify con Python</title>
		<link>https://dialektico.com/tutorial-api-spotify-python/</link>
					<comments>https://dialektico.com/tutorial-api-spotify-python/#comments</comments>
		
		<dc:creator><![CDATA[Daniel Dialéktico]]></dc:creator>
		<pubDate>Wed, 24 May 2023 20:16:46 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Análisis de Datos]]></category>
		<category><![CDATA[Ciencia de datos]]></category>
		<category><![CDATA[Otros]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[ciencia de datos]]></category>
		<category><![CDATA[datos]]></category>
		<category><![CDATA[programacion]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[spotify]]></category>
		<guid isPermaLink="false">https://dialektico.com/?p=6699</guid>

					<description><![CDATA[En este tutorial aprenderás cómo obtener información directamente de las bases de datos de Spotify utilizando la librería Spotipy de Python. Veremos cómo realizar consultas para extraer datos y colocarlos en tablas para su procesamiento, y finalmente descargar la información en formato CSV. Equipaje recomendado Programación en Python Google Colab Nota: Este tutorial tiene una [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>En este tutorial aprenderás cómo obtener información directamente de las bases de datos de <a href="https://open.spotify.com/?" target="_blank" rel="noopener">Spotify</a> utilizando la librería <a href="https://spotipy.readthedocs.io/en/2.22.1/#" target="_blank" rel="noopener">Spotipy</a> de <a href="https://www.python.org/" target="_blank" rel="noopener">Python</a>. Veremos cómo realizar consultas para extraer datos y colocarlos en tablas para su procesamiento, y finalmente descargar la información en formato <strong>CSV</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="847" src="https://dialektico.com/wp-content/uploads/2024/07/APIS_1.jpg" alt="APIS 1" class="wp-image-8756" style="width:576px;height:auto" title="Tutorial de API de Spotify con Python 124" srcset="https://dialektico.com/wp-content/uploads/2024/07/APIS_1.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/07/APIS_1-768x635.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h6 class="wp-block-heading has-text-align-center">Equipaje recomendado</h6>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg" alt="aprendizaje supervisado dialéktico" class="wp-image-7016" style="width:196px;height:auto" title="Tutorial de API de Spotify con Python 125" srcset="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:35px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Programación en Python</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/Python_Eq.jpg" alt="aprendizaje supervisado dialéktico" class="wp-image-7522" style="width:400px" title="Tutorial de API de Spotify con Python 126" srcset="https://dialektico.com/wp-content/uploads/2024/05/Python_Eq.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/Python_Eq-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong><a href="https://dialektico.com/google-colab/">Google Colab</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec.jpg" alt="Colab" class="wp-image-7521" style="width:400px" title="Tutorial de API de Spotify con Python 127" srcset="https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<p><strong>Nota</strong>: Este tutorial tiene una versión más extensa y detallada en <strong>YouTube</strong>, en forma de <strong>minicurso</strong>:</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Minicurso | API de Spotify con Python para extracción de datos" width="800" height="450" src="https://www.youtube.com/embed/MSBUMMcPnLk?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Antes de comenzar&#8230; ¿API?</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>La librería <strong>Spotipy</strong> de Python permite establecer comunicación con la <strong>API</strong> <strong>Web</strong> de <strong>Spotify</strong>, la cual a su vez ofrece un medio para la <strong>extracción de datos</strong> mediante comandos con contenido específico para cada tipo de consulta. Para poder utilizar de manera efectiva esta librería, es necesario tener al menos la noción de lo que es una API, cómo funciona, y (para el caso específico de Spotify) cómo y dónde está documentada.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2024/07/APIS_M_1.jpg" alt="APIS M 1" class="wp-image-8758" style="width:572px;height:auto" title="Tutorial de API de Spotify con Python 128" srcset="https://dialektico.com/wp-content/uploads/2024/07/APIS_M_1.jpg 1080w, https://dialektico.com/wp-content/uploads/2024/07/APIS_M_1-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">¿Qué es una API?</h3>



<p>Cómo se menciona en el artículo sobre <a href="https://dialektico.com/obtener-conjuntos-de-datos-para-ml/">cómo obtener conjuntos de datos</a>, una&nbsp;API (de las siglas en inglés <em>Application Programming Interface</em>)&nbsp;es una interfaz de programación de aplicaciones, lo cual es, en pocas palabras, una forma de&nbsp;<strong>comunicación&nbsp;</strong>entre diferentes&nbsp;<strong>softwares</strong>&nbsp;mediante protocolos relativamente sencillos.</p>



<p>Una API (en específico, una <strong>API Web</strong>) permite&nbsp;<strong>establecer comunicación</strong>&nbsp;con plataformas web como&nbsp;<strong>Facebook, Google, Netflix&nbsp;</strong>o<strong>&nbsp;Spotify</strong>, y pueden ser consumidas mediante clientes utilizando diversas aplicaciones y lenguajes de programación, dentro de los cuales se encuentra&nbsp;<strong>Python</strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">API Web</h3>



<p>Las <strong>API Web</strong> son un tipo de API que se utiliza para generar comunicación entre aplicaciones mediante el uso de la <strong>web</strong>. Esta conexión se da mediante solicitudes que se realizan a servidores utilizando un protocolo <strong>HTTP</strong>, el cual, simplemente, es la manera estandarizada en la que se deben estructurar los mensajes para generar tales solicitudes.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2024/07/ASM_2.jpg" alt="ASM 2" class="wp-image-8754" style="width:560px;height:auto" title="Tutorial de API de Spotify con Python 129" srcset="https://dialektico.com/wp-content/uploads/2024/07/ASM_2.jpg 1080w, https://dialektico.com/wp-content/uploads/2024/07/ASM_2-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>La <strong>Figura T.1</strong> muestra de forma muy simplificada cómo se establece el flujo de datos mediante el consumo de una API Web:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1231" height="757" src="https://dialektico.com/wp-content/uploads/2023/05/APIS_Esquema-1.jpg" alt="APIS Esquema 1" class="wp-image-11085" title="Tutorial de API de Spotify con Python 130" srcset="https://dialektico.com/wp-content/uploads/2023/05/APIS_Esquema-1.jpg 1231w, https://dialektico.com/wp-content/uploads/2023/05/APIS_Esquema-1-768x472.jpg 768w" sizes="(max-width: 1231px) 100vw, 1231px" /><figcaption class="wp-element-caption"><strong>Figura T.1</strong>. Esquema que ilustra el flujo de las peticiones que realiza un usuario mediante una API web, y cómo estas llegan a servidores mediante un protocolo HTTP para obtener respuestas.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Ejemplos de API web</h4>



<p>Algunos ejemplos de este tipo de API son los siguientes:</p>



<p><strong>GitHub API</strong>:</p>



<ul class="wp-block-list">
<li>Usada para acceder a datos de repositorios, usuarios, y más.</li>



<li>Ejemplo de uso: Obtener información de un usuario de GitHub.</li>



<li><a href="https://docs.github.com/en/rest" target="_blank" rel="noopener">Documentación</a></li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p><strong>Twitter/X API v2</strong>:</p>



<ul class="wp-block-list">
<li>Usada para interactuar con tweets, usuarios, y estadísticas.</li>



<li>Ejemplo de uso: Publicar un tweet desde tuuna aplicación desarrollada por ti.</li>



<li><a href="https://developer.twitter.com/en/docs" target="_blank" rel="noopener">Documentación</a></li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p><strong>OpenWeatherMap API</strong>:</p>



<ul class="wp-block-list">
<li>Ofrece datos climáticos como temperatura, precipitación, etc.</li>



<li>Ejemplo de uso: Consultar el clima actual de una ciudad.</li>



<li><a href="https://openweathermap.org/api" target="_blank" rel="noopener">Documentación</a></li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p><strong>Google Maps API</strong>:</p>



<ul class="wp-block-list">
<li>Ofrece servicios como generación de mapas, cálculo de rutas, y geocodificación.</li>



<li>Ejemplo de uso: Obtener coordenadas de una dirección.</li>



<li><a href="https://mapsplatform.google.com/intl/es/products/#static-maps" target="_blank" rel="noopener">Documentación</a></li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">API Web de Spotify y endpoints</h3>



<p>La <strong>API Web</strong> de Spotify permite interactuar con el servicio de streaming de Spotify para realizar acciones como recuperar datos y metadatos de contenido, obtener recomendaciones, crear y gestionar listas de reproducción, o controlar la reproducción misma.</p>



<p>Para el uso de esta API se deben seguir al pie de la letra las formas de comunicación con los puntos de acceso o <strong>endpoints</strong> especificados por Spotify. Un <strong>endpoint</strong> es una URL que podemos utilizar para enviar solicitudes para interactuar con el servidor.</p>



<p>Estos endpoints están detallados en la documentación de la API: <a href="https://developer.spotify.com/documentation/web-api" target="_blank" rel="noopener">https://developer.spotify.com/documentation/web-api</a></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1468" height="181" src="https://dialektico.com/wp-content/uploads/2024/07/image-1.png" alt="image 1" class="wp-image-8741" title="Tutorial de API de Spotify con Python 131" srcset="https://dialektico.com/wp-content/uploads/2024/07/image-1.png 1468w, https://dialektico.com/wp-content/uploads/2024/07/image-1-768x95.png 768w" sizes="(max-width: 1468px) 100vw, 1468px" /><figcaption class="wp-element-caption">Figura T.2. Ejemplo de un endpoint de la API de Spotify para la obtención de información de un artista.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En el cómo llamar a estos endpoints es donde entra en acción la librería de Spotipy, ya que simplifica la forma de consumir la API Web mediante funciones. Pasemos a ver cómo utilizarla.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">¿Cómo consumir la API Web de Spotify con Python?</h2>



<p><strong>Spotipy </strong>es una librería de <strong>Python </strong>que facilita el consumo de la <strong>API web</strong> de Spotify mediante el uso de una <strong>sintaxis sencilla</strong>. Permite enviar solicitudes de manera <strong>simplificada</strong>, sin necesidad generar las estructuras de cada endpoint señaladas en la documentación.</p>



<figure class="wp-block-image alignwide size-full"><img loading="lazy" decoding="async" width="1500" height="800" src="https://dialektico.com/wp-content/uploads/2023/05/APIP_4.jpg" alt="APIP 4" class="wp-image-11087" title="Tutorial de API de Spotify con Python 132" srcset="https://dialektico.com/wp-content/uploads/2023/05/APIP_4.jpg 1500w, https://dialektico.com/wp-content/uploads/2023/05/APIP_4-768x410.jpg 768w" sizes="(max-width: 1500px) 100vw, 1500px" /><figcaption class="wp-element-caption"><strong>Figura T.2</strong>. Esquema que muestra de forma simplifcada la manera en la que interactúan la librería Spotipy, la API web de Spotify, y los servidores a los cuales se hacen las solicitudes. La librería utiliza funciones para hacer llamar a la API y realizar consultas a los servidores de Spotify, los cuales generan respuestas que son enviadas al usuario.</figcaption></figure>



<p>Más adelante veremos cómo es la sintaxis para hacer uso de esta librería.</p>



<p>A continuación, se describen los pasos para consumir la API Web de <strong>Spotify </strong>con <strong>Python</strong>, utilizando <strong>Spotipy</strong>:</p>



<h3 class="wp-block-heading">1. Configura una aplicación en Spotify for developers</h3>



<p>Para poder acceder a la API, antes deberás crear una <strong>cuenta</strong> en <a href="https://developer.spotify.com/" target="_blank" rel="noopener">https://developer.spotify.com/</a>, y crear una <strong>app </strong>(un registro de proyecto que te permitirá extraer datos); es muy sencillo y rápido. </p>



<p>Primero deberás acceder a la sección de <strong>Login </strong>en la página principal e <strong>iniciar sesión</strong> si ya tienes una cuenta, o <strong>crear </strong>una:</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2023/05/image-12.png" alt="API de Spotify Dialéktico" style="width:772px;height:auto" title="Tutorial de API de Spotify con Python 133"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Una vez realizado tu ingreso a la plataforma, deberás acceder a tu <strong>dashboard </strong>desde el menú desplegable del header:</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="678" height="329" src="https://dialektico.com/wp-content/uploads/2024/07/image-3.png" alt="image 3" class="wp-image-8763" style="width:298px;height:auto" title="Tutorial de API de Spotify con Python 134"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Acepta los términos y condiciones:</p>



<figure class="wp-block-image aligncenter size-large"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2023/05/image-14.png" alt="API Spotify Dialéktico" title="Tutorial de API de Spotify con Python 135"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Una vez dentro del dashboard, deberás dar clic en el botón «<strong>Create app</strong>«:</p>



<figure class="wp-block-image aligncenter size-large"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2023/05/image-15.png" alt="API Spotify Dialéktico" title="Tutorial de API de Spotify con Python 136"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Llenas los campos del <strong>formulario</strong>, puedes añadir lo siguiente para los dos primeros:</p>



<ul class="wp-block-list">
<li>App Name:&nbsp;<em>My App</em></li>



<li>App Description:&nbsp;<em>This is my first Spotify app</em></li>
</ul>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1820" height="338" src="https://dialektico.com/wp-content/uploads/2023/05/image-27.png" alt="image 27" class="wp-image-11236" title="Tutorial de API de Spotify con Python 137" srcset="https://dialektico.com/wp-content/uploads/2023/05/image-27.png 1820w, https://dialektico.com/wp-content/uploads/2023/05/image-27-768x143.png 768w, https://dialektico.com/wp-content/uploads/2023/05/image-27-1536x285.png 1536w" sizes="(max-width: 1820px) 100vw, 1820px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>No es necesario llenar el campo <strong>Website</strong>. Añades el siguiente el siguiente valor en el campo Redirect URIs: http://127.0.0.1:3000 o http://localhost:3000, y das clic en el botón <strong>Add</strong>:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1146" height="207" src="https://dialektico.com/wp-content/uploads/2023/05/image-28.png" alt="image 28" class="wp-image-11238" title="Tutorial de API de Spotify con Python 138" srcset="https://dialektico.com/wp-content/uploads/2023/05/image-28.png 1146w, https://dialektico.com/wp-content/uploads/2023/05/image-28-768x139.png 768w" sizes="(max-width: 1146px) 100vw, 1146px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Selecciona las casillas como se muestra a continuación:<br></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1172" height="403" src="https://dialektico.com/wp-content/uploads/2023/05/image-29.png" alt="image 29" class="wp-image-11240" title="Tutorial de API de Spotify con Python 139" srcset="https://dialektico.com/wp-content/uploads/2023/05/image-29.png 1172w, https://dialektico.com/wp-content/uploads/2023/05/image-29-768x264.png 768w" sizes="(max-width: 1172px) 100vw, 1172px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Y das clic en <strong>Save</strong>.</p>



<p>Aquí te puede salir el siguiente error:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="800" height="146" src="https://dialektico.com/wp-content/uploads/2023/05/image-30.png" alt="image 30" class="wp-image-11242" title="Tutorial de API de Spotify con Python 140" srcset="https://dialektico.com/wp-content/uploads/2023/05/image-30.png 800w, https://dialektico.com/wp-content/uploads/2023/05/image-30-768x140.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Si esto sucede, solo hay que esperar algunos minutos, prepárate un café y vuelve a dar clic en <strong>Save</strong>.</p>



<p>Y con esto ya has completado el primer paso, lo siguiente es obtener las <strong>credenciales</strong> para acceder a la API.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">2. Obtén tu client ID y client secret</h3>



<p>Después de haber creado la <strong>app</strong>, deberás obtener códigos de identificación que te permitan hacer uso de la API, estos los podrás extraer desde la opción de «<strong>Settings</strong>» de tu app:</p>



<figure class="wp-block-image size-large is-style-default"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2023/05/image-17.png" alt="API Spotify Dialéktico" title="Tutorial de API de Spotify con Python 141"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Una vez ahí, elige la opción «<strong>View client secret</strong>«, debajo del Client ID:</p>



<figure class="wp-block-image aligncenter size-large"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2023/05/image-18.png" alt="API Spotify Dialéktico" title="Tutorial de API de Spotify con Python 142"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Finalmente, te mostrará los valores que necesitas:</p>



<figure class="wp-block-image aligncenter size-large"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2023/05/image-19.png" alt="API Spotify Dialéktico" title="Tutorial de API de Spotify con Python 143"><figcaption class="wp-element-caption"><strong>Nota:</strong> Los tokens mostrados aquí son meramente ilustrativos, no sirven. Debes obtener los tuyos para utilizar la API.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Y listo, con estas cadenas de caracteres puedes comenzar a utilizar la API.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">3. Configuración en Python</h3>



<p>Ahora proseguiremos a instalar la <strong>librería </strong>en nuestro entorno de ejecución; estos pasos pueden variar ligeramente dependiendo de dónde correrás tu programa, ya sea en tu ordenador de forma <strong>local </strong>o en un servicio en la nube como <strong>Google Colab</strong>, si no sabes de qué se trata, visita <a href="https://dialektico.com/google-colab/">este rápido tutorial</a>. Aquí te explicaré ambas formas:</p>



<h4 class="wp-block-heading">Pasos si ejecutarás el código de forma local</h4>



<p>Primero, claramente debemos asegurarnos de tener <strong>Python </strong>instalado en nuestro sistema. En caso contrario, puedes descargarlo desde <a href="https://www.python.org/" target="_blank" rel="noopener">python.org</a>.</p>



<p>Una vez hecho esto, deberás crear un <strong>directorio</strong> para tu proyecto y, dentro de él, crear un <strong>entorno virtual</strong>. Puedes hacerlo utilizando el siguiente comando en tu <strong>terminal</strong>:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; title: ; notranslate">
python -m venv venv
</pre></div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ahora activa el entorno virtual ejecutando el siguiente comando:</p>



<p class="has-text-color" style="color:#970000"><strong>En macOS/Linux:</strong></p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; title: ; notranslate">
source venv/bin/activate
</pre></div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-color" style="color:#970000"><strong>En Windows:</strong></p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; title: ; notranslate">
venv\Scripts\activate
</pre></div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Por último, instala la librería <strong>Spotipy </strong>ejecutando el siguiente comando dentro de tu compilador de Python:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
pip install tqdm==4.67.1 pandas==2.2.2 spotipy==2.25.0
</pre></div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Pasos si ejecutarás el código en Google Colab</h3>



<p>En lo que respecta a Google Colab, solo deberías instalar las librerías utilizando el siguiente comando:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
!pip install pandas==2.2.2
!pip install tqdm==4.67.1
!pip install spotipy==2.25.0
</pre></div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">4. Comencemos con Python: declaración de credenciales</h3>



<p>Es hora de programar; lo siguiente será importar las <strong>librerías</strong>, declarar las variables <strong>client_id </strong>y <strong>client_secret </strong>con los valores que obtuviste al crear tu app (las credenciales para utilizar la API), y definir la variable que se utilizará para llamar a la API:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
# Se importan las librerías necesarias.
import warnings
import spotipy
from spotipy.oauth2 import SpotifyClientCredentials
import pandas as pd
from tqdm import tqdm

# Se filtran las advertencias.
warnings.filterwarnings(&#039;ignore&#039;)

# Se declara el ID del cliente.
client_id = &#039;Añade tu Client ID&#039;

# Se declara el valor del secret client.
client_secret = &#039;Añade tu Client Secret&#039;

client_credentials_manager = SpotifyClientCredentials(client_id, client_secret)
</pre></div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">5. Extrayendo datos</h2>



<p>Con lo que tenemos hasta ahora ya podemos dar inicio a la obtención de <strong>datos </strong>de <strong>Spotify</strong>. ¿Qué es lo que podemos obtener utilizando la API?, las opciones son variadas, y pueden ser consultadas en la documentación de la librería: <a href="https://spotipy.readthedocs.io/en/2.24.0/#api-reference" target="_blank" rel="noopener">https://spotipy.readthedocs.io/en/2.24.0/#api-reference</a></p>



<p>Vayamos a un ejemplo específo para comprender cómo debemos estructurar las consultas. Supongamos que has explorado las funciones a utilizar, y te decides por la función <strong><a href="https://spotipy.readthedocs.io/en/2.25.0/#spotipy.client.Spotify.search" target="_blank" rel="noopener">search</a></strong>, la cual permite obtener información del catálogo de Spotify sobre <strong>álbumes</strong>, <strong>artistas</strong>, <strong>listas de reproducción</strong>, <strong>canciones</strong>, <strong>programas</strong>, <strong>episodios</strong> o <strong>audiolibros</strong> que coincidan con una cadena de palabras clave (es decir, buscará y traerá información sobre algún elemento especificado, como si utilizarás la barra de búsqueda).</p>



<p>Debemos identificar los elementos que conforman al comando para utilizar esta función en la documentación de la librería:</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="881" height="615" src="https://dialektico.com/wp-content/uploads/2024/07/image-2.png" alt="image 2" class="wp-image-8746" style="width:779px;height:auto" title="Tutorial de API de Spotify con Python 144" srcset="https://dialektico.com/wp-content/uploads/2024/07/image-2.png 881w, https://dialektico.com/wp-content/uploads/2024/07/image-2-768x536.png 768w" sizes="(max-width: 881px) 100vw, 881px" /></figure>



<p>Notarás que se hace una breve descripción de lo que hace la función, y se especifican los <strong>parámetros </strong>que deben pasarse.</p>



<p>El parámetro más importante es <strong>q</strong>, el cual es la <strong>consulta de búsqueda</strong> a realizar, la cual puede ser acotada con los demás parámetros. La salida de esta función puede ser consultada en su respectivo espacio en la <strong>documentación </strong>de la API: <a href="https://developer.spotify.com/documentation/web-api/reference/search" target="_blank" rel="noopener">https://developer.spotify.com/documentation/web-api/reference/search</a></p>



<p>Es aquí donde podemos ver por qué es necesario entender que es la API web y cómo es utilizada por la librería <strong>Spotipy</strong>, será necesario atender a ambas documentaciones para generar y comprender las consultas.</p>



<p>Ahora utilicemos la función. Supongamos que has decidido realizar la búsqueda «<strong>Blackpink</strong>» para obtener información sobre este grupo desde los servidores de Spotify. Usarías la función como sigue, especificando el nombre del grupo, y que se trata de un <strong>artista </strong>y no de una canción o algún otro tipo:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
# Se busca información sobre Blackpink.
result = sp.search(q=&#039;Blackpink&#039;, type=&#039;artist&#039;, limit=1)

# Se imprime el resultado.
result
</pre></div>


<figure class="wp-block-image size-large"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2023/05/image-20.png" alt="API de Spotify Dialéktico" title="Tutorial de API de Spotify con Python 145"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Como se aprecia arriba en la salida del <strong>código</strong>, el resultado es un <strong><strong><a href="https://www.freecodecamp.org/espanol/news/compresion-de-diccionario-en-python-explicado-con-ejemplos/" target="_blank" rel="noopener">diccionario</a></strong></strong> con diferentes elementos correspondientes a información relacionada a la consulta (géneros a los que pertenece, imágenes relacionadas, popularidad, etc.), en este caso, la agrupación <strong>Blackpink</strong>.</p>



<p>Si deséaramos obtener de este diccionario, por ejemplo, el <strong>número de seguidores</strong> que tiene el grupo en la plataforma, tendríamos que acceder a la llave «<strong>followers</strong>«, y después al elemento &#8216;<strong>total</strong>&#8216;:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
# Se imprime el número de seguidores de Blackpink. 
result&#x5B;&#039;artists&#039;]&#x5B;&#039;items&#039;]&#x5B;0]&#x5B;&#039;followers&#039;]&#x5B;&#039;total&#039;]
</pre></div>


<figure class="wp-block-image size-large"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2023/05/image-21.png" alt="image 21" title="Tutorial de API de Spotify con Python 146"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p><strong>Nota:</strong> El valor retornado es el que se ve debajo de las líneas de código.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ahora, supongamos que queremos algo un poco más específico: las <strong>10 cancione</strong>s más populares del grupo. Para esto obtendremos el <strong>ID</strong> que ha asignado <strong>Spotify</strong> a <strong>Blackpink</strong>, y después usaremos el método <a href="https://spotipy.readthedocs.io/en/2.22.1/#spotipy.client.Spotify.artist_top_tracks" target="_blank" rel="noopener"><strong>artist_top_tracks</strong></a> para obtener las canciones.</p>



<p>El código quedaría como sigue:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
# Se obtiene ID de Blackpink de la información antes extraída.
blackpink_id = result&#x5B;&#039;artists&#039;]&#x5B;&#039;items&#039;]&#x5B;0]&#x5B;&#039;id&#039;]

# Se obtienen las 10 canciones más escuchadas de Blackpink.
results = sp.artist_top_tracks(blackpink_id)

# Se imprime el nombre de las canciones.
for track in results&#x5B;&#039;tracks&#039;]:
    print(track&#x5B;&#039;name&#039;])
</pre></div>


<figure class="wp-block-image size-large"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2023/05/image-23.png" alt="image 23" title="Tutorial de API de Spotify con Python 147"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Como notarás, el uso de esta librería consiste en definir qué datos requieres, y traerlos mediante la manipulación de las <strong>respuestas </strong>de la <strong>API</strong>. Para saber todo sobre la <strong>información </strong>que puedes disponer a través de este medio, no olvides consultar las referencias del <a href="https://spotipy.readthedocs.io/en/2.22.1/#api-reference" target="_blank" rel="noopener"><strong>repositorio </strong>oficial de la librería</a>, y complementar tu comprensión de cada característica acudiendo a la <a href="https://developer.spotify.com/documentation/web-api" target="_blank" rel="noopener">página oficial de la API de <strong>Spotify</strong></a>.</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p><strong>Nota</strong>: a veces la ejecución de códigos con esta librería puede arrojar el siguiente error:</p>



<figure class="wp-block-image aligncenter size-large"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2023/05/image-22.png" alt="API de Spotify Dialéktico" title="Tutorial de API de Spotify con Python 148"></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Si es el caso, no te preocupes, esto se debe a una inocua incidencia de conexión; solo vuelve a ejecutar el código.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">6. Extracción, transformación y descarga de datos: de diccionarios a tablas, y de tablas a CSV/Excel</h2>



<p>Por último, te mostraré un ejemplo de cómo obtener una <strong>tabla </strong>con datos de <strong>500 canciones</strong>, y descargar esta en formato <strong>CSV </strong>o <strong>Excel</strong>.</p>



<p>La intención será la de obtener una lista de <strong>50 canciones</strong> de <strong>10 géneros</strong> diferentes, de las cuales se tendrá la siguiente <strong>información</strong>: nombre, género, nombre del/la artista, nombre del álbum, fecha de estreno del álbum, duración, popularidad, número de canción en el álbum, URI.</p>



<p>El siguiente fragmento de <strong>código </strong>crea una función para la extracción de 50 canciones del género definido, sus <strong>características</strong>, y acomoda la información en un <strong><a href="https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html" target="_blank" rel="noopener">dataFrame</a></strong> de <strong>Pandas</strong> (formato de tabla):</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
def get_tracks_by_genre(genre):
    &quot;&quot;&quot;
    Función que obtiene información de 50 canciones de un género musical de
    Spotify y organiza la información de un Pandas dataframe.
    &quot;&quot;&quot;

    # Se buscan 50 canciones del género especificado.
    results = sp.search(q=f&#039;genre:{genre}&#039;, type=&#039;track&#039;, limit=50)

    # Se extraen los IDs de las canciones.
    track_ids = &#x5B;track&#x5B;&#039;id&#039;] for track in results&#x5B;&#039;tracks&#039;]&#x5B;&#039;items&#039;]]

    # Se obtienen detalles de las canciones.
    tracks_info = sp.tracks(tracks=track_ids)

    # Se crea una lista para almacenar los datos.
    track_data = &#x5B;]

    # Se obtienen los datos de cada canción y se añaden a la lista.
    for track in tracks_info&#x5B;&#039;tracks&#039;]:
        track_data.append({
            &#039;genre&#039;: genre,
            &#039;name&#039;: track&#x5B;&#039;name&#039;],
            &#039;artists_name&#039;: &#039;, &#039;.join(&#x5B;artist&#x5B;&#039;name&#039;] for artist in track&#x5B;&#039;artists&#039;]]),  # Si hay varios artistas
            &#039;album_name&#039;: track&#x5B;&#039;album&#039;]&#x5B;&#039;name&#039;],
            &#039;album_release_date&#039;: track&#x5B;&#039;album&#039;]&#x5B;&#039;release_date&#039;],
            &#039;duration_ms&#039;: track&#x5B;&#039;duration_ms&#039;],
            &#039;popularity&#039;: track&#x5B;&#039;popularity&#039;],
            &#039;track_number&#039;: track&#x5B;&#039;track_number&#039;],
            &#039;uri&#039;: track&#x5B;&#039;uri&#039;]
        })

    # Se convierte la lista en un DataFrame de pandas.
    df = pd.DataFrame(track_data)

    return df
</pre></div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Así luce la tabla resultante, por ejemplo, del uso de la función con el género <em>Rock</em> como parámetro de entrada:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
# Ejemplo de uso con el género &#039;rock&#039;.
genre = &quot;rock&quot;
get_tracks_by_genre(genre)
</pre></div>


<figure class="wp-block-image alignwide size-full"><img loading="lazy" decoding="async" width="1435" height="529" src="https://dialektico.com/wp-content/uploads/2023/05/image-25.png" alt="image 25" class="wp-image-11106" title="Tutorial de API de Spotify con Python 149" srcset="https://dialektico.com/wp-content/uploads/2023/05/image-25.png 1435w, https://dialektico.com/wp-content/uploads/2023/05/image-25-768x283.png 768w" sizes="(max-width: 1435px) 100vw, 1435px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ahora, creamos un <strong>bucle </strong>que obtenga estos datos para cada <strong>género</strong> especificado en una <strong>lista</strong>, y <strong>concatenamos </strong>las tablas resultantes, generando una única tabla con los datos de todas las canciones:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
# Se crea una lista con los géneros musicales deseados.
genres_list = &#x5B;&#039;world-music&#039;, &#039;salsa&#039;, &#039;rock-n-roll&#039;, &#039;reggae&#039;, &#039;reggaeton&#039;, &#039;pop&#039;, &#039;black-metal&#039;, &#039;k-pop&#039;, &#039;hip-hop&#039;, &#039;electronic&#039;]

# Se itera sobre esta lista utilizando sus elementos como entradas de la función creada.
tables = &#x5B;]

for item in tqdm(genres_list, desc = &#039;Creando conjunto de datos:&#039;):
  table = get_tracks_by_genre(item)
  tables.append(table)

# Se concatenan las tablas y se imprime el resultado.
dataset = pd.concat(tables)
dataset
</pre></div>


<figure class="wp-block-image alignwide size-full"><img loading="lazy" decoding="async" width="1506" height="532" src="https://dialektico.com/wp-content/uploads/2023/05/image-26.png" alt="image 26" class="wp-image-11109" title="Tutorial de API de Spotify con Python 150" srcset="https://dialektico.com/wp-content/uploads/2023/05/image-26.png 1506w, https://dialektico.com/wp-content/uploads/2023/05/image-26-768x271.png 768w" sizes="(max-width: 1506px) 100vw, 1506px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>El resultado es un <strong><a href="https://dialektico.com/conjuntos-de-datos-para-machine-learning/">conjunto de datos</a></strong> estructurados en formato de tabla, con 500 renglones y 13 columnas. </p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p><strong>Nota</strong>: una lista de los géneros disponibles se puede consultar en <a href="https://everynoise.com/everynoise1d.html" target="_blank" rel="noopener">https://everynoise.com/everynoise1d.html</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Por último, se puede obtener en formato CSV o Excel como sigue:</p>



<p class="has-text-color" style="color:#890000"><strong>De forma local:</strong></p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
 # Se guarda en formato CSV.   
dataset .to_csv(&#039;dataset .csv&#039;, index=False)

 # Se guarda en formato Excel.   
dataset .to_excel(&#039;dataset .xls&#039;, index=False)
</pre></div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-color" style="color:#890000"><strong>En Google Colab:</strong></p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
# Se guarda en formato CSV.   
dataset .to_csv(&#039;dataset .csv&#039;, index=False)

# Se guarda en formato Excel.   
dataset .to_excel(&#039;dataset .xls&#039;, index=False)

# Se descarga el CSV.   
from google.colab import files
files.download(&#039;dataset .csv&#039;)

# Se descarga el Excel.   
from google.colab import files
files.download(&#039;dataset .xls&#039;)
</pre></div>


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Puedes <strong>ver </strong>y <strong>ejecutar </strong>el código completo en <strong>Google Cola</strong>b dando clic al siguiente botón:</p>



<figure class="wp-block-image aligncenter size-large is-resized mi-imagen-pulsa"><a href="https://colab.research.google.com/github/DanielDialektico/dialektico-machine-learning-practices/blob/main/notebooks/Otros/Tutorial_API_de_Spotify.ipynb" target="_blank" rel="noopener"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2022/07/Boton.png" alt="Boton" style="width:185px;height:91px" title="Tutorial de API de Spotify con Python 151"></a></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Con esto concluimos este rápido <strong>tutorial </strong>de consumo de la <strong>API</strong> de <strong>Spotify</strong> en <strong>Python</strong>; notarás que es un proceso sencillo, y que depende de que te instruyas en qué datos puedes extraer, y cómo puedes acceder a ellos correctamente en el formato en el que son entregados.</p>



<p>¿Siguientes pasos? Lo que puedes hacer ahora es someter estos datos a un <a href="https://dialektico.com/introduccion-preprocesamiento/"><strong>preprocesamiento</strong></a> y <strong>procesamiento</strong>, para un <strong>análisis </strong>o un <strong>modelo </strong>de <strong><a href="https://dialektico.com/introduccion-machine-learning/">aprendizaje automático</a></strong>. ¿Te interesa ver cómo alimentar un algoritmo de <strong>machine learning</strong> con estos datos? Revisa el <a href="https://dialektico.com/regresion-logistica-fundamentos/">tutorial sobre regresión logística</a>, donde te enseño un <strong>código </strong>de Python en el que utilizamos estos datos para <strong>entrenar </strong>un <strong>modelo </strong>que aprende a <strong>clasificar </strong>canciones en diversos géneros musicales dadas algunas <strong>características</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2024/07/ASM_3.jpg" alt="ASM 3" class="wp-image-8768" style="width:450px;height:auto" title="Tutorial de API de Spotify con Python 152" srcset="https://dialektico.com/wp-content/uploads/2024/07/ASM_3.jpg 1080w, https://dialektico.com/wp-content/uploads/2024/07/ASM_3-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://dialektico.com/tutorial-api-spotify-python/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Regresión logística: fundamentos, programación y matemáticas</title>
		<link>https://dialektico.com/regresion-logistica-fundamentos/</link>
					<comments>https://dialektico.com/regresion-logistica-fundamentos/#comments</comments>
		
		<dc:creator><![CDATA[Daniel Dialéktico]]></dc:creator>
		<pubDate>Mon, 22 May 2023 04:13:47 +0000</pubDate>
				<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Análisis de Datos]]></category>
		<category><![CDATA[Ciencia de datos]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[aprendizaje supervisado]]></category>
		<category><![CDATA[ciencia de datos]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[regresión logística]]></category>
		<guid isPermaLink="false">https://dialektico.com/?p=6397</guid>

					<description><![CDATA[Entre los algoritmos de aprendizaje supervisado se pueden distinguir dos clases principales: de regresión y clasificación, siendo los de regresión aquellos que entregan salidas de tipo numéricas y continuas, mientras que los de clasificación producen valores discretos que fungen como clases para cada entrada. La regresión lineal aprendida en nuestra exploración anterior aborda los elementos [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Entre los algoritmos de <a href="https://dialektico.com/aprendizaje-supervisado/">aprendizaje supervisado</a> se pueden distinguir dos clases principales: de <strong>regresión </strong>y <strong>clasificación</strong>, siendo los de regresión aquellos que entregan salidas de tipo numéricas y <strong>continuas</strong>, mientras que los de clasificación producen valores <strong>discretos </strong>que fungen como clases para cada entrada. La <a href="https://dialektico.com/introduccion-a-la-regresion-lineal/"><strong>regresión lineal</strong></a> aprendida en nuestra exploración anterior aborda los elementos y procesos matemáticos referentes al algoritmo de regresión más elemental del <a href="https://dialektico.com/introduccion-machine-learning/">machine learning</a>, y en esta ocasión nos toparemos con su hermana enfocada a la <strong>clasificación</strong>: la <strong>regresión logística</strong>.</p>



<p>La <strong>regresión logística</strong> se considera como uno de los componentes clave del <strong>aprendizaje de máquinas</strong>, principalmente para la creación de modelos de clasificación, y desde su estudio podemos no solamente comprender la esencia de su funcionamiento en cuanto a asignación de <strong>categorías</strong>, sino también conocer la percepción matemática<strong> </strong>del <strong>machine learning</strong> desde un enfoque <strong>probabilístico</strong>.</p>



<p>En esta excursión experimentaremos un viaje con emociones más tórridas: nos embarcaremos en la búsqueda y comprensión de este algoritmo desde una frívola descripción demostrativa hasta sus <strong>raíces matemáticas</strong>, y pondremos en práctica lo aprendido utilizando un conjunto de datos obtenido con la <strong><a href="https://dialektico.com/obtener-conjuntos-de-datos-para-ml/#api">API</a> </strong>de <strong><a href="https://open.spotify.com/" target="_blank" rel="noopener">Spotify</a></strong>, lo cual nos permitirá operar sobre una minúscula muestra del<strong> big data </strong>generado por uno de los más icónicos gigantes tecnológicos de esta era.</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="847" src="https://dialektico.com/wp-content/uploads/2023/05/IRL_Nivel_2.jpg" alt="IRL Nivel 2" class="wp-image-10408" style="width:566px;height:auto" title="Regresión logística: fundamentos, programación y matemáticas 153" srcset="https://dialektico.com/wp-content/uploads/2023/05/IRL_Nivel_2.jpg 1024w, https://dialektico.com/wp-content/uploads/2023/05/IRL_Nivel_2-768x635.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h6 class="wp-block-heading has-text-align-center"> Equipaje recomendado</h6>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg" alt="aprendizaje supervisado dialéktico" class="wp-image-7016" style="width:196px;height:auto" title="Regresión logística: fundamentos, programación y matemáticas 154" srcset="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:35px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center has-medium-font-size"><strong>Google Colab</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><a href="https://dialektico.com/google-colab/"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec.jpg" alt="Colab" class="wp-image-7521" style="width:400px" title="Regresión logística: fundamentos, programación y matemáticas 155" srcset="https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></a></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Programación en Python</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/Python_Eq.jpg" alt="aprendizaje supervisado dialéktico" class="wp-image-7522" style="width:400px" title="Regresión logística: fundamentos, programación y matemáticas 156" srcset="https://dialektico.com/wp-content/uploads/2024/05/Python_Eq.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/Python_Eq-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Preprocesamiento de datos</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><a href="https://dialektico.com/introduccion-preprocesamiento/"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/Prepro_Eq.jpg" alt="preprocesamiento de datos" class="wp-image-7578" style="width:400px" title="Regresión logística: fundamentos, programación y matemáticas 157" srcset="https://dialektico.com/wp-content/uploads/2024/05/Prepro_Eq.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/Prepro_Eq-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></a></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Matemáticas: principalmente álgebra, probabilidad y estadística.</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/MathMagic.jpg" alt="Matemáticas" class="wp-image-6982" style="width:400px" title="Regresión logística: fundamentos, programación y matemáticas 158" srcset="https://dialektico.com/wp-content/uploads/2024/04/MathMagic.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/MathMagic-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Regresión lineal</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/RL_OB.jpg" alt="RL OB" class="wp-image-8027" style="width:400px" title="Regresión logística: fundamentos, programación y matemáticas 159" srcset="https://dialektico.com/wp-content/uploads/2024/05/RL_OB.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/RL_OB-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Algún acompañamiento</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2023/05/IRL_Ten_2.jpg" alt="IRL Ten 2" class="wp-image-10410" style="width:440px;height:auto" title="Regresión logística: fundamentos, programación y matemáticas 160" srcset="https://dialektico.com/wp-content/uploads/2023/05/IRL_Ten_2.jpg 1024w, https://dialektico.com/wp-content/uploads/2023/05/IRL_Ten_2-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center has-black-color has-text-color" id="aprendizaje-supervisado-que-es">Introducción a la regresión logística</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg" alt="Pergamino_3" class="wp-image-6960" style="width:125px" title="Regresión logística: fundamentos, programación y matemáticas 161" srcset="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>El método de <strong>regresión lineal </strong>que hemos explorado anteriormente nos permite realizar estimaciones numéricas dado un conjunto de entradas (<strong>variables independientes</strong>) y una salida (<strong>variable dependiente</strong>) mediante la obtención de un <strong>modelo </strong>que describa la relación entre estas.</p>



<p>Este modelo, si bien es útil para realizar cálculos dadas <strong>variables continuas</strong>, no es de gran ayuda cuando es necesario asignar una categoría a un conjunto de entradas, es decir, ejecutar una tarea de <strong>clasificación</strong>.</p>



<p>Para esto es que se invoca a la <strong>regresión logística</strong>, un artefacto que utiliza principios de probabilidad para la categorización de <a href="https://dialektico.com/datos-machine-learning/">datos</a>, y el cual comenzaremos a sondear, al igual que hicimos con la regresión lineal, desde un <strong>ejemplo </strong>sobre su uso para la resolución de un problema.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Regresión logística: caso de uso</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Para ejemplificar el empleo de la regresión logística, haremos uso de datos obtenidos de <strong>Spotify</strong>, la afamada plataforma de música vía streaming.</p>



<p>Supongamos que se nos ha asignado la tarea de crear un modelo capaz de <strong>clasificar </strong>una canción por su <strong>género </strong>dada su «<a href="https://developer.spotify.com/documentation/web-api/reference/get-several-audio-features" target="_blank" rel="noopener"><strong>bailabilidad</strong></a>» (danceability), la cual es una métrica (con un rango continuo de entre 0 y 1) creada por Spotify que determina qué tan adecuada es una canción para ser <strong>bailada</strong>; esto se define de acuerdo con la combinación de algunos elementos musicales como el <strong>tempo </strong>o la <strong>estabilidad del ritmo</strong>).</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/05/IRL_A1v2.jpg" alt="IRL A1v2" class="wp-image-8034" style="width:505px;height:auto" title="Regresión logística: fundamentos, programación y matemáticas 162" srcset="https://dialektico.com/wp-content/uploads/2024/05/IRL_A1v2.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/05/IRL_A1v2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Justamente la idea de utilizar un modelo que aprenda a clasificar canciones utilizando esta métrica como atributo de entrada nos puede arrojar <strong>insights </strong>sobre si es una característica funcional o no.</p>



<p>El objetivo será clasificar un conjunto de canciones en dos géneros musicales respecto a su bailabilidad:</p>



<ul class="wp-block-list">
<li>Black metal.</li>



<li>Reggaeton.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Para esto utilizaremos la regresión logística, y la forma en que atacaremos este problema es considerándolo desde un punto de vista <strong>probabilístico</strong>. La pregunta que intentaremos resolver sobre cualquier canción de nuestro conjunto de datos será la siguiente: </p>



<ul class="wp-block-list">
<li>Dado el grado de bailabilidad de una canción, ¿a qué género es más probable que pertenezca?</li>
</ul>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">¿Qué es la regresión logística?</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>La <strong>regresión logística</strong> es un método matemático cuyo objetivo es modelar la <strong>probabilidad </strong>de que un evento pertenezca a una o más <strong>categorías </strong>dados los valores de una o más variables independientes.</p>



<p>Esto quiere decir, en el contexto de los algoritmos de clasificación, que el fin de la regresión logística es el de ajustar un <strong>modelo </strong>que pueda ser utilizado para calcular la <strong>probabilidad</strong> de que una entrada sea miembro de una clase en particular. La definición matemática de esto la veremos con más detalle en la siguiente sección.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/05/IRL_L1_v2.jpg" alt="IRL L1 v2" class="wp-image-8037" style="width:502px;height:auto" title="Regresión logística: fundamentos, programación y matemáticas 163" srcset="https://dialektico.com/wp-content/uploads/2024/05/IRL_L1_v2.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/05/IRL_L1_v2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Justo como se hace en una regresión lineal, la idea de obtener un <strong>modelo</strong> con la regresión logística es la de encontrar una <strong>ecuación</strong> que nos permita modelar la relación de las variables que determinan el comportamiento de los datos, y para ello el patrón a definir es el de una <strong>curva </strong>dibujada por una función llamada <strong>función logística</strong>.</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2023/05/image-11.png" alt="regresión logística python" style="width:464px" title="Regresión logística: fundamentos, programación y matemáticas 164"><figcaption class="wp-element-caption"><center><strong>Fig. 3.3.1</strong>  Gráfica de una función logística, cuyos límites superior e inferior son 1 y 0, respectivamente. Esta gráfica se obtuvo utilizando la librería <a href="https://matplotlib.org/" target="_blank" rel="noopener">Matplotlib</a><span style="color: initial;"> en Python, al igual que las consiguientes gráficas de este tipo.</span></center></figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Como podrás notar en la <strong>Figura 3.3.1</strong>, la<strong> función logística</strong> (o <strong>función sigmoidea</strong>) genera una curva cuyos puntos se encuentran entre los valores <strong>0</strong> y <strong>1</strong> del eje vertical <span class="katex-eq" data-katex-display="false">y</span>. Esto quiere decir que cualquier entrada para el modelo será mapeada a un valor en este rango.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/05/IRL_D1-1.jpg" alt="IRL D1 1" class="wp-image-8040" style="aspect-ratio:0.7980613893376414;width:504px;height:auto" title="Regresión logística: fundamentos, programación y matemáticas 165" srcset="https://dialektico.com/wp-content/uploads/2024/05/IRL_D1-1.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/05/IRL_D1-1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Espero que lo hayas vislumbrado. El transformar cada entrada en un número comprendido entre el 0 y el 1 es traducible a que la salida del modelo es una <strong>probabilidad</strong>. Recordemos que, dados los <strong>axiomas de</strong> <strong>Kolmogórov</strong>, todo valor de probabilidad está situado en este rango, siendo 1 la <strong>máxima </strong>probabilidad de que un evento suceda, y 0 la <strong>mínima</strong>.</p>



<p>Entre otras palabras, el modelo generado por la <strong>regresión logística</strong> tomará como <strong>entrada </strong>los datos a los que deseamos asignar una <strong>clase</strong>, y nos dará como <strong>salida </strong>la <strong>probabilidad </strong>de que estos pertenezcan a alguna categoría en particular, lo cual nos permitirá clasificarlos, como se ilustra en la <strong>Figura 3.3.2</strong>:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1600" height="800" src="https://dialektico.com/wp-content/uploads/2023/05/RegLogExp_V3.jpg" alt="" class="wp-image-10413" title="Regresión logística: fundamentos, programación y matemáticas 166" srcset="https://dialektico.com/wp-content/uploads/2023/05/RegLogExp_V3.jpg 1600w, https://dialektico.com/wp-content/uploads/2023/05/RegLogExp_V3-768x384.jpg 768w, https://dialektico.com/wp-content/uploads/2023/05/RegLogExp_V3-1536x768.jpg 1536w" sizes="(max-width: 1600px) 100vw, 1600px" /><figcaption class="wp-element-caption"><strong>Fig. 3.3.2</strong> Representación visual del resultado de una regresión logística, la cual genera un modelo para la clasificación de datos de entrada. Cada clase se asigna conforme a la probabilidad más alta de una observación de pertenecer a esta.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Asignación de clases</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ahora que hemos explorado algunos fundamentos de este método para realizar clasificaciones de datos, volvamos al <strong>caso </strong>planteado.</p>



<p>Echemos un vistazo a parte del <a href="https://dialektico.com/datos-etiquetados-machine-learning/" target="_blank" rel="noreferrer noopener">conjunto de datos</a> de canciones que vamos a utilizar:</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="568" height="560" src="https://dialektico.com/wp-content/uploads/2023/05/image-1.png" alt="regresión logística python" class="wp-image-6413" style="width:524px" title="Regresión logística: fundamentos, programación y matemáticas 167"><figcaption class="wp-element-caption"><strong>Tabla 3.3.1</strong> Fragmento del conjunto de datos a utilizar para entrenar el modelo. Esta tabla se obtuvo utilizando la librería Pandas en Python.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En la tabla se puede apreciar el <strong>nombre </strong>de la <strong>canción</strong>, su grado de <strong>bailabilidad</strong>, y el <strong>género </strong>al que pertenece. Estos datos <strong>etiquetados </strong>(con <strong>entradas </strong>y <strong>salidas </strong>definidas, justo como lo demandan los algoritmos de <strong><a href="https://dialektico.com/aprendizaje-supervisado/">aprendizaje supervisado</a></strong>) serán procesados por la <strong>regresión logística</strong>, produciendo un modelo que nos ayudará a clasificar canciones nuevas.</p>



<p>Supongamos que ya hemos <strong>entrenado </strong>el modelo con estos datos, por lo que ahora lo probaremos con cinco canciones:</p>



<ol class="wp-block-list">
<li>Efecto</li>



<li>Deathcrush</li>



<li>Blow your trumpets Gabriel.</li>



<li>TQG.</li>



<li>Silver Lining.</li>
</ol>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Lo que haremos será evaluar cada una de estas con el modelo resultante, de forma que buscamos obtener la siguiente probabilidad:</p>



<p class="has-text-align-center">p(canción pertenece a la clase black metal | bailabilidad)</p>



<p>Lo cual significa: <strong>probabilidad </strong>de que la canción pertenezca a la clase <strong>black metal</strong> dada su <strong>bailabilidad</strong>.</p>



<p>La probabilidad calculada por el modelo para cada canción se muestra en la siguiente tabla:</p>



<figure class="wp-block-table aligncenter is-style-stripes"><table><thead><tr><th class="has-text-align-left" data-align="left"><strong>Canción</strong></th><th class="has-text-align-center" data-align="center"><strong>Probabilidad</strong></th></tr></thead><tbody><tr><td class="has-text-align-left" data-align="left">Efecto</td><td class="has-text-align-center" data-align="center">0.30</td></tr><tr><td class="has-text-align-left" data-align="left">Deathcrush</td><td class="has-text-align-center" data-align="center">0.83</td></tr><tr><td class="has-text-align-left" data-align="left">Blow your trumpets Gabriel.</td><td class="has-text-align-center" data-align="center">0.85</td></tr><tr><td class="has-text-align-left" data-align="left">TQG</td><td class="has-text-align-center" data-align="center">0.37</td></tr><tr><td class="has-text-align-left" data-align="left">Silver Lining</td><td class="has-text-align-center" data-align="center">0.77</td></tr></tbody></table><figcaption class="wp-element-caption"><strong>Tabla 3.3.2 </strong>Probabilidades calculadas por el modelo obtenido de la regresión logística.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>De acuerdo con estas probabilidades, queda delegar cada canción a una <strong>clase</strong>. ¿Cómo se define esto?, esto se hace respecto a un <strong>umbral </strong>conocido como <strong>límite de decisión</strong>, el cual es el valor que define la <strong>probabilidad mínima</strong> necesaria para asignar un elemento a una clase específica. Sin ahondar en su cálculo por el momento, especificaremos que el límite de decisión para nuestro modelo es de <strong>0.58</strong>, lo que significa que toda canción con una probabilidad <strong>mayor </strong>a este será considerada como parte de la categoría <strong>black metal</strong>.</p>



<p>El primer renglón, por ejemplo, nos dice que la probabilidad de que la canción <strong>Efecto </strong>sea del género del black metal es del 30%; al estar por debajo del umbral, se determina que esta no pertenece a esta categoría. Ahora, dadas las probabilidades, asignamos una clase a las 5 canciones:</p>



<figure class="wp-block-table aligncenter is-style-stripes"><table><tbody><tr><td><strong>Canción</strong></td><td class="has-text-align-center" data-align="center"><strong>Probabilidad</strong></td><td class="has-text-align-center" data-align="center"><strong>Categoría</strong> <strong>asignada</strong></td></tr><tr><td>Efecto</td><td class="has-text-align-center" data-align="center">0.30</td><td class="has-text-align-center" data-align="center">Reggaeton</td></tr><tr><td>Deathcrush</td><td class="has-text-align-center" data-align="center">0.83</td><td class="has-text-align-center" data-align="center">Black metal</td></tr><tr><td>Blow your trumpets Gabriel.</td><td class="has-text-align-center" data-align="center">0.85</td><td class="has-text-align-center" data-align="center">Black metal</td></tr><tr><td>TQG</td><td class="has-text-align-center" data-align="center">0.37</td><td class="has-text-align-center" data-align="center">Reggaeton</td></tr><tr><td>Silver Lining</td><td class="has-text-align-center" data-align="center">0.77</td><td class="has-text-align-center" data-align="center">Black metal</td></tr></tbody></table><figcaption class="wp-element-caption"><strong>Tabla 3.3.3 </strong>Categorías atribuidas a cada canción respecto a las probabilidades estimadas por el modelo.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En los <strong>algoritmos de clasificación</strong> procreados desde <strong>Python </strong>no es necesario realizar este último paso manualmente, todas las asignaciones de cada nueva observación se hacen de forma <strong>automática</strong>, junto con el ajuste del modelo.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/06/IRLG_K1_v2.jpg" alt="IRLG K1 v2" class="wp-image-8334" style="width:575px;height:auto" title="Regresión logística: fundamentos, programación y matemáticas 168" srcset="https://dialektico.com/wp-content/uploads/2024/06/IRLG_K1_v2.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/06/IRLG_K1_v2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Correcto, es una descripción básica, pero permite identificar los casos de uso de la regresión logística para <strong>modelos de clasificación</strong>.</p>



<p>Ahora que hemos explorado superficialmente este algoritmo de aprendizaje supervisado, podemos pasar a conocerla con mayor escrutinio, desde su anatomía matemática.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



            <div class='ays-quiz-container ays_quiz_classic_light   ays-quiz-keyboard-active' data-quest-effect='shake'  data-hide-bg-image='false' id='ays-quiz-container-15'>
                
                
                <div class='ays-questions-container'>
                    
                    
                    
                    <form action='' method='post' id='ays_finish_quiz_15' 
                        class='ays-quiz-form enable_correction enable_questions_result '
                    >
            <input type='hidden' value='list' class='answer_view_class'>
            <input type='hidden' value='' class='ays_qm_enable_arrows'>
            <audio id='ays_quiz_right_ans_sound_15' class='ays_quiz_right_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound.wav'></audio><audio id='ays_quiz_wrong_ans_sound_15' class='ays_quiz_wrong_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound-1.wav'></audio>
            
            <div class='step active-step'>
                <div class='ays-abs-fs ays-start-page'>
                    
                    
                    
                    <div class='ays-fs-subtitle'><p>Contesta las siguientes preguntas</p>
</div>
                    <input type='hidden' name='ays_quiz_id' value='15'/>
                    <input type='hidden' name='ays_quiz_finish_nonce' value='7cec930025'>
                    <input type='hidden' name='ays_quiz_curent_page_link' class='ays-quiz-curent-page-link' value='https://dialektico.com/categoria/analisis-de-datos/feed/'/>
                    <input type='hidden' name='ays_quiz_questions' value='39,40,41'>
                    
                    
                    <input type='button'   class='ays_next start_button action-button ays-quiz-keyboard-active' value='EMPEZAR' data-enable-leave-page="false" />
                    
                    </div>
                </div><div class='step  ' data-question-id='39' data-type='checkbox'>
                    
                    
                    <p class='ays-question-counter animated'>1 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>De las siguientes afirmaciones sobre la regresión logística, selecciona las que sean verdaderas:</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-39]' id='ays-answer-130-15' value='130'/>

                <label for='ays-answer-130-15' class='  ays_position_initial  ays-quiz-keyboard-label'>Es conveniente para generar modelos de clasificación (salidas de tipo discretas).</label><label for='ays-answer-130-15' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-39]' id='ays-answer-131-15' value='131'/>

                <label for='ays-answer-131-15' class='  ays_position_initial  ays-quiz-keyboard-label'>Es conveniente para generar modelos de regresión (salidas de tipo continuo).</label><label for='ays-answer-131-15' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-39]' id='ays-answer-132-15' value='132'/>

                <label for='ays-answer-132-15' class='  ays_position_initial  ays-quiz-keyboard-label'>Sus salidas comprenden el rango de todos los números reales.</label><label for='ays-answer-132-15' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-39]' id='ays-answer-133-15' value='133'/>

                <label for='ays-answer-133-15' class='  ays_position_initial  ays-quiz-keyboard-label'>Ajusta un modelo que calcula probabilidades condicionales.</label><label for='ays-answer-133-15' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_15 === 'undefined'){
                window.quizOptions_15 = [];
            }
            window.quizOptions_15['39'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>La regresión logística se utiliza para crear algoritmos de clasificación, y sus salidas oscilan entre el 1 y el 0, por lo que se interpretan como probabilidades.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='40' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>2 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>La forma de la gráfica de la función sigmoidea es una campana, y está parametrizada por la media y la varianza:</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-40]' id='ays-answer-134-15' value='134'/>

                <label for='ays-answer-134-15' class='  ays_position_initial  ays-quiz-keyboard-label'>Verdadero.</label><label for='ays-answer-134-15' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-40]' id='ays-answer-135-15' value='135'/>

                <label for='ays-answer-135-15' class='  ays_position_initial  ays-quiz-keyboard-label'>Falso.</label><label for='ays-answer-135-15' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_15 === 'undefined'){
                window.quizOptions_15 = [];
            }
            window.quizOptions_15['40'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>La forma de la gráfica de la función sigmoidea es una curva.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='41' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>3 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>El límite de decisión establece la probabilidad de referencia que definirá si una observación pertenece o no a una clase:</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-41]' id='ays-answer-138-15' value='138'/>

                <label for='ays-answer-138-15' class='  ays_position_initial  ays-quiz-keyboard-label'>Verdadero.</label><label for='ays-answer-138-15' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-41]' id='ays-answer-139-15' value='139'/>

                <label for='ays-answer-139-15' class='  ays_position_initial  ays-quiz-keyboard-label'>Falso.</label><label for='ays-answer-139-15' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_15 === 'undefined'){
                window.quizOptions_15 = [];
            }
            window.quizOptions_15['41'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays-quiz-keyboard-active ays_arrow ays_display_none" tabindex='0'></i>
                            <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active '  value='ANTERIOR' /><i class='ays_display_none ays_fa ays_fa_flag_checkered ays_finish action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active' tabindex='0'></i><input type='submit' name='ays_finish_quiz' class='  ays_next ays_finish action-button ays-quiz-keyboard-active' value='VER TOTAL'/></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>El límite decisión define esta probabilidad de referencia.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step ays_thank_you_fs'>
            <div class='ays-abs-fs ays-end-page'><div data-class='lds-facebook' data-role='loader' class='ays-loader'><div></div><div></div><div></div></div><div class='ays_quiz_results_page'><div class='ays_score_message'></div><div class='ays_message'></div><p class='ays_score ays_score_display_none animated'>Tu puntación es </p><p class='ays_average'>La puntuación media es  87%</p><div class='ays-progress third'>
                <span class='ays-progress-value third'>0%</span>
                <div class='ays-progress-bg third'>
                    <div class='ays-progress-bar third' style='width:0%;'></div>
                </div>
            </div><p class='ays_restart_button_p'><button type='button' class='action-button ays_restart_button ays-quiz-keyboard-active'>
                    <i class='ays_fa ays_fa_undo'></i>
                    <span>Reiniciar Prueba</span>
                </button></p></div>
            </div>
        </div><style>
            div#ays-quiz-container-15 * {
                box-sizing: border-box;
            }

            #ays-quiz-container-15 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                width: 90%;
            }

            /* Styles for Internet Explorer start */
            #ays-quiz-container-15 #ays_finish_quiz_15 {
                
            }

            /* Styles for Quiz container */
            #ays-quiz-container-15{
                min-height: 350px;
                width:400px;
                background-color:#ffffff;
                background-position:center center;background-image: url('https://dialektico.com/wp-content/uploads/2022/08/Q3.jpg');border-radius:0px;box-shadow: none;border-width: 3px;border-style: solid;border-color: #000;}

            /* Styles for questions */
            #ays-quiz-container-15 #ays_finish_quiz_15 div.step {
                min-height: 350px;
            }

            /* Styles for text inside quiz container */
            #ays-quiz-container-15 .ays-start-page *:not(input):not([class^='enlighter']),
            #ays-quiz-container-15 .ays_question_hint,
            #ays-quiz-container-15 label[for^="ays-answer-"],
            #ays-quiz-container-15 #ays_finish_quiz_15 p,
            #ays-quiz-container-15 #ays_finish_quiz_15 .ays-fs-title,
            #ays-quiz-container-15 .ays-fs-subtitle,
            #ays-quiz-container-15 .logged_in_message,
            #ays-quiz-container-15 .ays_score_message,
            #ays-quiz-container-15 .ays_message{
               color: #0a0a0a;
               outline: none;
            }

            div#ays-quiz-container-15 .ays_question_hint.ays-quiz-keyboard-active,
            div#ays-quiz-container-15 .ays_restart_button.ays-quiz-keyboard-active {
                outline: revert;
            }

            #ays-quiz-container-15 .ays-quiz-password-message-box,
            #ays-quiz-container-15 .ays-quiz-question-note-message-box,
            #ays-quiz-container-15 .ays_quiz_question,
            #ays-quiz-container-15 .ays-quiz-question-category-box,
            #ays-quiz-container-15 .ays_quiz_question *:not([class^='enlighter']) {
                color: #0a0a0a;
            }

            #ays-quiz-container-15 .ays-quiz-question-category-box em {
                color: #0a0a0a;
            }

            #ays-quiz-container-15 textarea,
            #ays-quiz-container-15 input::first-letter,
            #ays-quiz-container-15 select::first-letter,
            #ays-quiz-container-15 option::first-letter {
                color: initial !important;
            }
            
            #ays-quiz-container-15 p::first-letter:not(.ays_no_questions_message) {
                color: #0a0a0a !important;
                background-color: transparent !important;
                font-size: inherit !important;
                font-weight: inherit !important;
                float: none !important;
                line-height: inherit !important;
                margin: 0 !important;
                padding: 0 !important;
            }
            
            
            #ays-quiz-container-15 .select2-container,
            #ays-quiz-container-15 .ays-field * {
                font-size: 15px !important;
            }
    
            #ays-quiz-container-15 .ays_quiz_question p {
                font-size: 16px;
                text-align: inherit;
            }

            #ays-quiz-container-15 .ays-fs-subtitle p {
                text-align:  center ;
            }

            #ays-quiz-container-15 .ays_quiz_question {
                text-align:  center ;
                margin-bottom: 10px;
            }

            #ays-quiz-container-15 .ays_quiz_question pre {
                max-width: 100%;
                white-space: break-spaces;
            }

            /* Mango theme (Version: 1.4.202301041836) | tid=32449 | Start */
            #ays-quiz-container-15 .ays_quiz_question img {
                float: unset;
                margin: 0;
            }
            /* Mango theme (Version: 1.4.202301041836) | End */

            #ays-quiz-container-15 .ays-quiz-timer p {
                font-size: 16px;
            }

            #ays-quiz-container-15 section.ays_quiz_redirection_timer_container hr,
            #ays-quiz-container-15 section.ays_quiz_timer_container hr {
                margin: 0;
            }

            #ays-quiz-container-15 section.ays_quiz_timer_container.ays_quiz_timer_red_warning .ays-quiz-timer {
                color: #ff0000;
            }

            #ays-quiz-container-15 .ays_thank_you_fs p {
                text-align: center;
            }

            #ays-quiz-container-15 .ays_quiz_results_page .ays_score span {
                visibility: visible;
            }

            #ays-quiz-container-15 input[type='button'],
            #ays-quiz-container-15 input[type='submit'] {
                color: #ffffff !important;
            }

            #ays-quiz-container-15 input[type='button']{
                outline: none;
            }

            #ays-quiz-container-15 .information_form input[type='text'],
            #ays-quiz-container-15 .information_form input[type='url'],
            #ays-quiz-container-15 .information_form input[type='number'],
            #ays-quiz-container-15 .information_form input[type='email'],
            #ays-quiz-container-15 .information_form input[type='checkbox'],
            #ays-quiz-container-15 .information_form input[type='tel'],
            #ays-quiz-container-15 .information_form textarea,
            #ays-quiz-container-15 .information_form select,
            #ays-quiz-container-15 .information_form option {
                color: initial !important;
                outline: none;
                background-image: unset;
            }

            #ays-quiz-container-15 .wrong_answer_text{
                color:#ff4d4d;
            }
            #ays-quiz-container-15 .right_answer_text{
                color:#33cc33;
            }

            #ays-quiz-container-15 .wrong_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-15 .ays_questtion_explanation p {
                font-size:16px;
            }

            #ays-quiz-container-15 .wrong_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-15 .ays_questtion_explanation *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-15 .right_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-15 .right_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-15 .ays-quiz-question-note-message-box p {
                font-size:14px;
            }

            #ays-quiz-container-15 .ays-quiz-question-note-message-box *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }
            
            #ays-quiz-container-15 .ays_cb_and_a,
            #ays-quiz-container-15 .ays_cb_and_a * {
                color: rgb(10,10,10);
                text-align: center;
            }

            /* Quiz textarea height */
            #ays-quiz-container-15 textarea {
                height: 100px;
                min-height: 100px;
            }

            /* Quiz rate and passed users count */
            #ays-quiz-container-15 .ays_quizn_ancnoxneri_qanak,
            #ays-quiz-container-15 .ays_quiz_rete_avg {
                color:#ffffff !important;
                background-color:#0a0a0a;   
            }

            #ays-quiz-container-15 .ays-questions-container > .ays_quizn_ancnoxneri_qanak {
                padding: 5px 20px;
            }
            #ays-quiz-container-15 div.for_quiz_rate.ui.star.rating .icon {
                color: rgba(10,10,10,0.35);
            }
            #ays-quiz-container-15 .ays_quiz_rete_avg div.for_quiz_rate_avg.ui.star.rating .icon {
                color: rgba(255,255,255,0.5);
            }

            #ays-quiz-container-15 .ays_quiz_rete .ays-quiz-rate-link-box .ays-quiz-rate-link {
                color: #0a0a0a;
            }

            /* Loaders */            
            #ays-quiz-container-15 div.lds-spinner,
            #ays-quiz-container-15 div.lds-spinner2 {
                color: #0a0a0a;
            }
            #ays-quiz-container-15 div.lds-spinner div:after,
            #ays-quiz-container-15 div.lds-spinner2 div:after {
                background-color: #0a0a0a;
            }
            #ays-quiz-container-15 .lds-circle,
            #ays-quiz-container-15 .lds-facebook div,
            #ays-quiz-container-15 .lds-ellipsis div{
                background: #0a0a0a;
            }
            #ays-quiz-container-15 .lds-ripple div{
                border-color: #0a0a0a;
            }
            #ays-quiz-container-15 .lds-dual-ring::after,
            #ays-quiz-container-15 .lds-hourglass::after{
                border-color: #0a0a0a transparent #0a0a0a transparent;
            }

            /* Stars */
            #ays-quiz-container-15 .ui.rating .icon,
            #ays-quiz-container-15 .ui.rating .icon:before {
                font-family: Rating !important;
            }

            /* Progress bars */
            #ays-quiz-container-15 #ays_finish_quiz_15 .ays-progress {
                border-color: rgba(10,10,10,0.8);
            }
            #ays-quiz-container-15 #ays_finish_quiz_15 .ays-progress-bg {
                background-color: rgba(10,10,10,0.3);
            }    
            #ays-quiz-container-15 .ays-progress-value {
                color: #0a0a0a;
                text-align: center;
            }
            #ays-quiz-container-15 .ays-progress-bar {
                background-color: #9e0505;
            }
            #ays-quiz-container-15 .ays-question-counter .ays-live-bar-wrap {
                direction:ltr !important;
            }
            #ays-quiz-container-15 .ays-live-bar-fill{
                color: #0a0a0a;
                border-bottom: 2px solid rgba(10,10,10,0.8);
                text-shadow: 0px 0px 5px #ffffff;
            }
            #ays-quiz-container-15 .ays-live-bar-fill.ays-live-fourth,
            #ays-quiz-container-15 .ays-live-bar-fill.ays-live-third,
            #ays-quiz-container-15 .ays-live-bar-fill.ays-live-second {
                text-shadow: unset;
            }
            #ays-quiz-container-15 .ays-live-bar-percent{
                display:none;
            }
            #ays-quiz-container-15 #ays_finish_quiz_15 .ays_average {
                text-align: center;
            }
            
            /* Music, Sound */
            #ays-quiz-container-15 .ays_music_sound {
                color:rgb(10,10,10);
            }

            /* Dropdown questions scroll bar */
            #ays-quiz-container-15 blockquote {
                border-left-color: #0a0a0a !important;                                      
            }

            /* Quiz Password */
            #ays-quiz-container-15 .ays-start-page > input[id^='ays_quiz_password_val_'],
            #ays-quiz-container-15 .ays-quiz-password-toggle-visibility-box {
                width: 100%;
            }


            /* Question hint */
            #ays-quiz-container-15 .ays_question_hint_container .ays_question_hint_text {
                background-color:#ffffff;
                box-shadow: 0 0 15px 3px rgba(10,10,10,0.35);
                max-width: 270px;
            }

            #ays-quiz-container-15 .ays_question_hint_container .ays_question_hint_text p {
                max-width: unset;
            }

            #ays-quiz-container-15 .ays-quiz-additonal-box {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                position: relative;  
            }

            #ays-quiz-container-15 .ays_questions_hint_max_width_class {
                max-width: 80%;
            }

            /* Information form */
            #ays-quiz-container-15 .ays-form-title{
                color:rgb(10,10,10);
            }

            /* Quiz timer */
            #ays-quiz-container-15 div.ays-quiz-redirection-timer,
            #ays-quiz-container-15 div.ays-quiz-timer{
                color: #0a0a0a;
                text-align: center;
            }

            #ays-quiz-container-15 div.ays-quiz-timer.ays-quiz-message-before-timer:before {
                font-weight: 500;
            }

            /* Quiz title / transformation */
            #ays-quiz-container-15 .ays-fs-title{
                text-transform: uppercase;
                font-size: 21px;
                text-align: center;
                    text-shadow: none;
            }
            
            /* Quiz buttons */
            #ays-quiz-container-15 .ays_arrow {
                color:#ffffff!important;
            }
            #ays-quiz-container-15 input#ays-submit,
            #ays-quiz-container-15 #ays_finish_quiz_15 .action-button,
            div#ays-quiz-container-15 #ays_finish_quiz_15 .action-button.ays_restart_button,
            #ays-quiz-container-15 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-15 .ays-quiz-category-selective-submit-bttn {
                background: none;
                background-color: #9e0505;
                color:#ffffff;
                font-size: 17px;
                padding: 10px 20px;
                border-radius: 3px;
                height: auto;
                letter-spacing: 0;
                box-shadow: unset;
                width: auto;
                /* border: unset; */
                min-height: unset;
                line-height: normal;
                text-shadow: unset;
            }
            #ays-quiz-container-15 input#ays-submit,
            #ays-quiz-container-15 #ays_finish_quiz_15 input.action-button,
            #ays-quiz-container-15 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-15 .ays-quiz-category-selective-submit-bttn {
                
            }

            #ays-quiz-container-15 #ays_finish_quiz_15 .action-button.ays_check_answer {
                padding: 5px 10px;
                font-size: 17px !important;
            }
            #ays-quiz-container-15 #ays_finish_quiz_15 .action-button.ays_restart_button {
                white-space: nowrap;
                padding: 5px 10px;
                white-space: normal;
            }
            #ays-quiz-container-15 input#ays-submit:hover,
            #ays-quiz-container-15 input#ays-submit:focus,
            #ays-quiz-container-15 #ays_finish_quiz_15 .action-button:hover,
            #ays-quiz-container-15 #ays_finish_quiz_15 .action-button:focus,
            #ays-quiz-container-15 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
            #ays-quiz-container-15 .ays-quiz-category-selective-submit-bttn:hover {
                background: none;
                box-shadow: 0 0 0 2px #ffffff;
                background-color: #9e0505;
            }
            #ays-quiz-container-15 .ays_restart_button {
                color: #ffffff;
            }
            
            #ays-quiz-container-15 .ays_restart_button_p,
            #ays-quiz-container-15 .ays_buttons_div {
                justify-content: center;
            }

            #ays-quiz-container-15 .ays_finish.action-button{
                margin: 10px 5px;
            }

            #ays-quiz-container-15 .ays-share-btn.ays-share-btn-branded {
                color: #fff;
                display: inline-block;
            }

            #ays-quiz-container-15 .ays_quiz_results .ays-field.checked_answer_div.correct_div input:checked+label {
                background-color: transparent;
            }
                        
            /* Question answers */
            #ays-quiz-container-15 .ays-field {
                    border-color: #444;
                    border-style: solid;
                    border-width: 1px;
                    box-shadow: none;flex-direction: row-reverse;
            }
            

            /* Answer maximum length of a text field */
            #ays-quiz-container-15 .ays_quiz_question_text_message{
                color: #0a0a0a;
                text-align: left;
                font-size: 12px;
            }

            div#ays-quiz-container-15 div.ays_quiz_question_text_error_message {
                color: #ff0000;
            }

            /* Questions answer image */
            #ays-quiz-container-15 .ays-answer-image {
                width:15em;
                height:150px;
                object-fit: cover;
            }
            
            #ays-quiz-container-15 .ays-quiz-answers .ays-field:hover:not(.ays-answered-text-input){
                opacity: 1;
            }
            #ays-quiz-container-15 #ays_finish_quiz_15 .ays-field label.ays_answer_caption[for^='ays-answer-'] {
                z-index: 1;
                position:initial;bottom:0;}
            #ays-quiz-container-15 #ays_finish_quiz_15 .ays-field input~label[for^='ays-answer-'] {
                padding: 5px;
            }

            #ays-quiz-container-15 #ays_finish_quiz_15 .ays-field {
                margin-bottom: 10px;
            }
            #ays-quiz-container-15 #ays_finish_quiz_15 .ays-field.ays_grid_view_item {
                width: calc(50% - 5px);
            }
            #ays-quiz-container-15 #ays_finish_quiz_15 .ays-field.ays_grid_view_item:nth-child(odd) {
                margin-right: 5px;
            }
            
            #ays-quiz-container-15 #ays_finish_quiz_15 .ays-field input:checked+label:before {
                border-color: #9e0505;
                background: #9e0505;
                background-clip: content-box;
            }
            #ays-quiz-container-15 .ays-quiz-answers div.ays-text-right-answer {
                color: #0a0a0a;
            }
                        
            /* Questions answer right/wrong icons */
            #ays-quiz-container-15 .ays-field input~label.answered.correct:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/correct.png');          }
            #ays-quiz-container-15 .ays-field input~label.answered.wrong:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/wrong.png');
            }
            #ays-quiz-container-15 .ays-field label.answered:last-of-type:after{
                display: none;
                height: auto;
                left: 10px;top: 10px;}
            /* Dropdown questions */            
            #ays-quiz-container-15 #ays_finish_quiz_15 .ays-field .select2-container--default .select2-selection--single {
                border-bottom: 2px solid #9e0505;
                background-color: #9e0505;
            }
            
            #ays-quiz-container-15 .ays-field .select2-container--default .select2-selection--single .select2-selection__placeholder,
            #ays-quiz-container-15 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-15 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow {
                color: #f5f5f5;
            }

            #ays-quiz-container-15 .select2-container--default .select2-search--dropdown .select2-search__field:focus,
            #ays-quiz-container-15 .select2-container--default .select2-search--dropdown .select2-search__field {
                outline: unset;
                padding: 0.75rem;
            }

            #ays-quiz-container-15 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-15 .select2-container--default .select2-results__option--highlighted[aria-selected] {
                background-color: #9e0505;
            }

            #ays-quiz-container-15 .ays-field .select2-container--default,
            #ays-quiz-container-15 .ays-field .select2-container--default .selection,
            #ays-quiz-container-15 .ays-field .select2-container--default .dropdown-wrapper,
            #ays-quiz-container-15 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-15 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered .select2-selection__placeholder,
            #ays-quiz-container-15 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow,
            #ays-quiz-container-15 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow b[role='presentation'] {
                font-size: 16px !important;
            }

            #ays-quiz-container-15 .select2-container--default .select2-results__option {
                padding: 6px;
            }
            
            /* Dropdown questions scroll bar */
            #ays-quiz-container-15 .select2-results__options::-webkit-scrollbar {
                width: 7px;
            }
            #ays-quiz-container-15 .select2-results__options::-webkit-scrollbar-track {
                background-color: rgba(255,255,255,0.35);
            }
            #ays-quiz-container-15 .select2-results__options::-webkit-scrollbar-thumb {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.55);
            }
            #ays-quiz-container-15 .select2-results__options::-webkit-scrollbar-thumb:hover {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.85);
            }

            /* Audio / Video */
            #ays-quiz-container-15 .mejs-container .mejs-time{
                box-sizing: unset;
            }
            #ays-quiz-container-15 .mejs-container .mejs-time-rail {
                padding-top: 15px;
            }

            #ays-quiz-container-15 .mejs-container .mejs-mediaelement video {
                margin: 0;
            }

            /* Limitation */
            #ays-quiz-container-15 .ays-quiz-limitation-count-of-takers {
                padding: 50px;
            }

            #ays-quiz-container-15 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-show,
            #ays-quiz-container-15 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-hide{
                color: #0a0a0a;
            }

            #ays-quiz-container-15 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-15 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-15 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #0a0a0a;
            }

            #ays-quiz-container-15.ays_quiz_elegant_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after,
            #ays-quiz-container-15.ays_quiz_rect_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #000;
            }

            /* Hestia theme (Version: 3.0.16) | Start */
            #ays-quiz-container-15 .mejs-container .mejs-inner .mejs-controls .mejs-button > button:hover,
            #ays-quiz-container-15 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                box-shadow: unset;
                background-color: transparent;
            }
            #ays-quiz-container-15 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                margin: 10px 6px;
            }
            /* Hestia theme (Version: 3.0.16) | End */

            /* Go theme (Version: 1.4.3) | Start */
            #ays-quiz-container-15 label[for^='ays-answer']:before,
            #ays-quiz-container-15 label[for^='ays-answer']:before {
                -webkit-mask-image: unset;
                mask-image: unset;
            }

            #ays-quiz-container-15.ays_quiz_classic_light .ays-field input:checked+label.answered.correct:before,
            #ays-quiz-container-15.ays_quiz_classic_dark .ays-field input:checked+label.answered.correct:before {
                background-color: #9e0505 !important;
                background-color: rgba(39,174,96, 1) !important;
            }
            /* Go theme (Version: 1.4.3) | End */

            #ays-quiz-container-15 .ays_quiz_results fieldset.ays_fieldset .ays_quiz_question .wp-video {
                width: 100% !important;
                max-width: 100%;
            }

            /* Classic Dark / Classic Light */
            /* Dropdown questions right/wrong styles */
            #ays-quiz-container-15.ays_quiz_classic_dark .correct_div,
            #ays-quiz-container-15.ays_quiz_classic_light .correct_div{
                border-color:green !important;
                opacity: 1 !important;
                background-color: rgba(39,174,96,0.4) !important;
            }
            #ays-quiz-container-15.ays_quiz_classic_dark .correct_div .selected-field,
            #ays-quiz-container-15.ays_quiz_classic_light .correct_div .selected-field {
                padding: 0px 10px 0px 10px;
                color: green !important;
            }

            #ays-quiz-container-15.ays_quiz_classic_dark .wrong_div,
            #ays-quiz-container-15.ays_quiz_classic_light .wrong_div{
                border-color:red !important;
                opacity: 1 !important;
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-15.ays_quiz_classic_dark .ays-field.checked_answer_div.wrong_div input:checked~label,
            #ays-quiz-container-15.ays_quiz_classic_light .ays-field.checked_answer_div.wrong_div input:checked~label {
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-15.ays_quiz_classic_dark .ays-field,
            #ays-quiz-container-15.ays_quiz_classic_light .ays-field {
                text-align: left;
                /*margin-bottom: 10px;*/
                padding: 0;
                transition: .3s ease-in-out;
            }

            #ays-quiz-container-15 .ays-quiz-close-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-15 .ays-quiz-open-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-15 .ays_quiz_login_form p{
                color: #0a0a0a;
            }

            /* report questions modal start */
            .ays-modal-reports {
                display: none;
                position: fixed;
                z-index: 9999;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                overflow: auto;
                background-color: rgba(0, 0, 0, 0.4);
                animation-duration: .5s;
                background-color: rgba(0, 0, 0, 0.4);
            }

            #ays-quiz-question-report-modal-15 .ays-modal-content-reports {
                background-color: #fefefe;
                margin: 10% auto;
                border: 1px solid #888;
                max-width: 500px;
                width: 100%;
                border-radius: 10px;
                padding: 20px;
                box-sizing: border-box;
                position: relative;
            }

            #ays-quiz-question-report-modal-15 .ays-modal-content-reports label{
                display: block;
                margin-bottom: 10px;
                font-weight: bold;
                letter-spacing: normal;
            }

            #ays-quiz-question-report-modal-15 .ays-modal-content-reports textarea {
                display: block;
                width: 100%;
                height: 100px;
                padding: 5px;
                box-sizing: border-box;
                border-radius: 5px;
                border: 1px solid #ccc;
                max-width: 100%;
                max-height: 500px;
                resize: vertical;
                transition: unset;
            }

            #ays-quiz-question-report-modal-15 .ays-modal-content-reports input.ays-quiz-submit-question-report {
                background-color: #0073aa;
                color: #fff !important;
                border: none;
                border-radius: 5px;
                padding: 10px 20px;
                cursor: pointer;
                margin-top: 20px;
                line-height: normal;
                letter-spacing: normal;
                box-shadow: unset;
                background-image: unset;
            }

            #ays-quiz-question-report-modal-15 .ays-close-reports-window {
                color: #aaa;
                font-weight: bold;
                position: absolute;
                top: 1%;
                right: 1%;
            }

            #ays-quiz-question-report-modal-15 .ays-close-reports-window img {
                box-shadow: unset;
            }
            
            #ays-quiz-question-report-modal-15 .ays-quiz-preloader img {
                box-shadow: unset;
            }

            #ays-quiz-question-report-modal-15 .ays-close-reports-window img:hover,
            #ays-quiz-question-report-modal-15 .ays-close-reports-window img:focus {
                cursor: pointer;
            }

            #ays-quiz-question-report-modal-15 .ays-quiz-question-report-error {
                display: none;
                font-size: 13px;
                color: #f00;
                text-align: left;
            }

            #ays-quiz-question-report-modal-15 .ays-quiz-question-report-textarea-label,
            #ays-quiz-question-report-modal-15 .ays-quiz-question-report-title {
                text-align: left;
            }

            #ays-quiz-question-report-modal-15 .ays_quiz_modal_overlay {
                width: 100%;
                height: 100%;
                position: fixed;
                top: 0;
                left: 0;
                position: absolute;
                z-index: 1000000000;
                flex-direction: column;
            }

            #ays-quiz-question-report-modal-15 .ays-quiz-container .ays-quiz-user-cհoosing-anonymous-assessment {
                margin: 10px 0;
            }

            /* report questions modal end */

            @media screen and (max-width: 768px){
                #ays-quiz-container-15{
                    max-width: 100%;
                }

                div#ays-quiz-container-15 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                    width: 90%;
                }

                #ays-quiz-container-15 .ays_quiz_question p {
                    font-size: 16px;
                }

                #ays-quiz-container-15 .select2-container,
                #ays-quiz-container-15 .ays-field * {
                    font-size: 15px !important;
                }

                div#ays-quiz-container-15 input#ays-submit,
                div#ays-quiz-container-15 #ays_finish_quiz_15 .action-button,
                div#ays-quiz-container-15 #ays_finish_quiz_15 .action-button.ays_restart_button,
                #ays-quiz-container-15 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
                #ays-quiz-container-15 .ays-quiz-category-selective-submit-bttn {
                    font-size: 17px;
                }

                /* Quiz title / mobile font size */
                div#ays-quiz-container-15 .ays-fs-title {
                    font-size: 21px;
                }

                /* Question explanation / mobile font size */
                #ays-quiz-container-15 .ays_questtion_explanation p {
                    font-size:16px;
                }

                /* Wrong answers / mobile font size */
                #ays-quiz-container-15 .wrong_answer_text p {
                    font-size:16px;
                }

                /* Right answers / mobile font size */
                #ays-quiz-container-15 .right_answer_text p {
                    font-size:16px;
                }

                /* Note text / mobile font size */
                #ays-quiz-container-15 .ays-quiz-question-note-message-box p {
                    font-size:14px;
                }

                div#ays-quiz-container-15 .ays-quiz-question-note-message-box *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-15 .ays_questtion_explanation *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-15 .right_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-15 .wrong_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }
            }
            /* Custom css styles */
            @media screen and (max-width: 768px)
div#ays-quiz-container-5 input#ays-submit, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    font-size: 17px;
    letter-spacing: 1.5px;
}

#ays-quiz-container-5 input#ays-submit, #ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    background: none;
    background-color: #9e0505;
    color: #ffffff;
    font-size: 17px;
    padding: 10px 20px;
    border-radius: 3px;
    height: auto;
    letter-spacing: 1.5px;
    box-shadow: unset;
}
            
            /* RTL direction styles */
            
        </style>
            <style>
                #ays-quiz-container-15 p {
                    margin: 0.625em;
                }
                
                #ays-quiz-container-15 .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }

                #ays-quiz-container-15.ays_quiz_classic_light  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-15.ays_quiz_classic_dark  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-15.ays_quiz_classic_light  .enable_correction .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-15.ays_quiz_classic_dark  .enable_correction .ays-field.checked_answer_div input:checked~label {
                    background-color: transparent;
                }

                #ays-quiz-container-15.ays_quiz_classic_light  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-15.ays_quiz_classic_dark  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-15.ays_quiz_classic_light  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-15.ays_quiz_classic_dark  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }
                
                #ays-quiz-container-15 .ays-field.checked_answer_div input:checked~label:hover {
                    background-color: rgba(158,5,5,0.8);
                }

                #ays-quiz-container-15.ays-quiz-container.ays_quiz_classic_light .ays-questions-container .ays-field:hover label[for^='ays-answer-'],
                #ays-quiz-container-15 .ays-field:hover:not(.ays-answered-text-input){
                    background: rgba(158,5,5,0.8);
                    /* border-radius: 4px; */
                    color: #fff;
                    transition: all .3s;
                }
                #ays-quiz-container-15 #ays_finish_quiz_15 .action-button:hover,
                #ays-quiz-container-15 #ays_finish_quiz_15 .action-button:focus,
                #ays-quiz-container-15 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
                #ays-quiz-container-15 .ays-quiz-category-selective-submit-bttn:focus {
                    box-shadow: 0 0 0 2px white, 0 0 0 3px #9e0505;
                    background: #9e0505;
                }
            </style><script>
                if(typeof aysQuizOptions === 'undefined'){
                    var aysQuizOptions = [];
                }
                aysQuizOptions['15']  = 'eyJxdWl6X3ZlcnNpb24iOiI2LjQuMy4wIiwiY29yZV92ZXJzaW9uIjoiNi4yLjIiLCJwaHBfdmVyc2lvbiI6IjcuNC4zMyIsImNvbG9yIjoiIzllMDUwNSIsImJnX2NvbG9yIjoiI2ZmZmZmZiIsInRleHRfY29sb3IiOiIjMGEwYTBhIiwiaGVpZ2h0IjozNTAsIndpZHRoIjo0MDAsImVuYWJsZV9sb2dnZWRfdXNlcnMiOiJvZmYiLCJpbmZvcm1hdGlvbl9mb3JtIjoiZGlzYWJsZSIsImZvcm1fbmFtZSI6bnVsbCwiZm9ybV9lbWFpbCI6bnVsbCwiZm9ybV9waG9uZSI6bnVsbCwiaW1hZ2Vfd2lkdGgiOiIiLCJpbWFnZV9oZWlnaHQiOiIiLCJlbmFibGVfY29ycmVjdGlvbiI6Im9uIiwiZW5hYmxlX3Byb2dyZXNzX2JhciI6Im9uIiwiZW5hYmxlX3F1ZXN0aW9uc19yZXN1bHQiOiJvbiIsInJhbmRvbWl6ZV9xdWVzdGlvbnMiOiJvZmYiLCJyYW5kb21pemVfYW5zd2VycyI6Im9mZiIsImVuYWJsZV9xdWVzdGlvbnNfY291bnRlciI6Im9uIiwiZW5hYmxlX3Jlc3RyaWN0aW9uX3Bhc3MiOiJvZmYiLCJyZXN0cmljdGlvbl9wYXNzX21lc3NhZ2UiOiIiLCJ1c2VyX3JvbGUiOltdLCJjdXN0b21fY3NzIjoiQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpXHJcbmRpdiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcbn1cclxuXHJcbiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCAjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzllMDUwNTtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xyXG4gICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbn0iLCJsaW1pdF91c2VycyI6Im9mZiIsImxpbWl0YXRpb25fbWVzc2FnZSI6IiIsInJlZGlyZWN0X3VybCI6IiIsInJlZGlyZWN0aW9uX2RlbGF5IjowLCJhbnN3ZXJzX3ZpZXciOiJsaXN0IiwiZW5hYmxlX3J0bF9kaXJlY3Rpb24iOiJvZmYiLCJlbmFibGVfbG9nZ2VkX3VzZXJzX21lc3NhZ2UiOiIiLCJxdWVzdGlvbnNfY291bnQiOiIiLCJlbmFibGVfcXVlc3Rpb25fYmFuayI6Im9mZiIsImVuYWJsZV9saXZlX3Byb2dyZXNzX2JhciI6Im9mZiIsImVuYWJsZV9wZXJjZW50X3ZpZXciOiJvZmYiLCJlbmFibGVfYXZlcmFnZV9zdGF0aXN0aWNhbCI6Im9uIiwiZW5hYmxlX25leHRfYnV0dG9uIjoib24iLCJlbmFibGVfcHJldmlvdXNfYnV0dG9uIjoib24iLCJlbmFibGVfYXJyb3dzIjoib2ZmIiwidGltZXJfdGV4dCI6IiIsInF1aXpfdGhlbWUiOiJjbGFzc2ljX2xpZ2h0IiwiZW5hYmxlX3NvY2lhbF9idXR0b25zIjoib2ZmIiwicmVzdWx0X3RleHQiOiIiLCJlbmFibGVfcGFzc19jb3VudCI6Im9mZiIsImhpZGVfc2NvcmUiOiJvZmYiLCJyYXRlX2Zvcm1fdGl0bGUiOiIiLCJib3hfc2hhZG93X2NvbG9yIjoicmdiYSgxMCwxMCwxMCwwLjM1KSIsInF1aXpfYm9yZGVyX3JhZGl1cyI6IjAiLCJxdWl6X2JnX2ltYWdlIjoiaHR0cHM6XC9cL2RpYWxla3RpY28uY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDIyXC8wOFwvUTMuanBnIiwicXVpel9ib3JkZXJfd2lkdGgiOiIzIiwicXVpel9ib3JkZXJfc3R5bGUiOiJzb2xpZCIsInF1aXpfYm9yZGVyX2NvbG9yIjoiIzAwMCIsInF1aXpfbG9hZGVyIjoiZmFjZWJvb2siLCJjcmVhdGVfZGF0ZSI6bnVsbCwiYXV0aG9yIjoie1wiaWRcIjpcIjFcIixcIm5hbWVcIjpcIkRhbmllbCBEaWFsXFx1MDBlOWt0aWNvXCJ9IiwicXVlc3RfYW5pbWF0aW9uIjoic2hha2UiLCJmb3JtX3RpdGxlIjoiIiwiZW5hYmxlX2JnX211c2ljIjoib2ZmIiwicXVpel9iZ19tdXNpYyI6IiIsImFuc3dlcnNfZm9udF9zaXplIjoxNSwic2hvd19jcmVhdGVfZGF0ZSI6Im9mZiIsInNob3dfYXV0aG9yIjoib2ZmIiwiZW5hYmxlX2Vhcmx5X2ZpbmlzaCI6Im9mZiIsImFuc3dlcnNfcndfdGV4dHMiOiJvbl9wYXNzaW5nIiwiZGlzYWJsZV9zdG9yZV9kYXRhIjoib2ZmIiwiZW5hYmxlX2JhY2tncm91bmRfZ3JhZGllbnQiOiJvZmYiLCJiYWNrZ3JvdW5kX2dyYWRpZW50X2NvbG9yXzEiOiIjMDAwIiwiYmFja2dyb3VuZF9ncmFkaWVudF9jb2xvcl8yIjoiI2ZmZiIsInF1aXpfZ3JhZGllbnRfZGlyZWN0aW9uIjoidmVydGljYWwiLCJyZWRpcmVjdF9hZnRlcl9zdWJtaXQiOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfdXJsIjoiIiwic3VibWl0X3JlZGlyZWN0X2RlbGF5IjoiMCIsInByb2dyZXNzX2Jhcl9zdHlsZSI6InRoaXJkIiwiZW5hYmxlX2V4aXRfYnV0dG9uIjoib2ZmIiwiZXhpdF9yZWRpcmVjdF91cmwiOiIiLCJpbWFnZV9zaXppbmciOiJjb3ZlciIsInF1aXpfYmdfaW1hZ2VfcG9zaXRpb24iOiJjZW50ZXIgY2VudGVyIiwiY3VzdG9tX2NsYXNzIjoiIiwiZW5hYmxlX3NvY2lhbF9saW5rcyI6Im9mZiIsInNvY2lhbF9saW5rcyI6eyJsaW5rZWRpbl9saW5rIjoiIiwiZmFjZWJvb2tfbGluayI6IiIsInR3aXR0ZXJfbGluayI6IiIsInZrb250YWt0ZV9saW5rIjoiIiwiaW5zdGFncmFtX2xpbmsiOiIiLCJ5b3V0dWJlX2xpbmsiOiIiLCJiZWhhbmNlX2xpbmsiOiIifSwic2hvd19xdWl6X3RpdGxlIjoib2ZmIiwic2hvd19xdWl6X2Rlc2MiOiJvbiIsInNob3dfbG9naW5fZm9ybSI6Im9mZiIsIm1vYmlsZV9tYXhfd2lkdGgiOiIiLCJsaW1pdF91c2Vyc19ieSI6ImlwIiwiYWN0aXZlX2RhdGVfY2hlY2siOiJvZmYiLCJhY3RpdmVJbnRlcnZhbCI6IjIwMjMtMDUtMjEgMjI6MDI6NDkiLCJkZWFjdGl2ZUludGVydmFsIjoiMjAyMy0wNS0yMSAyMjowMjo0OSIsImFjdGl2ZV9kYXRlX3ByZV9zdGFydF9tZXNzYWdlIjoiVGhlIHF1aXogd2lsbCBiZSBhdmFpbGFibGUgc29vbiEiLCJhY3RpdmVfZGF0ZV9tZXNzYWdlIjoiXHUwMGExRWwgdGVzdCBoYSBleHBpcmFkbyEiLCJleHBsYW5hdGlvbl90aW1lIjoiNCIsImVuYWJsZV9jbGVhcl9hbnN3ZXIiOiJvZmYiLCJzaG93X2NhdGVnb3J5Ijoib2ZmIiwic2hvd19xdWVzdGlvbl9jYXRlZ29yeSI6Im9mZiIsImRpc3BsYXlfc2NvcmUiOiJieV9wZXJjYW50YWdlIiwiZW5hYmxlX3J3X2FzbndlcnNfc291bmRzIjoib24iLCJhbnNfcmlnaHRfd3JvbmdfaWNvbiI6ImRlZmF1bHQiLCJxdWl6X2JnX2ltZ19pbl9maW5pc2hfcGFnZSI6Im9mZiIsImZpbmlzaF9hZnRlcl93cm9uZ19hbnN3ZXIiOiJvZmYiLCJhZnRlcl90aW1lcl90ZXh0IjoiIiwiZW5hYmxlX2VudGVyX2tleSI6Im9uIiwiYnV0dG9uc190ZXh0X2NvbG9yIjoiI2ZmZmZmZiIsImJ1dHRvbnNfcG9zaXRpb24iOiJjZW50ZXIiLCJzaG93X3F1ZXN0aW9uc19leHBsYW5hdGlvbiI6Im9uX3Bhc3NpbmciLCJlbmFibGVfYXVkaW9fYXV0b3BsYXkiOiJvZmYiLCJidXR0b25zX3NpemUiOiJtZWRpdW0iLCJidXR0b25zX2ZvbnRfc2l6ZSI6IjE3IiwiYnV0dG9uc193aWR0aCI6IiIsImJ1dHRvbnNfbGVmdF9yaWdodF9wYWRkaW5nIjoiMjAiLCJidXR0b25zX3RvcF9ib3R0b21fcGFkZGluZyI6IjEwIiwiYnV0dG9uc19ib3JkZXJfcmFkaXVzIjoiMyIsImVuYWJsZV9sZWF2ZV9wYWdlIjoib24iLCJlbmFibGVfdGFja2Vyc19jb3VudCI6Im9mZiIsInRhY2tlcnNfY291bnQiOiIiLCJwYXNzX3Njb3JlIjowLCJwYXNzX3Njb3JlX21lc3NhZ2UiOiI8aDQgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj5Db25ncmF0dWxhdGlvbnMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IHBhc3NlZCB0aGUgcXVpeiE8XC9wPiIsImZhaWxfc2NvcmVfbWVzc2FnZSI6IjxoNCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlclwiPk9vcHMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IGhhdmUgbm90IHBhc3NlZCB0aGUgcXVpeiFcclxuVHJ5IGFnYWluITxcL3A+IiwicXVlc3Rpb25fZm9udF9zaXplIjoxNiwicXVpel93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVlc3Rpb25zX2hpbnRfaWNvbl9vcl90ZXh0IjoiZGVmYXVsdCIsInF1ZXN0aW9uc19oaW50X3ZhbHVlIjoiIiwiZW5hYmxlX2Vhcmx5X2ZpbnNoX2NvbWZpcm1fYm94Ijoib24iLCJlbmFibGVfcXVlc3Rpb25zX29yZGVyaW5nX2J5X2NhdCI6Im9mZiIsInNob3dfc2NoZWR1bGVfdGltZXIiOiJvZmYiLCJzaG93X3RpbWVyX3R5cGUiOiJjb3VudGRvd24iLCJxdWl6X2xvYWRlcl90ZXh0X3ZhbHVlIjoiIiwiaGlkZV9jb3JyZWN0X2Fuc3dlcnMiOiJvZmYiLCJzaG93X2luZm9ybWF0aW9uX2Zvcm0iOiJvbiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWYiOiIiLCJkaXNhYmxlX2hvdmVyX2VmZmVjdCI6Im9mZiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWZfd2lkdGgiOjEwMCwicHJvZ3Jlc3NfbGl2ZV9iYXJfc3R5bGUiOiJkZWZhdWx0IiwicXVpel90aXRsZV90cmFuc2Zvcm1hdGlvbiI6InVwcGVyY2FzZSIsInNob3dfYW5zd2Vyc19udW1iZXJpbmciOiJub25lIiwicXVpel9pbWFnZV93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVpel9pbWFnZV9oZWlnaHQiOiIiLCJxdWl6X2JnX2ltZ19vbl9zdGFydF9wYWdlIjoib2ZmIiwicXVpel9ib3hfc2hhZG93X3hfb2Zmc2V0IjowLCJxdWl6X2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYm94X3NoYWRvd196X29mZnNldCI6MTUsInF1aXpfcXVlc3Rpb25fdGV4dF9hbGlnbm1lbnQiOiJjZW50ZXIiLCJxdWl6X2Fycm93X3R5cGUiOiJkZWZhdWx0IiwicXVpel9zaG93X3dyb25nX2Fuc3dlcnNfZmlyc3QiOiJvZmYiLCJxdWl6X2Rpc3BsYXlfYWxsX3F1ZXN0aW9ucyI6Im9mZiIsInF1aXpfdGltZXJfcmVkX3dhcm5pbmciOiJvZmYiLCJxdWl6X3NjaGVkdWxlX3RpbWV6b25lIjoiQW1lcmljYVwvTWV4aWNvX0NpdHkiLCJxdWVzdGlvbnNfaGludF9idXR0b25fdmFsdWUiOiIiLCJxdWl6X3RhY2tlcnNfbWVzc2FnZSI6Ilx1MDBhMUVzdGUgdGVzdCBoYSBleHBpcmFkbyEiLCJxdWl6X2VuYWJsZV9saW5rZWRpbl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfZW5hYmxlX2ZhY2Vib29rX3NoYXJlX2J1dHRvbiI6Im9uIiwicXVpel9lbmFibGVfdHdpdHRlcl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfbWFrZV9yZXNwb25zZXNfYW5vbnltb3VzIjoib2ZmIiwicXVpel9tYWtlX2FsbF9yZXZpZXdfbGluayI6Im9mZiIsInNob3dfcXVlc3Rpb25zX251bWJlcmluZyI6Im5vbmUiLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3RpbWVyIjoiIiwiZW5hYmxlX3Bhc3N3b3JkIjoib2ZmIiwicGFzc3dvcmRfcXVpeiI6IiIsInF1aXpfcGFzc3dvcmRfbWVzc2FnZSI6IiIsImVuYWJsZV9zZWVfcmVzdWx0X2NvbmZpcm1fYm94Ijoib2ZmIiwiZGlzcGxheV9maWVsZHNfbGFiZWxzIjoib2ZmIiwiZW5hYmxlX2Z1bGxfc2NyZWVuX21vZGUiOiJvZmYiLCJxdWl6X2VuYWJsZV9wYXNzd29yZF92aXNpYmlsaXR5Ijoib2ZmIiwicXVlc3Rpb25fbW9iaWxlX2ZvbnRfc2l6ZSI6MTYsImFuc3dlcnNfbW9iaWxlX2ZvbnRfc2l6ZSI6MTUsInNvY2lhbF9idXR0b25zX2hlYWRpbmciOiIiLCJxdWl6X2VuYWJsZV92a29udGFrdGVfc2hhcmVfYnV0dG9uIjoib24iLCJhbnN3ZXJzX2JvcmRlciI6Im9uIiwiYW5zd2Vyc19ib3JkZXJfd2lkdGgiOjEsImFuc3dlcnNfYm9yZGVyX3N0eWxlIjoic29saWQiLCJhbnN3ZXJzX2JvcmRlcl9jb2xvciI6IiM0NDQiLCJzb2NpYWxfbGlua3NfaGVhZGluZyI6IiIsInF1aXpfZW5hYmxlX3F1ZXN0aW9uX2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwiYW5zd2Vyc19tYXJnaW4iOjEwLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3JlZGlyZWN0X3RpbWVyIjoiIiwiYnV0dG9uc19tb2JpbGVfZm9udF9zaXplIjoxNywiYW5zd2Vyc19ib3hfc2hhZG93Ijoib2ZmIiwiYW5zd2Vyc19ib3hfc2hhZG93X2NvbG9yIjoiIzAwMCIsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeF9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfel9vZmZzZXQiOjEwLCJxdWl6X2NyZWF0ZV9hdXRob3IiOjEsInF1aXpfZW5hYmxlX3RpdGxlX3RleHRfc2hhZG93Ijoib2ZmIiwicXVpel90aXRsZV90ZXh0X3NoYWRvd19jb2xvciI6IiMzMzMiLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3hfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3lfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3pfb2Zmc2V0IjoyLCJxdWl6X3Nob3dfb25seV93cm9uZ19hbnN3ZXJzIjoib2ZmIiwicXVpel90aXRsZV9mb250X3NpemUiOjIxLCJxdWl6X3RpdGxlX21vYmlsZV9mb250X3NpemUiOjIxLCJxdWl6X3Bhc3N3b3JkX3dpZHRoIjoiIiwicXVpel9yZXZpZXdfcGxhY2Vob2xkZXJfdGV4dCI6IiIsInF1aXpfbWFrZV9yZXZpZXdfcmVxdWlyZWQiOiJvZmYiLCJxdWl6X2VuYWJsZV9yZXN1bHRzX3RvZ2dsZSI6Im9mZiIsInF1aXpfcmV2aWV3X3RoYW5rX3lvdV9tZXNzYWdlIjoiIiwicXVpel9yZXZpZXdfZW5hYmxlX2NvbW1lbnRfZmllbGQiOiJvbiIsInF1ZXN0X2V4cGxhbmF0aW9uX2ZvbnRfc2l6ZSI6MTYsInF1ZXN0X2V4cGxhbmF0aW9uX21vYmlsZV9mb250X3NpemUiOjE2LCJxdWl6X3dhaXRpbmdfdGltZSI6Im9mZiIsIndyb25nX2Fuc3dlcnNfZm9udF9zaXplIjoxNiwid3JvbmdfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9lbmFibGVfcXVlc3Rpb25faW1hZ2Vfem9vbSI6Im9mZiIsInJpZ2h0X2Fuc3dlcnNfZm9udF9zaXplIjoxNiwicmlnaHRfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9kaXNwbGF5X21lc3NhZ2VzX2JlZm9yZV9idXR0b25zIjoib2ZmIiwicXVpel9lbmFibGVfdXNlcl9jXHUwNTcwb29zaW5nX2Fub255bW91c19hc3Nlc3NtZW50Ijoib2ZmIiwibm90ZV90ZXh0X2ZvbnRfc2l6ZSI6MTQsIm5vdGVfdGV4dF9tb2JpbGVfZm9udF9zaXplIjoxNCwicmVxdWlyZWRfZmllbGRzIjpudWxsLCJlbmFibGVfdGltZXIiOiJvZmYiLCJlbmFibGVfcXVpel9yYXRlIjoib2ZmIiwiZW5hYmxlX3JhdGVfYXZnIjoib2ZmIiwiZW5hYmxlX2JveF9zaGFkb3ciOiJvZmYiLCJlbmFibGVfYm9yZGVyIjoib24iLCJxdWl6X3RpbWVyX2luX3RpdGxlIjoib2ZmIiwiZW5hYmxlX3JhdGVfY29tbWVudHMiOiJvZmYiLCJlbmFibGVfcmVzdGFydF9idXR0b24iOiJvbiIsImF1dG9maWxsX3VzZXJfZGF0YSI6Im9mZiIsInRpbWVyIjoxMDAsInF1aXpfYmdfaW1nX2R1cmluZ190aGVfcXVpeiI6Im9mZiIsInNob3dfYW5zd2Vyc19jYXB0aW9uIjoib24iLCJxdWl6X2VuYWJsZV9rZXlib2FyZF9uYXZpZ2F0aW9uIjoib24iLCJzaG93X3F1aXpfaW1hZ2UiOiJvbiIsInF1aXpfZW5hYmxlX3F1aXpfY2F0ZWdvcnlfZGVzY3JpcHRpb24iOiJvZmYiLCJxdWl6X2VuYWJsZV93aGF0c2FwcF9zaGFyZV9idXR0b24iOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfYWZ0ZXIiOiIiLCJyd19hbnN3ZXJzX3NvdW5kcyI6dHJ1ZSwiaWQiOiIxNSIsInRpdGxlIjoiUmVncmVzaVx1MDBmM24gbG9nXHUwMGVkc3RpY2EgMSIsImRlc2NyaXB0aW9uIjoiQ29udGVzdGEgbGFzIHNpZ3VpZW50ZXMgcHJlZ3VudGFzIiwicXVpel9pbWFnZSI6IiIsInF1aXpfY2F0ZWdvcnlfaWQiOiIyIiwicXVlc3Rpb25faWRzIjoiMzksNDAsNDEiLCJvcmRlcmluZyI6IjE1IiwicHVibGlzaGVkIjoiMSIsImludGVydmFscyI6bnVsbCwicXVpel91cmwiOm51bGwsImN1c3RvbV9wb3N0X2lkIjpudWxsLCJhdXRob3JfaWQiOiIwIiwicXVpel9hbmltYXRpb25fdG9wIjoxMDAsInF1aXpfZW5hYmxlX2FuaW1hdGlvbl90b3AiOiJvbiJ9';
        </script>
                    <input type='hidden' name='quiz_id' value='15'/>
                    <input type='hidden' name='start_date' class='ays-start-date'/>
                </form></div>
                            </div>
                            



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<div style="height:0px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center">Matemáticas de la regresión logística</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Libro_1.jpg" alt="Libro_1" class="wp-image-6962" style="width:125px;height:125px" title="Regresión logística: fundamentos, programación y matemáticas 169" srcset="https://dialektico.com/wp-content/uploads/2024/04/Libro_1.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Libro_1-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Para enunciar las <strong>definiciones matemáticas</strong> correspondientes para la comprensión de la <strong>regresión logística</strong>, atenderemos al ejemplo propuesto y el cómo resolverlo considerando lo que sabemos hasta ahora, de forma que alcancemos poco a poco tales definiciones.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Regresión lineal vs regresión logística para algoritmos de clasificación</h3>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Volvamos de nuevo al punto de inicio de nuestra tarea de clasificación de canciones, y realicemos una pregunta más específica:</p>



<ul class="wp-block-list">
<li>¿Cómo puedo crear un algoritmo que clasifique canciones en dos categorías (reggaeton y black metal) dado su grado de bailabilidad?</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ahora intentaremos utilizar el conocimiento que ya tenemos de <strong>machine learning</strong> hasta nuestra exploración pasada para dar respuesta a esta cuestión, por lo que planteamos la siguiente pregunta: </p>



<ul class="wp-block-list">
<li>¿Puedo utilizar una <strong><a href="https://dialektico.com/wp-content/uploads/2024/10/regresionlineal_317.png">regresión lineal</a></strong> para obtener un modelo que haga los cálculos necesarios para este algoritmo de <strong>clasificación</strong>?</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Al principio podría sonar relativamente confuso, o incluso sin sentido, ya que nuestra definición de regresión lineal no comprende el uso de probabilidades; sin embargo, podríamos pensar de manera no premeditada que es posible calcular la probabilidad <span class="katex-eq" data-katex-display="false">p(x)</span> como <strong>salida</strong> dados los valores de la <strong>variable independiente</strong> <span class="katex-eq" data-katex-display="false">x</span>. Es decir, postular <span class="katex-eq" data-katex-display="false">p(x)</span> como una función lineal de <span class="katex-eq" data-katex-display="false">x</span> como sigue:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
    p(x)=\theta_{0}+\theta_{1}x\:. \tag{3.23}
\end{aligned}
</pre></div>



<p>Dicho esto, y con lo que ya se ha mencionado durante el recorrido, ¿puedes decir cuál es el mayor impedimento para que pueda modelarse de esta manera?</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2024/05/IRLG_M1.jpg" alt="IRLG M1" class="wp-image-8069" style="width:570px;height:auto" title="Regresión logística: fundamentos, programación y matemáticas 170" srcset="https://dialektico.com/wp-content/uploads/2024/05/IRLG_M1.jpg 1080w, https://dialektico.com/wp-content/uploads/2024/05/IRLG_M1-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>¿Lo recuerdas?, de nuevo se trata del <strong>rango</strong> en el que deben estar contenidas las <strong>salidas </strong>si estas son <strong>probabilidades</strong>. Recordemos que para toda probabilidad <span class="katex-eq" data-katex-display="false">p(x)</span> se cumple que <span class="katex-eq" data-katex-display="false">p(x)\in(0,1)</span>, y las <strong>funciones lineales</strong> no están limitadas a estos valores, sus salidas pueden generar cifras tanto mayores a <span class="katex-eq" data-katex-display="false">1</span>, como negativas.</p>



<p>Esta y otras razones no postulan a la <strong>regresión lineal</strong> como una buena candidata para el mapeo de probabilidades, y para <strong>algoritmos de clasificación</strong> en general.</p>



<p>Sin embargo, es conveniente encontrar una <strong>expresión lineal</strong> que pueda ser utilizada para modelar la relación entre las variables <strong>dependientes </strong>y la variable <strong>independiente</strong>, ya que permitiría entender cómo los cambios en las variables independientes afectan a la <strong>probabilidad</strong> de que ocurra un <strong>evento </strong>específico, el cual está representado por la variable dependiente. Por ello, buscaremos la forma de modelar la interacción lineal entre estas, y a su vez mapear sus salidas a una <strong>probabilidad</strong>.</p>



<p>Un elemento oportuno para esto es la <strong>razón de probabilidad</strong> (odds), la cual se escribe como sigue:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
    \text{odds}=\frac{p(x)}{1-p(x)}\:, \tag{3.24}
\end{aligned}</pre></div>



<p>donde <span class="katex-eq" data-katex-display="false">p(x)</span> es la probabilidad de que ocurra un evento. Esta razón de probabilidades expresa la <strong>proporción </strong>o <strong>razón </strong>de la <strong>probabilidad </strong>de que ocurra un evento y la probabilidad de que no ocurra, y la utilizaremos para modelar las relaciones entre las variables que determinan esas ocurrencias o no ocurrencias.</p>



<p>Se asume, entonces, que esta <strong>razón de probabilidad</strong> puede ser expresada como una <strong>combinación lineal</strong> de las variables independientes (predictoras), es decir:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
    \frac{p(x)}{1-p(x)}=\theta_{0}+\theta_{1}x\:. \tag{3.25}
\end{aligned}</pre></div>



<p>Ahora tenemos una ecuación que iguala la razón de las probabilidades de ocurrencia y no ocurrencia<strong> </strong>de un evento con la <strong>combinación lineal</strong> de las <strong>variables predictoras</strong>, permitiendo relacionar las probabilidades con los elementos de una expresión lineal. Sin embargo, hay una inconsistencia matemática relacionada a los valores que puede tomar la expresión lineal del lado derecho (su <strong>rango </strong>o<strong> imagen</strong>), los cuales se encuentran en el rango <span class="katex-eq" data-katex-display="false">(-\infty,\infty)</span>, mientras que el rango de la función odds es <span class="katex-eq" data-katex-display="false">(0,\infty)</span>. Para lidiar con esto, se realiza una <strong>transformación </strong>sobre la razón de probabilidades odds aplicando un <strong>logaritmo natural</strong>, quedando</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
    \mathrm{ln}(\frac{p(x)}{1-p(x)})=\theta_{0}+\theta_{1}x\:. \tag{3.26}
\end{aligned}</pre></div>



<p>Esta forma es llamada <strong>logit</strong>, y es conveniente en este sentido ya que la concordancia entre los rangos de ambos lados de la ecuación permiten la igualación de una combinación lineal de las variables independientes a la razón de probabilidades (ya que el rango de un logaritmo natural también es <span class="katex-eq" data-katex-display="false">(-\infty,\infty)</span>).</p>



<p>Finalmente, como buscamos obtener una función de probabilidad, despejamos <span class="katex-eq" data-katex-display="false">p(x)</span> en la ecuación, obteniendo</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
   p(y|x,\theta)=\frac{1}{1+e^{-(\theta_{0}+\theta_{1}x)}}\:. \tag{3.27}
\end{aligned}</pre></div>



<p>donde <span class="katex-eq" data-katex-display="false">p(y|x,\theta)</span> es equivalente a <span class="katex-eq" data-katex-display="false">p(x)</span>, detallando que se expresa la probabilidad de que el evento <span class="katex-eq" data-katex-display="false">y</span> suceda dada la variable independiente <span class="katex-eq" data-katex-display="false">x</span> parametrizada por coeficientes <span class="katex-eq" data-katex-display="false">\theta</span>.</p>



<p>Esta forma final es conocida como<strong> función logística</strong> <span class="katex-eq" data-katex-display="false">\sigma(x)</span>, y su principal virtud es que los valores que pueden tomar sus salidas oscilan entre el <span class="katex-eq" data-katex-display="false">0</span> y el <span class="katex-eq" data-katex-display="false">1</span>, por lo que pueden ser interpretadas como <strong>probabilidades</strong>. En este caso, <span class="katex-eq" data-katex-display="false">p(y|x;\theta)</span> quiere decir «la probabilidad de <span class="katex-eq" data-katex-display="false">y</span> dados <span class="katex-eq" data-katex-display="false">x</span> y <span class="katex-eq" data-katex-display="false">\theta</span>. El rango de esta función es fácilmente constatable en la<strong> Figura 3.3.1</strong>:</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2023/05/image-11.png" alt="image 11" style="width:464px" title="Regresión logística: fundamentos, programación y matemáticas 171"><figcaption class="wp-element-caption"><strong>Fig. 3.3.1</strong> Gráfica de una función logística. Se puede observar cómo para valores cada vez mayores de <span class="katex-eq" data-katex-display="false">x</span> las salidas de la función tienden a <span class="katex-eq" data-katex-display="false">1</span>, mientras que para valores cada vez menores, tienden a <span class="katex-eq" data-katex-display="false">0</span>.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2024/05/IRLG_M1_v2.jpg" alt="IRLG M1 v2" class="wp-image-8244" style="width:521px;height:auto" title="Regresión logística: fundamentos, programación y matemáticas 172" srcset="https://dialektico.com/wp-content/uploads/2024/05/IRLG_M1_v2.jpg 1080w, https://dialektico.com/wp-content/uploads/2024/05/IRLG_M1_v2-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Podemos resumir la <strong>lógica </strong>de lo que hemos revisado hasta ahora como sigue:</p>



<ul class="wp-block-list">
<li>Podemos tener la necesidad de modelar<strong> probabilidades condicionales</strong> para realizar clasificaciones de datos, pero la <strong>regresión lineal</strong> convencional no funciona adecuadamente para ello.</li>



<li>Sin embargo, pretendemos utilizar un proceso de regresión asumiendo que la relación entre las variables inmiscuidas es lineal, por lo que igualamos el<strong> logaritmo natural</strong> de la <strong>razón de probabilidad</strong> a una combinación lineal de las variables predictoras o regresoras.</li>



<li>Finalmente, se manipula la ecuación para definir la probabilidad en función de <span class="katex-eq" data-katex-display="false">x</span> y <span class="katex-eq" data-katex-display="false">\theta</span>, dando como resultado una función logística, la cual arroja salidas únicamente comprendidas entre <span class="katex-eq" data-katex-display="false">0</span> y <span class="katex-eq" data-katex-display="false">1</span>, y que pueden ser interpretadas como <strong>probabilidades</strong>.</li>
</ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Con esto ya contamos con todos los elementos necesarios para hacer la <strong>definición formal</strong> de la <strong>regresión logística</strong>, la cual generalizaremos a más de una variable independiente.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex">
<h3 class="wp-block-heading">Definición de la regresión logística</h3>
</div>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p><strong>Definición 3.6</strong> <strong>(Regresión logística).</strong> Dado un conjunto <span class="katex-eq" data-katex-display="false">\lbrace (x_{1},y_{1}),…,(x_{N},y_{N})\rbrace</span> de <span class="katex-eq" data-katex-display="false"> N </span> observaciones o datos etiquetados, donde cada entrada <span class="katex-eq" data-katex-display="false"> x_n </span> está compuesta por un conjunto <span class="katex-eq" data-katex-display="false"> \lbrace x_n^1, x_n^2, \ldots, x_n^D \rbrace </span> de <span class="katex-eq" data-katex-display="false"> D </span> variables independientes, predictoras o regresoras parametrizadas por un conjunto <span class="katex-eq" data-katex-display="false"> \lbrace\theta_0, \theta_1, \ldots, \theta_D\rbrace </span> de <span class="katex-eq" data-katex-display="false"> D </span> coeficientes correspondientes a cada variable regresora <span class="katex-eq" data-katex-display="false"> x_n^d </span>, y cada salida del conjunto de datos es binaria, es decir, <span class="katex-eq" data-katex-display="false"> y_n \in {0, 1} </span>, la regresión logística es un método que pretende modelar las relaciones entre estas entradas y salidas, y mapearlas a probabilidades mediante el ajuste de los parámetros de la función</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
   \sigma(x_n) &amp;=p(y_{n}=1|x_{n},\theta)\\
 &amp;=\frac{1}{1+e^{-(\theta_0{} + \sum_{i=1}^D \theta_{d} x_n^{d})}}\:, \tag{3.28}
\end{aligned}</pre></div>



<p>donde <span class="katex-eq" data-katex-display="false"> p(y_n = 1|x_n, \theta) </span> quiere decir &lt;&lt;probabilidad condicional de <span class="katex-eq" data-katex-display="false"> y_n = 1 </span> dados los valores de la variable independiente parametrizada por <span class="katex-eq" data-katex-display="false"> \theta </span>&gt;&gt;, donde <span class="katex-eq" data-katex-display="false">1</span> representa a una clase en particular. Es decir, <span class="katex-eq" data-katex-display="false"> p(y_n = 1|x_n, \theta) </span> se refiere a la probabilidad de que una entrada <span class="katex-eq" data-katex-display="false"> x_n </span> parametrizada por <span class="katex-eq" data-katex-display="false"> \theta </span> pertenezca a una categoría arbitraria representada por el número <span class="katex-eq" data-katex-display="false">1</span>.</p>



<p>Y en general, hay que tomar en cuenta que <span class="katex-eq" data-katex-display="false">\sigma:\mathbb{R}\rightarrow(0,1)</span>.</p>



<p>Por último, tengamos en mente que la función sigmoidea de una sola variable, que es la que estaremos utilizando en nuestros ejercicios, tiene la siguiente forma:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
   \sigma(x_n)=\frac{1}{1+e^{-(\theta_{0}+\theta_{1}x_n)}}\:,  \tag{3.29}
\end{aligned}</pre></div>



<p>donde, recordemos, <span class="katex-eq" data-katex-display="false">\sigma(x_n)=p(y_{n}=1|x_{n},\theta)</span>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/05/IRLG_L2.jpg" alt="IRLG L2" class="wp-image-8129" style="width:504px" title="Regresión logística: fundamentos, programación y matemáticas 173" srcset="https://dialektico.com/wp-content/uploads/2024/05/IRLG_L2.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/05/IRLG_L2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Veremos esta función aplicada a nuestro ejemplo, y su comprensión será mucho más fácil. Por lo pronto, hemos definido cómo es que la<strong> regresión logística</strong> mapea números reales a <strong>probabilidades condicionales</strong>, las cuales utilizamos para designar una <strong>entrada</strong> a una <strong>categoría </strong>específica. Antes de aplicar esto a nuestro ejemplo, veamos cómo estimar los <strong>parámetros</strong> de nuestra función, lo cual es el proceso de <strong>entrenamiento </strong>del algoritmo de <strong>machine learning</strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Estimación de parámetros en la regresión logística</h3>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Existen varios métodos para ajustar los <strong>parámetros </strong>de un modelo de regresión logística, pero aquí haremos hincapié en uno en específico por el enorme eco que hace en la teoría del <strong>machine learning </strong>desde su <strong>perspectiva probabilística</strong>. Esta técnica es conocida como <strong>estimación de la máxima verosimilitud</strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading has-text-color" style="color:#880000"><strong>Estimación de la máxima verosimilitud (MLE)</strong></h4>



<p>La estimación de la <strong>máxima verosimilitud</strong> (MLE, por las siglas en inglés de <em>Maximum Likelihood Estimation</em>) es una metodología para estimar los parámetros de un modelo probabilístico mediante lo que se conoce como <strong>verosimilitud</strong>, el cual es un componente clave de la <strong>probabilidad bayesiana</strong>. En general, la <strong>MLE</strong> es comparable como marco general a la <strong><a href="https://dialektico.com/introduccion-a-la-regresion-lineal/#minRE">minimización del riesgo empírico</a></strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-color" style="color:#880000"><strong>Función de verosimilitud</strong></p>



<p><strong>Definición 3.7</strong> <strong>(Función de verosimilitud).</strong> Dada una función de masa o función de densidad de probabilidad <span class="katex-eq" data-katex-display="false">f(x|\theta)</span>, donde <span class="katex-eq" data-katex-display="false">x_1, x_2, …, x_N</span> son <span class="katex-eq" data-katex-display="false">N</span> observaciones independientes e identicamente distribuidas (iid), y <span class="katex-eq" data-katex-display="false">\theta</span> es el conjunto de parámetros <span class="katex-eq" data-katex-display="false">\theta_1, \theta_2, …, \theta_D</span>, la distribución de probabilidad conjunta de todas las observaciones es</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
   p(x_1, x_2,…, x_n|\theta)=f(x_1|\theta)f(x_2|\theta),...,f(x_n|\theta)\:. \tag{3.30}
\end{aligned}</pre></div>



<p>Esto es llamado <strong>función de verosimilitud</strong>, la cual expresa que los valores <span class="katex-eq" data-katex-display="false">x_1, x_2, …, x_N</span> son fijos, mientras que los parámetros <span class="katex-eq" data-katex-display="false">\theta</span> son variables, por lo que la función calcula las probabilidades de que dichas observaciones se den dados ciertos valores de los parámetros (es decir, qué tanto los valores de los parámetros generan a las observaciones).</p>



<p>Tomando en cuenta que las observaciones son independientes y que la probabilidad es conjunta, reescribimos la función de verosimilitud <span class="katex-eq" data-katex-display="false">\mathcal{L}(\theta|x)</span> como </p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
   \mathcal{L}(\theta|x_1, x_2,…, x_n) = \prod_i^nf(x_i|\theta)\:. \tag{3.31}
\end{aligned}</pre></div>



<p>Esta función determina qué tanto los valores que <strong>parametrizan</strong> a una distribución de probabilidad generan a las <strong>observaciones</strong> del conjunto de datos, por lo que puede ser utilizada para encontrar dichos valores. </p>



<p>Nótese que la notación cambia ligeramente para expresar que ahora los datos observados <span class="katex-eq" data-katex-display="false">x_1, x_2,…, x_n</span> son fijos, y los parámetros <span class="katex-eq" data-katex-display="false">\theta</span> son las incógnitas o las variables que queremos ajustar. Por lo tanto, se reorganiza el enfoque de la notación para resaltar que la función depende de <span class="katex-eq" data-katex-display="false">\theta</span>, mientras que los datos son un componente fijo.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p><strong>Definición 3.8 (Estimación de la máxima verosimilitud).</strong> Dada la función de verosimilitud mostrada en <span class="katex-eq" data-katex-display="false">(3.31)</span>, el método de estimación de máxima verosimilitud <span class="katex-eq" data-katex-display="false">\hat{\theta}</span> consiste en maximizar la probabilidad de obtener las salidas del conjunto de datos dados los valores de los parámetros mediante la operación</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
   \hat{\theta}=\mathrm{arg\:max}\mathcal{L}(\theta|x_1, x_2,…, x_n)\:, \tag{3.32}
\end{aligned}</pre></div>



<p>lo cual quiere decir que, al <strong>maximizar </strong>la probabilidad de que tales <strong>parámetros </strong>produzcan las <strong>observaciones</strong>, se hace una estimación de los valores que parametrizan al modelo (la función de distribución de probabilidad).</p>



<p>Entre otras palabras, para un <strong>modelo probabilístico</strong>, la <strong>máxima verosimilitud</strong> puede ser utilizada para estimar los valores de sus parámetros, así como se utiliza la <strong>minimización del riesgo empírico</strong> en algoritmos como la regresión lineal.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Máxima verosimilitud en la regresión logística</h4>



<p>No ahondaremos mucho en todo el proceso matemático involucrado en la estimación de los parámetros de la <strong>regresión logística</strong> utilizando la <strong>máxima verosimilitud</strong>, pero sí hablaremos un poco sobre las consideraciones matemáticas que conducen al cómo realizarla.</p>



<p>Debemos recordar que el objetivo del modelo obtenido por la regresión logística es predecir la probabilidad de ocurrencia de un evento binario en función de un conjunto de variables predictoras, por lo que la distribución de probabilidad que mejor se adecúa a este caso es la <strong>distribución de</strong> <strong>Bernoulli</strong>:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
   f(x;p) = p^x(1-p)^{1-x}, \quad x \in {0,1}\ \tag{3.33}
\end{aligned}</pre></div>



<p>donde <span class="katex-eq" data-katex-display="false">p</span> es la probabilidad de éxito de un experimento, o probabilidad de que <span class="katex-eq" data-katex-display="false">x=1</span>, siendo <span class="katex-eq" data-katex-display="false">x</span> el resultado del experimento.</p>



<p>Sabiendo esto, tenemos que la <strong>función de verosimilitud</strong> de la distribución de Bernoulli que utilizaremos para estimar los parámetros es:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
   \mathcal{L}(\theta) = \prod_{n=1}^{N} p_n^{y_n}(1-p_n)^{(1-y_n)}\:, \tag{3.34}
\end{aligned}</pre></div>



<p>donde <span class="katex-eq" data-katex-display="false">p_n</span> es la probabilidad de que <span class="katex-eq" data-katex-display="false">y=1</span> dadas las variables predictoras <span class="katex-eq" data-katex-display="false">x_n^{d}</span> y los parámetros <span class="katex-eq" data-katex-display="false">\theta</span>, es decir,</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
   p_n = p(y = 1 | x_n, \theta) =\frac{1}{1+e^{-(\theta_0{} + \sum_{i=1}^D \theta_{d} x_n^{d})}}\:. \tag{3.35}
\end{aligned}</pre></div>



<p>Además, la función de verosimilitud se suele expresar en términos de un <strong>logaritmo natural </strong>para la simplificación de cálculos, dando como resultado que la estimación de parámetros del modelo esté dada por</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
   \mathrm{arg\:max}\:\mathcal{L}(\theta|x_1, x_2,…, x_N) = \sum_{n=1}^{N} y_n \log(p_n) + (1 - y_n) \log(1-p_n)\:, \tag{3.36}
\end{aligned}</pre></div>



<p>siendo esta la forma final de la función que ajusta los valores de los parámetros del modelo.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/05/IRLG_A2.jpg" alt="IRLG A2" class="wp-image-8145" style="width:492px" title="Regresión logística: fundamentos, programación y matemáticas 174" srcset="https://dialektico.com/wp-content/uploads/2024/05/IRLG_A2.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/05/IRLG_A2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/05/IRLG_A3.jpg" alt="IRLG A3" class="wp-image-8146" style="width:494px" title="Regresión logística: fundamentos, programación y matemáticas 175" srcset="https://dialektico.com/wp-content/uploads/2024/05/IRLG_A3.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/05/IRLG_A3-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Aplicación de la regresión logística para clasificación de datos</h3>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Es tiempo de volver al <strong>ejemplo</strong> planteado y explicar cómo es que el <strong>modelo </strong>obtenido puede ser utilizado para realizar las <strong>clasificaciones </strong>deseadas.</p>



<p>Supongamos que hemos utilizado la <strong>regresión logística</strong> alimentando al algoritmo con nuestros <strong>datos </strong>de canciones, tomando ahora como objetivo a la clase «<strong>reggaeton</strong>» (ahora buscamos predecir qué tan probable es que una canción sea de reggaaeton según su bailabilidad), y el ajuste de los <strong>parámetros </strong>ha quedado como sigue:</p>



<p class="has-text-align-center"><span class="katex-eq" data-katex-display="false">\theta_{0} = -2.28</span></p>



<p class="has-text-align-center"><span class="katex-eq" data-katex-display="false">\theta_{1} = 4.12</span></p>



<p>Dado que solo tenemos una variable independiente, o regresor, el cual es la bailabilidad de la canción, utilizamos el modelo de regresión logística univariable mostrada en la <strong>Ecuación <a href="https://dialektico.com/wp-content/uploads/2024/10/funcionsigmo_329.png">(3.29)</a></strong>, donde al sustituir con los valores de los parámetros obtenidos de la fase de entrenamiento, quedaría como sigue:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
   \sigma(x_n)=\frac{1}{1+e^{-(-2.28+4.12(x_n))}} \tag{3.37}
\end{aligned}</pre></div>



<p>Ahora tomaremos dos canciones del <strong><a href="https://dialektico.com/conjuntos-train-dev-test/">conjunto de prueba</a></strong> y estimaremos la <strong>probabilidad </strong>de que pertenezcan a la categoría <strong>reggaeton</strong>, que está representada con el número 1. Las canciones a utilizar serán <strong>Deathmask Divine</strong> y <strong>Gasolina</strong> (un clásico de clásicos), cuyos grados de bailabilidad son:</p>



<figure class="wp-block-table aligncenter is-style-stripes"><table><tbody><tr><td><strong>Canción</strong></td><td class="has-text-align-center" data-align="center"><strong>Bailabilidad</strong></td></tr><tr><td>Deathmask Divine</td><td class="has-text-align-center" data-align="center">0.43</td></tr><tr><td>Gasolina</td><td class="has-text-align-center" data-align="center">0.85</td></tr></tbody></table></figure>



<p>Realizamos el cálculo para la primer canción utilizando la <strong>función sigmoidea</strong>, donde <span class="katex-eq" data-katex-display="false">x_n=0.43</span>:</p>



<p class="has-text-color" style="color:#6f0000"><strong>Estimación de probabilidad para Deathmask Divine</strong></p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
   \sigma(0.43)=\frac{1}{1+e^{-(-2.28+4.12(0.43))}}=0.38 \tag{3.38}
\end{aligned}</pre></div>



<p>Para entender cómo es que el patrón descrito por esta función dibuja las <strong>probabilidades </strong>en función de las <strong>entradas</strong>, observemos la gráfica de la estimación dada para <strong>Deathmask Divine</strong>:</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2023/05/RegLogExp2-1.jpg" alt="regresión logística python" style="width:625px" title="Regresión logística: fundamentos, programación y matemáticas 176"><figcaption class="wp-element-caption"><strong>Fig. 3.3.3</strong> Localización del punto correspondiente al par (bailabilidad, predicción) realizado con la función logística. El punto sobre la curva representa la probabilidad de que una canción con bailabilidad=0.43 (eje horizontal) pertenezca al género reggaeton.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ahora realizamos el cálculo para la canción <strong>Gasolina</strong>, con <span class="katex-eq" data-katex-display="false">x_n=0.85</span>.</p>



<p class="has-text-color" style="color:#6f0000"><strong>Estimación de probabilidad para Gasolina</strong></p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
   \sigma(0.85)=\frac{1}{1+e^{-(-2.28+4.12(0.85))}}=0.77 \tag{3.39}
\end{aligned}</pre></div>



<figure class="wp-block-image aligncenter size-large is-resized"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2023/05/RegLogExp3.jpg" alt="regresión logística python" style="width:625px" title="Regresión logística: fundamentos, programación y matemáticas 177"><figcaption class="wp-element-caption"><strong>Fig. 3.3.4</strong> Punto sobre la recta correspondiente a la probabilidad calculada para la canción Gasolina, con una bailabilidad = <span class="katex-eq" data-katex-display="false">0.85</span>.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Se puede apreciar cómo las probabilidades son marcadamente diferentes para cada una, pero ¿cómo es que nuestro algoritmo de machine learning decidirá etiquetar nuestros datos en <strong>clases </strong>utilizando estos valores?</p>



<p>Este es el paso final, y la respuesta a esto es un elemento conocido como <strong>límite de decisión</strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Límite de decisión</h3>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Para asignar <strong>categorías </strong>a cada dato dada la <strong>probabilidad</strong> mapeada por la <strong>función logística</strong> se utiliza el <strong>límite de decisión</strong>, el cual es el <strong>umbral </strong>que define si esta probabilidad es suficiente o insuficiente para que una observación pertenezca a la clase de referencia. </p>



<p><strong>Definición 3.9 (Límite de decisión).</strong> Dada la función logística generada por la regresión logística, el límite de decisión <span class="katex-eq" data-katex-display="false">b_{dec}</span> se obtiene mediante</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
   b_{dec}=-\frac{\theta_{0}}{\theta_{1}}\:\, \tag{3.40}
\end{aligned}</pre></div>



<p>cuyo resultado es la <strong>frontera </strong>en la que la probabilidad de pertenecer a una clase es igual a <span class="katex-eq" data-katex-display="false">0.5</span>, es decir, determina qué valor de las salidas de la función sigmoidea funge como el <strong>umbral </strong>entre la asignación de una <strong>clase</strong> u otra.</p>



<p>Para entenderlo mejor, procederemos a calcular el valor del límite de decisión para nuestro modelo:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
   b_{dec}=-\frac{-2.39}{4.12}=0.58\:\, \tag{3.41}
\end{aligned}</pre></div>



<p>Por lo tanto, para toda canción con probabilidad <span class="katex-eq" data-katex-display="false">p(y=1|x,\theta)</span> estimada por la función logística, se cumple que:</p>



<ul class="wp-block-list">
<li>La canción pertenece a la clase <span class="katex-eq" data-katex-display="false">1</span> si su probabilidad es mayor a <span class="katex-eq" data-katex-display="false">0.58</span> (si <span class="katex-eq" data-katex-display="false">p&gt;b_{dec}</span>).</li>



<li>La canción pertenece a la clase <span class="katex-eq" data-katex-display="false">0</span> si su probabilidad es menor que <span class="katex-eq" data-katex-display="false">0.58</span> (si <span class="katex-eq" data-katex-display="false">p&lt;b_{dec}</span>).</li>
</ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>De acuerdo con esto, veamos qué <strong>categorías </strong>corresponden a cada una de las canciones seleccionadas a evaluar:</p>



<figure class="wp-block-table aligncenter is-style-stripes"><table><tbody><tr><td><strong>Canción</strong></td><td class="has-text-align-center" data-align="center"><strong>Probabilidad</strong></td><td class="has-text-align-center" data-align="center"><strong>Categoría</strong> <strong>estimada</strong></td></tr><tr><td>Efecto</td><td class="has-text-align-center" data-align="center">0.73</td><td class="has-text-align-center" data-align="center">Reggaeton</td></tr><tr><td>Deathcrush</td><td class="has-text-align-center" data-align="center">0.20</td><td class="has-text-align-center" data-align="center">Black metal</td></tr><tr><td>Blow your trumpets Gabriel</td><td class="has-text-align-center" data-align="center">0.17</td><td class="has-text-align-center" data-align="center">Black metal</td></tr><tr><td>TQG</td><td class="has-text-align-center" data-align="center">0.66</td><td class="has-text-align-center" data-align="center">Reggaeton</td></tr><tr><td>Apotheosis</td><td class="has-text-align-center" data-align="center">0.19</td><td class="has-text-align-center" data-align="center">Black metal</td></tr></tbody></table><figcaption class="wp-element-caption"><strong>Tabla 3.3.3 </strong>Categorías atribuidas a cada canción respecto a las probabilidades estimadas por el modelo. Nótese que toda canción con probabilidad por encima de 0.58 pertenece a la clase Reggaeton, siendo el caso contrario para las probabilidades debajo de este valor.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2024/05/IRLG_M2.jpg" alt="IRLG M2" class="wp-image-8162" style="width:540px" title="Regresión logística: fundamentos, programación y matemáticas 178" srcset="https://dialektico.com/wp-content/uploads/2024/05/IRLG_M2.jpg 1080w, https://dialektico.com/wp-content/uploads/2024/05/IRLG_M2-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Con esto queda entendido que este umbral nos dice si un dato pertenecerá o no a una clase: si la <strong>probabilidad </strong>calculada para cierta observación está por encima del <strong>límite</strong>, entonces pertenece a la clase de referencia, y viceversa.</p>



<p>De forma gráfica, el límite de decisión para una <strong>función sigmoidea</strong> con una variable predictora luce como una <strong>línea recta</strong>, la cual separa las observaciones después de haberse adjudicado a alguna clase:</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="629" height="606" src="https://dialektico.com/wp-content/uploads/2024/05/RegLogExp5.jpg" alt="" class="wp-image-8187" style="width:646px" title="Regresión logística: fundamentos, programación y matemáticas 179"><figcaption class="wp-element-caption"><strong>Fig. 3.3.5</strong> Gráfica del límite de decisión de la regresión logística. Se presenta como una recta horizontal punteada que separa a las observaciones clasificadas sobre la curva de la función sigmoidea (color rojo: observaciones que pertenecen a la clase reggaeton; color azul: observaciones que pertenecen a la clase black metal).</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En la gráfica se puede notar que el modelo no es un predictor perfecto: existen algunos puntos debajo del umbral de decisión que aún forman parte de la clase objetivo, lo cual es normal sabiendo que se trata de un fenómeno <strong>no determinista</strong>.</p>



<p>Para concluir, con toda esta información, ¿puedes contestar a la pregunta planteada al inicio de la sección?</p>



<p class="has-text-color" style="color:#980000"><strong>Pregunta</strong>:</p>



<ul class="wp-block-list">
<li>¿Cómo puedo crear un algoritmo que clasifique canciones en dos categorías (reggaeton y black metal) dado su grado de bailabilidad?</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>La respuesta corta sería: <strong>modelando</strong> la <strong>relación</strong> que existe entre la <strong>bailabilidad </strong>y la <strong>probabilidad</strong> de que una canción pertenezca a una de las <strong>clases</strong>, mapeando el resultado a un rango de probabilidades utilizando un modelo ajustado por una <strong>regresión logística</strong>, la cual calculará los parámetros del modelo <strong>maximizando </strong>la <strong>verosimilitud </strong>de su <strong>distribución de probabilidad</strong> (de <strong>Bernoulli</strong>), dando como resultado una función que genera <strong>probabilidades</strong> respecto a una entrada parametrizada, y la cual puede ser utilizada para definir si una canción pertenece o no a una clase respecto a un <strong>umbral de decisión</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/05/IRLG_K2.jpg" alt="IRLG K2" class="wp-image-8169" style="width:486px" title="Regresión logística: fundamentos, programación y matemáticas 180" srcset="https://dialektico.com/wp-content/uploads/2024/05/IRLG_K2.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/05/IRLG_K2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Es una buena pregunta, ya que es muy probable necesitar hacer clasificaciones con <strong>más de dos clases</strong>, la regresión logística de <strong>clases múltiples</strong> es un tema que retomaremos más adelante y abordaremos con mayor escrutinio. Por el momento, nos limitaremos a saber que sí es posible hacer esto, y que las técnicas más conocidas para ello son las siguientes:</p>



<ol class="wp-block-list">
<li>Uno contra el resto (One-vs-Rest).</li>



<li>Softmax o Regresión Logística Multinomial.</li>
</ol>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>De entre las cuales la función <strong>softmax </strong>será tema de discusión en una expedición próxima, ya que es un elemento recurrente en modelos de <strong>aprendizaje automático</strong>. La regresión multiclase la podrás experimentar en la <strong>práctica</strong> en <strong>Python </strong>de la siguiente sección.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2024/05/IRLG_M3.jpg" alt="IRLG M3" class="wp-image-8170" style="width:520px;height:auto" title="Regresión logística: fundamentos, programación y matemáticas 181" srcset="https://dialektico.com/wp-content/uploads/2024/05/IRLG_M3.jpg 1080w, https://dialektico.com/wp-content/uploads/2024/05/IRLG_M3-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center has-text-color" id="aprendizaje-supervisado-codigo-de-programacion" style="color:#840303">Regresión logística: código de programación en python</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Espadas_1.jpg" alt="Preprocesamiento de datos dialéktico" class="wp-image-6961" style="width:139px" title="Regresión logística: fundamentos, programación y matemáticas 182" srcset="https://dialektico.com/wp-content/uploads/2024/04/Espadas_1.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Espadas_1-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Hora de aplicar lo aprendido a un <strong>conjunto de datos reales</strong>. En esta ocasión, como ya se ha hecho mención durante toda la expedición, utilizaremos un conjunto de datos generado haciendo uso de la API de Spotify. Si te interesa aprender a hacer esto, visita el tutorial en <a href="https://dialektico.com/tutorial-api-spotify-python/">este link</a>.</p>



<p>Por lo pronto, es momento de ponernos manos a la obra:</p>



<figure class="wp-block-image aligncenter size-full is-resized mi-imagen-pulsa" id="colab"><a href="https://colab.research.google.com/github/DanielDialektico/dialektico-machine-learning-practices/blob/main/notebooks/Machine%20Learning/Aprendizaje%20Supervisado/Regresi%C3%B3n_Log%C3%ADstica.ipynb" target="_blank" rel="noopener"><img loading="lazy" decoding="async" width="860" height="422" src="https://dialektico.com/wp-content/uploads/2022/07/Boton.png" alt="colab" class="wp-image-1469" style="width:195px;height:96px" title="Regresión logística: fundamentos, programación y matemáticas 183" srcset="https://dialektico.com/wp-content/uploads/2022/07/Boton.png 860w, https://dialektico.com/wp-content/uploads/2022/07/Boton-300x147.png 300w, https://dialektico.com/wp-content/uploads/2022/07/Boton-768x377.png 768w" sizes="(max-width: 860px) 100vw, 860px" /></a></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>También puedes observar el código y previsualizar sus salidas en la siguiente ventana, pero sin posibilidad de ejecutarlo:</p>



<script src="https://gist.github.com/DanielDialektico/ed0e3cce3800ca7ebbd915f2dae413a2.js"></script>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ahora tenemos un conocimiento más que suficiente de lo que es, cómo, y para qué se utiliza la <strong>regresión logística</strong>. Este algoritmo es el que utilizaremos para introducir conceptos básicos de <strong>machine learning</strong> relativos a los algoritmos de <strong>clasificación</strong>, mientras que utilizaremos la <strong>regresión lineal</strong> para aquellos que arrojan estimaciones en rangos numéricos continuos. Estamos por comenzar a tantear terrenos que competen a <strong>fundamentos </strong>importantes del aprendizaje de máquinas, y que nos conducirán a uno de los modelos más consagrados de su historia: la <strong>red neuronal artificial</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/IRLG_OB.jpg" alt="IRLG OB" class="wp-image-8180" style="width:538px" title="Regresión logística: fundamentos, programación y matemáticas 184" srcset="https://dialektico.com/wp-content/uploads/2024/05/IRLG_OB.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/IRLG_OB-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-large is-resized mi-imagen-pulsa"><a href="https://dialektico.com/funciones-de-perdida-machine-learning/"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2022/06/Button2-1-300x147.png" alt="Button2 1" style="width:186px;height:91px" title="Regresión logística: fundamentos, programación y matemáticas 185"></a></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://dialektico.com/regresion-logistica-fundamentos/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Introducción a la regresión lineal: fundamentos, programación y matemáticas</title>
		<link>https://dialektico.com/introduccion-a-la-regresion-lineal/</link>
					<comments>https://dialektico.com/introduccion-a-la-regresion-lineal/#comments</comments>
		
		<dc:creator><![CDATA[Daniel Dialéktico]]></dc:creator>
		<pubDate>Tue, 28 Mar 2023 08:31:49 +0000</pubDate>
				<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Análisis de Datos]]></category>
		<category><![CDATA[Ciencia de datos]]></category>
		<category><![CDATA[ciencia de datos]]></category>
		<category><![CDATA[datos]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[regresión lineal]]></category>
		<guid isPermaLink="false">https://dialektico.com/?p=1458</guid>

					<description><![CDATA[Entre la diversa gama de algoritmos del machine learning, la regresión lineal es, probablemente, al menos en lo que respecta al aprendizaje supervisado, el más elemental. Esta técnica es bastante útil para realizar inferencias sobre datos cuyas variables que los describen guardan aparentes relaciones lineales entre sí; su uso abarca tanto los ámbitos científicos y [&#8230;]]]></description>
										<content:encoded><![CDATA[
<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Entre la diversa gama de algoritmos del <a href="https://dialektico.com/introduccion-machine-learning/">machine learning</a>, la<strong> regresión lineal</strong> es, probablemente, al menos en lo que respecta al <a href="https://dialektico.com/aprendizaje-supervisado/">aprendizaje supervisado</a>, el más elemental. Esta técnica es bastante útil para realizar inferencias sobre datos cuyas variables que los describen guardan aparentes <strong>relaciones lineales</strong> entre sí; su uso abarca tanto los ámbitos <strong>científicos </strong>y <strong>empresariales</strong>, y es un componente básico de algoritmos más complejos y con mayor relevancia en la actualidad como las <strong>redes neuronales artificiales</strong> (que a su vez son la partícula elemental de los avances más grandes en IA actualmente), por lo que su estudio fungirá como un puente hacia la inspección de varias definiciones relevantes del <strong>aprendizaje de máquinas</strong>.</p>



<p>En esta exploración te mostraré todo lo que necesitas saber sobre la regresión lineal: su <strong>significado</strong>, <strong>funcionamiento</strong>, <strong>definición matemática</strong>, y otras peculiaridades a tomar en cuenta para su correcta aplicación para el <strong>análisis de datos inferencial</strong>. Todo esto lo pondrás en práctica con un programa en <strong>Python</strong>, el cual tiene un enfoque hacia la resolución de un problema en el que utilizaremos datos reales.</p>



<p>Este será tu primer acercamiento a un <strong>algoritmo </strong>de <strong>machine learning</strong> cimentado desde su definición hasta la resolución de problemas utilizándolo para modelar <strong>patrones</strong> de un conjunto de datos.</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="847" src="https://dialektico.com/wp-content/uploads/2023/03/IRL_Nivel_2.jpg" alt="IRL Nivel 2" class="wp-image-10294" style="width:600px" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 186" srcset="https://dialektico.com/wp-content/uploads/2023/03/IRL_Nivel_2.jpg 1024w, https://dialektico.com/wp-content/uploads/2023/03/IRL_Nivel_2-768x635.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h6 class="wp-block-heading has-text-align-center">Equipaje recomendado</h6>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg" alt="aprendizaje supervisado dialéktico" class="wp-image-7016" style="width:196px;height:auto" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 187" srcset="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:35px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong><a href="https://dialektico.com/introduccion-preprocesamiento/">Preprocesamiento de datos</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><a href="https://dialektico.com/introduccion-preprocesamiento/"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/Prepro_Eq.jpg" alt="preprocesamiento de datos" class="wp-image-7578" style="width:400px" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 188" srcset="https://dialektico.com/wp-content/uploads/2024/05/Prepro_Eq.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/Prepro_Eq-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></a></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Fundamentos del <a href="https://dialektico.com/aprendizaje-supervisado/">aprendizaje supervisado</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2023/03/ML_elem.jpg" alt="ML elem" class="wp-image-10137" style="width:416px;height:auto" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 189" srcset="https://dialektico.com/wp-content/uploads/2023/03/ML_elem.jpg 1024w, https://dialektico.com/wp-content/uploads/2023/03/ML_elem-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong><a href="https://dialektico.com/google-colab/">Google Colab</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec.jpg" alt="Colab" class="wp-image-7521" style="width:400px" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 190" srcset="https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Programación en <a href="https://www.python.org/" target="_blank" rel="noopener">Python</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/Python_Eq.jpg" alt="aprendizaje supervisado dialéktico" class="wp-image-7522" style="width:400px" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 191" srcset="https://dialektico.com/wp-content/uploads/2024/05/Python_Eq.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/Python_Eq-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center has-medium-font-size"><strong>Matemáticas</strong></p>



<p class="has-text-align-center">Álgebra, probabilidad, estadística, y las <a href="https://dialektico.com/aprendizaje-supervisado/#aprendizaje-supervisado-percepcion-matematica" target="_blank" rel="noreferrer noopener">definiciones</a> dadas en nuestro acercamiento al aprendizaje supervisado.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/MathMagic.jpg" alt="Matemáticas" class="wp-image-6982" style="width:400px" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 192" srcset="https://dialektico.com/wp-content/uploads/2024/04/MathMagic.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/MathMagic-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Algun acompañamiento</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2023/03/IRL_alimento.jpg" alt="IRL alimento" class="wp-image-10297" style="width:403px;height:auto" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 193" srcset="https://dialektico.com/wp-content/uploads/2023/03/IRL_alimento.jpg 1024w, https://dialektico.com/wp-content/uploads/2023/03/IRL_alimento-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<p><strong>*<em>Nota</em>s<em>:</em></strong><em> </em></p>



<p><em>1. Debido a las necesidades que debemos cubrir antes de iniciar nuestro encuentro con la regresión lineal en <strong>Python</strong>, la sección de <strong>matemáticas </strong>esta vez aparecerá precediendo a la de <strong>programación</strong>. </em></p>



<p><em>2. Esta travesía develará principalmente el funcionamiento de la <strong>regresión lineal simple/univariable</strong>. La teoría que corresponde a su versión </em><strong><em>multivariable</em></strong><em> <em>se considerará de manera breve en la sección de matemáticas</em></em>.</p>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center has-text-color" id="aprendizaje-supervisado-que-es" style="color:#840303">Regresión lineal, la madre de los algoritmos del machine learning</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg" alt="Pergamino_3" class="wp-image-6960" style="width:125px" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 194" srcset="https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Pergamino_3-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Como ya se ha mencionado, la <strong>regresión lineal</strong> es uno de los corpúsculos que componen la <strong>base</strong> del <strong>aprendizaje automático</strong>; el tipo de fenómenos que es capaz de modelar puede ser de cualquier índole, y ha sido extensamente utilizada desde hace más de dos siglos.</p>



<p>Su esencialidad para el desarrollo ulterior de la teoría del aprendizaje de máquinas no la dota de una simplicidad exenta de la <strong>teoría matemática</strong>, ya que nace y se desarrolla puramente a través de ella. Sin embargo, es posible explicar sus usos y los principios de su método sin aludir explícitamente a este campo.</p>



<p>Como ha sucedido en nuestros recorridos hasta ahora, primero exploraremos su definición de una manera no rica en tecnicismos, con <strong>ejemplos </strong>e <strong>ilustraciones </strong>complementarias, y después desglosaremos su forma <strong>matemática</strong>.</p>



<p>Para empezar a tantear los terrenos pertenecientes a la regresión lineal, en esta ocasión partiremos desde un <strong>ejemplo</strong>, y lo iremos desarrollando hasta introducir la idea general de su <strong>funcionamiento </strong>y <strong>objetivo</strong>, para lo cual supondremos un nuevo <strong>misterio </strong>a ser abordado.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Regresión lineal: planteamiento del problema</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p id="tab1">El cuestionamiento a atacar en esta ocasión es el siguiente: dada una tabla con <a href="https://dialektico.com/datos-machine-learning/#informacion" target="_blank" rel="noreferrer noopener">información</a> sobre las horas de estudio de un grupo de alumnos y su calificación obtenida, ¿cómo podemos <strong>estimar</strong> la <strong>calificación </strong>de un alumno dado el número de <strong>horas </strong>que destinó a estudiar?</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2023/02/image.png" alt="tabla horas y puntajes" style="width:576px;height:auto" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 195"><figcaption class="wp-element-caption"><strong>Tabla 3.2.1</strong> Conjunto de datos de horas estudiadas y calificaciones obtenidas de un grupo de alumnos. Esta y las consiguientes tablas con el mismo formato, se obtuvieron utilizando la librería <a href="https://pandas.pydata.org/" target="_blank" rel="noreferrer noopener">Pandas</a> de Python.</figcaption></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En la <strong>Tabla 3.2.1</strong> se puede observar el <a href="https://dialektico.com/conjuntos-de-datos-para-machine-learning/">conjunto de datos</a> en su forma tabular, la cual nos permite discernir la <strong>relación </strong>que guarda el <strong>puntaje </strong>obtenido por los alumnos con las <strong>horas </strong>que han dedicado al estudio.</p>



<p>Para poder vislumbrar más claramente el <strong>tipo de relación</strong> existente entre nuestras <a href="https://dialektico.com/conjuntos-de-datos-para-machine-learning/#datosEtiq"><strong>entradas </strong>y <strong>salidas</strong></a>, emplearemos uno de los principales métodos para explorar un conjunto de datos cuando este consta de dos o tres variables, y del cual hemos hablado en la excursión sobre <a href="https://dialektico.com/introduccion-analisis-exploratorio-de-datos/">análisis exploratorio de datos</a>: observar su dispersión en una <strong>gráfica</strong>.</p>



<p id="figura1">En este caso, utilizaremos un sencillo <strong>plano </strong>en el que dibujaremos los <strong>puntos</strong> correspondientes a los valores del puntaje obtenido respecto a las horas dedicadas.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="759" height="772" src="https://dialektico.com/wp-content/uploads/2024/05/IRL_RL1.jpg" alt="regresión lineal dialéktico" class="wp-image-7829" style="width:538px;height:auto" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 196"><figcaption class="wp-element-caption"><center><strong>Fig. 3.2.1</strong> Representación gráfica del conjunto de datos de horas de estudio y sus respectivas calificaciones. Dado que se trata de dos variables, se visualizan en un espacio de dos dimensiones (un plano). Esta y las consiguientes gráficas con este formato se obtuvieron utilizando la librería <a href="https://matplotlib.org/" target="_blank" rel="noreferrer noopener">matplotlib</a> de Python.</center></figcaption></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>¿Qué es lo que podemos percibir en la <strong>Figura 3.2.1</strong> respecto a la relación entre ambas variables? A simple vista, podemos identificar un <strong>patrón</strong> entre la forma en que se dan los puntajes obtenidos respecto a las horas de estudio: pareciera que se asocian dibujando una especie de <strong>línea recta</strong> con <strong>tendencia </strong>creciente (a mayores horas de estudio, mejor calificación).</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/05/IRL_A1.jpg" alt="regresión lineal dialéktico" class="wp-image-7820" style="width:504px;height:auto" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 197" srcset="https://dialektico.com/wp-content/uploads/2024/05/IRL_A1.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/05/IRL_A1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Sí, se trata de la misma técnica exhibida en el <a href="https://dialektico.com/aprendizaje-supervisado/#ejemplo-apren-sup-reg" target="_blank" rel="noreferrer noopener">ejemplo</a> utilizado para ilustrar el aprendizaje supervisado, pero esta vez desglosaremos cómo funciona el método en su <strong>totalidad</strong>.</p>



<p>Sabemos que el machine learning, y más específicamente, el aprendizaje supervisado, busca la obtención <strong>&lt;&lt;automática&gt;&gt; </strong>de <strong>patrones </strong>en <a href="https://dialektico.com/datos-etiquetados-machine-learning/">conjuntos de datos etiquetados</a>, los cuales pueden ser descritos mediante <strong>funciones matemáticas</strong>. Para casos como este, en el que se atisba una relación lineal entre un par de variables, nuestro objetivo es hallar la <strong>expresión matemática</strong> que dibuje la <strong>línea recta</strong> que describa de manera más aproximada el comportamiento de nuestros <a href="https://dialektico.com/datos-machine-learning/">datos</a>, y esto es justo lo que podemos hacer utilizando la <strong>regresión lineal</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2023/03/IRL_M1_v3.jpg" alt="IRL M1 v3" class="wp-image-10305" style="width:604px;height:auto" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 198" srcset="https://dialektico.com/wp-content/uploads/2023/03/IRL_M1_v3.jpg 1080w, https://dialektico.com/wp-content/uploads/2023/03/IRL_M1_v3-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ya que hemos identificado por qué esta técnica nos puede servir para nuestros fines, pasaremos a su definición.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">¿Qué es la regresión lineal?</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En términos sencillos, la <strong>regresión lineal</strong> es un <strong>método matemático</strong> para encontrar los parámetros de la <strong>ecuación de una recta</strong> que describe de manera aproximada la relación entre una <strong>variable dependiente</strong> y una <strong>variable independiente</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/05/IRL_K1_2.jpg" alt="regresión lineal dialéktico" class="wp-image-7823" style="width:502px;height:auto" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 199" srcset="https://dialektico.com/wp-content/uploads/2024/05/IRL_K1_2.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/05/IRL_K1_2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/05/IRL_D1.jpg" alt="regresión lineal dialéktico" class="wp-image-7824" style="width:502px;height:auto" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 200" srcset="https://dialektico.com/wp-content/uploads/2024/05/IRL_D1.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/05/IRL_D1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>La definición más concreta es la que se expresa <strong>matemáticamente</strong>, pero esta forma la veremos en su sección correspondiente; por el momento, contemplaremos cómo luce el resultado de esta técnica, y qué usos le podemos dar.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Ejecución y resultados de la regresión lineal simple</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Volvamos a nuestro problema sobre la <strong>estimación de calificaciones</strong> de acuerdo a las horas de estudio. Después de haber realizado una somera exploración de nuestros datos observando su <strong>dispersión </strong>en una gráfica de dos dimensiones <a href="https://dialektico.com/wp-content/uploads/2024/05/IRL_RL1.jpg">(Figura 3.2.1)</a>, hemos decidido que podemos utilizar la regresión lineal para la obtención de una <strong>ecuación </strong>(línea recta) que describa de manera aproximada el comportamiento de nuestros datos, y por lo tanto, nos permita realizar <strong>predicciones</strong> sobre estos.</p>



<p>Sin entrar aún en detalle, para la obtención de esta recta se utiliza un método matemático, de entre los cuales el más común es el denominado de<strong> mínimos cuadrados</strong>, el cual, de forma simplificada, se puede describir como una <strong>técnica </strong>que genera una <strong>recta </strong>de manera que las <strong>distancias </strong>entre los datos y esta sea la <strong>mínima </strong>posible.</p>



<p>No entraremos en más especificaciones por el momento, en la <strong>Figura 3.2.2</strong> se puede observar el resultado de la aplicación del método de regresión lineal para la adquisición de una recta (y por lo tanto, su ecuación). La operación señalada como <strong><a href="https://dialektico.com/ciclo-de-vida-de-los-datos/">procesamiento</a> de datos</strong> corresponde al uso de la técnica de <strong>mínimos cuadrados</strong> para el ajuste de la recta a los datos (nótese que se pueden utilizar otros métodos para su procesamiento, pero como se ha mencionado, este es el más frecuente y el que desarrollaremos más adelante).</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2023/01/RegLinExp-1.jpg" alt="esquema regresión lineal" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 201"><figcaption class="wp-element-caption"><strong>Fig. 3.2.2</strong> Simplificación del método de regresión lineal en tres etapas, en este caso aplicada al conjunto de datos del problema planteado: <br>1. Entrada de datos, que en este caso se trata de un conjunto de <a href="https://dialektico.com/conjuntos-train-dev-test/">datos de entrenamiento</a> formado por registros de calificaciones respecto a horas dedicadas de estudio, y se ve representado en un plano por puntos dados por las relaciones entre ambas variables.<br>2. Procesamiento de datos, el cual corresponde a las operaciones aplicadas sobre los valores introducidos para generar un modelo predictivo (la ecuación de la recta).<br>3. Salida, la cual es la recta ajustada a nuestros datos, y que es dibujada por la graficación de los valores producidos por la ecuación (modelo) resultante.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p><em><strong>Nota</strong>: como ya se ha mencionado, el resultado de la regresión lineal es una <strong>ecuación</strong>, la cual funge como <strong><a href="https://dialektico.com/wp-content/uploads/2022/06/Flujo_ML_IN_4.jpg">modelo matemático</a></strong> para la estimación de valores respecto a la <strong>variable independiente</strong>. La forma y obtención de esta entidad matemática se desarrollará propiamente en la sección consiguiente.</em></p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1024" height="181" src="https://dialektico.com/wp-content/uploads/2024/05/HistoricFrame_1.jpg" alt="HistoricFrame 1" class="wp-image-7458" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 202" srcset="https://dialektico.com/wp-content/uploads/2024/05/HistoricFrame_1.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/05/HistoricFrame_1-768x136.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>La <strong>regresión lineal</strong> es el resultado de la aplicación del método de <strong>mínimos cuadrados</strong> para encontrar el valor de los parámetros de una ecuación lineal. Este método fue publicado por primera vez, en 1805, por el matemático francés <strong>Adrien-Marie Legendre</strong> en su libro &lt;&lt;Nuevos métodos para la determinación de las órbitas de los cometas&gt;&gt;, en el cual desarrolló un método matemático destinado a estimar los movimientos orbitales de los cometas, dados los datos de sus ubicaciones observadas.</p>



<p>En 1809, el titán alemán <strong>Carl Gauss</strong> publicó el mismo método para el cálculo de órbitas de cuerpos celestes, adjudicándose su creación al anunciar que lo había desarrollado alrededor del año 1795 (a la edad de 18 años).</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/05/IRL_D3_v2.jpg" alt="IRL D3 v2" class="wp-image-8014" style="width:438px;height:auto" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 203" srcset="https://dialektico.com/wp-content/uploads/2024/05/IRL_D3_v2.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/05/IRL_D3_v2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Esto es un ejemplo (de entre muchos) de cómo científicos realizan trabajos similares en sus áreas de forma asíncrona, a veces generando altercados de todo tipo en su comunidad.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1792" height="1024" src="https://dialektico.com/wp-content/uploads/2024/05/image.png" alt="Gauss y Legendre, dialéktico" class="wp-image-7929" style="width:600px;height:auto" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 204" srcset="https://dialektico.com/wp-content/uploads/2024/05/image.png 1792w, https://dialektico.com/wp-content/uploads/2024/05/image-768x439.png 768w, https://dialektico.com/wp-content/uploads/2024/05/image-1536x878.png 1536w" sizes="(max-width: 1792px) 100vw, 1792px" /><figcaption class="wp-element-caption">Legendre y Gauss llegaron al mismo método matemático al estudiar las trayectorias de los cuerpos celestes. Su trabajo sobre mínimos cuadrados ha trascendido hasta nuestros días, conformando una pieza ángular en la estadística inferencial.</figcaption></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1024" height="162" src="https://dialektico.com/wp-content/uploads/2024/05/HistoricFrameBottom_1.jpg" alt="HistoricFrameBottom 1" class="wp-image-7459" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 205" srcset="https://dialektico.com/wp-content/uploads/2024/05/HistoricFrameBottom_1.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/05/HistoricFrameBottom_1-768x122.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">¿Cómo utilizar la regresión lineal para el análisis de datos?</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Una vez que hemos obtenido una recta acoplada a nuestros datos como la mostrada en la <strong>Figura 3.2.2</strong>, podemos darle uso para obtener algún tipo de <strong><a href="https://dialektico.com/wp-content/uploads/2024/04/IND_E5.jpg">conocimiento</a> de valor, </strong>o <strong><em>insight</em></strong>. Aquí hablaremos sobre los dos usos más comunes de la regresión lineal para el análisis de datos (descriptivo e inferencial):</p>



<ul class="wp-block-list">
<li>Predicción de nuevos valores.</li>



<li>Identificación de tendencias.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Prediciendo datos con la regresión lineal: resolución del problema</h3>



<p>Para abordar el primer punto, retomaremos la pregunta planteada al inicio: </p>



<ul class="wp-block-list">
<li>¿Cómo podemos <strong>estimar</strong> la <strong>calificación </strong>de un alumno dado el número de <strong>horas </strong>que destinó a estudiar?</li>
</ul>



<p>Nosotros hemos propuesto el uso de la regresión lineal para la resolución de esta cuestión, pretendiendo obtener una <strong>recta </strong>que guarde las distancias más cortas con los valores de los <a href="https://dialektico.com/conjuntos-de-datos-para-machine-learning/#ejemplosE">ejemplos de entrenamiento</a> del conjunto de datos, y por lo tanto, utilizarla para la estimación de cantidades que no se hallan dentro de este. Esta recta se ve como sigue:</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2023/01/image-7.png" alt="figura regresión lineal" style="width:493px;height:auto" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 206"><figcaption class="wp-element-caption"><strong>Fig. 3.2.3</strong> Gráfica de los puntos correspondientes al conjunto de datos y la línea generada por regresión lineal.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Para hacer uso de la regresión lineal aplicada, vayamos más lejos en el planteamiento de nuestra cuestión inicial haciendo una pregunta más puntual:</p>



<ul class="wp-block-list">
<li>¿Cuál es el puntaje estimado para un alumno que estudió <strong>6 horas</strong>?</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Como podrás constatar en la <a href="https://dialektico.com/wp-content/uploads/2023/02/image.png"><strong>Tabla 3.2.1</strong>,</a> no tenemos un registro concreto de calificación para este número de horas de estudio, por lo que para hacer una aproximación del punto respecto a este valor utilizaremos el resultado obtenido por la <strong>regresión lineal</strong>. ¿Cómo lo haremos?, esto se hace identificando el valor que tiene la calificación <strong>sobre la recta</strong> en el punto que corresponde a las 6 horas de estudio.</p>



<p>En la <strong>Figura 3.2.4</strong> se muestra el punto que corresponde al valor del puntaje dado por la recta en el valor de horas igual a 6:</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2023/02/RLG4.jpg" alt="regresión lineal" style="width:515px;height:auto" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 207"><figcaption class="wp-element-caption"><center><strong>Fig. 3.2.4</strong> Gráfica que muestra el punto sobre la línea recta que corresponde al valor de 6 en el eje x (horas).</center></figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Se puede verificar cómo al identificar el número 6 en el <strong>eje horizontal</strong>, que corresponde a las horas, llegamos al punto que está sobre la recta (<strong>punto amarillo</strong>); este se sitúa aproximadamente a la altura del número <strong>61.1 </strong>en el eje vertical, es decir, el de los puntajes. Esto se muestra de manera más concisa en la siguiente gráfica:</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2023/02/RLG5.jpg" alt="regresión lineal" style="width:508px;height:auto" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 208"><figcaption class="wp-element-caption"><center><strong>Fig. 3.2.5</strong> Ilustración de ubicación del punto correspondiente al valor predicho por la regresión lineal respecto a 6 horas de estudio, donde el valor del puntaje es de 61.1.</center></figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Esto quiere decir que, según la recta producida con la <strong>regresión lineal</strong> (la cual modeló un <strong>patrón </strong>intrínseco en nuestro conjunto de datos), al estudiarse <strong>6 horas </strong>se obtendrá aproximadamente una calificación de <strong>61.1</strong>, lo cual no difiere del comportamiento mostrado por las cantidades que ya tenemos mapeadas en la <strong><a href="https://dialektico.com/wp-content/uploads/2023/02/image.png"><strong>Tabla 3.2.1</strong>.</a></strong> Claro, esto es meramente ilustrativo, el procedimiento consiste en realidad en utilizar la <strong>ecuación de la recta</strong> obtenida para hacer las estimaciones, lo cual veremos más adelante.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/05/IRL_L1_2.jpg" alt="regresión lineal dialéktico" class="wp-image-7838" style="width:500px;height:auto" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 209" srcset="https://dialektico.com/wp-content/uploads/2024/05/IRL_L1_2.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/05/IRL_L1_2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/05/IRL_A2.jpg" alt="regresión lineal dialéktico" class="wp-image-7839" style="width:500px;height:auto" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 210" srcset="https://dialektico.com/wp-content/uploads/2024/05/IRL_A2.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/05/IRL_A2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Es correcto, de esta forma podemos <strong>estimar </strong>datos cuando determinamos que hay una aparente<strong> relación lineal</strong> entre estas.</p>



<p>Con esto que hemos trazado, ya es tiempo de responder de manera concisa a la pregunta planteada en un inicio:</p>



<p><strong>¿Cómo podemos estimar la calificación de un alumno dado el número de horas que destinó a estudiar?</strong></p>



<p>Nuestra respuesta a esto es que una forma de hacerlo es, dado su <strong>comportamiento aparentemente lineal</strong>, modelando una <strong>recta </strong>que se ajuste a estos datos, y utilizando el <strong>modelo </strong>resultante para predecir valores nuevos respecto a entradas nuevas, es decir, utilizando el modelo para estimar calificaciones respecto a cierto número de horas dadas.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Regresión lineal para avistar tendencias</h3>



<p>Otra forma de utilizar la regresión lineal es para obtener un indicio de la <strong>tendencia </strong>de un conjunto de datos, es decir, si muestra un <strong>comportamiento creciente</strong> o <strong>decreciente</strong>. Varias <strong>aplicaciones </strong>que permiten visualización de datos generan y despliegan rectas obtenidas mediante <strong>regresiones lineales</strong> con la intención de denotar estas tendencias, y prácticamente solo nos muestran hacia dónde están <strong>inclinadas </strong>las rectas resultantes, es decir, su <strong>pendiente</strong>.</p>



<p>En las <strong>Figura 3.2.6</strong> puedes observar dos conjuntos de datos con tendencias crecientes y decrecientes:</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="927" height="482" src="https://dialektico.com/wp-content/uploads/2023/01/image-9.png" alt="regresión lineal" class="wp-image-5189" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 211" srcset="https://dialektico.com/wp-content/uploads/2023/01/image-9.png 927w, https://dialektico.com/wp-content/uploads/2023/01/image-9-768x399.png 768w" sizes="(max-width: 927px) 100vw, 927px" /><figcaption class="wp-element-caption"><strong>Fig 3.2.6.</strong> Gráficas con líneas generadas con regresión lineal utilizando el método de mínimos cuadrados. La imagen de la derecha muestra una pendiente positiva, denotando una tendencia creciente, mientras que en la imagen de la derecha se avista una tendencia negativa y decreciente.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Un ejemplo de esto es lo que hace <a href="https://www.microsoft.com/es-mx/microsoft-365/excel" target="_blank" rel="noopener">Excel</a> para mostrar tendencias en los datos; para que te des una idea más detallada, aquí puedes ver cómo ellos mismos mencionan utilizar el método de <strong>mínimos cuadrados</strong> para sus fines: <a href="https://support.microsoft.com/es-es/office/tendencia-funci%C3%B3n-tendencia-e2f135f0-8827-4096-9873-9a7cf7b51ef1#:~:text=La%20funci%C3%B3n%20TENDENCIA%20devuelve%20valores,matriz%20de%20new_x%20que%20especifique." target="_blank" rel="noopener">tendencias en Excel</a>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Con esto que hemos aprendido sobre la regresión lineal ya hemos obtenido un vasto panorama sobre cuál es su objetivo y cómo podemos utilizarla para solucionar problemas de <strong>ciencia de datos</strong>.</p>



<p>Ahora, antes de pasar a la práctica en <strong>Python</strong>, atendamos a sus <strong>definiciones matemáticas</strong>. </p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



            <div class='ays-quiz-container ays_quiz_classic_light   ays-quiz-keyboard-active' data-quest-effect='shake'  data-hide-bg-image='false' id='ays-quiz-container-14'>
                
                
                <div class='ays-questions-container'>
                    
                    
                    
                    <form action='' method='post' id='ays_finish_quiz_14' 
                        class='ays-quiz-form enable_correction enable_questions_result '
                    >
            <input type='hidden' value='list' class='answer_view_class'>
            <input type='hidden' value='' class='ays_qm_enable_arrows'>
            <audio id='ays_quiz_right_ans_sound_14' class='ays_quiz_right_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound.wav'></audio><audio id='ays_quiz_wrong_ans_sound_14' class='ays_quiz_wrong_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound-1.wav'></audio>
            
            <div class='step active-step'>
                <div class='ays-abs-fs ays-start-page'>
                    
                    
                    
                    <div class='ays-fs-subtitle'><p>Contesta las siguientes preguntas</p>
</div>
                    <input type='hidden' name='ays_quiz_id' value='14'/>
                    <input type='hidden' name='ays_quiz_finish_nonce' value='7cec930025'>
                    <input type='hidden' name='ays_quiz_curent_page_link' class='ays-quiz-curent-page-link' value='https://dialektico.com/categoria/analisis-de-datos/feed/'/>
                    <input type='hidden' name='ays_quiz_questions' value='36,37,38'>
                    
                    
                    <input type='button'   class='ays_next start_button action-button ays-quiz-keyboard-active' value='EMPEZAR' data-enable-leave-page="false" />
                    
                    </div>
                </div><div class='step  ' data-question-id='36' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>1 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Cuál es el resultado de aplicar una regresión lineal simple a un conjunto de datos?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-36]' id='ays-answer-118-14' value='118'/>

                <label for='ays-answer-118-14' class='  ays_position_initial  ays-quiz-keyboard-label'>La gráfica de una línea recta ajustada a los datos.</label><label for='ays-answer-118-14' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-36]' id='ays-answer-119-14' value='119'/>

                <label for='ays-answer-119-14' class='  ays_position_initial  ays-quiz-keyboard-label'>La ecuación de una recta ajustada a los datos.</label><label for='ays-answer-119-14' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-36]' id='ays-answer-120-14' value='120'/>

                <label for='ays-answer-120-14' class='  ays_position_initial  ays-quiz-keyboard-label'>La ecuación de una recta con pendiente positiva.</label><label for='ays-answer-120-14' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-36]' id='ays-answer-121-14' value='121'/>

                <label for='ays-answer-121-14' class='  ays_position_initial  ays-quiz-keyboard-label'>La dirección de la pendiente de un conjunto de rectas.</label><label for='ays-answer-121-14' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_14 === 'undefined'){
                window.quizOptions_14 = [];
            }
            window.quizOptions_14['36'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>El resultado de una regresión lineal simple es un modelo matemático que describe la relación entre la variable dependiente y la variable independiente.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='37' data-type='radio'>
                    
                    
                    <p class='ays-question-counter animated'>2 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>El método de mínimos cuadrados es un método para la obtención de los coeficientes la ecuación de una recta, y es el único que existe para dicho fin.</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-37]' id='ays-answer-122-14' value='122'/>

                <label for='ays-answer-122-14' class='  ays_position_initial  ays-quiz-keyboard-label'>Verdadero.</label><label for='ays-answer-122-14' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='radio' name='ays_questions[ays-question-37]' id='ays-answer-123-14' value='123'/>

                <label for='ays-answer-123-14' class='  ays_position_initial  ays-quiz-keyboard-label'>Falso.</label><label for='ays-answer-123-14' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_14 === 'undefined'){
                window.quizOptions_14 = [];
            }
            window.quizOptions_14['37'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Hay más de un método para la obtención de la recta.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='38' data-type='checkbox'>
                    
                    
                    <p class='ays-question-counter animated'>3 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Cuáles de las siguientes opciones son formas comunes de utilizar la regresión lineal simple en análisis/ciencia de datos?</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-38]' id='ays-answer-126-14' value='126'/>

                <label for='ays-answer-126-14' class='  ays_position_initial  ays-quiz-keyboard-label'>Identificación de tendencias crecientes o decrecientes en conjuntos de datos.</label><label for='ays-answer-126-14' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-38]' id='ays-answer-127-14' value='127'/>

                <label for='ays-answer-127-14' class='  ays_position_initial  ays-quiz-keyboard-label'>Detección de incosistencias de tipos de datos.</label><label for='ays-answer-127-14' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-38]' id='ays-answer-128-14' value='128'/>

                <label for='ays-answer-128-14' class='  ays_position_initial  ays-quiz-keyboard-label'>Generación de modelos de aprendizaje no supervisado.</label><label for='ays-answer-128-14' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-38]' id='ays-answer-129-14' value='129'/>

                <label for='ays-answer-129-14' class='  ays_position_initial  ays-quiz-keyboard-label'>Predicción de nuevos datos respecto a una variable independiente.</label><label for='ays-answer-129-14' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_14 === 'undefined'){
                window.quizOptions_14 = [];
            }
            window.quizOptions_14['38'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays-quiz-keyboard-active ays_arrow ays_display_none" tabindex='0'></i>
                            <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active '  value='ANTERIOR' /><i class='ays_display_none ays_fa ays_fa_flag_checkered ays_finish action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active' tabindex='0'></i><input type='submit' name='ays_finish_quiz' class='  ays_next ays_finish action-button ays-quiz-keyboard-active' value='VER TOTAL'/></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Los usos más frecuentes de la regresión lineal simple son el uso del modelo para la predicción de datos, y la identificación de tendencias (pendiente de la recta).</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step ays_thank_you_fs'>
            <div class='ays-abs-fs ays-end-page'><div data-class='lds-facebook' data-role='loader' class='ays-loader'><div></div><div></div><div></div></div><div class='ays_quiz_results_page'><div class='ays_score_message'></div><div class='ays_message'></div><p class='ays_score ays_score_display_none animated'>Tu puntación es </p><p class='ays_average'>La puntuación media es  79%</p><div class='ays-progress third'>
                <span class='ays-progress-value third'>0%</span>
                <div class='ays-progress-bg third'>
                    <div class='ays-progress-bar third' style='width:0%;'></div>
                </div>
            </div><p class='ays_restart_button_p'><button type='button' class='action-button ays_restart_button ays-quiz-keyboard-active'>
                    <i class='ays_fa ays_fa_undo'></i>
                    <span>Reiniciar Prueba</span>
                </button></p></div>
            </div>
        </div><style>
            div#ays-quiz-container-14 * {
                box-sizing: border-box;
            }

            #ays-quiz-container-14 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                width: 90%;
            }

            /* Styles for Internet Explorer start */
            #ays-quiz-container-14 #ays_finish_quiz_14 {
                
            }

            /* Styles for Quiz container */
            #ays-quiz-container-14{
                min-height: 350px;
                width:400px;
                background-color:#ffffff;
                background-position:center center;background-image: url('https://dialektico.com/wp-content/uploads/2022/08/Q3.jpg');border-radius:0px;box-shadow: none;border-width: 3px;border-style: solid;border-color: #000;}

            /* Styles for questions */
            #ays-quiz-container-14 #ays_finish_quiz_14 div.step {
                min-height: 350px;
            }

            /* Styles for text inside quiz container */
            #ays-quiz-container-14 .ays-start-page *:not(input):not([class^='enlighter']),
            #ays-quiz-container-14 .ays_question_hint,
            #ays-quiz-container-14 label[for^="ays-answer-"],
            #ays-quiz-container-14 #ays_finish_quiz_14 p,
            #ays-quiz-container-14 #ays_finish_quiz_14 .ays-fs-title,
            #ays-quiz-container-14 .ays-fs-subtitle,
            #ays-quiz-container-14 .logged_in_message,
            #ays-quiz-container-14 .ays_score_message,
            #ays-quiz-container-14 .ays_message{
               color: #0a0a0a;
               outline: none;
            }

            div#ays-quiz-container-14 .ays_question_hint.ays-quiz-keyboard-active,
            div#ays-quiz-container-14 .ays_restart_button.ays-quiz-keyboard-active {
                outline: revert;
            }

            #ays-quiz-container-14 .ays-quiz-password-message-box,
            #ays-quiz-container-14 .ays-quiz-question-note-message-box,
            #ays-quiz-container-14 .ays_quiz_question,
            #ays-quiz-container-14 .ays-quiz-question-category-box,
            #ays-quiz-container-14 .ays_quiz_question *:not([class^='enlighter']) {
                color: #0a0a0a;
            }

            #ays-quiz-container-14 .ays-quiz-question-category-box em {
                color: #0a0a0a;
            }

            #ays-quiz-container-14 textarea,
            #ays-quiz-container-14 input::first-letter,
            #ays-quiz-container-14 select::first-letter,
            #ays-quiz-container-14 option::first-letter {
                color: initial !important;
            }
            
            #ays-quiz-container-14 p::first-letter:not(.ays_no_questions_message) {
                color: #0a0a0a !important;
                background-color: transparent !important;
                font-size: inherit !important;
                font-weight: inherit !important;
                float: none !important;
                line-height: inherit !important;
                margin: 0 !important;
                padding: 0 !important;
            }
            
            
            #ays-quiz-container-14 .select2-container,
            #ays-quiz-container-14 .ays-field * {
                font-size: 15px !important;
            }
    
            #ays-quiz-container-14 .ays_quiz_question p {
                font-size: 16px;
                text-align: inherit;
            }

            #ays-quiz-container-14 .ays-fs-subtitle p {
                text-align:  center ;
            }

            #ays-quiz-container-14 .ays_quiz_question {
                text-align:  center ;
                margin-bottom: 10px;
            }

            #ays-quiz-container-14 .ays_quiz_question pre {
                max-width: 100%;
                white-space: break-spaces;
            }

            /* Mango theme (Version: 1.4.202301041836) | tid=32449 | Start */
            #ays-quiz-container-14 .ays_quiz_question img {
                float: unset;
                margin: 0;
            }
            /* Mango theme (Version: 1.4.202301041836) | End */

            #ays-quiz-container-14 .ays-quiz-timer p {
                font-size: 16px;
            }

            #ays-quiz-container-14 section.ays_quiz_redirection_timer_container hr,
            #ays-quiz-container-14 section.ays_quiz_timer_container hr {
                margin: 0;
            }

            #ays-quiz-container-14 section.ays_quiz_timer_container.ays_quiz_timer_red_warning .ays-quiz-timer {
                color: #ff0000;
            }

            #ays-quiz-container-14 .ays_thank_you_fs p {
                text-align: center;
            }

            #ays-quiz-container-14 .ays_quiz_results_page .ays_score span {
                visibility: visible;
            }

            #ays-quiz-container-14 input[type='button'],
            #ays-quiz-container-14 input[type='submit'] {
                color: #ffffff !important;
            }

            #ays-quiz-container-14 input[type='button']{
                outline: none;
            }

            #ays-quiz-container-14 .information_form input[type='text'],
            #ays-quiz-container-14 .information_form input[type='url'],
            #ays-quiz-container-14 .information_form input[type='number'],
            #ays-quiz-container-14 .information_form input[type='email'],
            #ays-quiz-container-14 .information_form input[type='checkbox'],
            #ays-quiz-container-14 .information_form input[type='tel'],
            #ays-quiz-container-14 .information_form textarea,
            #ays-quiz-container-14 .information_form select,
            #ays-quiz-container-14 .information_form option {
                color: initial !important;
                outline: none;
                background-image: unset;
            }

            #ays-quiz-container-14 .wrong_answer_text{
                color:#ff4d4d;
            }
            #ays-quiz-container-14 .right_answer_text{
                color:#33cc33;
            }

            #ays-quiz-container-14 .wrong_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-14 .ays_questtion_explanation p {
                font-size:16px;
            }

            #ays-quiz-container-14 .wrong_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-14 .ays_questtion_explanation *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-14 .right_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-14 .right_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-14 .ays-quiz-question-note-message-box p {
                font-size:14px;
            }

            #ays-quiz-container-14 .ays-quiz-question-note-message-box *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }
            
            #ays-quiz-container-14 .ays_cb_and_a,
            #ays-quiz-container-14 .ays_cb_and_a * {
                color: rgb(10,10,10);
                text-align: center;
            }

            /* Quiz textarea height */
            #ays-quiz-container-14 textarea {
                height: 100px;
                min-height: 100px;
            }

            /* Quiz rate and passed users count */
            #ays-quiz-container-14 .ays_quizn_ancnoxneri_qanak,
            #ays-quiz-container-14 .ays_quiz_rete_avg {
                color:#ffffff !important;
                background-color:#0a0a0a;   
            }

            #ays-quiz-container-14 .ays-questions-container > .ays_quizn_ancnoxneri_qanak {
                padding: 5px 20px;
            }
            #ays-quiz-container-14 div.for_quiz_rate.ui.star.rating .icon {
                color: rgba(10,10,10,0.35);
            }
            #ays-quiz-container-14 .ays_quiz_rete_avg div.for_quiz_rate_avg.ui.star.rating .icon {
                color: rgba(255,255,255,0.5);
            }

            #ays-quiz-container-14 .ays_quiz_rete .ays-quiz-rate-link-box .ays-quiz-rate-link {
                color: #0a0a0a;
            }

            /* Loaders */            
            #ays-quiz-container-14 div.lds-spinner,
            #ays-quiz-container-14 div.lds-spinner2 {
                color: #0a0a0a;
            }
            #ays-quiz-container-14 div.lds-spinner div:after,
            #ays-quiz-container-14 div.lds-spinner2 div:after {
                background-color: #0a0a0a;
            }
            #ays-quiz-container-14 .lds-circle,
            #ays-quiz-container-14 .lds-facebook div,
            #ays-quiz-container-14 .lds-ellipsis div{
                background: #0a0a0a;
            }
            #ays-quiz-container-14 .lds-ripple div{
                border-color: #0a0a0a;
            }
            #ays-quiz-container-14 .lds-dual-ring::after,
            #ays-quiz-container-14 .lds-hourglass::after{
                border-color: #0a0a0a transparent #0a0a0a transparent;
            }

            /* Stars */
            #ays-quiz-container-14 .ui.rating .icon,
            #ays-quiz-container-14 .ui.rating .icon:before {
                font-family: Rating !important;
            }

            /* Progress bars */
            #ays-quiz-container-14 #ays_finish_quiz_14 .ays-progress {
                border-color: rgba(10,10,10,0.8);
            }
            #ays-quiz-container-14 #ays_finish_quiz_14 .ays-progress-bg {
                background-color: rgba(10,10,10,0.3);
            }    
            #ays-quiz-container-14 .ays-progress-value {
                color: #0a0a0a;
                text-align: center;
            }
            #ays-quiz-container-14 .ays-progress-bar {
                background-color: #9e0505;
            }
            #ays-quiz-container-14 .ays-question-counter .ays-live-bar-wrap {
                direction:ltr !important;
            }
            #ays-quiz-container-14 .ays-live-bar-fill{
                color: #0a0a0a;
                border-bottom: 2px solid rgba(10,10,10,0.8);
                text-shadow: 0px 0px 5px #ffffff;
            }
            #ays-quiz-container-14 .ays-live-bar-fill.ays-live-fourth,
            #ays-quiz-container-14 .ays-live-bar-fill.ays-live-third,
            #ays-quiz-container-14 .ays-live-bar-fill.ays-live-second {
                text-shadow: unset;
            }
            #ays-quiz-container-14 .ays-live-bar-percent{
                display:none;
            }
            #ays-quiz-container-14 #ays_finish_quiz_14 .ays_average {
                text-align: center;
            }
            
            /* Music, Sound */
            #ays-quiz-container-14 .ays_music_sound {
                color:rgb(10,10,10);
            }

            /* Dropdown questions scroll bar */
            #ays-quiz-container-14 blockquote {
                border-left-color: #0a0a0a !important;                                      
            }

            /* Quiz Password */
            #ays-quiz-container-14 .ays-start-page > input[id^='ays_quiz_password_val_'],
            #ays-quiz-container-14 .ays-quiz-password-toggle-visibility-box {
                width: 100%;
            }


            /* Question hint */
            #ays-quiz-container-14 .ays_question_hint_container .ays_question_hint_text {
                background-color:#ffffff;
                box-shadow: 0 0 15px 3px rgba(10,10,10,0.35);
                max-width: 270px;
            }

            #ays-quiz-container-14 .ays_question_hint_container .ays_question_hint_text p {
                max-width: unset;
            }

            #ays-quiz-container-14 .ays-quiz-additonal-box {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                position: relative;  
            }

            #ays-quiz-container-14 .ays_questions_hint_max_width_class {
                max-width: 80%;
            }

            /* Information form */
            #ays-quiz-container-14 .ays-form-title{
                color:rgb(10,10,10);
            }

            /* Quiz timer */
            #ays-quiz-container-14 div.ays-quiz-redirection-timer,
            #ays-quiz-container-14 div.ays-quiz-timer{
                color: #0a0a0a;
                text-align: center;
            }

            #ays-quiz-container-14 div.ays-quiz-timer.ays-quiz-message-before-timer:before {
                font-weight: 500;
            }

            /* Quiz title / transformation */
            #ays-quiz-container-14 .ays-fs-title{
                text-transform: uppercase;
                font-size: 21px;
                text-align: center;
                    text-shadow: none;
            }
            
            /* Quiz buttons */
            #ays-quiz-container-14 .ays_arrow {
                color:#ffffff!important;
            }
            #ays-quiz-container-14 input#ays-submit,
            #ays-quiz-container-14 #ays_finish_quiz_14 .action-button,
            div#ays-quiz-container-14 #ays_finish_quiz_14 .action-button.ays_restart_button,
            #ays-quiz-container-14 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-14 .ays-quiz-category-selective-submit-bttn {
                background: none;
                background-color: #9e0505;
                color:#ffffff;
                font-size: 17px;
                padding: 10px 20px;
                border-radius: 3px;
                height: auto;
                letter-spacing: 0;
                box-shadow: unset;
                width: auto;
                /* border: unset; */
                min-height: unset;
                line-height: normal;
                text-shadow: unset;
            }
            #ays-quiz-container-14 input#ays-submit,
            #ays-quiz-container-14 #ays_finish_quiz_14 input.action-button,
            #ays-quiz-container-14 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-14 .ays-quiz-category-selective-submit-bttn {
                
            }

            #ays-quiz-container-14 #ays_finish_quiz_14 .action-button.ays_check_answer {
                padding: 5px 10px;
                font-size: 17px !important;
            }
            #ays-quiz-container-14 #ays_finish_quiz_14 .action-button.ays_restart_button {
                white-space: nowrap;
                padding: 5px 10px;
                white-space: normal;
            }
            #ays-quiz-container-14 input#ays-submit:hover,
            #ays-quiz-container-14 input#ays-submit:focus,
            #ays-quiz-container-14 #ays_finish_quiz_14 .action-button:hover,
            #ays-quiz-container-14 #ays_finish_quiz_14 .action-button:focus,
            #ays-quiz-container-14 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
            #ays-quiz-container-14 .ays-quiz-category-selective-submit-bttn:hover {
                background: none;
                box-shadow: 0 0 0 2px #ffffff;
                background-color: #9e0505;
            }
            #ays-quiz-container-14 .ays_restart_button {
                color: #ffffff;
            }
            
            #ays-quiz-container-14 .ays_restart_button_p,
            #ays-quiz-container-14 .ays_buttons_div {
                justify-content: center;
            }

            #ays-quiz-container-14 .ays_finish.action-button{
                margin: 10px 5px;
            }

            #ays-quiz-container-14 .ays-share-btn.ays-share-btn-branded {
                color: #fff;
                display: inline-block;
            }

            #ays-quiz-container-14 .ays_quiz_results .ays-field.checked_answer_div.correct_div input:checked+label {
                background-color: transparent;
            }
                        
            /* Question answers */
            #ays-quiz-container-14 .ays-field {
                    border-color: #444;
                    border-style: solid;
                    border-width: 1px;
                    box-shadow: none;flex-direction: row-reverse;
            }
            

            /* Answer maximum length of a text field */
            #ays-quiz-container-14 .ays_quiz_question_text_message{
                color: #0a0a0a;
                text-align: left;
                font-size: 12px;
            }

            div#ays-quiz-container-14 div.ays_quiz_question_text_error_message {
                color: #ff0000;
            }

            /* Questions answer image */
            #ays-quiz-container-14 .ays-answer-image {
                width:15em;
                height:150px;
                object-fit: cover;
            }
            
            #ays-quiz-container-14 .ays-quiz-answers .ays-field:hover:not(.ays-answered-text-input){
                opacity: 1;
            }
            #ays-quiz-container-14 #ays_finish_quiz_14 .ays-field label.ays_answer_caption[for^='ays-answer-'] {
                z-index: 1;
                position:initial;bottom:0;}
            #ays-quiz-container-14 #ays_finish_quiz_14 .ays-field input~label[for^='ays-answer-'] {
                padding: 5px;
            }

            #ays-quiz-container-14 #ays_finish_quiz_14 .ays-field {
                margin-bottom: 10px;
            }
            #ays-quiz-container-14 #ays_finish_quiz_14 .ays-field.ays_grid_view_item {
                width: calc(50% - 5px);
            }
            #ays-quiz-container-14 #ays_finish_quiz_14 .ays-field.ays_grid_view_item:nth-child(odd) {
                margin-right: 5px;
            }
            
            #ays-quiz-container-14 #ays_finish_quiz_14 .ays-field input:checked+label:before {
                border-color: #9e0505;
                background: #9e0505;
                background-clip: content-box;
            }
            #ays-quiz-container-14 .ays-quiz-answers div.ays-text-right-answer {
                color: #0a0a0a;
            }
                        
            /* Questions answer right/wrong icons */
            #ays-quiz-container-14 .ays-field input~label.answered.correct:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/correct.png');          }
            #ays-quiz-container-14 .ays-field input~label.answered.wrong:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/wrong.png');
            }
            #ays-quiz-container-14 .ays-field label.answered:last-of-type:after{
                display: none;
                height: auto;
                left: 10px;top: 10px;}
            /* Dropdown questions */            
            #ays-quiz-container-14 #ays_finish_quiz_14 .ays-field .select2-container--default .select2-selection--single {
                border-bottom: 2px solid #9e0505;
                background-color: #9e0505;
            }
            
            #ays-quiz-container-14 .ays-field .select2-container--default .select2-selection--single .select2-selection__placeholder,
            #ays-quiz-container-14 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-14 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow {
                color: #f5f5f5;
            }

            #ays-quiz-container-14 .select2-container--default .select2-search--dropdown .select2-search__field:focus,
            #ays-quiz-container-14 .select2-container--default .select2-search--dropdown .select2-search__field {
                outline: unset;
                padding: 0.75rem;
            }

            #ays-quiz-container-14 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-14 .select2-container--default .select2-results__option--highlighted[aria-selected] {
                background-color: #9e0505;
            }

            #ays-quiz-container-14 .ays-field .select2-container--default,
            #ays-quiz-container-14 .ays-field .select2-container--default .selection,
            #ays-quiz-container-14 .ays-field .select2-container--default .dropdown-wrapper,
            #ays-quiz-container-14 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-14 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered .select2-selection__placeholder,
            #ays-quiz-container-14 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow,
            #ays-quiz-container-14 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow b[role='presentation'] {
                font-size: 16px !important;
            }

            #ays-quiz-container-14 .select2-container--default .select2-results__option {
                padding: 6px;
            }
            
            /* Dropdown questions scroll bar */
            #ays-quiz-container-14 .select2-results__options::-webkit-scrollbar {
                width: 7px;
            }
            #ays-quiz-container-14 .select2-results__options::-webkit-scrollbar-track {
                background-color: rgba(255,255,255,0.35);
            }
            #ays-quiz-container-14 .select2-results__options::-webkit-scrollbar-thumb {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.55);
            }
            #ays-quiz-container-14 .select2-results__options::-webkit-scrollbar-thumb:hover {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.85);
            }

            /* Audio / Video */
            #ays-quiz-container-14 .mejs-container .mejs-time{
                box-sizing: unset;
            }
            #ays-quiz-container-14 .mejs-container .mejs-time-rail {
                padding-top: 15px;
            }

            #ays-quiz-container-14 .mejs-container .mejs-mediaelement video {
                margin: 0;
            }

            /* Limitation */
            #ays-quiz-container-14 .ays-quiz-limitation-count-of-takers {
                padding: 50px;
            }

            #ays-quiz-container-14 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-show,
            #ays-quiz-container-14 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-hide{
                color: #0a0a0a;
            }

            #ays-quiz-container-14 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-14 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-14 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #0a0a0a;
            }

            #ays-quiz-container-14.ays_quiz_elegant_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after,
            #ays-quiz-container-14.ays_quiz_rect_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #000;
            }

            /* Hestia theme (Version: 3.0.16) | Start */
            #ays-quiz-container-14 .mejs-container .mejs-inner .mejs-controls .mejs-button > button:hover,
            #ays-quiz-container-14 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                box-shadow: unset;
                background-color: transparent;
            }
            #ays-quiz-container-14 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                margin: 10px 6px;
            }
            /* Hestia theme (Version: 3.0.16) | End */

            /* Go theme (Version: 1.4.3) | Start */
            #ays-quiz-container-14 label[for^='ays-answer']:before,
            #ays-quiz-container-14 label[for^='ays-answer']:before {
                -webkit-mask-image: unset;
                mask-image: unset;
            }

            #ays-quiz-container-14.ays_quiz_classic_light .ays-field input:checked+label.answered.correct:before,
            #ays-quiz-container-14.ays_quiz_classic_dark .ays-field input:checked+label.answered.correct:before {
                background-color: #9e0505 !important;
                background-color: rgba(39,174,96, 1) !important;
            }
            /* Go theme (Version: 1.4.3) | End */

            #ays-quiz-container-14 .ays_quiz_results fieldset.ays_fieldset .ays_quiz_question .wp-video {
                width: 100% !important;
                max-width: 100%;
            }

            /* Classic Dark / Classic Light */
            /* Dropdown questions right/wrong styles */
            #ays-quiz-container-14.ays_quiz_classic_dark .correct_div,
            #ays-quiz-container-14.ays_quiz_classic_light .correct_div{
                border-color:green !important;
                opacity: 1 !important;
                background-color: rgba(39,174,96,0.4) !important;
            }
            #ays-quiz-container-14.ays_quiz_classic_dark .correct_div .selected-field,
            #ays-quiz-container-14.ays_quiz_classic_light .correct_div .selected-field {
                padding: 0px 10px 0px 10px;
                color: green !important;
            }

            #ays-quiz-container-14.ays_quiz_classic_dark .wrong_div,
            #ays-quiz-container-14.ays_quiz_classic_light .wrong_div{
                border-color:red !important;
                opacity: 1 !important;
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-14.ays_quiz_classic_dark .ays-field.checked_answer_div.wrong_div input:checked~label,
            #ays-quiz-container-14.ays_quiz_classic_light .ays-field.checked_answer_div.wrong_div input:checked~label {
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-14.ays_quiz_classic_dark .ays-field,
            #ays-quiz-container-14.ays_quiz_classic_light .ays-field {
                text-align: left;
                /*margin-bottom: 10px;*/
                padding: 0;
                transition: .3s ease-in-out;
            }

            #ays-quiz-container-14 .ays-quiz-close-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-14 .ays-quiz-open-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-14 .ays_quiz_login_form p{
                color: #0a0a0a;
            }

            /* report questions modal start */
            .ays-modal-reports {
                display: none;
                position: fixed;
                z-index: 9999;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                overflow: auto;
                background-color: rgba(0, 0, 0, 0.4);
                animation-duration: .5s;
                background-color: rgba(0, 0, 0, 0.4);
            }

            #ays-quiz-question-report-modal-14 .ays-modal-content-reports {
                background-color: #fefefe;
                margin: 10% auto;
                border: 1px solid #888;
                max-width: 500px;
                width: 100%;
                border-radius: 10px;
                padding: 20px;
                box-sizing: border-box;
                position: relative;
            }

            #ays-quiz-question-report-modal-14 .ays-modal-content-reports label{
                display: block;
                margin-bottom: 10px;
                font-weight: bold;
                letter-spacing: normal;
            }

            #ays-quiz-question-report-modal-14 .ays-modal-content-reports textarea {
                display: block;
                width: 100%;
                height: 100px;
                padding: 5px;
                box-sizing: border-box;
                border-radius: 5px;
                border: 1px solid #ccc;
                max-width: 100%;
                max-height: 500px;
                resize: vertical;
                transition: unset;
            }

            #ays-quiz-question-report-modal-14 .ays-modal-content-reports input.ays-quiz-submit-question-report {
                background-color: #0073aa;
                color: #fff !important;
                border: none;
                border-radius: 5px;
                padding: 10px 20px;
                cursor: pointer;
                margin-top: 20px;
                line-height: normal;
                letter-spacing: normal;
                box-shadow: unset;
                background-image: unset;
            }

            #ays-quiz-question-report-modal-14 .ays-close-reports-window {
                color: #aaa;
                font-weight: bold;
                position: absolute;
                top: 1%;
                right: 1%;
            }

            #ays-quiz-question-report-modal-14 .ays-close-reports-window img {
                box-shadow: unset;
            }
            
            #ays-quiz-question-report-modal-14 .ays-quiz-preloader img {
                box-shadow: unset;
            }

            #ays-quiz-question-report-modal-14 .ays-close-reports-window img:hover,
            #ays-quiz-question-report-modal-14 .ays-close-reports-window img:focus {
                cursor: pointer;
            }

            #ays-quiz-question-report-modal-14 .ays-quiz-question-report-error {
                display: none;
                font-size: 13px;
                color: #f00;
                text-align: left;
            }

            #ays-quiz-question-report-modal-14 .ays-quiz-question-report-textarea-label,
            #ays-quiz-question-report-modal-14 .ays-quiz-question-report-title {
                text-align: left;
            }

            #ays-quiz-question-report-modal-14 .ays_quiz_modal_overlay {
                width: 100%;
                height: 100%;
                position: fixed;
                top: 0;
                left: 0;
                position: absolute;
                z-index: 1000000000;
                flex-direction: column;
            }

            #ays-quiz-question-report-modal-14 .ays-quiz-container .ays-quiz-user-cհoosing-anonymous-assessment {
                margin: 10px 0;
            }

            /* report questions modal end */

            @media screen and (max-width: 768px){
                #ays-quiz-container-14{
                    max-width: 100%;
                }

                div#ays-quiz-container-14 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                    width: 90%;
                }

                #ays-quiz-container-14 .ays_quiz_question p {
                    font-size: 16px;
                }

                #ays-quiz-container-14 .select2-container,
                #ays-quiz-container-14 .ays-field * {
                    font-size: 15px !important;
                }

                div#ays-quiz-container-14 input#ays-submit,
                div#ays-quiz-container-14 #ays_finish_quiz_14 .action-button,
                div#ays-quiz-container-14 #ays_finish_quiz_14 .action-button.ays_restart_button,
                #ays-quiz-container-14 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
                #ays-quiz-container-14 .ays-quiz-category-selective-submit-bttn {
                    font-size: 17px;
                }

                /* Quiz title / mobile font size */
                div#ays-quiz-container-14 .ays-fs-title {
                    font-size: 21px;
                }

                /* Question explanation / mobile font size */
                #ays-quiz-container-14 .ays_questtion_explanation p {
                    font-size:16px;
                }

                /* Wrong answers / mobile font size */
                #ays-quiz-container-14 .wrong_answer_text p {
                    font-size:16px;
                }

                /* Right answers / mobile font size */
                #ays-quiz-container-14 .right_answer_text p {
                    font-size:16px;
                }

                /* Note text / mobile font size */
                #ays-quiz-container-14 .ays-quiz-question-note-message-box p {
                    font-size:14px;
                }

                div#ays-quiz-container-14 .ays-quiz-question-note-message-box *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-14 .ays_questtion_explanation *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-14 .right_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-14 .wrong_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }
            }
            /* Custom css styles */
            @media screen and (max-width: 768px)
div#ays-quiz-container-5 input#ays-submit, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    font-size: 17px;
    letter-spacing: 1.5px;
}

#ays-quiz-container-5 input#ays-submit, #ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    background: none;
    background-color: #9e0505;
    color: #ffffff;
    font-size: 17px;
    padding: 10px 20px;
    border-radius: 3px;
    height: auto;
    letter-spacing: 1.5px;
    box-shadow: unset;
}
            
            /* RTL direction styles */
            
        </style>
            <style>
                #ays-quiz-container-14 p {
                    margin: 0.625em;
                }
                
                #ays-quiz-container-14 .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }

                #ays-quiz-container-14.ays_quiz_classic_light  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-14.ays_quiz_classic_dark  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-14.ays_quiz_classic_light  .enable_correction .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-14.ays_quiz_classic_dark  .enable_correction .ays-field.checked_answer_div input:checked~label {
                    background-color: transparent;
                }

                #ays-quiz-container-14.ays_quiz_classic_light  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-14.ays_quiz_classic_dark  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-14.ays_quiz_classic_light  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-14.ays_quiz_classic_dark  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }
                
                #ays-quiz-container-14 .ays-field.checked_answer_div input:checked~label:hover {
                    background-color: rgba(158,5,5,0.8);
                }

                #ays-quiz-container-14.ays-quiz-container.ays_quiz_classic_light .ays-questions-container .ays-field:hover label[for^='ays-answer-'],
                #ays-quiz-container-14 .ays-field:hover:not(.ays-answered-text-input){
                    background: rgba(158,5,5,0.8);
                    /* border-radius: 4px; */
                    color: #fff;
                    transition: all .3s;
                }
                #ays-quiz-container-14 #ays_finish_quiz_14 .action-button:hover,
                #ays-quiz-container-14 #ays_finish_quiz_14 .action-button:focus,
                #ays-quiz-container-14 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
                #ays-quiz-container-14 .ays-quiz-category-selective-submit-bttn:focus {
                    box-shadow: 0 0 0 2px white, 0 0 0 3px #9e0505;
                    background: #9e0505;
                }
            </style><script>
                if(typeof aysQuizOptions === 'undefined'){
                    var aysQuizOptions = [];
                }
                aysQuizOptions['14']  = 'eyJxdWl6X3ZlcnNpb24iOiI2LjQuMS4yIiwiY29yZV92ZXJzaW9uIjoiNi4xLjEiLCJwaHBfdmVyc2lvbiI6IjcuNC4zMyIsImNvbG9yIjoiIzllMDUwNSIsImJnX2NvbG9yIjoiI2ZmZmZmZiIsInRleHRfY29sb3IiOiIjMGEwYTBhIiwiaGVpZ2h0IjozNTAsIndpZHRoIjo0MDAsImVuYWJsZV9sb2dnZWRfdXNlcnMiOiJvZmYiLCJpbmZvcm1hdGlvbl9mb3JtIjoiZGlzYWJsZSIsImZvcm1fbmFtZSI6bnVsbCwiZm9ybV9lbWFpbCI6bnVsbCwiZm9ybV9waG9uZSI6bnVsbCwiaW1hZ2Vfd2lkdGgiOiIiLCJpbWFnZV9oZWlnaHQiOiIiLCJlbmFibGVfY29ycmVjdGlvbiI6Im9uIiwiZW5hYmxlX3Byb2dyZXNzX2JhciI6Im9uIiwiZW5hYmxlX3F1ZXN0aW9uc19yZXN1bHQiOiJvbiIsInJhbmRvbWl6ZV9xdWVzdGlvbnMiOiJvZmYiLCJyYW5kb21pemVfYW5zd2VycyI6Im9mZiIsImVuYWJsZV9xdWVzdGlvbnNfY291bnRlciI6Im9uIiwiZW5hYmxlX3Jlc3RyaWN0aW9uX3Bhc3MiOiJvZmYiLCJyZXN0cmljdGlvbl9wYXNzX21lc3NhZ2UiOiIiLCJ1c2VyX3JvbGUiOltdLCJjdXN0b21fY3NzIjoiQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpXHJcbmRpdiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcbn1cclxuXHJcbiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCAjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzllMDUwNTtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xyXG4gICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbn0iLCJsaW1pdF91c2VycyI6Im9mZiIsImxpbWl0YXRpb25fbWVzc2FnZSI6IiIsInJlZGlyZWN0X3VybCI6IiIsInJlZGlyZWN0aW9uX2RlbGF5IjowLCJhbnN3ZXJzX3ZpZXciOiJsaXN0IiwiZW5hYmxlX3J0bF9kaXJlY3Rpb24iOiJvZmYiLCJlbmFibGVfbG9nZ2VkX3VzZXJzX21lc3NhZ2UiOiIiLCJxdWVzdGlvbnNfY291bnQiOiIiLCJlbmFibGVfcXVlc3Rpb25fYmFuayI6Im9mZiIsImVuYWJsZV9saXZlX3Byb2dyZXNzX2JhciI6Im9mZiIsImVuYWJsZV9wZXJjZW50X3ZpZXciOiJvZmYiLCJlbmFibGVfYXZlcmFnZV9zdGF0aXN0aWNhbCI6Im9uIiwiZW5hYmxlX25leHRfYnV0dG9uIjoib24iLCJlbmFibGVfcHJldmlvdXNfYnV0dG9uIjoib24iLCJlbmFibGVfYXJyb3dzIjoib2ZmIiwidGltZXJfdGV4dCI6IiIsInF1aXpfdGhlbWUiOiJjbGFzc2ljX2xpZ2h0IiwiZW5hYmxlX3NvY2lhbF9idXR0b25zIjoib2ZmIiwicmVzdWx0X3RleHQiOiIiLCJlbmFibGVfcGFzc19jb3VudCI6Im9mZiIsImhpZGVfc2NvcmUiOiJvZmYiLCJyYXRlX2Zvcm1fdGl0bGUiOiIiLCJib3hfc2hhZG93X2NvbG9yIjoicmdiYSgxMCwxMCwxMCwwLjM1KSIsInF1aXpfYm9yZGVyX3JhZGl1cyI6IjAiLCJxdWl6X2JnX2ltYWdlIjoiaHR0cHM6XC9cL2RpYWxla3RpY28uY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDIyXC8wOFwvUTMuanBnIiwicXVpel9ib3JkZXJfd2lkdGgiOiIzIiwicXVpel9ib3JkZXJfc3R5bGUiOiJzb2xpZCIsInF1aXpfYm9yZGVyX2NvbG9yIjoiIzAwMCIsInF1aXpfbG9hZGVyIjoiZmFjZWJvb2siLCJjcmVhdGVfZGF0ZSI6bnVsbCwiYXV0aG9yIjoie1wiaWRcIjpcIjFcIixcIm5hbWVcIjpcIkRhbmllbCBEaWFsXFx1MDBlOWt0aWNvXCJ9IiwicXVlc3RfYW5pbWF0aW9uIjoic2hha2UiLCJmb3JtX3RpdGxlIjoiIiwiZW5hYmxlX2JnX211c2ljIjoib2ZmIiwicXVpel9iZ19tdXNpYyI6IiIsImFuc3dlcnNfZm9udF9zaXplIjoxNSwic2hvd19jcmVhdGVfZGF0ZSI6Im9mZiIsInNob3dfYXV0aG9yIjoib2ZmIiwiZW5hYmxlX2Vhcmx5X2ZpbmlzaCI6Im9mZiIsImFuc3dlcnNfcndfdGV4dHMiOiJvbl9wYXNzaW5nIiwiZGlzYWJsZV9zdG9yZV9kYXRhIjoib2ZmIiwiZW5hYmxlX2JhY2tncm91bmRfZ3JhZGllbnQiOiJvZmYiLCJiYWNrZ3JvdW5kX2dyYWRpZW50X2NvbG9yXzEiOiIjMDAwIiwiYmFja2dyb3VuZF9ncmFkaWVudF9jb2xvcl8yIjoiI2ZmZiIsInF1aXpfZ3JhZGllbnRfZGlyZWN0aW9uIjoidmVydGljYWwiLCJyZWRpcmVjdF9hZnRlcl9zdWJtaXQiOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfdXJsIjoiIiwic3VibWl0X3JlZGlyZWN0X2RlbGF5IjoiMCIsInByb2dyZXNzX2Jhcl9zdHlsZSI6InRoaXJkIiwiZW5hYmxlX2V4aXRfYnV0dG9uIjoib2ZmIiwiZXhpdF9yZWRpcmVjdF91cmwiOiIiLCJpbWFnZV9zaXppbmciOiJjb3ZlciIsInF1aXpfYmdfaW1hZ2VfcG9zaXRpb24iOiJjZW50ZXIgY2VudGVyIiwiY3VzdG9tX2NsYXNzIjoiIiwiZW5hYmxlX3NvY2lhbF9saW5rcyI6Im9mZiIsInNvY2lhbF9saW5rcyI6eyJsaW5rZWRpbl9saW5rIjoiIiwiZmFjZWJvb2tfbGluayI6IiIsInR3aXR0ZXJfbGluayI6IiIsInZrb250YWt0ZV9saW5rIjoiIiwiaW5zdGFncmFtX2xpbmsiOiIiLCJ5b3V0dWJlX2xpbmsiOiIiLCJiZWhhbmNlX2xpbmsiOiIifSwic2hvd19xdWl6X3RpdGxlIjoib2ZmIiwic2hvd19xdWl6X2Rlc2MiOiJvbiIsInNob3dfbG9naW5fZm9ybSI6Im9mZiIsIm1vYmlsZV9tYXhfd2lkdGgiOiIiLCJsaW1pdF91c2Vyc19ieSI6ImlwIiwiYWN0aXZlX2RhdGVfY2hlY2siOiJvZmYiLCJhY3RpdmVJbnRlcnZhbCI6IjIwMjMtMDMtMjcgMTY6MTc6MDQiLCJkZWFjdGl2ZUludGVydmFsIjoiMjAyMy0wMy0yNyAxNjoxNzowNCIsImFjdGl2ZV9kYXRlX3ByZV9zdGFydF9tZXNzYWdlIjoiVGhlIHF1aXogd2lsbCBiZSBhdmFpbGFibGUgc29vbiEiLCJhY3RpdmVfZGF0ZV9tZXNzYWdlIjoiXHUwMGExRWwgdGVzdCBoYSBleHBpcmFkbyEiLCJleHBsYW5hdGlvbl90aW1lIjoiNCIsImVuYWJsZV9jbGVhcl9hbnN3ZXIiOiJvZmYiLCJzaG93X2NhdGVnb3J5Ijoib2ZmIiwic2hvd19xdWVzdGlvbl9jYXRlZ29yeSI6Im9mZiIsImRpc3BsYXlfc2NvcmUiOiJieV9wZXJjYW50YWdlIiwiZW5hYmxlX3J3X2FzbndlcnNfc291bmRzIjoib24iLCJhbnNfcmlnaHRfd3JvbmdfaWNvbiI6ImRlZmF1bHQiLCJxdWl6X2JnX2ltZ19pbl9maW5pc2hfcGFnZSI6Im9mZiIsImZpbmlzaF9hZnRlcl93cm9uZ19hbnN3ZXIiOiJvZmYiLCJhZnRlcl90aW1lcl90ZXh0IjoiIiwiZW5hYmxlX2VudGVyX2tleSI6Im9uIiwiYnV0dG9uc190ZXh0X2NvbG9yIjoiI2ZmZmZmZiIsImJ1dHRvbnNfcG9zaXRpb24iOiJjZW50ZXIiLCJzaG93X3F1ZXN0aW9uc19leHBsYW5hdGlvbiI6Im9uX3Bhc3NpbmciLCJlbmFibGVfYXVkaW9fYXV0b3BsYXkiOiJvZmYiLCJidXR0b25zX3NpemUiOiJtZWRpdW0iLCJidXR0b25zX2ZvbnRfc2l6ZSI6IjE3IiwiYnV0dG9uc193aWR0aCI6IiIsImJ1dHRvbnNfbGVmdF9yaWdodF9wYWRkaW5nIjoiMjAiLCJidXR0b25zX3RvcF9ib3R0b21fcGFkZGluZyI6IjEwIiwiYnV0dG9uc19ib3JkZXJfcmFkaXVzIjoiMyIsImVuYWJsZV9sZWF2ZV9wYWdlIjoib24iLCJlbmFibGVfdGFja2Vyc19jb3VudCI6Im9mZiIsInRhY2tlcnNfY291bnQiOiIiLCJwYXNzX3Njb3JlIjowLCJwYXNzX3Njb3JlX21lc3NhZ2UiOiI8aDQgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj5Db25ncmF0dWxhdGlvbnMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IHBhc3NlZCB0aGUgcXVpeiE8XC9wPiIsImZhaWxfc2NvcmVfbWVzc2FnZSI6IjxoNCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlclwiPk9vcHMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IGhhdmUgbm90IHBhc3NlZCB0aGUgcXVpeiFcclxuVHJ5IGFnYWluITxcL3A+IiwicXVlc3Rpb25fZm9udF9zaXplIjoxNiwicXVpel93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVlc3Rpb25zX2hpbnRfaWNvbl9vcl90ZXh0IjoiZGVmYXVsdCIsInF1ZXN0aW9uc19oaW50X3ZhbHVlIjoiIiwiZW5hYmxlX2Vhcmx5X2ZpbnNoX2NvbWZpcm1fYm94Ijoib24iLCJlbmFibGVfcXVlc3Rpb25zX29yZGVyaW5nX2J5X2NhdCI6Im9mZiIsInNob3dfc2NoZWR1bGVfdGltZXIiOiJvZmYiLCJzaG93X3RpbWVyX3R5cGUiOiJjb3VudGRvd24iLCJxdWl6X2xvYWRlcl90ZXh0X3ZhbHVlIjoiIiwiaGlkZV9jb3JyZWN0X2Fuc3dlcnMiOiJvZmYiLCJzaG93X2luZm9ybWF0aW9uX2Zvcm0iOiJvbiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWYiOiIiLCJkaXNhYmxlX2hvdmVyX2VmZmVjdCI6Im9mZiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWZfd2lkdGgiOjEwMCwicHJvZ3Jlc3NfbGl2ZV9iYXJfc3R5bGUiOiJkZWZhdWx0IiwicXVpel90aXRsZV90cmFuc2Zvcm1hdGlvbiI6InVwcGVyY2FzZSIsInNob3dfYW5zd2Vyc19udW1iZXJpbmciOiJub25lIiwicXVpel9pbWFnZV93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVpel9pbWFnZV9oZWlnaHQiOiIiLCJxdWl6X2JnX2ltZ19vbl9zdGFydF9wYWdlIjoib2ZmIiwicXVpel9ib3hfc2hhZG93X3hfb2Zmc2V0IjowLCJxdWl6X2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYm94X3NoYWRvd196X29mZnNldCI6MTUsInF1aXpfcXVlc3Rpb25fdGV4dF9hbGlnbm1lbnQiOiJjZW50ZXIiLCJxdWl6X2Fycm93X3R5cGUiOiJkZWZhdWx0IiwicXVpel9zaG93X3dyb25nX2Fuc3dlcnNfZmlyc3QiOiJvZmYiLCJxdWl6X2Rpc3BsYXlfYWxsX3F1ZXN0aW9ucyI6Im9mZiIsInF1aXpfdGltZXJfcmVkX3dhcm5pbmciOiJvZmYiLCJxdWl6X3NjaGVkdWxlX3RpbWV6b25lIjoiQW1lcmljYVwvTWV4aWNvX0NpdHkiLCJxdWVzdGlvbnNfaGludF9idXR0b25fdmFsdWUiOiIiLCJxdWl6X3RhY2tlcnNfbWVzc2FnZSI6Ilx1MDBhMUVzdGUgdGVzdCBoYSBleHBpcmFkbyEiLCJxdWl6X2VuYWJsZV9saW5rZWRpbl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfZW5hYmxlX2ZhY2Vib29rX3NoYXJlX2J1dHRvbiI6Im9uIiwicXVpel9lbmFibGVfdHdpdHRlcl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfbWFrZV9yZXNwb25zZXNfYW5vbnltb3VzIjoib2ZmIiwicXVpel9tYWtlX2FsbF9yZXZpZXdfbGluayI6Im9mZiIsInNob3dfcXVlc3Rpb25zX251bWJlcmluZyI6Im5vbmUiLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3RpbWVyIjoiIiwiZW5hYmxlX3Bhc3N3b3JkIjoib2ZmIiwicGFzc3dvcmRfcXVpeiI6IiIsInF1aXpfcGFzc3dvcmRfbWVzc2FnZSI6IiIsImVuYWJsZV9zZWVfcmVzdWx0X2NvbmZpcm1fYm94Ijoib2ZmIiwiZGlzcGxheV9maWVsZHNfbGFiZWxzIjoib2ZmIiwiZW5hYmxlX2Z1bGxfc2NyZWVuX21vZGUiOiJvZmYiLCJxdWl6X2VuYWJsZV9wYXNzd29yZF92aXNpYmlsaXR5Ijoib2ZmIiwicXVlc3Rpb25fbW9iaWxlX2ZvbnRfc2l6ZSI6MTYsImFuc3dlcnNfbW9iaWxlX2ZvbnRfc2l6ZSI6MTUsInNvY2lhbF9idXR0b25zX2hlYWRpbmciOiIiLCJxdWl6X2VuYWJsZV92a29udGFrdGVfc2hhcmVfYnV0dG9uIjoib24iLCJhbnN3ZXJzX2JvcmRlciI6Im9uIiwiYW5zd2Vyc19ib3JkZXJfd2lkdGgiOjEsImFuc3dlcnNfYm9yZGVyX3N0eWxlIjoic29saWQiLCJhbnN3ZXJzX2JvcmRlcl9jb2xvciI6IiM0NDQiLCJzb2NpYWxfbGlua3NfaGVhZGluZyI6IiIsInF1aXpfZW5hYmxlX3F1ZXN0aW9uX2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwiYW5zd2Vyc19tYXJnaW4iOjEwLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3JlZGlyZWN0X3RpbWVyIjoiIiwiYnV0dG9uc19tb2JpbGVfZm9udF9zaXplIjoxNywiYW5zd2Vyc19ib3hfc2hhZG93Ijoib2ZmIiwiYW5zd2Vyc19ib3hfc2hhZG93X2NvbG9yIjoiIzAwMCIsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeF9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfel9vZmZzZXQiOjEwLCJxdWl6X2NyZWF0ZV9hdXRob3IiOjEsInF1aXpfZW5hYmxlX3RpdGxlX3RleHRfc2hhZG93Ijoib2ZmIiwicXVpel90aXRsZV90ZXh0X3NoYWRvd19jb2xvciI6IiMzMzMiLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3hfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3lfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3pfb2Zmc2V0IjoyLCJxdWl6X3Nob3dfb25seV93cm9uZ19hbnN3ZXJzIjoib2ZmIiwicXVpel90aXRsZV9mb250X3NpemUiOjIxLCJxdWl6X3RpdGxlX21vYmlsZV9mb250X3NpemUiOjIxLCJxdWl6X3Bhc3N3b3JkX3dpZHRoIjoiIiwicXVpel9yZXZpZXdfcGxhY2Vob2xkZXJfdGV4dCI6IiIsInF1aXpfbWFrZV9yZXZpZXdfcmVxdWlyZWQiOiJvZmYiLCJxdWl6X2VuYWJsZV9yZXN1bHRzX3RvZ2dsZSI6Im9mZiIsInF1aXpfcmV2aWV3X3RoYW5rX3lvdV9tZXNzYWdlIjoiIiwicXVpel9yZXZpZXdfZW5hYmxlX2NvbW1lbnRfZmllbGQiOiJvbiIsInF1ZXN0X2V4cGxhbmF0aW9uX2ZvbnRfc2l6ZSI6MTYsInF1ZXN0X2V4cGxhbmF0aW9uX21vYmlsZV9mb250X3NpemUiOjE2LCJxdWl6X3dhaXRpbmdfdGltZSI6Im9mZiIsIndyb25nX2Fuc3dlcnNfZm9udF9zaXplIjoxNiwid3JvbmdfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9lbmFibGVfcXVlc3Rpb25faW1hZ2Vfem9vbSI6Im9mZiIsInJpZ2h0X2Fuc3dlcnNfZm9udF9zaXplIjoxNiwicmlnaHRfYW5zd2Vyc19tb2JpbGVfZm9udF9zaXplIjoxNiwicXVpel9kaXNwbGF5X21lc3NhZ2VzX2JlZm9yZV9idXR0b25zIjoib2ZmIiwicmVxdWlyZWRfZmllbGRzIjpudWxsLCJlbmFibGVfdGltZXIiOiJvZmYiLCJlbmFibGVfcXVpel9yYXRlIjoib2ZmIiwiZW5hYmxlX3JhdGVfYXZnIjoib2ZmIiwiZW5hYmxlX2JveF9zaGFkb3ciOiJvZmYiLCJlbmFibGVfYm9yZGVyIjoib24iLCJxdWl6X3RpbWVyX2luX3RpdGxlIjoib2ZmIiwiZW5hYmxlX3JhdGVfY29tbWVudHMiOiJvZmYiLCJlbmFibGVfcmVzdGFydF9idXR0b24iOiJvbiIsImF1dG9maWxsX3VzZXJfZGF0YSI6Im9mZiIsInRpbWVyIjoxMDAsInF1aXpfYmdfaW1nX2R1cmluZ190aGVfcXVpeiI6Im9mZiIsInNob3dfYW5zd2Vyc19jYXB0aW9uIjoib24iLCJxdWl6X2VuYWJsZV9rZXlib2FyZF9uYXZpZ2F0aW9uIjoib24iLCJzaG93X3F1aXpfaW1hZ2UiOiJvbiIsInF1aXpfZW5hYmxlX3F1aXpfY2F0ZWdvcnlfZGVzY3JpcHRpb24iOiJvZmYiLCJxdWl6X2VuYWJsZV91c2VyX2NcdTA1NzBvb3NpbmdfYW5vbnltb3VzX2Fzc2Vzc21lbnQiOiJvZmYiLCJxdWl6X2VuYWJsZV93aGF0c2FwcF9zaGFyZV9idXR0b24iOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfYWZ0ZXIiOiIiLCJyd19hbnN3ZXJzX3NvdW5kcyI6dHJ1ZSwiaWQiOiIxNCIsInRpdGxlIjoiUmVncmVzaVx1MDBmM24gbGluZWFsIiwiZGVzY3JpcHRpb24iOiJDb250ZXN0YSBsYXMgc2lndWllbnRlcyBwcmVndW50YXMiLCJxdWl6X2ltYWdlIjoiIiwicXVpel9jYXRlZ29yeV9pZCI6IjIiLCJxdWVzdGlvbl9pZHMiOiIzNiwzNywzOCIsIm9yZGVyaW5nIjoiMTQiLCJwdWJsaXNoZWQiOiIxIiwiaW50ZXJ2YWxzIjpudWxsLCJxdWl6X3VybCI6bnVsbCwiY3VzdG9tX3Bvc3RfaWQiOm51bGwsImF1dGhvcl9pZCI6IjAiLCJxdWl6X2FuaW1hdGlvbl90b3AiOjEwMCwicXVpel9lbmFibGVfYW5pbWF0aW9uX3RvcCI6Im9uIn0=';
        </script>
                    <input type='hidden' name='quiz_id' value='14'/>
                    <input type='hidden' name='start_date' class='ays-start-date'/>
                </form></div>
                            </div>
                            



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<div style="height:0px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center">Definición matemática de la regresión lineal simple</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Libro_1.jpg" alt="Libro_1" class="wp-image-6962" style="width:125px;height:125px" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 212" srcset="https://dialektico.com/wp-content/uploads/2024/04/Libro_1.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Libro_1-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Las definiciones matemáticas de la <strong>regresión lineal</strong> y el método de los <strong>mínimos cuadrados</strong> son relativamente sencillas, pero antes debemos asegurarnos de que tenemos bien presente lo <strong>básico </strong>respecto a las <strong>rectas </strong>y su interpretación en el espacio.</p>



<p>Echemos un vistazo a estos aspectos.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Ecuación de la recta e interpretación geométrica</h3>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p><strong>Definición 3.2. (Ecuación de la recta)</strong>. La ecuación de la recta es la expresión matemática que al ser evaluada/mapeada como una función describe la dirección y posición de una recta en un plano cartesiano. Su forma es la siguiente:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
    y=mx+b\:, \tag{3.9}
\end{aligned}
</pre></div>



<p>donde <span class="katex-eq" data-katex-display="false">m \in \mathbb{R}</span> es el valor de la pendiente (la cual determina su inclinación) y <span class="katex-eq" data-katex-display="false">b\in \mathbb{R}</span> es el valor en el que la recta se intersepta con el eje <span class="katex-eq" data-katex-display="false">y</span>. Se dice que <span class="katex-eq" data-katex-display="false">m</span> y <span class="katex-eq" data-katex-display="false">b</span> son sus parámetros o regresores.</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En la <strong>Figura 3.2.7</strong> se pueden visualizar diferentes ejemplos de cómo varía la presentación de la recta de acuerdo a diferentes variantes de sus parámetros:</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2023/02/image-2.png" alt="regresión lineal comparación" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 213"><figcaption class="wp-element-caption"><strong>Fig. 3.2.7</strong> Gráficas correspondientes a tres variantes de la ecuación de la recta, en la que cambian los valores de <span class="katex-eq" data-katex-display="false">m</span> y <span class="katex-eq" data-katex-display="false">b</span>, generando diferencias en su inclinación y dirección (en la primera ecuación, por ejemplo, <span class="katex-eq" data-katex-display="false">m=1</span> y <span class="katex-eq" data-katex-display="false">b=0</span>).</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Componente aleatorio</h3>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Como hemos comprobado tanto en el recorrido anterior como al inicio de este, la <strong>ecuación </strong>de una <strong>recta </strong>se puede utilizar para representar <strong>patrones </strong>en conjuntos de datos que consten de dos variables con una <strong>relación lineal</strong> entre estas.</p>



<p>En nuestro ejemplo sobre calificaciones, los puntajes obtenidos por los estudiantes dependen del número de horas que dedicaron al estudio. Al identificar visualmente una relación lineal en la <strong><a href="https://dialektico.com/wp-content/uploads/2024/05/IRL_RL1.jpg">Figura 3.2.1</a></strong>, se decidió que se podía utilizar una recta para modelar este <strong>patrón </strong>subyacente.</p>



<p>Por lo tanto, si suponemos que la interacción de este par de variables puede ser modelada por la ecuación de una recta, la variable <strong>independiente </strong><span class="katex-eq" data-katex-display="false">x</span> representa a las horas de estudio, mientras que la variable <strong>dependiente </strong><span class="katex-eq" data-katex-display="false">y</span> es la calificación obtenida (ya que los valores de esta última dependen de los valores de la otra).</p>



<p>Por razones de consistencia en nuestra notación matemática, reescribiremos la ecuación de la recta de la siguiente forma: </p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
    y=\Theta_{0}+\Theta_{1}x\:, \tag{3.10}
\end{aligned}
</pre></div>



<p>donde <span class="katex-eq" data-katex-display="false">y</span> es la variable dependiente, y <span class="katex-eq" data-katex-display="false">x</span> la variable independiente parametrizada por <span class="katex-eq" data-katex-display="false">\Theta</span>, siendo <span class="katex-eq" data-katex-display="false">\Theta_0</span> la intersección con las ordenadas (antes <span class="katex-eq" data-katex-display="false">b</span>), y <span class="katex-eq" data-katex-display="false">\Theta_1</span> la pendiente de la recta (antes <span class="katex-eq" data-katex-display="false">m</span>).</p>



<p>Ahora que tenemos definida la forma de nuestra <strong>ecuación</strong>, y hemos identificado un posible <strong>patrón lineal</strong> en el comportamiento de los datos, notemos que la <strong>dispersión </strong>de estos no dibuja una <strong>línea recta exacta</strong>, sino que estos se distribuyen en una forma cercana a esta, como se puede constatar en la <strong><a href="https://dialektico.com/wp-content/uploads/2023/01/image-7.png">Figura 3.3.2</a></strong>.</p>



<p>Esto sucede porque no existe ningún fenómeno completamente <strong>determinista</strong> (hasta donde sabemos/creemos); siempre que tengamos un conjunto de datos de cualquier tipo, notaremos que no existe una relación <strong>completamente predecible </strong>entre las variables que lo componen (por ejemplo, no todos los alumnos que estudien 5 horas obtendrán siempre la misma calificación).</p>



<p>Se dice, entonces, que este tipo de fenómenos son de <strong>naturaleza probabilística</strong>, y por lo tanto, su comportamiento no puede ser descrito con <strong>total precisión</strong> por un <strong>modelo </strong>matemático. Por ello, cuando se intenta describir la relación entre variables asignadas a un conjunto de datos mediante una expresión matemática, se debe añadir un <strong>componente aleatorio</strong> que representa este «<strong>ruido</strong>» o <strong>aleatoriedad </strong>en las <strong>observaciones</strong>. </p>



<p>Tomando en cuenta estas consideraciones, redefinimos que la variable <span class="katex-eq" data-katex-display="false">y</span> se relaciona con la variable <span class="katex-eq" data-katex-display="false">x</span> a través de la ecuación:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
    y=\Theta_{0}+\Theta_{1}x+\varepsilon\:, \tag{3.11}
\end{aligned}
</pre></div>



<p>donde <span class="katex-eq" data-katex-display="false">\varepsilon</span> es la variable que representa al componente aleatorio, el cual suele ser llamado <strong>error aleatorio</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/05/IRL_L2.jpg" alt="regresión lineal dialéktico" class="wp-image-7855" style="width:606px;height:auto" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 214" srcset="https://dialektico.com/wp-content/uploads/2024/05/IRL_L2.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/05/IRL_L2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/05/IRL_D2_v2.jpg" alt="IRL D2 v2" class="wp-image-7969" style="width:604px;height:auto" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 215" srcset="https://dialektico.com/wp-content/uploads/2024/05/IRL_D2_v2.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/05/IRL_D2_v2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Y de hecho, otro punto importante es que se asume que estas «desviaciones» tienen una <strong>distribución normal</strong> alrededor de la <strong>recta</strong>, es decir, su <strong>media </strong>cae sobre la recta, y los puntos más alejados de esta son poco comunes.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/05/IRL_A3.jpg" alt="regresión lineal dialéktico" class="wp-image-7858" style="width:500px;height:auto" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 216" srcset="https://dialektico.com/wp-content/uploads/2024/05/IRL_A3.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/05/IRL_A3-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Puede llegar a ser poco intuitivo, pero con tenerlo presente basta. Para entender mejor los conceptos hasta aquí expuestos relacionados a la <strong>regresión lineal</strong>, y una parte de las bases de los objetivos del <strong>aprendizaje de máquinas</strong>, podemos resumir la lógica que precede al uso de la regresión lineal de la siguiente manera:</p>



<ul class="wp-block-list">
<li>Tenemos un conjunto de datos que consta de un par <strong>variables</strong>, de las cuales los valores de una dependen de la otra.</li>



<li>Al explorarlo, determinamos que podemos modelar su comportamiento con la <strong>función </strong>de una recta.</li>



<li>Ahora debemos obtener dicha función, por lo que para esto asumimos que existe tal <strong>modelo </strong>matemático.</li>



<li>Habiendo asumiendo lo anterior, también se debe suponer que hay cierto <em><strong>ruido </strong></em>o <strong>componente aleatorio</strong> que genera puntos fuera de esa recta, entre los cuales estarán todas o una parte de las <strong>observaciones </strong>de las que consta el conjunto de datos, por lo que todo modelo obtenido no tendrá una capacidad predictiva totalmente exacta.</li>
</ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>La cuestión clave a resolver ahora es: ¿cómo obtenemos dicha ecuación?</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">La regresión lineal como técnica de aprendizaje supervisado</h3>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Es aquí donde concebimos a la regresión lineal como la simiente de un modelo de <strong>machine learning</strong>. Recordemos que el<strong> aprendizaje supervisado</strong> tiene como objetivo encontrar, de entre un conjunto de hipótesis <span class="katex-eq" data-katex-display="false">h(x)</span>, el <strong>modelo matemático </strong>que describa de forma más aproximada el comportamiento de un conjunto de datos, justo como reza la <a href="https://dialektico.com/wp-content/uploads/2024/10/IAS_def2.png">Definición 3.1</a> mostrada en nuestra última expedición.</p>



<p>Esto quiere decir que, ahora que sabemos que estamos buscando un <strong>patrón </strong>que puede ser representado por una <strong>recta</strong>, sabemos que existe un conjunto infinito de posibles rectas, y que entre estos debemos hallar el que se ajuste mejor a nuestros datos. Un ejemplo de esto lo podemos visualizar en la<strong> Figura 3.2.8</strong>:</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2023/02/image-5.png" alt="gráfica regresión lineal" style="width:515px;height:auto" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 217"><figcaption class="wp-element-caption"><strong>Fig. 3.2.8</strong> Ejemplificación de un conjunto de hipótesis <span class="katex-eq" data-katex-display="false">h(x)</span> (funciones que dibujan las líneas amarilla, azul, verde y púrpura) y la función objetivo <span class="katex-eq" data-katex-display="false">f(x)</span> (línea roja), es decir, la función ideal que modela el patrón lineal subyacente a los datos.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En esta ilustración se observa a un grupo de líneas dadas por <strong>funciones </strong>(<strong>hipótesis</strong>) con diferentes valores de sus <strong>parámetros</strong>, y la <strong>función objetivo</strong>, la cual es el modelo ideal que dibuja el patrón más afín a la dispersión de los datos.</p>



<p>Para ser más conscientes de cómo surgen estas rectas, recordemos que la función lineal ideal <span class="katex-eq" data-katex-display="false">f(x)</span>, y la función lineal hipotética <span class="katex-eq" data-katex-display="false">h(x)</span>, se expresan como sigue:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
    f(x)=\Theta_{0}+\Theta_{1}x \tag{3.12}
\end{aligned}
</pre></div>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
    h(x)=\theta_{0}+\theta_{1}x\:, \tag{3.13}
\end{aligned}
</pre></div>



<p>Esta búsqueda de un modelo matemático entre posibles hipótesis a partir de <strong><a href="https://dialektico.com/datos-etiquetados-machine-learning/">datos etiquetados</a></strong> es lo que le confiere a la <strong>regresión lineal </strong>su puesto dentro de los anaqueles del <strong>aprendizaje supervisado</strong>, y por lo tanto, del <strong>aprendizaje automático</strong>.</p>



<p>Como ya he mencionado, la forma de obtener este modelo no es única, pero la más común es el método de <strong>mínimos cuadrados</strong>, el cual forma parte de un <strong>marco general</strong> del machine learning.</p>



<div style="height:25px" aria-hidden="true" id="minRE" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Minimización del riesgo empírico (empirical risk minimization), un enfoque general del aprendizaje de máquinas</h3>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>La esencia del método de mínimos cuadrados reside en hallar la <strong>recta </strong>más <strong>cercana </strong>a las <strong>salidas </strong>del <strong>conjunto de datos</strong>. Para esto, lo que se hace es recurrir a un <strong>marco general</strong> del machine learning, el cual consiste en resolver el cómo seleccionar el <strong>modelo matemático</strong> más apropiado de entre el conjunto de <strong>hipótesis </strong>posibles.</p>



<p>¿Cómo lograrlo?, esto se puede lograr <strong>comparando </strong>las predicciones generadas por la hipótesis propuesta y los puntos que conforman al conjunto de datos. </p>



<p>Para observar este proceso, utilizaremos las funciones de las <strong>Ecuaciones</strong> <strong>(3.12)</strong> y <strong>(3.13)</strong> para calcular salidas o predicciones de una hipótesis en particular. Supongamos que nuestro modelo <span class="katex-eq" data-katex-display="false">h_{\theta}(x)</span> (hipótesis) para la estimación de datos sobre el conjunto de datos de calificaciones tiene la siguiente forma:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
    h(x)=3+10x,\: \tag{3.14}
\end{aligned}
</pre></div>



<p> con <span class="katex-eq" data-katex-display="false">\theta_{0}=3</span> y <span class="katex-eq" data-katex-display="false">\theta_{1}=10</span>.</p>



<p>Esta función puede utilizarse para <strong>predecir </strong>cuál es el valor del puntaje de un alumno dadas determinadas horas de estudio, por lo que la usaremos para estimar el valor del puntaje en <strong>4.5</strong> horas:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
    h(4.5)=3+10(45)=48.\: \tag{3.15}
\end{aligned}
</pre></div>



<p>Esto quiere decir que el modelo calcula que para <strong>4.5</strong> horas de estudio, un alumno obtendrá aproximadamente un <strong>48</strong> de calificación. </p>



<p>Revisando el conjunto de datos (<a href="https://dialektico.com/wp-content/uploads/2023/02/image.png">Tabla 3.2.1</a>), podemos constatar en el renglón número <strong>12 </strong>(doceavo ejemplo de entrenamiento) que el valor observado para este valor es de <span class="katex-eq" data-katex-display="false">41</span>, por lo que la <strong>diferencia </strong>entre este y la cantidad real (asumiendo que está dada por la función objetivo <span class="katex-eq" data-katex-display="false">y = f(x)</span>) es:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
    \hat{y}_{12}-y_{12}&amp;=48-41\\
&amp;=7, \tag{3.16}
\end{aligned}
</pre></div>



<p>donde <span class="katex-eq" data-katex-display="false">\hat{y}_n</span> representa al valor obtenido al evaluar la función hipotética en 4.5, como se hizo en <strong>(3.15)</strong>.</p>



<p>Esta <strong>diferencia </strong>entre valores correspondientes al conjunto de datos y valores <strong>predichos </strong>por el <strong>modelo</strong>, es lo que se conoce como «<strong>error</strong>» o «<strong>riesgo</strong>«, y mientras este es <strong>más pequeño</strong>, el modelo es mejor en sus <strong>predicciones</strong>, ya que esto significa que sus <strong>salidas </strong>se asemejan más a las cantidades <strong>reales</strong>.</p>



<p>Dado esto, es lógico pensar que, para obtener el mejor modelo, las <strong>diferencias </strong>entre los puntos predichos por el <strong>modelo </strong>y los puntos pertenecientes al <strong>conjunto de datos</strong> debe ser la menor posible.</p>



<p>La operación de <strong>minimizar </strong>estas <strong>diferencias</strong> o <strong>errores </strong>es lo que se conoce como <strong>minimización del riesgo empírico</strong>, y es un marco general a través del cual se puede abordar la obtención de <strong>modelos </strong>de <strong>machine learning</strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Regresión lineal simple</h3>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p><strong>Definición 3.2. (Regresión lineal simple).</strong> La regresión lineal simple es un método cuyo objetivo es encontrar la ecuación que describe la relación lineal entre una variable independiente <span class="katex-eq" data-katex-display="false">x</span>, una variable dependiente <span class="katex-eq" data-katex-display="false">y</span>, y un componente aleatorio <span class="katex-eq" data-katex-display="false">\varepsilon</span>. La ecuación resultante tiene la forma</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
    y=\Theta_{0}+\Theta_{1}x+\varepsilon\:, \tag{3.17}
\end{aligned}
</pre></div>



<p>donde <span class="katex-eq" data-katex-display="false">\Theta_{0}</span> y <span class="katex-eq" data-katex-display="false">\Theta_{1}</span> son los <strong>regresores </strong>que la <strong>parametrizan</strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading"><strong>Función de error para la regresión lineal</strong></h4>



<p>Como lo determina la <strong>minimización del error empírico</strong>, para evaluar qué tan bien predice valores el modelo hallado por la regresión lineal, se comparan las salidas de este con los valores del conjunto de datos (también conocido como el terreno verdadero, terreno real, o verdad fundamental).</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p><strong>Definición 3.3 (Error).</strong> Dado un conjunto <span class="katex-eq" data-katex-display="false">\mathcal{D}=\lbrace (x_{1},y_{1}),…,(x_{n},y_{n}),…,(x_{N},y_{N})\rbrace</span> de <span class="katex-eq" data-katex-display="false">N</span> datos etiquetados, una función hipótesis <span class="katex-eq" data-katex-display="false">h(x) =\theta_{0}+\theta_{1}x</span> ajustada a los datos, donde <span class="katex-eq" data-katex-display="false">\hat{y}_n</span> es la salida de la hipótesis evaluada en <span class="katex-eq" data-katex-display="false">x_{n}</span>, y <span class="katex-eq" data-katex-display="false">y_{n}</span> la <span class="katex-eq" data-katex-display="false">n</span>-ésima salida del conjunto de datos, el <span class="katex-eq" data-katex-display="false">n</span>-ésimo error <span class="katex-eq" data-katex-display="false">e_{n}</span> está dado por</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
    e_{n}=y_{n}-\hat{y}_n\:, \tag{3.18}
\end{aligned}
</pre></div>



<p class="has-text-align-left">la cual es la <strong>diferencia </strong>entre las <strong>salidas </strong>del conjunto de datos, y las <strong>salidas </strong>generadas por <span class="katex-eq" data-katex-display="false">h(x)</span>.</p>



<p class="has-text-align-left">Teniendo esto en cuenta, finalmente definimos la función de error, o función de pérdida para la regresión lineal.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-left"><strong>Definición 3.4 (Función de error cuadrático medio).</strong> La función de error para la regresión lineal es la función de error cuadrático, la cual tiene la forma</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
    &amp;l(y_{n},\hat{y}_n)=e_{n}^{2} \tag{3.19}\\
&amp;l(y_{n},\hat{y}_n)=(y_{n}-\hat{y}_n)^{2}.
\end{aligned}
</pre></div>



<p>Esta función calcula el <strong>cuadrado </strong>de los <strong>residuales</strong>, es decir, el cuadrado de las diferencias entre lo que predice el modelo y los valores del conjunto de datos. Lo que buscaremos ahora será <strong>minimizar </strong>esos errores con la <strong>función del error cuadrático medio</strong>:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
\text{MSE} &amp;= \min \frac{1}{N} \sum_{n=1}^{N} l(y_n, \hat{y}_n) \tag{3.20} \\
           &amp;= \min \frac{1}{N} \sum_{n=1}^{N} (y_n - \hat{y}_n)^2,
\end{aligned}

</pre></div>



<p>la cual minimiza la suma del cuadrado de las diferencias entre las predicciones de <span class="katex-eq" data-katex-display="false">\hat{y}_n</span> y las salidas <span class="katex-eq" data-katex-display="false">y_{n}</span> del conjunto de datos.</p>



<p>Esta minimización implica que se encontrarán los <strong>parámetros </strong><span class="katex-eq" data-katex-display="false">\theta_{0}</span> y <span class="katex-eq" data-katex-display="false">\theta_{1}</span> que reduzcan las diferencias entre las <strong>predicciones del modelo</strong> y los <strong>valores reales</strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Haciendo predicciones con el modelo ajustado</h3>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>El desarrollo matemático correspondiente a la obtención de las ecuaciones que determinan los valores de los regresores <span class="katex-eq" data-katex-display="false">\theta_{0}</span> y <span class="katex-eq" data-katex-display="false">\theta_{1}</span> que minimizan la función <strong>MSE </strong>(del error cuadrático medio, por sus siglas en inglés: mean squared error) no serán mostradas aquí para evitar alargar demasiado el recorrido.</p>



<p>Sin embargo, si se desea explorar esta parte, recomiendo el capítulo 11 del libro <strong>Probabilidad y estadística de Walpole</strong>, o este texto del profesor Esteban Hurtado de la facultad de ciencias de la <strong>UNAM</strong>: <a href="https://sistemas.fciencias.unam.mx/~erhc/calculo3_20171/derivadas_parciales_direccionales_2016_12.pdf" target="_blank" rel="noopener">El método de mínimos cuadrados</a>.</p>



<p>Para finalizar, haremos algunas estimaciones con la función encontrada por la regresión lineal.</p>



<p>Supongamos que hemos calculado los <strong>parámetros </strong>de la <strong>ecuación de la recta</strong> utilizando el método de mínimos cuadrados, y hemos obtenido la siguiente función: </p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
    h(x)=2.48+9.77x\:, \tag{3.21}
\end{aligned}
</pre></div>



<p>donde <span class="katex-eq" data-katex-display="false">\theta_{0}=2.48</span> y <span class="katex-eq" data-katex-display="false">\theta_{1}=9.77</span>.</p>



<p>Ahora lo que buscamos es obtener alguna <strong>aproximación </strong>de una calificación dada un número de horas que no se encuentre dentro de nuestro conjunto de datos. En esta ocasión, elegiremos el <strong>5.3</strong>.</p>



<p>Sustituimos en <strong>(3.21)</strong>:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>\begin{aligned}
    h(x)=2.48+9.77(5.3)=54.26.\: \tag{3.22}
\end{aligned}
</pre></div>



<p>Por lo tanto, nuestro modelo estima una calificación de aproximadamente <strong>54 </strong>para alumnos que estudien <strong>5.3 </strong>horas, lo cual es consistente con los valores de la <a href="https://dialektico.com/wp-content/uploads/2023/02/image.png">Tabla 3.2.1</a>.</p>



<p>En la <strong>Figura 3.2.9</strong> se ilustra el resultado:</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="810" height="788" src="https://dialektico.com/wp-content/uploads/2023/02/RLG6.jpg" alt="regresión lineal" class="wp-image-5397" style="width:506px;height:auto" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 218" srcset="https://dialektico.com/wp-content/uploads/2023/02/RLG6.jpg 810w, https://dialektico.com/wp-content/uploads/2023/02/RLG6-768x747.jpg 768w" sizes="(max-width: 810px) 100vw, 810px" /><figcaption class="wp-element-caption"><strong>Fig. 3.2.9</strong> Punto calculado tras utilizar la ecuación de la recta hallada con el método de mínimos cuadrados, sustituyendo <span class="katex-eq" data-katex-display="false">x</span> con 5.3.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2023/03/IRL_A4_3.jpg" alt="IRL A4 3" class="wp-image-10397" style="width:502px;height:auto" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 219" srcset="https://dialektico.com/wp-content/uploads/2023/03/IRL_A4_3.jpg 1200w, https://dialektico.com/wp-content/uploads/2023/03/IRL_A4_3-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Para esos casos aún se puede utilizar la regresión lineal, pero en su versión <strong>multivariable</strong>. Lo definiremos a continuación, pero de manera opcional (este recorrido ha sido exaustivo). Ya luego la retomaremos.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Regresión lineal multivariable (opcional)</h3>



<p>Es importante que al menos sepas que existe una versión de la regresión lineal que considera a más de una variable independiente. Esta se llama regresión lineal multivariada o multivariable, y te puede llegar a ser de utilidad.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p><strong>Definición 3.5 (Regresión lineal multivariable)</strong>. La regresión multivariable es un método cuyo objetivo es encontrar la ecuación que describe la relación lineal entre varias variables independientes <span class="katex-eq" data-katex-display="false"> x_1, x_2, \dots, x_n </span>, una variable dependiente <span class="katex-eq" data-katex-display="false"> y </span>, y un componente aleatorio <span class="katex-eq" data-katex-display="false"> \varepsilon </span>. La ecuación resultante tiene la forma</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>y = \Theta_0 + \Theta_1 x_1 + \Theta_2 x_2 + \dots + \Theta_n x_n + \varepsilon, \tag{3.22.1}</pre></div>



<p>donde <span class="katex-eq" data-katex-display="false"> \Theta_0, \Theta_1, \dots, \Theta_n </span> son los <strong>regresores</strong> que la <strong>parametrizan</strong>.</p>



<p>Esto quiere decir que, en caso de existir, puedes modelar la relación de más de una variable de entrada con tu salida. Por ejemplo, se podrían utilizar las variables <strong>número de horas de estudio</strong>, <strong>edad del alumno</strong>, y <strong>nivel socioeconómico</strong> <strong>del alumno</strong> para estimar la calificación total que obtendrá un estudiante, lo cual generaría una ecuación como la que sigue:</p>



<div class="wp-block-katex-display-block katex-eq" data-katex-display="true"><pre>y = \Theta_0 + \Theta_1 x_1 + \Theta_2 x_2 +\Theta_3 x_3, \tag{3.22.2}</pre></div>



<p>donde </p>



<ul class="wp-block-list">
<li><span class="katex-eq" data-katex-display="false">x_1=</span> horas de estudio </li>



<li><span class="katex-eq" data-katex-display="false">x_2=</span> edad </li>



<li><span class="katex-eq" data-katex-display="false">x_3=</span> nivel socioeconómico</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Supuestos de la regresión lineal (opcional)</h3>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Para cerrar esta sección, haré mención de <strong>los supuestos </strong>de la <strong>regresión lineal</strong>, los cuales son asunciones que deben de cumplirse para que la técnica pueda ser correctamente aplicada. Esto es importante para determinar si el <strong>patrón </strong>de la relación entre variables de un <strong>conjunto de datos</strong> puede ser eficientemente <strong>modelado </strong>por una <strong>regresión lineal</strong>, y aunque no las estudiaremos a profundidad, al menos es importante que sepas de su existencia.</p>



<p>Si no los entiendes a la perfección, no te preocupes; si deseas aprenderlo más a fondo, recomiendo el capítulo 5.1 del libro <strong><a href="https://christophm.github.io/interpretable-ml-book/" target="_blank" rel="noopener">Interpretable Machine Learning</a></strong> de <strong>Christopher Molnar</strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p><strong>Supuestos de la regresión lineal:</strong></p>



<ul class="wp-block-list">
<li><strong>Linealidad</strong>: se asume que las variables involucradas guardan relaciones lineales entre sí, es decir, la ecuación que las modela son el resultado de una combinación lineal de la variable independiente y los residuos (componente aleatorio).</li>



<li><strong>Homocedasticidad</strong>: la varianza de los errores es constante. </li>



<li><strong>Independencia</strong>: las observaciones son independientes una de la otra.</li>



<li><strong>Normalidad</strong>: la variable dependiente posee una distribución normal.</li>



<li><strong>No-colinealidad</strong>: no existe relación lineal exacta entre ninguna de las variables independientes.</li>



<li><strong>Exogeneidad</strong>: las variables independientes no deben estar correlacionadas con los términos de error. Esto significa que las variables predictoras son exógenas, es decir, cualquier cambio en las variables independientes no debe estar relacionado con el término de error de la regresión.</li>
</ul>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2024/05/IRL_M2.jpg" alt="regresión lineal dialéktico" class="wp-image-7905" style="width:518px;height:auto" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 220" srcset="https://dialektico.com/wp-content/uploads/2024/05/IRL_M2.jpg 1080w, https://dialektico.com/wp-content/uploads/2024/05/IRL_M2-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center has-text-color" id="aprendizaje-supervisado-codigo-de-programacion" style="color:#840303">Regresión lineal simple: código de programación en python</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Espadas_1.jpg" alt="Preprocesamiento de datos dialéktico" class="wp-image-6961" style="width:139px" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 221" srcset="https://dialektico.com/wp-content/uploads/2024/04/Espadas_1.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Espadas_1-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Hemos llegado al final de esta travesía. Como último paraje a recorrer, confrontaremos una situación en la que haremos uso de la <strong>regresión lineal simple</strong> en <strong>Python </strong>para la solución de un problema. Para este caso, proseguiremos con el tema de <strong>automóviles y sus características</strong> con el fin de dar continuidad a lo visto en la <strong><a href="https://dialektico.com/introduccion-preprocesamiento/">introducción al preprocesamiento de datos</a></strong>, para lo cual utilizaremos un conjunto de datos diferente y más actualizado.</p>



<p>Da clic aquí para dirigirte a la práctica en <strong>Colab</strong>:</p>



<figure class="wp-block-image aligncenter size-full is-resized is-resized, mi-imagen-pulsa" id="colab"><a href="https://colab.research.google.com/github/DanielDialektico/dialektico-machine-learning-practices/blob/main/notebooks/Machine%20Learning/Aprendizaje%20Supervisado/Regresi%C3%B3n_Lineal_Simple.ipynb" target="_blank" rel="noopener"><img loading="lazy" decoding="async" width="860" height="422" src="https://dialektico.com/wp-content/uploads/2022/07/Boton.png" alt="colab" class="wp-image-1469" style="width:182px;height:auto" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 222" srcset="https://dialektico.com/wp-content/uploads/2022/07/Boton.png 860w, https://dialektico.com/wp-content/uploads/2022/07/Boton-300x147.png 300w, https://dialektico.com/wp-content/uploads/2022/07/Boton-768x377.png 768w" sizes="(max-width: 860px) 100vw, 860px" /></a></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>También puedes observar el código en la siguiente ventana, pero sin posibilidad de ejecutarlo:</p>



<script src="https://gist.github.com/DanielDialektico/cb32952c0d0c2e03c82597718f57c8ca.js"></script>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Aquí finaliza nuestra travesía. Por fin has aprendido sobre el funcionamiento y uso de un <strong>algoritmo de machine learning</strong>, y lo has puesto en acción. En la siguiente exploración conocerás a la afamada <strong>regresión logística</strong>, un método que se enfoca en tareas de clasificación, y el cual también se considera clave para el estudio de modelos más avanzados.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2023/03/RL_OBT.jpg" alt="regresión lineal dialéktico" class="wp-image-7912" style="width:554px;height:auto" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 223" srcset="https://dialektico.com/wp-content/uploads/2023/03/RL_OBT.jpg 800w, https://dialektico.com/wp-content/uploads/2023/03/RL_OBT-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-large is-resized is-resized, mi-imagen-pulsa"><a href="https://dialektico.com/regresion-logistica-fundamentos/"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2022/06/Button2-1-300x147.png" alt="Button2 1" style="width:188px;height:auto" title="Introducción a la regresión lineal: fundamentos, programación y matemáticas 224"></a></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://dialektico.com/introduccion-a-la-regresion-lineal/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Preprocesamiento de datos: introducción y ejecución en Python</title>
		<link>https://dialektico.com/introduccion-preprocesamiento/</link>
					<comments>https://dialektico.com/introduccion-preprocesamiento/#respond</comments>
		
		<dc:creator><![CDATA[Daniel Dialéktico]]></dc:creator>
		<pubDate>Fri, 04 Nov 2022 06:42:38 +0000</pubDate>
				<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Análisis de Datos]]></category>
		<category><![CDATA[Ciencia de datos]]></category>
		<category><![CDATA[Otros]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[conjuntos de datos]]></category>
		<category><![CDATA[datos]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[preprocesamiento]]></category>
		<category><![CDATA[programacióh]]></category>
		<category><![CDATA[python]]></category>
		<guid isPermaLink="false">https://dialektico.com/?p=3440</guid>

					<description><![CDATA[Hemos alcanzado la penúltima sesión de nuestro entrenamiento especializado en conjuntos de datos, uno de los peldaños más significativos previo a dar partida en caminos más intrincados, poblados por los desafíos que plantean los modelos del machine learning. En esta ocasión, conocerás y pondrás en práctica un paso ineludible en el desarrollo de todo algoritmo [&#8230;]]]></description>
										<content:encoded><![CDATA[
<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Hemos alcanzado la <strong>penúltima sesión</strong> de nuestro entrenamiento especializado en <strong>conjuntos de datos</strong>, uno de los peldaños más significativos previo a dar partida en caminos más intrincados, poblados por los desafíos que plantean los modelos del <strong><a href="https://dialektico.com/introduccion-machine-learning/">machine learning</a></strong>.</p>



<p>En esta ocasión, conocerás y pondrás en práctica un paso ineludible en el desarrollo de todo algoritmo de aprendizaje de máquinas: el <strong>preprocesamiento de datos</strong>. Este es una parte cardinal del <a href="https://dialektico.com/ciclo-de-vida-de-los-datos/">ciclo de vida de los datos</a>, y es una actividad muy frecuente a realizar por quienes tienen la tarea de implementar modelos de aprendizaje de máquinas, ya que la mayoría de las veces es necesario <strong>modificar</strong> algunos aspectos de los datos para procurar su eficaz procesamiento computacional.</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="847" src="https://dialektico.com/wp-content/uploads/2024/05/PPD_Nivel.jpg" alt="Preprocesamiento de datos dialéktico" class="wp-image-7518" style="width:500px" title="Preprocesamiento de datos: introducción y ejecución en Python 225" srcset="https://dialektico.com/wp-content/uploads/2024/05/PPD_Nivel.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/05/PPD_Nivel-768x635.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h6 class="wp-block-heading has-text-align-center">Equipaje recomendado</h6>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg" alt="Ciclo de vida de los datos dialéktico" class="wp-image-7016" style="width:196px;height:auto" title="Preprocesamiento de datos: introducción y ejecución en Python 226" srcset="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:35px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Nociones sobre <a href="https://dialektico.com/conjuntos-de-datos-para-machine-learning/">conjuntos de datos</a>, el <a href="https://dialektico.com/ciclo-de-vida-de-los-datos/">ciclo de vida de los datos</a>, y <a href="https://dialektico.com/tipos-de-datos/">tipos de datos</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><a href="https://dialektico.com/conjuntos-de-datos-para-machine-learning/"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/TiposDD_3.jpg" alt="Ciclo de vida de los datos dialéktico" class="wp-image-7367" style="width:400px" title="Preprocesamiento de datos: introducción y ejecución en Python 227" srcset="https://dialektico.com/wp-content/uploads/2024/05/TiposDD_3.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/TiposDD_3-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></a></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Matemáticas: conocimiento en estadística descriptiva e inferencial</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/10/image.png" alt="estadística dialéktico" class="wp-image-10035" style="width:410px;height:auto" title="Preprocesamiento de datos: introducción y ejecución en Python 228" srcset="https://dialektico.com/wp-content/uploads/2024/10/image.png 1024w, https://dialektico.com/wp-content/uploads/2024/10/image-768x768.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong><a href="https://dialektico.com/introduccion-analisis-exploratorio-de-datos/">Análisis exploratorio de datos</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2022/11/EDA_Ob.jpg" alt="análisis exploratorio de datos dialéktico" class="wp-image-10073" style="width:410px;height:auto" title="Preprocesamiento de datos: introducción y ejecución en Python 229" srcset="https://dialektico.com/wp-content/uploads/2022/11/EDA_Ob.jpg 1024w, https://dialektico.com/wp-content/uploads/2022/11/EDA_Ob-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="has-text-align-center"><strong><a href="https://dialektico.com/google-colab/">Google Colab</a></strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec.jpg" alt="Preprocesamiento de datos dialéktico" class="wp-image-7521" style="width:400px" title="Preprocesamiento de datos: introducción y ejecución en Python 230" srcset="https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/Colab_Nec-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Programación en Python</strong>: <strong>uso de librerías y comprensión básica de sintaxis</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/Python_Eq.jpg" alt="Preprocesamiento de datos dialéktico" class="wp-image-7522" style="width:400px" title="Preprocesamiento de datos: introducción y ejecución en Python 231" srcset="https://dialektico.com/wp-content/uploads/2024/05/Python_Eq.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/Python_Eq-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center"><strong>Tentempié</strong></p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2022/11/PPD_T_2.jpg" alt="comida dialéktico" class="wp-image-10072" style="width:464px;height:auto" title="Preprocesamiento de datos: introducción y ejecución en Python 232" srcset="https://dialektico.com/wp-content/uploads/2022/11/PPD_T_2.jpg 1024w, https://dialektico.com/wp-content/uploads/2022/11/PPD_T_2-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En este caso, además de explicar nuestro objeto de estudio, también tendremos nuestra primera práctica en <strong><a href="https://www.python.org/" target="_blank" rel="noopener">Python</a></strong>, la cual vendrá desarrollada en un cuaderno de <strong>Google Colab</strong>,<strong> </strong>y para el que solo tendrás que ejecutar líneas de código y observar los resultados.</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<p><strong><em>Nota</em><em>:</em></strong><em> </em> <em>Recuerda que para utilizar <strong>Google Colab</strong> solo tendrás que hacer clic en el botón que te compartiré en la <strong>sección de programación</strong>, el cual te dirigirá hacia el espacio de trabajo con el código ejecutable y sus respectivas explicaciones. No olvides revisar la <a href="https://dialektico.com/google-colab/">introducción rápida a Colab</a> si aún no sabes de qué se trata. </em></p>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:0px" aria-hidden="true" class="wp-block-spacer"></div>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center">¿Qué es el preprocesamiento de datos?</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg" alt="Preprocesamiento de datos dialéktico" class="wp-image-7016" style="width:196px;height:auto" title="Preprocesamiento de datos: introducción y ejecución en Python 233" srcset="https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Travel-Bag-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>El <strong>preprocesamiento </strong>de datos es el conjunto de técnicas empleadas con el fin de preparar los <a href="https://dialektico.com/datos-machine-learning/">datos</a> para asegurar su <strong>calidad</strong>, <strong>viabilidad</strong>, y <strong>eficiencia </strong>para su procesamiento computacional. Es una de las etapas del ciclo de vida de los datos, y su importancia radica en que su objetivo es procurar las mejores propiedades de los datos para su <strong>computación</strong>.</p>



<p>El preprocesamiento de datos como una etapa del ciclo de vida de los datos está justo detrás de la <strong>fase de procesamiento </strong>(<strong>Fig. 2.7.1</strong>), que es la que corresponde a la operación computacional de los datos para su transformación en <a href="https://dialektico.com/datos-machine-learning/#know">conocimiento</a> de valor.</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2022/10/PreCiclo.jpg" alt="preprocesamiento de datos en ciclo de vida de los datos" style="width:574px" title="Preprocesamiento de datos: introducción y ejecución en Python 234"><figcaption class="wp-element-caption"><center><strong>Figura 2.7.1</strong> Énfasis de las etapas de preprocesamiento y procesamiento en el ciclo de vida de los datos. </center></figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/05/PPD_L1.jpg" alt="laiarhang Preprocesamiento de datos dialéktico" class="wp-image-7534" style="width:490px" title="Preprocesamiento de datos: introducción y ejecución en Python 235" srcset="https://dialektico.com/wp-content/uploads/2024/05/PPD_L1.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/05/PPD_L1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/05/PPD_D1.jpg" alt="dialéktico" class="wp-image-7537" style="width:493px" title="Preprocesamiento de datos: introducción y ejecución en Python 236" srcset="https://dialektico.com/wp-content/uploads/2024/05/PPD_D1.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/05/PPD_D1-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>A quien le interesa particularmente <strong>acondicionar </strong>los datos es a quien está involucrado directamente con el procesamiento de estos (en nuestro caso, alimentar un modelo de <strong>aprendizaje de máquinas</strong>).</p>



<p>A pesar de que el preprocesamiento se da en un momento posterior a la <em><strong>transformación </strong></em>de los datos, la cual consiste en modificar estos para su correcto almacenamiento en bases de datos relacionales o no relacionales (es decir, dotarlos de formatos <a href="https://dialektico.com/datos-machine-learning/#DatEsNoEs">estructurados o semi-estructurados</a>), esto no quiere decir que la información ya está en la mejor forma para entrar en la <strong>etapa de procesamiento</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2024/05/PPD_M1-1.jpg" alt="mmerf Preprocesamiento de datos dialéktico" class="wp-image-7552" style="width:540px" title="Preprocesamiento de datos: introducción y ejecución en Python 237" srcset="https://dialektico.com/wp-content/uploads/2024/05/PPD_M1-1.jpg 1080w, https://dialektico.com/wp-content/uploads/2024/05/PPD_M1-1-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Para entenderlo mejor, dejemos de lado las analogías de panes, y veamos las técnicas empleadas para ello, y algunos ejemplos.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Técnicas de preprocesamiento de datos</h2>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>El preprocesamiento de datos comprende un <strong>conjunto de técnicas</strong> o <strong>tipos de técnicas</strong> originadas principalmente en la <strong>minería de datos</strong> (la cual trata sobre <strong>extracción de patrones </strong>en <strong>grandes </strong>volúmenes de datos). Estas componen el flujo del preprocesamiento, y conocerlas ilustrará los objetivos que persigue.</p>



<p>Las cuatro técnicas o enfoques principales del preprocesamiento se dividen de la siguiente forma:</p>



<ul class="wp-block-list">
<li>Integración</li>



<li>Limpieza.</li>



<li>Transformación.</li>



<li>Reducción.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Veamos de qué va cada una.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Integración de datos</h3>



<p>La la etapa de <strong>integración de datos</strong> en el <strong>preprocesamiento </strong>consiste en combinar información proveniente de diversas fuentes en un solo <strong>conjunto unificado</strong>. El realizar o no esta tarea dependerá de diversos factores referentes a tus bases de datos: ¿de dónde tomarás los datos?, ¿son compatibles entre sí?, ¿qué tipos de datos tienes y qué requieres para unirlos en un solo conjunto?</p>



<p>Entre otras palabras, esta etapa consiste en tomar datos de diversas bases y cruzarlos para tener un solo conjunto sobre el cual operar. Es importante, ya que para <strong>entrenar </strong>un modelo de aprendizaje artificial debes tener ordenados tus datos en un solo conjunto de<strong> ejemplos de entrenamiento</strong>, como vimos en las definiciones de <a href="https://dialektico.com/conjuntos-de-datos-para-machine-learning/">conjuntos de datos</a> y <a href="https://dialektico.com/datos-etiquetados-machine-learning/">conjuntos de datos etiquetados</a>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2022/11/PPD_M5.jpg" alt="mmerf" class="wp-image-10087" style="width:600px;height:auto" title="Preprocesamiento de datos: introducción y ejecución en Python 238" srcset="https://dialektico.com/wp-content/uploads/2022/11/PPD_M5.jpg 1080w, https://dialektico.com/wp-content/uploads/2022/11/PPD_M5-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Puede que esto suene un poco inconsistente con el flujo del <strong>ciclo de vida de los datos</strong> presentado hasta ahora, ya que he hablado de que los datos suelen almacenarse en espacios centralizados como <strong>data warehouses</strong> o <strong>datalakes</strong>. Pero esto no implica que TODOS los datos se encuentren en una sola estructura como una tabla, si no que se tendrán diferentes conjuntos almacenados en estructuras separadas, generalmente <strong>tablas relacionadas</strong> entre sí (cuando son datos estructurados). Y de ahí debes tomar lo que necesites, y combinarlo en un solo conjunto para tus fines.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Antes de continuar&#8230; no olvidemos el análisis exploratorio</h3>



<p>Una vez que tenemos un <strong>conjunto unificado</strong>, es hora de realizar las modificaciones correspondientes a los datos para que queden listos como entradas para un <strong>algoritmo </strong>de <strong>machine learning</strong>. Pero, ¿cómo sabemos qué acciones específicas llevar a cabo?</p>



<p>Para esto, se realiza un <strong>análisis de datos exploratorio</strong>, en el que irás descubriendo los aspectos de tus datos que debes trabajar. Por lo tanto, el análisis de datos va aunado a las siguientes etapas; conforme vas analizando tus datos, vas determinando qué tareas necesitarás ejecutar para preprocesar los datos adecuadamente. Por ello, consideraremos que el análisis exploratorio es parte del peprocesamiento de datos, y no una actividad separada.</p>



<p>Recordemos de qué va este tipo de análisis visualizando de nuevo el esquema de la <strong>Figura 2.6.1</strong> de la sesión pasada:</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="1024" height="1450" src="https://dialektico.com/wp-content/uploads/2022/11/EDA_esquema_2.jpg" alt="EDA esquema 2" class="wp-image-10709" title="Preprocesamiento de datos: introducción y ejecución en Python 239" srcset="https://dialektico.com/wp-content/uploads/2022/11/EDA_esquema_2.jpg 1024w, https://dialektico.com/wp-content/uploads/2022/11/EDA_esquema_2-768x1088.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption"><strong>Figura 2.6.1</strong> Esquema que muestra los componentes de un análisis exploratorio de datos.</figcaption></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ahora sí, es momento de modificar esos datos.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Limpieza de datos </h3>



<p>Esta es generalmente la más elemental más concurrida actividad dentro del <strong>preprocesamiento</strong>. Consiste en la<strong> detección </strong>y<strong> corrección </strong>de<strong> inconsistencias</strong> en el conjunto de datos. Para su ejemplificación, nos referiremos principalmente a datos organizados en tablas, dado que es muy frecuente encontrarlos en estas estructuras. Algunos ejemplos de inconsistencias en datos para su limpieza (las cuales encontraste mediante un <strong>análisis exploratorio</strong>) son:</p>



<ul class="wp-block-list">
<li><strong>Datos nulos o ausentes:</strong> generalmente son expresados por la máquina con la forma «NaN» o «Null», estos representan espacios vacíos o datos no válidos en el conjunto de datos.</li>



<li><strong>Datos duplicados:</strong> renglones/<a href="https://dialektico.com/conjuntos-de-datos-para-machine-learning/#ejemplosE">ejemplos de entrenamiento</a> repetidos en el conjunto de datos.</li>



<li><strong>Datos mal escritos:</strong> palabras o números que no tienen sentido en el contexto del conjunto de datos por algún error de transcripción.</li>



<li><strong>Tipos de datos inconsistentes:</strong> que cada columna no esté definida con su <a href="https://dialektico.com/datos-machine-learning/#CualCuant">tipo de datos</a> correspondiente, por ejemplo, los <a href="https://dialektico.com/datos-machine-learning/#Dcuant">datos cuantitativos</a> deberían expresarse como enteros (int) o racionales (float), y los <a href="https://dialektico.com/datos-machine-learning/#Dcualit">datos cualitativos</a> en su mayoría como cadenas de caracteres (strings).</li>



<li><strong>Datos atípicos</strong>: valores que se alejan de forma estadísticamente considerable de la tendencia.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2024/05/PPD_M3.jpg" alt="mmerf Preprocesamiento de datos dialéktico" class="wp-image-7551" style="width:540px" title="Preprocesamiento de datos: introducción y ejecución en Python 240" srcset="https://dialektico.com/wp-content/uploads/2024/05/PPD_M3.jpg 1080w, https://dialektico.com/wp-content/uploads/2024/05/PPD_M3-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" id="transf" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Transformación de datos</h3>



<p>Este enfoque tiene el mismo nombre que el de nuestro <strong>ciclo de vida de los datos</strong>, pero no debe confundirse: la transformación de datos en el preprocesamiento trata sobre <strong>modificar </strong>el conjunto de datos para posibilitar o acrecentar su facilidad de procesamiento. Algunas de estas transformaciones pueden ser: <strong>normalización/estandarización </strong>de los datos (una operación muy común), <strong>suavizado</strong>, <strong>vectorización</strong>, <strong>escalado</strong>, o <strong>codificación </strong>(traducción de datos cualitativos a números o estructuras matemáticas).</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1080" height="1080" src="https://dialektico.com/wp-content/uploads/2024/05/PPD_M4.jpg" alt="mmerf Preprocesamiento de datos dialéktico" class="wp-image-7553" style="width:540px" title="Preprocesamiento de datos: introducción y ejecución en Python 241" srcset="https://dialektico.com/wp-content/uploads/2024/05/PPD_M4.jpg 1080w, https://dialektico.com/wp-content/uploads/2024/05/PPD_M4-768x768.jpg 768w" sizes="(max-width: 1080px) 100vw, 1080px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Reducción de datos</h4>



<p>La reducción de datos consiste en la obtención de una <strong>representación más pequeña</strong>, pero más conveniente, del conjunto de datos. Entre las actividades que la conforman están la <strong>reducción de categorías/dimensionalidad</strong> (una práctica muy frecuente), y <strong>reducción de numerosidad</strong>. Para esto se pueden emplear incluso algoritmos de aprendizaje supervisado y no supervisado, y su fin es la optimización del procesamiento de la información, y la generación de los resultados más óptimos posibles.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Como podrás notar, el <strong>preprocesamiento </strong>consiste en asegurar que los datos a procesar no generen errores al tomarse como entradas en los algoritmos, y sean computados en el menor tiempo posible; esta es la razón de ser de este paso del ciclo de vida de los datos, el cual es casi rutinario en la creación y ejecución de un modelo de <strong>aprendizaje de máquinas</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2022/11/PPD_K1_2.jpg" alt="kagnadi" class="wp-image-10102" style="width:484px" title="Preprocesamiento de datos: introducción y ejecución en Python 242" srcset="https://dialektico.com/wp-content/uploads/2022/11/PPD_K1_2.jpg 1200w, https://dialektico.com/wp-content/uploads/2022/11/PPD_K1_2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">¿Cómo hacer preprocesamiento de datos?</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>El <strong>preprocesamiento</strong> se puede trabajar con distintas herramientas que permitan la manipulación de los datos, ya sea con algún lenguaje de programación como<strong><a href="https://en.wikipedia.org/wiki/SQL" target="_blank" rel="noopener"> SQL</a></strong>, <strong><a href="https://www.python.org/" target="_blank" rel="noopener">Python </a></strong>o <a href="https://www.r-project.org/" target="_blank" rel="noopener"><strong>R</strong></a>, o aplicaciones como <strong><a href="https://www.microsoft.com/es-mx/microsoft-365/excel" target="_blank" rel="noopener">Excel</a></strong>, <strong><a href="https://www.google.com/sheets/about/" target="_blank" rel="noopener">Google Sheets</a></strong>, entre otras. La mejor idea es (si está dentro de las posibilidades) hacer este acondicionamiento de los datos desde el mismo lugar en el que ejecutarás su <strong>procesamiento</strong>, ya que simplifica el salto entre etapas (pre y procesamiento); en términos generales, un lenguaje de programación flexible como <strong>Python </strong>es la mejor opción, ya que puedes llevar a cabo tareas altamente personalizables, y definir tanto las operaciones de la etapa de preprocesamiento y procesamiento con códigos escritos en el mismo lenguaje, lo cual aporta <strong>fluidez</strong>.</p>



<p>Como he mencionado al principio de esta travesía, nosotros usaremos <strong>Python </strong>para preprocesar nuestros conjuntos de datos, y ya es tiempo de navegar hacia tu primera <strong>práctica </strong>en este lenguaje de programación, donde entenderás mucho mejor el proceso de preparación de datos definido hasta ahora.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/05/PPD_A1_v2.jpg" alt="aelacor Preprocesamiento de datos dialéktico" class="wp-image-7560" style="width:498px" title="Preprocesamiento de datos: introducción y ejecución en Python 243" srcset="https://dialektico.com/wp-content/uploads/2024/05/PPD_A1_v2.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/05/PPD_A1_v2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1200" height="1500" src="https://dialektico.com/wp-content/uploads/2024/05/PPD_K2.jpg" alt="kagnadi Preprocesamiento de datos dialéktico" class="wp-image-7561" style="width:495px" title="Preprocesamiento de datos: introducción y ejecución en Python 244" srcset="https://dialektico.com/wp-content/uploads/2024/05/PPD_K2.jpg 1200w, https://dialektico.com/wp-content/uploads/2024/05/PPD_K2-768x960.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



            <div class='ays-quiz-container ays_quiz_classic_light   ays-quiz-keyboard-active' data-quest-effect='shake'  data-hide-bg-image='false' id='ays-quiz-container-11'>
                
                
                <div class='ays-questions-container'>
                    
                    
                    
                    <form action='' method='post' id='ays_finish_quiz_11' 
                        class='ays-quiz-form enable_correction enable_questions_result '
                    >
            <input type='hidden' value='list' class='answer_view_class'>
            <input type='hidden' value='' class='ays_qm_enable_arrows'>
            <audio id='ays_quiz_right_ans_sound_11' class='ays_quiz_right_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound.wav'></audio><audio id='ays_quiz_wrong_ans_sound_11' class='ays_quiz_wrong_ans_sound' src='https://dialektico.com/wp-content/uploads/2022/08/sound-1.wav'></audio>
            
            <div class='step active-step'>
                <div class='ays-abs-fs ays-start-page'>
                    
                    
                    
                    <div class='ays-fs-subtitle'><p>Contesta las siguientes preguntas</p>
</div>
                    <input type='hidden' name='ays_quiz_id' value='11'/>
                    <input type='hidden' name='ays_quiz_finish_nonce' value='7cec930025'>
                    <input type='hidden' name='ays_quiz_curent_page_link' class='ays-quiz-curent-page-link' value='https://dialektico.com/categoria/analisis-de-datos/feed/'/>
                    <input type='hidden' name='ays_quiz_questions' value='29,30,31'>
                    
                    
                    <input type='button'   class='ays_next start_button action-button ays-quiz-keyboard-active' value='EMPEZAR' data-enable-leave-page="false" />
                    
                    </div>
                </div><div class='step  ' data-question-id='29' data-type='checkbox'>
                    
                    
                    <p class='ays-question-counter animated'>1 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>¿Cuáles de las siguientes afirmaciones sobre el preprocesamiento de datos son verdaderas? Selecciona todas las que apliquen.</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-29]' id='ays-answer-89-11' value='89'/>

                <label for='ays-answer-89-11' class='  ays_position_initial  ays-quiz-keyboard-label'>Se realiza con la intención de optimizar y facilitar el procesamiento de datos.</label><label for='ays-answer-89-11' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-29]' id='ays-answer-90-11' value='90'/>

                <label for='ays-answer-90-11' class='  ays_position_initial  ays-quiz-keyboard-label'>Uno de sus objetivos es el despliegue de gráficas.</label><label for='ays-answer-90-11' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-29]' id='ays-answer-91-11' value='91'/>

                <label for='ays-answer-91-11' class='  ays_position_initial  ays-quiz-keyboard-label'>Es una etapa del ciclo de vida de los datos.</label><label for='ays-answer-91-11' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-29]' id='ays-answer-92-11' value='92'/>

                <label for='ays-answer-92-11' class='  ays_position_initial  ays-quiz-keyboard-label'>Quien crea modelos de machine learning generalmente nunca realiza esta tarea.</label><label for='ays-answer-92-11' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_11 === 'undefined'){
                window.quizOptions_11 = [];
            }
            window.quizOptions_11['29'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Incorrecto :c Revisa tus apuntes!</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='30' data-type='checkbox'>
                    
                    
                    <p class='ays-question-counter animated'>2 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Selecciona todas las opciones que correspondan a tareas realizadas para el proprocesamiento de datos:</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-30]' id='ays-answer-93-11' value='93'/>

                <label for='ays-answer-93-11' class='  ays_position_initial  ays-quiz-keyboard-label'>Reducción de dimensionalidad.</label><label for='ays-answer-93-11' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-30]' id='ays-answer-94-11' value='94'/>

                <label for='ays-answer-94-11' class='  ays_position_initial  ays-quiz-keyboard-label'>Detección y eliminación de valores atípicos.</label><label for='ays-answer-94-11' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-30]' id='ays-answer-95-11' value='95'/>

                <label for='ays-answer-95-11' class='  ays_position_initial  ays-quiz-keyboard-label'>Web scraping.</label><label for='ays-answer-95-11' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-30]' id='ays-answer-96-11' value='96'/>

                <label for='ays-answer-96-11' class='  ays_position_initial  ays-quiz-keyboard-label'>Remoción de datos nulos.</label><label for='ays-answer-96-11' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-30]' id='ays-answer-97-11' value='97'/>

                <label for='ays-answer-97-11' class='  ays_position_initial  ays-quiz-keyboard-label'>Transformación de variables categóricas en numéricas.</label><label for='ays-answer-97-11' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_11 === 'undefined'){
                window.quizOptions_11 = [];
            }
            window.quizOptions_11['30'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active ' value='ANTERIOR' /><i class="ays_fa ays_fa_arrow_right ays_next action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active ays_display_none" tabindex='0'></i>
                        <input type='button' name='next' class='ays_next action-button ays-quiz-keyboard-active ' value='SIGUIENTE' /></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Incorrecto :c Revisa tus apuntes!</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step  ' data-question-id='31' data-type='checkbox'>
                    
                    
                    <p class='ays-question-counter animated'>3 / 3</p>
                    <div class='ays-abs-fs'>
                        
                        <div class='ays_quiz_question'>
                                <p>Selecciona las técnicas o tipos generales del preprocesamiento de datos:</p>

                            </div>
                            
                        <div class='ays-quiz-answers ays_list_view_container  '>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-31]' id='ays-answer-98-11' value='98'/>

                <label for='ays-answer-98-11' class='  ays_position_initial  ays-quiz-keyboard-label'>Transformación</label><label for='ays-answer-98-11' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-31]' id='ays-answer-99-11' value='99'/>

                <label for='ays-answer-99-11' class='  ays_position_initial  ays-quiz-keyboard-label'>Operación.</label><label for='ays-answer-99-11' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-31]' id='ays-answer-100-11' value='100'/>

                <label for='ays-answer-100-11' class='  ays_position_initial  ays-quiz-keyboard-label'>Reducción.</label><label for='ays-answer-100-11' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-31]' id='ays-answer-101-11' value='101'/>

                <label for='ays-answer-101-11' class='  ays_position_initial  ays-quiz-keyboard-label'>Limpieza.</label><label for='ays-answer-101-11' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div>
            <div class='ays-field ays_list_view_item ays-quiz-keyboard-active' tabindex='0' >
                <input type='hidden' name='ays_answer_correct[]' value='0'/>

                <input type='checkbox' name='ays_questions[ays-question-31]' id='ays-answer-102-11' value='102'/>

                <label for='ays-answer-102-11' class='  ays_position_initial  ays-quiz-keyboard-label'>Modelado.</label><label for='ays-answer-102-11' class='ays_answer_image ays_answer_image_class ays_empty_before_content'></label>

            </div><script>
            if(typeof window.quizOptions_11 === 'undefined'){
                window.quizOptions_11 = [];
            }
            window.quizOptions_11['31'] = 'W10=';</script></div>                        
                        
                        
                        <div class='ays_buttons_div'><i class="ays_fa ays_fa_arrow_left ays_previous action-button ays-quiz-keyboard-active ays_arrow ays_display_none" tabindex='0'></i>
                            <input type='button' name='next' class='ays_previous action-button ays-quiz-keyboard-active '  value='ANTERIOR' /><i class='ays_display_none ays_fa ays_fa_flag_checkered ays_finish action-button ays_arrow ays_next_arrow ays-quiz-keyboard-active' tabindex='0'></i><input type='submit' name='ays_finish_quiz' class='  ays_next ays_finish action-button ays-quiz-keyboard-active' value='VER TOTAL'/></div>
                        
                        <div class='wrong_answer_text ' style='display:none'>
                            <p>Incorrecto :c Revisa tus apuntes!</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

                        </div>
                        <div class='right_answer_text ' style='display:none'>
                            <p>¡Es correcto!</p>

                        </div>
                        <div class='ays_questtion_explanation' style='display:none'>
                            
                        </div>
                        <div class='ays-quiz-additonal-box'>
                            
                        </div>   
                        
                        
                    </div>
                </div><div class='step ays_thank_you_fs'>
            <div class='ays-abs-fs ays-end-page'><div data-class='lds-facebook' data-role='loader' class='ays-loader'><div></div><div></div><div></div></div><div class='ays_quiz_results_page'><div class='ays_score_message'></div><div class='ays_message'></div><p class='ays_score ays_score_display_none animated'>Tu puntación es </p><p class='ays_average'>La puntuación media es  74%</p><div class='ays-progress third'>
                <span class='ays-progress-value third'>0%</span>
                <div class='ays-progress-bg third'>
                    <div class='ays-progress-bar third' style='width:0%;'></div>
                </div>
            </div><p class='ays_restart_button_p'><button type='button' class='action-button ays_restart_button ays-quiz-keyboard-active'>
                    <i class='ays_fa ays_fa_undo'></i>
                    <span>Reiniciar Prueba</span>
                </button></p></div>
            </div>
        </div><style>
            div#ays-quiz-container-11 * {
                box-sizing: border-box;
            }

            #ays-quiz-container-11 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                width: 90%;
            }

            /* Styles for Internet Explorer start */
            #ays-quiz-container-11 #ays_finish_quiz_11 {
                
            }

            /* Styles for Quiz container */
            #ays-quiz-container-11{
                min-height: 350px;
                width:400px;
                background-color:#ffffff;
                background-position:center center;background-image: url('https://dialektico.com/wp-content/uploads/2022/08/Q3.jpg');border-radius:0px;box-shadow: none;border-width: 3px;border-style: solid;border-color: #000;}

            /* Styles for questions */
            #ays-quiz-container-11 #ays_finish_quiz_11 div.step {
                min-height: 350px;
            }

            /* Styles for text inside quiz container */
            #ays-quiz-container-11 .ays-start-page *:not(input):not([class^='enlighter']),
            #ays-quiz-container-11 .ays_question_hint,
            #ays-quiz-container-11 label[for^="ays-answer-"],
            #ays-quiz-container-11 #ays_finish_quiz_11 p,
            #ays-quiz-container-11 #ays_finish_quiz_11 .ays-fs-title,
            #ays-quiz-container-11 .ays-fs-subtitle,
            #ays-quiz-container-11 .logged_in_message,
            #ays-quiz-container-11 .ays_score_message,
            #ays-quiz-container-11 .ays_message{
               color: #0a0a0a;
               outline: none;
            }

            div#ays-quiz-container-11 .ays_question_hint.ays-quiz-keyboard-active,
            div#ays-quiz-container-11 .ays_restart_button.ays-quiz-keyboard-active {
                outline: revert;
            }

            #ays-quiz-container-11 .ays-quiz-password-message-box,
            #ays-quiz-container-11 .ays-quiz-question-note-message-box,
            #ays-quiz-container-11 .ays_quiz_question,
            #ays-quiz-container-11 .ays-quiz-question-category-box,
            #ays-quiz-container-11 .ays_quiz_question *:not([class^='enlighter']) {
                color: #0a0a0a;
            }

            #ays-quiz-container-11 .ays-quiz-question-category-box em {
                color: #0a0a0a;
            }

            #ays-quiz-container-11 textarea,
            #ays-quiz-container-11 input::first-letter,
            #ays-quiz-container-11 select::first-letter,
            #ays-quiz-container-11 option::first-letter {
                color: initial !important;
            }
            
            #ays-quiz-container-11 p::first-letter:not(.ays_no_questions_message) {
                color: #0a0a0a !important;
                background-color: transparent !important;
                font-size: inherit !important;
                font-weight: inherit !important;
                float: none !important;
                line-height: inherit !important;
                margin: 0 !important;
                padding: 0 !important;
            }
            
            
            #ays-quiz-container-11 .select2-container,
            #ays-quiz-container-11 .ays-field * {
                font-size: 15px !important;
            }
    
            #ays-quiz-container-11 .ays_quiz_question p {
                font-size: 16px;
                text-align: inherit;
            }

            #ays-quiz-container-11 .ays-fs-subtitle p {
                text-align:  center ;
            }

            #ays-quiz-container-11 .ays_quiz_question {
                text-align:  center ;
                margin-bottom: 10px;
            }

            #ays-quiz-container-11 .ays_quiz_question pre {
                max-width: 100%;
                white-space: break-spaces;
            }

            /* Mango theme (Version: 1.4.202301041836) | tid=32449 | Start */
            #ays-quiz-container-11 .ays_quiz_question img {
                float: unset;
                margin: 0;
            }
            /* Mango theme (Version: 1.4.202301041836) | End */

            #ays-quiz-container-11 .ays-quiz-timer p {
                font-size: 16px;
            }

            #ays-quiz-container-11 section.ays_quiz_redirection_timer_container hr,
            #ays-quiz-container-11 section.ays_quiz_timer_container hr {
                margin: 0;
            }

            #ays-quiz-container-11 section.ays_quiz_timer_container.ays_quiz_timer_red_warning .ays-quiz-timer {
                color: #ff0000;
            }

            #ays-quiz-container-11 .ays_thank_you_fs p {
                text-align: center;
            }

            #ays-quiz-container-11 .ays_quiz_results_page .ays_score span {
                visibility: visible;
            }

            #ays-quiz-container-11 input[type='button'],
            #ays-quiz-container-11 input[type='submit'] {
                color: #ffffff !important;
            }

            #ays-quiz-container-11 input[type='button']{
                outline: none;
            }

            #ays-quiz-container-11 .information_form input[type='text'],
            #ays-quiz-container-11 .information_form input[type='url'],
            #ays-quiz-container-11 .information_form input[type='number'],
            #ays-quiz-container-11 .information_form input[type='email'],
            #ays-quiz-container-11 .information_form input[type='checkbox'],
            #ays-quiz-container-11 .information_form input[type='tel'],
            #ays-quiz-container-11 .information_form textarea,
            #ays-quiz-container-11 .information_form select,
            #ays-quiz-container-11 .information_form option {
                color: initial !important;
                outline: none;
                background-image: unset;
            }

            #ays-quiz-container-11 .wrong_answer_text{
                color:#ff4d4d;
            }
            #ays-quiz-container-11 .right_answer_text{
                color:#33cc33;
            }

            #ays-quiz-container-11 .wrong_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-11 .ays_questtion_explanation p {
                font-size:16px;
            }

            #ays-quiz-container-11 .wrong_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-11 .ays_questtion_explanation *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-11 .right_answer_text *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }

            #ays-quiz-container-11 .right_answer_text p {
                font-size:16px;
            }

            #ays-quiz-container-11 .ays-quiz-question-note-message-box p {
                font-size:14px;
            }

            #ays-quiz-container-11 .ays-quiz-question-note-message-box *:not(strong) {
                text-transform:none;
                text-decoration: none;
                letter-spacing: 0px;
                font-weight: normal;
            }
            
            #ays-quiz-container-11 .ays_cb_and_a,
            #ays-quiz-container-11 .ays_cb_and_a * {
                color: rgb(10,10,10);
                text-align: center;
            }

            /* Quiz textarea height */
            #ays-quiz-container-11 textarea {
                height: 100px;
                min-height: 100px;
            }

            /* Quiz rate and passed users count */
            #ays-quiz-container-11 .ays_quizn_ancnoxneri_qanak,
            #ays-quiz-container-11 .ays_quiz_rete_avg {
                color:#ffffff !important;
                background-color:#0a0a0a;   
            }

            #ays-quiz-container-11 .ays-questions-container > .ays_quizn_ancnoxneri_qanak {
                padding: 5px 20px;
            }
            #ays-quiz-container-11 div.for_quiz_rate.ui.star.rating .icon {
                color: rgba(10,10,10,0.35);
            }
            #ays-quiz-container-11 .ays_quiz_rete_avg div.for_quiz_rate_avg.ui.star.rating .icon {
                color: rgba(255,255,255,0.5);
            }

            #ays-quiz-container-11 .ays_quiz_rete .ays-quiz-rate-link-box .ays-quiz-rate-link {
                color: #0a0a0a;
            }

            /* Loaders */            
            #ays-quiz-container-11 div.lds-spinner,
            #ays-quiz-container-11 div.lds-spinner2 {
                color: #0a0a0a;
            }
            #ays-quiz-container-11 div.lds-spinner div:after,
            #ays-quiz-container-11 div.lds-spinner2 div:after {
                background-color: #0a0a0a;
            }
            #ays-quiz-container-11 .lds-circle,
            #ays-quiz-container-11 .lds-facebook div,
            #ays-quiz-container-11 .lds-ellipsis div{
                background: #0a0a0a;
            }
            #ays-quiz-container-11 .lds-ripple div{
                border-color: #0a0a0a;
            }
            #ays-quiz-container-11 .lds-dual-ring::after,
            #ays-quiz-container-11 .lds-hourglass::after{
                border-color: #0a0a0a transparent #0a0a0a transparent;
            }

            /* Stars */
            #ays-quiz-container-11 .ui.rating .icon,
            #ays-quiz-container-11 .ui.rating .icon:before {
                font-family: Rating !important;
            }

            /* Progress bars */
            #ays-quiz-container-11 #ays_finish_quiz_11 .ays-progress {
                border-color: rgba(10,10,10,0.8);
            }
            #ays-quiz-container-11 #ays_finish_quiz_11 .ays-progress-bg {
                background-color: rgba(10,10,10,0.3);
            }    
            #ays-quiz-container-11 .ays-progress-value {
                color: #0a0a0a;
                text-align: center;
            }
            #ays-quiz-container-11 .ays-progress-bar {
                background-color: #9e0505;
            }
            #ays-quiz-container-11 .ays-question-counter .ays-live-bar-wrap {
                direction:ltr !important;
            }
            #ays-quiz-container-11 .ays-live-bar-fill{
                color: #0a0a0a;
                border-bottom: 2px solid rgba(10,10,10,0.8);
                text-shadow: 0px 0px 5px #ffffff;
            }
            #ays-quiz-container-11 .ays-live-bar-fill.ays-live-fourth,
            #ays-quiz-container-11 .ays-live-bar-fill.ays-live-third,
            #ays-quiz-container-11 .ays-live-bar-fill.ays-live-second {
                text-shadow: unset;
            }
            #ays-quiz-container-11 .ays-live-bar-percent{
                display:none;
            }
            #ays-quiz-container-11 #ays_finish_quiz_11 .ays_average {
                text-align: center;
            }
            
            /* Music, Sound */
            #ays-quiz-container-11 .ays_music_sound {
                color:rgb(10,10,10);
            }

            /* Dropdown questions scroll bar */
            #ays-quiz-container-11 blockquote {
                border-left-color: #0a0a0a !important;                                      
            }

            /* Quiz Password */
            #ays-quiz-container-11 .ays-start-page > input[id^='ays_quiz_password_val_'],
            #ays-quiz-container-11 .ays-quiz-password-toggle-visibility-box {
                width: 100%;
            }


            /* Question hint */
            #ays-quiz-container-11 .ays_question_hint_container .ays_question_hint_text {
                background-color:#ffffff;
                box-shadow: 0 0 15px 3px rgba(10,10,10,0.35);
                max-width: 270px;
            }

            #ays-quiz-container-11 .ays_question_hint_container .ays_question_hint_text p {
                max-width: unset;
            }

            #ays-quiz-container-11 .ays-quiz-additonal-box {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                position: relative;  
            }

            #ays-quiz-container-11 .ays_questions_hint_max_width_class {
                max-width: 80%;
            }

            /* Information form */
            #ays-quiz-container-11 .ays-form-title{
                color:rgb(10,10,10);
            }

            /* Quiz timer */
            #ays-quiz-container-11 div.ays-quiz-redirection-timer,
            #ays-quiz-container-11 div.ays-quiz-timer{
                color: #0a0a0a;
                text-align: center;
            }

            #ays-quiz-container-11 div.ays-quiz-timer.ays-quiz-message-before-timer:before {
                font-weight: 500;
            }

            /* Quiz title / transformation */
            #ays-quiz-container-11 .ays-fs-title{
                text-transform: uppercase;
                font-size: 21px;
                text-align: center;
                    text-shadow: none;
            }
            
            /* Quiz buttons */
            #ays-quiz-container-11 .ays_arrow {
                color:#ffffff!important;
            }
            #ays-quiz-container-11 input#ays-submit,
            #ays-quiz-container-11 #ays_finish_quiz_11 .action-button,
            div#ays-quiz-container-11 #ays_finish_quiz_11 .action-button.ays_restart_button,
            #ays-quiz-container-11 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-11 .ays-quiz-category-selective-submit-bttn {
                background: none;
                background-color: #9e0505;
                color:#ffffff;
                font-size: 17px;
                padding: 10px 20px;
                border-radius: 3px;
                height: auto;
                letter-spacing: 0;
                box-shadow: unset;
                width: auto;
                /* border: unset; */
                min-height: unset;
                line-height: normal;
                text-shadow: unset;
            }
            #ays-quiz-container-11 input#ays-submit,
            #ays-quiz-container-11 #ays_finish_quiz_11 input.action-button,
            #ays-quiz-container-11 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
            #ays-quiz-container-11 .ays-quiz-category-selective-submit-bttn {
                
            }

            #ays-quiz-container-11 #ays_finish_quiz_11 .action-button.ays_check_answer {
                padding: 5px 10px;
                font-size: 17px !important;
            }
            #ays-quiz-container-11 #ays_finish_quiz_11 .action-button.ays_restart_button {
                white-space: nowrap;
                padding: 5px 10px;
                white-space: normal;
            }
            #ays-quiz-container-11 input#ays-submit:hover,
            #ays-quiz-container-11 input#ays-submit:focus,
            #ays-quiz-container-11 #ays_finish_quiz_11 .action-button:hover,
            #ays-quiz-container-11 #ays_finish_quiz_11 .action-button:focus,
            #ays-quiz-container-11 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
            #ays-quiz-container-11 .ays-quiz-category-selective-submit-bttn:hover {
                background: none;
                box-shadow: 0 0 0 2px #ffffff;
                background-color: #9e0505;
            }
            #ays-quiz-container-11 .ays_restart_button {
                color: #ffffff;
            }
            
            #ays-quiz-container-11 .ays_restart_button_p,
            #ays-quiz-container-11 .ays_buttons_div {
                justify-content: center;
            }

            #ays-quiz-container-11 .ays_finish.action-button{
                margin: 10px 5px;
            }

            #ays-quiz-container-11 .ays-share-btn.ays-share-btn-branded {
                color: #fff;
                display: inline-block;
            }

            #ays-quiz-container-11 .ays_quiz_results .ays-field.checked_answer_div.correct_div input:checked+label {
                background-color: transparent;
            }
                        
            /* Question answers */
            #ays-quiz-container-11 .ays-field {
                    border-color: #444;
                    border-style: solid;
                    border-width: 1px;
                    box-shadow: none;flex-direction: row-reverse;
            }
            

            /* Answer maximum length of a text field */
            #ays-quiz-container-11 .ays_quiz_question_text_message{
                color: #0a0a0a;
                text-align: left;
                font-size: 12px;
            }

            div#ays-quiz-container-11 div.ays_quiz_question_text_error_message {
                color: #ff0000;
            }

            /* Questions answer image */
            #ays-quiz-container-11 .ays-answer-image {
                width:15em;
                height:150px;
                object-fit: cover;
            }
            
            #ays-quiz-container-11 .ays-quiz-answers .ays-field:hover:not(.ays-answered-text-input){
                opacity: 1;
            }
            #ays-quiz-container-11 #ays_finish_quiz_11 .ays-field label.ays_answer_caption[for^='ays-answer-'] {
                z-index: 1;
                position:initial;bottom:0;}
            #ays-quiz-container-11 #ays_finish_quiz_11 .ays-field input~label[for^='ays-answer-'] {
                padding: 5px;
            }

            #ays-quiz-container-11 #ays_finish_quiz_11 .ays-field {
                margin-bottom: 10px;
            }
            #ays-quiz-container-11 #ays_finish_quiz_11 .ays-field.ays_grid_view_item {
                width: calc(50% - 5px);
            }
            #ays-quiz-container-11 #ays_finish_quiz_11 .ays-field.ays_grid_view_item:nth-child(odd) {
                margin-right: 5px;
            }
            
            #ays-quiz-container-11 #ays_finish_quiz_11 .ays-field input:checked+label:before {
                border-color: #9e0505;
                background: #9e0505;
                background-clip: content-box;
            }
            #ays-quiz-container-11 .ays-quiz-answers div.ays-text-right-answer {
                color: #0a0a0a;
            }
                        
            /* Questions answer right/wrong icons */
            #ays-quiz-container-11 .ays-field input~label.answered.correct:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/correct.png');          }
            #ays-quiz-container-11 .ays-field input~label.answered.wrong:after{
                content: url('https://dialektico.com/wp-content/plugins/quiz-maker/public/images/wrong.png');
            }
            #ays-quiz-container-11 .ays-field label.answered:last-of-type:after{
                display: none;
                height: auto;
                left: 10px;top: 10px;}
            /* Dropdown questions */            
            #ays-quiz-container-11 #ays_finish_quiz_11 .ays-field .select2-container--default .select2-selection--single {
                border-bottom: 2px solid #9e0505;
                background-color: #9e0505;
            }
            
            #ays-quiz-container-11 .ays-field .select2-container--default .select2-selection--single .select2-selection__placeholder,
            #ays-quiz-container-11 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-11 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow {
                color: #f5f5f5;
            }

            #ays-quiz-container-11 .select2-container--default .select2-search--dropdown .select2-search__field:focus,
            #ays-quiz-container-11 .select2-container--default .select2-search--dropdown .select2-search__field {
                outline: unset;
                padding: 0.75rem;
            }

            #ays-quiz-container-11 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-11 .select2-container--default .select2-results__option--highlighted[aria-selected] {
                background-color: #9e0505;
            }

            #ays-quiz-container-11 .ays-field .select2-container--default,
            #ays-quiz-container-11 .ays-field .select2-container--default .selection,
            #ays-quiz-container-11 .ays-field .select2-container--default .dropdown-wrapper,
            #ays-quiz-container-11 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered,
            #ays-quiz-container-11 .ays-field .select2-container--default .select2-selection--single .select2-selection__rendered .select2-selection__placeholder,
            #ays-quiz-container-11 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow,
            #ays-quiz-container-11 .ays-field .select2-container--default .select2-selection--single .select2-selection__arrow b[role='presentation'] {
                font-size: 16px !important;
            }

            #ays-quiz-container-11 .select2-container--default .select2-results__option {
                padding: 6px;
            }
            
            /* Dropdown questions scroll bar */
            #ays-quiz-container-11 .select2-results__options::-webkit-scrollbar {
                width: 7px;
            }
            #ays-quiz-container-11 .select2-results__options::-webkit-scrollbar-track {
                background-color: rgba(255,255,255,0.35);
            }
            #ays-quiz-container-11 .select2-results__options::-webkit-scrollbar-thumb {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.55);
            }
            #ays-quiz-container-11 .select2-results__options::-webkit-scrollbar-thumb:hover {
                transition: .3s ease-in-out;
                background-color: rgba(10,10,10,0.85);
            }

            /* Audio / Video */
            #ays-quiz-container-11 .mejs-container .mejs-time{
                box-sizing: unset;
            }
            #ays-quiz-container-11 .mejs-container .mejs-time-rail {
                padding-top: 15px;
            }

            #ays-quiz-container-11 .mejs-container .mejs-mediaelement video {
                margin: 0;
            }

            /* Limitation */
            #ays-quiz-container-11 .ays-quiz-limitation-count-of-takers {
                padding: 50px;
            }

            #ays-quiz-container-11 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-show,
            #ays-quiz-container-11 div.ays-quiz-results-toggle-block span.ays-show-res-toggle.ays-res-toggle-hide{
                color: #0a0a0a;
            }

            #ays-quiz-container-11 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-11 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle {
                border: 1px solid #0a0a0a;
            }

            #ays-quiz-container-11 div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #0a0a0a;
            }

            #ays-quiz-container-11.ays_quiz_elegant_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after,
            #ays-quiz-container-11.ays_quiz_rect_dark div.ays-quiz-results-toggle-block input:checked + label.ays_switch_toggle:after{
                background: #000;
            }

            /* Hestia theme (Version: 3.0.16) | Start */
            #ays-quiz-container-11 .mejs-container .mejs-inner .mejs-controls .mejs-button > button:hover,
            #ays-quiz-container-11 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                box-shadow: unset;
                background-color: transparent;
            }
            #ays-quiz-container-11 .mejs-container .mejs-inner .mejs-controls .mejs-button > button {
                margin: 10px 6px;
            }
            /* Hestia theme (Version: 3.0.16) | End */

            /* Go theme (Version: 1.4.3) | Start */
            #ays-quiz-container-11 label[for^='ays-answer']:before,
            #ays-quiz-container-11 label[for^='ays-answer']:before {
                -webkit-mask-image: unset;
                mask-image: unset;
            }

            #ays-quiz-container-11.ays_quiz_classic_light .ays-field input:checked+label.answered.correct:before,
            #ays-quiz-container-11.ays_quiz_classic_dark .ays-field input:checked+label.answered.correct:before {
                background-color: #9e0505 !important;
                background-color: rgba(39,174,96, 1) !important;
            }
            /* Go theme (Version: 1.4.3) | End */

            #ays-quiz-container-11 .ays_quiz_results fieldset.ays_fieldset .ays_quiz_question .wp-video {
                width: 100% !important;
                max-width: 100%;
            }

            /* Classic Dark / Classic Light */
            /* Dropdown questions right/wrong styles */
            #ays-quiz-container-11.ays_quiz_classic_dark .correct_div,
            #ays-quiz-container-11.ays_quiz_classic_light .correct_div{
                border-color:green !important;
                opacity: 1 !important;
                background-color: rgba(39,174,96,0.4) !important;
            }
            #ays-quiz-container-11.ays_quiz_classic_dark .correct_div .selected-field,
            #ays-quiz-container-11.ays_quiz_classic_light .correct_div .selected-field {
                padding: 0px 10px 0px 10px;
                color: green !important;
            }

            #ays-quiz-container-11.ays_quiz_classic_dark .wrong_div,
            #ays-quiz-container-11.ays_quiz_classic_light .wrong_div{
                border-color:red !important;
                opacity: 1 !important;
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-11.ays_quiz_classic_dark .ays-field.checked_answer_div.wrong_div input:checked~label,
            #ays-quiz-container-11.ays_quiz_classic_light .ays-field.checked_answer_div.wrong_div input:checked~label {
                background-color: rgba(243,134,129,0.4) !important;
            }
            #ays-quiz-container-11.ays_quiz_classic_dark .ays-field,
            #ays-quiz-container-11.ays_quiz_classic_light .ays-field {
                text-align: left;
                /*margin-bottom: 10px;*/
                padding: 0;
                transition: .3s ease-in-out;
            }

            #ays-quiz-container-11 .ays-quiz-close-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-11 .ays-quiz-open-full-screen {
                fill: #0a0a0a;
            }

            #ays-quiz-container-11 .ays_quiz_login_form p{
                color: #0a0a0a;
            }

            /* report questions modal start */
            .ays-modal-reports {
                display: none;
                position: fixed;
                z-index: 9999;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                overflow: auto;
                background-color: rgba(0, 0, 0, 0.4);
                animation-duration: .5s;
                background-color: rgba(0, 0, 0, 0.4);
            }

            #ays-quiz-question-report-modal-11 .ays-modal-content-reports {
                background-color: #fefefe;
                margin: 10% auto;
                border: 1px solid #888;
                max-width: 500px;
                width: 100%;
                border-radius: 10px;
                padding: 20px;
                box-sizing: border-box;
                position: relative;
            }

            #ays-quiz-question-report-modal-11 .ays-modal-content-reports label{
                display: block;
                margin-bottom: 10px;
                font-weight: bold;
                letter-spacing: normal;
            }

            #ays-quiz-question-report-modal-11 .ays-modal-content-reports textarea {
                display: block;
                width: 100%;
                height: 100px;
                padding: 5px;
                box-sizing: border-box;
                border-radius: 5px;
                border: 1px solid #ccc;
                max-width: 100%;
                max-height: 500px;
                resize: vertical;
                transition: unset;
            }

            #ays-quiz-question-report-modal-11 .ays-modal-content-reports input.ays-quiz-submit-question-report {
                background-color: #0073aa;
                color: #fff !important;
                border: none;
                border-radius: 5px;
                padding: 10px 20px;
                cursor: pointer;
                margin-top: 20px;
                line-height: normal;
                letter-spacing: normal;
                box-shadow: unset;
                background-image: unset;
            }

            #ays-quiz-question-report-modal-11 .ays-close-reports-window {
                color: #aaa;
                font-weight: bold;
                position: absolute;
                top: 1%;
                right: 1%;
            }

            #ays-quiz-question-report-modal-11 .ays-close-reports-window img {
                box-shadow: unset;
            }
            
            #ays-quiz-question-report-modal-11 .ays-quiz-preloader img {
                box-shadow: unset;
            }

            #ays-quiz-question-report-modal-11 .ays-close-reports-window img:hover,
            #ays-quiz-question-report-modal-11 .ays-close-reports-window img:focus {
                cursor: pointer;
            }

            #ays-quiz-question-report-modal-11 .ays-quiz-question-report-error {
                display: none;
                font-size: 13px;
                color: #f00;
                text-align: left;
            }

            #ays-quiz-question-report-modal-11 .ays-quiz-question-report-textarea-label,
            #ays-quiz-question-report-modal-11 .ays-quiz-question-report-title {
                text-align: left;
            }

            #ays-quiz-question-report-modal-11 .ays_quiz_modal_overlay {
                width: 100%;
                height: 100%;
                position: fixed;
                top: 0;
                left: 0;
                position: absolute;
                z-index: 1000000000;
                flex-direction: column;
            }

            #ays-quiz-question-report-modal-11 .ays-quiz-container .ays-quiz-user-cհoosing-anonymous-assessment {
                margin: 10px 0;
            }

            /* report questions modal end */

            @media screen and (max-width: 768px){
                #ays-quiz-container-11{
                    max-width: 100%;
                }

                div#ays-quiz-container-11 [id^='ays_finish_quiz_'] div.step div.ays-abs-fs {
                    width: 90%;
                }

                #ays-quiz-container-11 .ays_quiz_question p {
                    font-size: 16px;
                }

                #ays-quiz-container-11 .select2-container,
                #ays-quiz-container-11 .ays-field * {
                    font-size: 15px !important;
                }

                div#ays-quiz-container-11 input#ays-submit,
                div#ays-quiz-container-11 #ays_finish_quiz_11 .action-button,
                div#ays-quiz-container-11 #ays_finish_quiz_11 .action-button.ays_restart_button,
                #ays-quiz-container-11 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn,
                #ays-quiz-container-11 .ays-quiz-category-selective-submit-bttn {
                    font-size: 17px;
                }

                /* Quiz title / mobile font size */
                div#ays-quiz-container-11 .ays-fs-title {
                    font-size: 21px;
                }

                /* Question explanation / mobile font size */
                #ays-quiz-container-11 .ays_questtion_explanation p {
                    font-size:16px;
                }

                /* Wrong answers / mobile font size */
                #ays-quiz-container-11 .wrong_answer_text p {
                    font-size:16px;
                }

                /* Right answers / mobile font size */
                #ays-quiz-container-11 .right_answer_text p {
                    font-size:16px;
                }

                /* Note text / mobile font size */
                #ays-quiz-container-11 .ays-quiz-question-note-message-box p {
                    font-size:14px;
                }

                div#ays-quiz-container-11 .ays-quiz-question-note-message-box *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-11 .ays_questtion_explanation *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-11 .right_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }

                div#ays-quiz-container-11 .wrong_answer_text *:not(strong) {
                    text-transform:none;
                    text-decoration: none;
                    letter-spacing: 0px;
                    font-weight: normal;
                }
            }
            /* Custom css styles */
            @media screen and (max-width: 768px)
div#ays-quiz-container-5 input#ays-submit, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    font-size: 17px;
    letter-spacing: 1.5px;
}

#ays-quiz-container-5 input#ays-submit, #ays-quiz-container-5 #ays_finish_quiz_5 .action-button, div#ays-quiz-container-5 #ays_finish_quiz_5 .action-button.ays_restart_button {
    background: none;
    background-color: #9e0505;
    color: #ffffff;
    font-size: 17px;
    padding: 10px 20px;
    border-radius: 3px;
    height: auto;
    letter-spacing: 1.5px;
    box-shadow: unset;
}
            
            /* RTL direction styles */
            
        </style>
            <style>
                #ays-quiz-container-11 p {
                    margin: 0.625em;
                }
                
                #ays-quiz-container-11 .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }

                #ays-quiz-container-11.ays_quiz_classic_light  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-11.ays_quiz_classic_dark  .ays_quiz_results .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-11.ays_quiz_classic_light  .enable_correction .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-11.ays_quiz_classic_dark  .enable_correction .ays-field.checked_answer_div input:checked~label {
                    background-color: transparent;
                }

                #ays-quiz-container-11.ays_quiz_classic_light  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-11.ays_quiz_classic_dark  .ays_quiz_results .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-11.ays_quiz_classic_light  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label,
                #ays-quiz-container-11.ays_quiz_classic_dark  .enable_correction .not_influence_to_score .ays-field.checked_answer_div input:checked~label {
                    background-color: rgba(158,5,5,0.6);
                }
                
                #ays-quiz-container-11 .ays-field.checked_answer_div input:checked~label:hover {
                    background-color: rgba(158,5,5,0.8);
                }

                #ays-quiz-container-11.ays-quiz-container.ays_quiz_classic_light .ays-questions-container .ays-field:hover label[for^='ays-answer-'],
                #ays-quiz-container-11 .ays-field:hover:not(.ays-answered-text-input){
                    background: rgba(158,5,5,0.8);
                    /* border-radius: 4px; */
                    color: #fff;
                    transition: all .3s;
                }
                #ays-quiz-container-11 #ays_finish_quiz_11 .action-button:hover,
                #ays-quiz-container-11 #ays_finish_quiz_11 .action-button:focus,
                #ays-quiz-container-11 + .ays-quiz-category-selective-main-container .ays-quiz-category-selective-restart-bttn:hover,
                #ays-quiz-container-11 .ays-quiz-category-selective-submit-bttn:focus {
                    box-shadow: 0 0 0 2px white, 0 0 0 3px #9e0505;
                    background: #9e0505;
                }
            </style><script>
                if(typeof aysQuizOptions === 'undefined'){
                    var aysQuizOptions = [];
                }
                aysQuizOptions['11']  = 'eyJxdWl6X3ZlcnNpb24iOiI2LjMuNy40IiwiY29yZV92ZXJzaW9uIjoiNi4wLjMiLCJwaHBfdmVyc2lvbiI6IjcuNC4zMiIsImNvbG9yIjoiIzllMDUwNSIsImJnX2NvbG9yIjoiI2ZmZmZmZiIsInRleHRfY29sb3IiOiIjMGEwYTBhIiwiaGVpZ2h0IjozNTAsIndpZHRoIjo0MDAsImVuYWJsZV9sb2dnZWRfdXNlcnMiOiJvZmYiLCJpbmZvcm1hdGlvbl9mb3JtIjoiZGlzYWJsZSIsImZvcm1fbmFtZSI6bnVsbCwiZm9ybV9lbWFpbCI6bnVsbCwiZm9ybV9waG9uZSI6bnVsbCwiaW1hZ2Vfd2lkdGgiOiIiLCJpbWFnZV9oZWlnaHQiOiIiLCJlbmFibGVfY29ycmVjdGlvbiI6Im9uIiwiZW5hYmxlX3Byb2dyZXNzX2JhciI6Im9uIiwiZW5hYmxlX3F1ZXN0aW9uc19yZXN1bHQiOiJvbiIsInJhbmRvbWl6ZV9xdWVzdGlvbnMiOiJvZmYiLCJyYW5kb21pemVfYW5zd2VycyI6Im9mZiIsImVuYWJsZV9xdWVzdGlvbnNfY291bnRlciI6Im9uIiwiZW5hYmxlX3Jlc3RyaWN0aW9uX3Bhc3MiOiJvZmYiLCJyZXN0cmljdGlvbl9wYXNzX21lc3NhZ2UiOiIiLCJ1c2VyX3JvbGUiOltdLCJjdXN0b21fY3NzIjoiQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpXHJcbmRpdiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcbn1cclxuXHJcbiNheXMtcXVpei1jb250YWluZXItNSBpbnB1dCNheXMtc3VibWl0LCAjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLCBkaXYjYXlzLXF1aXotY29udGFpbmVyLTUgI2F5c19maW5pc2hfcXVpel81IC5hY3Rpb24tYnV0dG9uLmF5c19yZXN0YXJ0X2J1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzllMDUwNTtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xyXG4gICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbn0iLCJsaW1pdF91c2VycyI6Im9mZiIsImxpbWl0YXRpb25fbWVzc2FnZSI6IiIsInJlZGlyZWN0X3VybCI6IiIsInJlZGlyZWN0aW9uX2RlbGF5IjowLCJhbnN3ZXJzX3ZpZXciOiJsaXN0IiwiZW5hYmxlX3J0bF9kaXJlY3Rpb24iOiJvZmYiLCJlbmFibGVfbG9nZ2VkX3VzZXJzX21lc3NhZ2UiOiIiLCJxdWVzdGlvbnNfY291bnQiOiIiLCJlbmFibGVfcXVlc3Rpb25fYmFuayI6Im9mZiIsImVuYWJsZV9saXZlX3Byb2dyZXNzX2JhciI6Im9mZiIsImVuYWJsZV9wZXJjZW50X3ZpZXciOiJvZmYiLCJlbmFibGVfYXZlcmFnZV9zdGF0aXN0aWNhbCI6Im9uIiwiZW5hYmxlX25leHRfYnV0dG9uIjoib24iLCJlbmFibGVfcHJldmlvdXNfYnV0dG9uIjoib24iLCJlbmFibGVfYXJyb3dzIjoib2ZmIiwidGltZXJfdGV4dCI6IiIsInF1aXpfdGhlbWUiOiJjbGFzc2ljX2xpZ2h0IiwiZW5hYmxlX3NvY2lhbF9idXR0b25zIjoib2ZmIiwicmVzdWx0X3RleHQiOiIiLCJlbmFibGVfcGFzc19jb3VudCI6Im9mZiIsImhpZGVfc2NvcmUiOiJvZmYiLCJyYXRlX2Zvcm1fdGl0bGUiOiIiLCJib3hfc2hhZG93X2NvbG9yIjoicmdiYSgxMCwxMCwxMCwwLjM1KSIsInF1aXpfYm9yZGVyX3JhZGl1cyI6IjAiLCJxdWl6X2JnX2ltYWdlIjoiaHR0cHM6XC9cL2RpYWxla3RpY28uY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDIyXC8wOFwvUTMuanBnIiwicXVpel9ib3JkZXJfd2lkdGgiOiIzIiwicXVpel9ib3JkZXJfc3R5bGUiOiJzb2xpZCIsInF1aXpfYm9yZGVyX2NvbG9yIjoiIzAwMCIsInF1aXpfbG9hZGVyIjoiZmFjZWJvb2siLCJjcmVhdGVfZGF0ZSI6bnVsbCwiYXV0aG9yIjoie1wiaWRcIjpcIjFcIixcIm5hbWVcIjpcIkRhbmllbCBEaWFsXFx1MDBlOWt0aWNvXCJ9IiwicXVlc3RfYW5pbWF0aW9uIjoic2hha2UiLCJmb3JtX3RpdGxlIjoiIiwiZW5hYmxlX2JnX211c2ljIjoib2ZmIiwicXVpel9iZ19tdXNpYyI6IiIsImFuc3dlcnNfZm9udF9zaXplIjoxNSwic2hvd19jcmVhdGVfZGF0ZSI6Im9mZiIsInNob3dfYXV0aG9yIjoib2ZmIiwiZW5hYmxlX2Vhcmx5X2ZpbmlzaCI6Im9mZiIsImFuc3dlcnNfcndfdGV4dHMiOiJvbl9wYXNzaW5nIiwiZGlzYWJsZV9zdG9yZV9kYXRhIjoib2ZmIiwiZW5hYmxlX2JhY2tncm91bmRfZ3JhZGllbnQiOiJvZmYiLCJiYWNrZ3JvdW5kX2dyYWRpZW50X2NvbG9yXzEiOiIjMDAwIiwiYmFja2dyb3VuZF9ncmFkaWVudF9jb2xvcl8yIjoiI2ZmZiIsInF1aXpfZ3JhZGllbnRfZGlyZWN0aW9uIjoidmVydGljYWwiLCJyZWRpcmVjdF9hZnRlcl9zdWJtaXQiOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfdXJsIjoiIiwic3VibWl0X3JlZGlyZWN0X2RlbGF5IjoiMCIsInByb2dyZXNzX2Jhcl9zdHlsZSI6InRoaXJkIiwiZW5hYmxlX2V4aXRfYnV0dG9uIjoib2ZmIiwiZXhpdF9yZWRpcmVjdF91cmwiOiIiLCJpbWFnZV9zaXppbmciOiJjb3ZlciIsInF1aXpfYmdfaW1hZ2VfcG9zaXRpb24iOiJjZW50ZXIgY2VudGVyIiwiY3VzdG9tX2NsYXNzIjoiIiwiZW5hYmxlX3NvY2lhbF9saW5rcyI6Im9mZiIsInNvY2lhbF9saW5rcyI6eyJsaW5rZWRpbl9saW5rIjoiIiwiZmFjZWJvb2tfbGluayI6IiIsInR3aXR0ZXJfbGluayI6IiIsInZrb250YWt0ZV9saW5rIjoiIiwiaW5zdGFncmFtX2xpbmsiOiIiLCJ5b3V0dWJlX2xpbmsiOiIiLCJiZWhhbmNlX2xpbmsiOiIifSwic2hvd19xdWl6X3RpdGxlIjoib2ZmIiwic2hvd19xdWl6X2Rlc2MiOiJvbiIsInNob3dfbG9naW5fZm9ybSI6Im9mZiIsIm1vYmlsZV9tYXhfd2lkdGgiOiIiLCJsaW1pdF91c2Vyc19ieSI6ImlwIiwiYWN0aXZlX2RhdGVfY2hlY2siOiJvZmYiLCJhY3RpdmVJbnRlcnZhbCI6IjIwMjItMTEtMDYgMjM6MzM6MzgiLCJkZWFjdGl2ZUludGVydmFsIjoiMjAyMi0xMS0wNiAyMzozMzozOCIsImFjdGl2ZV9kYXRlX3ByZV9zdGFydF9tZXNzYWdlIjoiVGhlIHF1aXogd2lsbCBiZSBhdmFpbGFibGUgc29vbiEiLCJhY3RpdmVfZGF0ZV9tZXNzYWdlIjoiXHUwMGExRWwgdGVzdCBoYSBleHBpcmFkbyEiLCJleHBsYW5hdGlvbl90aW1lIjoiNCIsImVuYWJsZV9jbGVhcl9hbnN3ZXIiOiJvZmYiLCJzaG93X2NhdGVnb3J5Ijoib2ZmIiwic2hvd19xdWVzdGlvbl9jYXRlZ29yeSI6Im9mZiIsImRpc3BsYXlfc2NvcmUiOiJieV9wZXJjYW50YWdlIiwiZW5hYmxlX3J3X2FzbndlcnNfc291bmRzIjoib24iLCJhbnNfcmlnaHRfd3JvbmdfaWNvbiI6ImRlZmF1bHQiLCJxdWl6X2JnX2ltZ19pbl9maW5pc2hfcGFnZSI6Im9mZiIsImZpbmlzaF9hZnRlcl93cm9uZ19hbnN3ZXIiOiJvZmYiLCJhZnRlcl90aW1lcl90ZXh0IjoiIiwiZW5hYmxlX2VudGVyX2tleSI6Im9uIiwiYnV0dG9uc190ZXh0X2NvbG9yIjoiI2ZmZmZmZiIsImJ1dHRvbnNfcG9zaXRpb24iOiJjZW50ZXIiLCJzaG93X3F1ZXN0aW9uc19leHBsYW5hdGlvbiI6Im9uX3Bhc3NpbmciLCJlbmFibGVfYXVkaW9fYXV0b3BsYXkiOiJvZmYiLCJidXR0b25zX3NpemUiOiJtZWRpdW0iLCJidXR0b25zX2ZvbnRfc2l6ZSI6IjE3IiwiYnV0dG9uc193aWR0aCI6IiIsImJ1dHRvbnNfbGVmdF9yaWdodF9wYWRkaW5nIjoiMjAiLCJidXR0b25zX3RvcF9ib3R0b21fcGFkZGluZyI6IjEwIiwiYnV0dG9uc19ib3JkZXJfcmFkaXVzIjoiMyIsImVuYWJsZV9sZWF2ZV9wYWdlIjoib24iLCJlbmFibGVfdGFja2Vyc19jb3VudCI6Im9mZiIsInRhY2tlcnNfY291bnQiOiIiLCJwYXNzX3Njb3JlIjowLCJwYXNzX3Njb3JlX21lc3NhZ2UiOiI8aDQgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj5Db25ncmF0dWxhdGlvbnMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IHBhc3NlZCB0aGUgcXVpeiE8XC9wPiIsImZhaWxfc2NvcmVfbWVzc2FnZSI6IjxoNCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlclwiPk9vcHMhPFwvaDQ+XHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+WW91IGhhdmUgbm90IHBhc3NlZCB0aGUgcXVpeiFcclxuVHJ5IGFnYWluITxcL3A+IiwicXVlc3Rpb25fZm9udF9zaXplIjoxNiwicXVpel93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVlc3Rpb25zX2hpbnRfaWNvbl9vcl90ZXh0IjoiZGVmYXVsdCIsInF1ZXN0aW9uc19oaW50X3ZhbHVlIjoiIiwiZW5hYmxlX2Vhcmx5X2ZpbnNoX2NvbWZpcm1fYm94Ijoib24iLCJlbmFibGVfcXVlc3Rpb25zX29yZGVyaW5nX2J5X2NhdCI6Im9mZiIsInNob3dfc2NoZWR1bGVfdGltZXIiOiJvZmYiLCJzaG93X3RpbWVyX3R5cGUiOiJjb3VudGRvd24iLCJxdWl6X2xvYWRlcl90ZXh0X3ZhbHVlIjoiIiwiaGlkZV9jb3JyZWN0X2Fuc3dlcnMiOiJvZmYiLCJzaG93X2luZm9ybWF0aW9uX2Zvcm0iOiJvbiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWYiOiIiLCJkaXNhYmxlX2hvdmVyX2VmZmVjdCI6Im9mZiIsInF1aXpfbG9hZGVyX2N1c3RvbV9naWZfd2lkdGgiOjEwMCwicHJvZ3Jlc3NfbGl2ZV9iYXJfc3R5bGUiOiJkZWZhdWx0IiwicXVpel90aXRsZV90cmFuc2Zvcm1hdGlvbiI6InVwcGVyY2FzZSIsInNob3dfYW5zd2Vyc19udW1iZXJpbmciOiJub25lIiwicXVpel9pbWFnZV93aWR0aF9ieV9wZXJjZW50YWdlX3B4IjoicGl4ZWxzIiwicXVpel9pbWFnZV9oZWlnaHQiOiIiLCJxdWl6X2JnX2ltZ19vbl9zdGFydF9wYWdlIjoib2ZmIiwicXVpel9ib3hfc2hhZG93X3hfb2Zmc2V0IjowLCJxdWl6X2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYm94X3NoYWRvd196X29mZnNldCI6MTUsInF1aXpfcXVlc3Rpb25fdGV4dF9hbGlnbm1lbnQiOiJjZW50ZXIiLCJxdWl6X2Fycm93X3R5cGUiOiJkZWZhdWx0IiwicXVpel9zaG93X3dyb25nX2Fuc3dlcnNfZmlyc3QiOiJvZmYiLCJxdWl6X2Rpc3BsYXlfYWxsX3F1ZXN0aW9ucyI6Im9mZiIsInF1aXpfdGltZXJfcmVkX3dhcm5pbmciOiJvZmYiLCJxdWl6X3NjaGVkdWxlX3RpbWV6b25lIjoiQW1lcmljYVwvTWV4aWNvX0NpdHkiLCJxdWVzdGlvbnNfaGludF9idXR0b25fdmFsdWUiOiIiLCJxdWl6X3RhY2tlcnNfbWVzc2FnZSI6Ilx1MDBhMUVzdGUgdGVzdCBoYSBleHBpcmFkbyEiLCJxdWl6X2VuYWJsZV9saW5rZWRpbl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfZW5hYmxlX2ZhY2Vib29rX3NoYXJlX2J1dHRvbiI6Im9uIiwicXVpel9lbmFibGVfdHdpdHRlcl9zaGFyZV9idXR0b24iOiJvbiIsInF1aXpfbWFrZV9yZXNwb25zZXNfYW5vbnltb3VzIjoib2ZmIiwicXVpel9tYWtlX2FsbF9yZXZpZXdfbGluayI6Im9mZiIsInNob3dfcXVlc3Rpb25zX251bWJlcmluZyI6Im5vbmUiLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3RpbWVyIjoiIiwiZW5hYmxlX3Bhc3N3b3JkIjoib2ZmIiwicGFzc3dvcmRfcXVpeiI6IiIsInF1aXpfcGFzc3dvcmRfbWVzc2FnZSI6IiIsImVuYWJsZV9zZWVfcmVzdWx0X2NvbmZpcm1fYm94Ijoib2ZmIiwiZGlzcGxheV9maWVsZHNfbGFiZWxzIjoib2ZmIiwiZW5hYmxlX2Z1bGxfc2NyZWVuX21vZGUiOiJvZmYiLCJxdWl6X2VuYWJsZV9wYXNzd29yZF92aXNpYmlsaXR5Ijoib2ZmIiwicXVlc3Rpb25fbW9iaWxlX2ZvbnRfc2l6ZSI6MTYsImFuc3dlcnNfbW9iaWxlX2ZvbnRfc2l6ZSI6MTUsInNvY2lhbF9idXR0b25zX2hlYWRpbmciOiIiLCJxdWl6X2VuYWJsZV92a29udGFrdGVfc2hhcmVfYnV0dG9uIjoib24iLCJhbnN3ZXJzX2JvcmRlciI6Im9uIiwiYW5zd2Vyc19ib3JkZXJfd2lkdGgiOjEsImFuc3dlcnNfYm9yZGVyX3N0eWxlIjoic29saWQiLCJhbnN3ZXJzX2JvcmRlcl9jb2xvciI6IiM0NDQiLCJzb2NpYWxfbGlua3NfaGVhZGluZyI6IiIsInF1aXpfZW5hYmxlX3F1ZXN0aW9uX2NhdGVnb3J5X2Rlc2NyaXB0aW9uIjoib2ZmIiwiYW5zd2Vyc19tYXJnaW4iOjEwLCJxdWl6X21lc3NhZ2VfYmVmb3JlX3JlZGlyZWN0X3RpbWVyIjoiIiwiYnV0dG9uc19tb2JpbGVfZm9udF9zaXplIjoxNywiYW5zd2Vyc19ib3hfc2hhZG93Ijoib2ZmIiwiYW5zd2Vyc19ib3hfc2hhZG93X2NvbG9yIjoiIzAwMCIsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeF9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfeV9vZmZzZXQiOjAsInF1aXpfYW5zd2VyX2JveF9zaGFkb3dfel9vZmZzZXQiOjEwLCJxdWl6X2NyZWF0ZV9hdXRob3IiOjEsInF1aXpfZW5hYmxlX3RpdGxlX3RleHRfc2hhZG93Ijoib2ZmIiwicXVpel90aXRsZV90ZXh0X3NoYWRvd19jb2xvciI6IiMzMzMiLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3hfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3lfb2Zmc2V0IjoyLCJxdWl6X3RpdGxlX3RleHRfc2hhZG93X3pfb2Zmc2V0IjoyLCJxdWl6X3Nob3dfb25seV93cm9uZ19hbnN3ZXJzIjoib2ZmIiwicXVpel90aXRsZV9mb250X3NpemUiOjIxLCJxdWl6X3RpdGxlX21vYmlsZV9mb250X3NpemUiOjIxLCJxdWl6X3Bhc3N3b3JkX3dpZHRoIjoiIiwicXVpel9yZXZpZXdfcGxhY2Vob2xkZXJfdGV4dCI6IiIsInF1aXpfbWFrZV9yZXZpZXdfcmVxdWlyZWQiOiJvZmYiLCJxdWl6X2VuYWJsZV9yZXN1bHRzX3RvZ2dsZSI6Im9mZiIsInF1aXpfcmV2aWV3X3RoYW5rX3lvdV9tZXNzYWdlIjoiIiwicXVpel9yZXZpZXdfZW5hYmxlX2NvbW1lbnRfZmllbGQiOiJvbiIsInJlcXVpcmVkX2ZpZWxkcyI6bnVsbCwiZW5hYmxlX3RpbWVyIjoib2ZmIiwiZW5hYmxlX3F1aXpfcmF0ZSI6Im9mZiIsImVuYWJsZV9yYXRlX2F2ZyI6Im9mZiIsImVuYWJsZV9ib3hfc2hhZG93Ijoib2ZmIiwiZW5hYmxlX2JvcmRlciI6Im9uIiwicXVpel90aW1lcl9pbl90aXRsZSI6Im9mZiIsImVuYWJsZV9yYXRlX2NvbW1lbnRzIjoib2ZmIiwiZW5hYmxlX3Jlc3RhcnRfYnV0dG9uIjoib24iLCJhdXRvZmlsbF91c2VyX2RhdGEiOiJvZmYiLCJ0aW1lciI6MTAwLCJxdWl6X3dhaXRpbmdfdGltZSI6Im9mZiIsInF1aXpfYmdfaW1nX2R1cmluZ190aGVfcXVpeiI6Im9mZiIsInNob3dfYW5zd2Vyc19jYXB0aW9uIjoib24iLCJxdWl6X2VuYWJsZV9rZXlib2FyZF9uYXZpZ2F0aW9uIjoib24iLCJzaG93X3F1aXpfaW1hZ2UiOiJvbiIsInF1aXpfZW5hYmxlX3F1aXpfY2F0ZWdvcnlfZGVzY3JpcHRpb24iOiJvZmYiLCJxdWl6X2VuYWJsZV91c2VyX2NcdTA1NzBvb3NpbmdfYW5vbnltb3VzX2Fzc2Vzc21lbnQiOiJvZmYiLCJxdWl6X2VuYWJsZV93aGF0c2FwcF9zaGFyZV9idXR0b24iOiJvZmYiLCJzdWJtaXRfcmVkaXJlY3RfYWZ0ZXIiOiIiLCJyd19hbnN3ZXJzX3NvdW5kcyI6dHJ1ZSwiaWQiOiIxMSIsInRpdGxlIjoiUHJlcHJvY2VzYW1pZW50byBkZSBkYXRvcyIsImRlc2NyaXB0aW9uIjoiQ29udGVzdGEgbGFzIHNpZ3VpZW50ZXMgcHJlZ3VudGFzIiwicXVpel9pbWFnZSI6IiIsInF1aXpfY2F0ZWdvcnlfaWQiOiIzIiwicXVlc3Rpb25faWRzIjoiMjksMzAsMzEiLCJvcmRlcmluZyI6IjExIiwicHVibGlzaGVkIjoiMSIsImludGVydmFscyI6bnVsbCwicXVpel91cmwiOm51bGwsImN1c3RvbV9wb3N0X2lkIjpudWxsLCJhdXRob3JfaWQiOiIwIiwicXVpel9hbmltYXRpb25fdG9wIjoxMDAsInF1aXpfZW5hYmxlX2FuaW1hdGlvbl90b3AiOiJvbiJ9';
        </script>
                    <input type='hidden' name='quiz_id' value='11'/>
                    <input type='hidden' name='start_date' class='ays-start-date'/>
                </form></div>
                            </div>
                            



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading has-text-align-center">Análisis exploratorio y preprocesamiento de datos con Python</h2>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://dialektico.com/wp-content/uploads/2024/04/Espadas_1.jpg" alt="Preprocesamiento de datos dialéktico" class="wp-image-6961" style="width:139px" title="Preprocesamiento de datos: introducción y ejecución en Python 245" srcset="https://dialektico.com/wp-content/uploads/2024/04/Espadas_1.jpg 1024w, https://dialektico.com/wp-content/uploads/2024/04/Espadas_1-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En el siguiente código en <strong>Python</strong> observarás ejemplos de manipulación de datos utilizando parte de las técnicas anteriormente descritas, principalmente mediante la librería <strong><a href="https://pandas.pydata.org/" target="_blank" rel="noopener">Pandas</a></strong>. Operarás sobre un <strong>conjunto de datos real</strong>, y visualizarás los cambios que se van suscitando en estos conforme a las modificaciones realizadas alineadas a objetivos propuestos. </p>



<p>No necesitas programar nada, solo ejecutar el código para atestiguar los resultados, aunque eres libre de realizar cambios si deseas realizar experimentos.</p>



<p>Accede dando <strong>clic </strong>en el siguiente botón:</p>



<figure class="wp-block-image aligncenter size-large is-resized mi-imagen-pulsa" id="código"><a href="https://colab.research.google.com/github/DanielDialektico/dialektico-machine-learning-practices/blob/main/notebooks/Preprocesamiento/Preprocesamiento_intro.ipynb" target="_blank" rel="noopener"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2022/07/Boton-300x147.png" alt="colab" style="width:170px" title="código"/></a></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>También puedes echar un vistazo al código en la siguiente ventana:</p>



<script src="https://gist.github.com/DanielDialektico/b548c651900897f2e6db91b472b00b6b.js"></script>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Esta primera práctica en Python funge como una <strong>introducción </strong>a la forma de trabajo en libretas de <strong>Google Colab</strong>, y tiene como objetivo el darte una idea de las <strong>metas </strong>del preprocesamiento y su <strong>importancia </strong>al programar un algoritmo de <strong>aprendizaje automático</strong>. </p>



<p>Las técnicas empleadas para ejecutar estas tareas varían de acuerdo a los datos a preprocesar, e irás explorando sus distintas formas conforme <strong>avancemos en el curso</strong>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Has concluido el tramo más escabroso de tu <strong>entrenamiento en datos</strong>, el cual es imprescindible para iniciar tus andanzas en los territorios que albergan los principales algoritmos del aprendizaje de máquinas. </p>



<p>Si te quedaste con dudas sobre lo que hemos puesto en marcha en la <strong>práctica</strong>, no te preocupes, haremos preprocesamiento de datos y análisis exploratorio en innumerables ocasiones a lo largo de nuestras travesías. El fin de este primer acercamiento fue mostrarte cómo evoluciona un conjunto de datos al ir aplicando las etapas de <strong>análisis</strong> y <strong>preprocesamiento</strong>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="800" height="800" src="https://dialektico.com/wp-content/uploads/2024/05/PPD_O1.jpg" alt="Preprocesamiento de datos dialéktico" class="wp-image-7563" style="width:480px;height:auto" title="Preprocesamiento de datos: introducción y ejecución en Python 246" srcset="https://dialektico.com/wp-content/uploads/2024/05/PPD_O1.jpg 800w, https://dialektico.com/wp-content/uploads/2024/05/PPD_O1-768x768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Como última parada antes de comenzar nuestro estudio de <strong>algoritmos </strong>de <strong>machine learning</strong>, haremos una breve exploración en un tema inherente a la división de los datos para el <strong>entrenamiento </strong>y <strong>evaluación </strong>de modelos.</p>



<figure class="wp-block-image aligncenter size-large is-resized mi-imagen-pulsa"><a href="https://dialektico.com/conjuntos-train-dev-test/"><img decoding="async" src="https://dialektico.com/wp-content/uploads/2022/06/Button2-1-300x147.png" alt="Preprocesamiento de datos dialéktico" style="width:186px" title="Preprocesamiento de datos: introducción y ejecución en Python 247"></a></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://dialektico.com/introduccion-preprocesamiento/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
