<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.9.5">Jekyll</generator><link href="https://datascience-ufc.github.io/atom.xml" rel="self" type="application/atom+xml" /><link href="https://datascience-ufc.github.io/" rel="alternate" type="text/html" /><updated>2024-03-19T00:25:04+00:00</updated><id>https://datascience-ufc.github.io/atom.xml</id><title type="html">Data Science UFC</title><subtitle>Grupo de Ciência de Dados da Universidade Federal do Ceará, campus de Sobral.</subtitle><author><name>Data Science - UFC</name><email>manoel_vilela@engineer.com</email></author><entry><title type="html">Autism Spectrum Disorder Prediction</title><link href="https://datascience-ufc.github.io/programming/model/asd-model/" rel="alternate" type="text/html" title="Autism Spectrum Disorder Prediction" /><published>2019-03-14T00:00:00+00:00</published><updated>2019-03-14T00:00:00+00:00</updated><id>https://datascience-ufc.github.io/programming/model/asd-model</id><content type="html" xml:base="https://datascience-ufc.github.io/programming/model/asd-model/"><![CDATA[<h1 id="índice">Índice</h1>

<ul>
  <li>Descrição do problema</li>
  <li>Tipo de problema</li>
  <li>Seleção das variáveis</li>
  <li>Tipo de modelo</li>
  <li>Modelagem</li>
  <li>Performance do Modelo</li>
  <li>Importância das variáveis (Feature Importance)</li>
</ul>

<h1 id="descrição-do-problema">Descrição do problema:</h1>

<p><img src="/images/posts/asd-model/vector-autism-symbol.jpg" alt="Figura 1" /></p>

<p>É possível realizar um diagnóstico hipotético do autismo apenas utilizando traços comportamentais?</p>

<p>O Transtorno do Espectro Autista é uma condição neurológica que se caracteriza por traços comportamentais nos quais a dificuldade de se relacionar socialmente se mostra frequente e há a presença de outros comportamentos diferenciados, apresentando padrões repetitivos quando interagem com o mundo, além de mostrarem introversão, na maioria dos casos. Então, na tentativa de identificar se era possível fazer uma hipótese diagnóstica, prévia ao diagnóstico, não necessariamente feito por um especialista, foi desenvolvido um modelo de classificação binária para tentar classificar esses indivíduos de acordo com a presença dessa condição: autista ou não-autista.</p>

<h1 id="tipo-de-problema">Tipo de problema:</h1>

<p>Imagem 2 - imagem relacionado a um modelo de classificação binário ok
<img src="/images/posts/asd-model/model-type.png" alt="Figura 2" /></p>

<p>Como o nosso objetivo foi classificar os indivíduos pela presença dessa condição, é preciso escolher algorítimos que podem encontrar um padrão dentro dessa amostra. O próprio objetivo já remete o tipo de problema que é preciso resolver, que é o de classificação.</p>

<p>Classificação é um problema que cobre os algoritmos de aprendizagem de máquina, que trabalham com conjuntos de dados rotulados, ou seja, já possuem previamente o resultado. Num conjunto de dados para problema de classificação, as variáveis que possuem características e a variável resposta (rótulo de classificação) fazem parte do mesmo conjunto de dados a serem observados. Isso permite treinar o modelo de classificação para que posteriormente seja possível inferir a classe esperada de indivíduos ainda não observados.</p>

<p>Os modelos de classificação podem ser simples (binários) ou  mais complexos (multi-classe), neste modelo específico o conjunto de dados que foi adquirido no repositório UCI repository é de classificação binária onde está presente apenas duas classes, que confirma a presença e ausência do autismo nos pacientes.</p>

<h1 id="seleção-de-variáveis">Seleção de Variáveis</h1>

<p>Um dos maiores desafios na construção de modelos preditivos é saber escolher as variáveis que serão incluídas.  Pensando nisso foi proposto a utilização de uma matriz de correlação, que nos permite observar como as variáveis estão correlacionadas entre si.</p>

<p>A correlação pode ajudar a descobrir se existem variáveis que prejudicam nossa modelagem, pois a partir do momento que duas variáveis possuem alta correlação para o modelo isso significa a presença de duas variáveis com a mesma informação, em contrapartida variáveis com baixa correlação nos informa que elas são independentes entre si e informam coisas distintas. Abaixo, segue a matriz de correlação utilizada.</p>

<p>imagem 4 - Imagem da matriz de correlação das variáveis. ok
<img src="/images/posts/asd-model/Captura de tela de 2019-06-02 11-29-01.png" alt="Figura 3" /></p>

<p>Tendo em mãos a matriz de correlação é possível observar alguns pontos:</p>
<ul>
  <li>As variáveis de traços comportamentais A1 Score à A10 Score estão pouco correlacionadas.</li>
  <li>A variável result mostra uma alta correlação.</li>
</ul>

<p>Então, a partir desses pontos analisados podemos concluir que as variáveis de traços comportamentais são viáveis, entretanto a variável result é extremamente enviesada, ou seja, pode levar o algoritmo a aprender a amostra ao invés de generalizar a população.</p>

<h1 id="tipo-de-modelo">Tipo de modelo</h1>

<p>Levando em conta o tipo de problema e alguns outros pontos que serão explicados posteriormente nos comete então a escolha do método de árvore de decisão.</p>

<p>O que seria um modelo de árvore de decisão?</p>

<p><img src="/images/posts/asd-model/XOR 3df51ae5.png" alt="Figura 4" /></p>

<h1 id="modelagem">Modelagem</h1>

<h1 id="performance-do-modelo">Performance do modelo</h1>

<p><img src="/images/posts/asd-model/1_uR09zTlPgIj5PvMYJZScVg.png" alt="Figura 5" /></p>

<p>Avaliar um modelo e verificar se ele realmente está se comportando como foi proposto é imprescindível. Partindo desse ponto, dado  que o tipo de problema é de classificação, será então utilizado uma matriz de confusão que será executada sobre uma amostra de teste não-observada anteriormente para obter métricas de classificação e estimar a performance esperada do modelo.</p>

<p>A matriz de confusão gerada pelo modelo, pode ser visualizada logo abaixo.</p>

<p><img src="/images/posts/asd-model/confusion-matrix.png" alt="Figura 6" /></p>

<h1 id="importância-das-variáveis--feature-importance">Importância das variáveis ( Feature importance)</h1>

<p>Para entender como o modelo desenvolvido interpretou o problema, é preciso entender quais foram as variáveis que tiveram maior importância. Abaixo, segue o gráfico que contém essas importâncias.</p>

<p><img src="/images/posts/asd-model/feature_importance.png" alt="Figura 7" /></p>

<p>De acordo com o gráfico, os traços comportamentais A4 e A10 tiveram maior influência na decisão do modelo para classificar os pacientes. Esses traços estam relacionados a facilidade de realizar inúmeras tarefas simultaneamente e dificuldade de fazer novas amizades, respectivamente A4 e A10.</p>

<p>Com base nisso, é possível ter uma noção de que o modelo está se baseando de forma sensata em atributos que fazem sentido, pois quando é mostrado que a facilidade de realizar inúmeras tarefas é importante na classificação, o modelo não necessariamente está dizendo que quem tem essa facilidade é autista, é no sentido de ausência desse traço comportamental que representa a presença do autismo. Já no de dificuldade de fazer novas amizades é previsivel que isso tenha certa relevância, pois é algo que caracteriza alguém com autismo em diversas literaturas.</p>]]></content><author><name>Data Science - UFC</name><email>manoel_vilela@engineer.com</email></author><category term="programming" /><category term="model" /><category term="autism" /><category term="python" /><category term="data-science" /><category term="decision-tree" /><summary type="html"><![CDATA[Índice]]></summary></entry><entry><title type="html">Post de Apresentação</title><link href="https://datascience-ufc.github.io/programming/presentation/" rel="alternate" type="text/html" title="Post de Apresentação" /><published>2019-03-03T00:00:00+00:00</published><updated>2019-03-03T00:00:00+00:00</updated><id>https://datascience-ufc.github.io/programming/presentation</id><content type="html" xml:base="https://datascience-ufc.github.io/programming/presentation/"><![CDATA[<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">print</span><span class="p">(</span><span class="s">"Olá, sou Rayon Nunes"</span><span class="p">)</span>
</code></pre></div></div>]]></content><author><name>Rayon L. rayon_nunes</name></author><category term="programming" /><category term="datascience" /><category term="ufc" /><category term="python" /><summary type="html"><![CDATA[print("Olá, sou Rayon Nunes")]]></summary></entry><entry><title type="html">[dataset] Espectro de Desordem Autista</title><link href="https://datascience-ufc.github.io/datasets/asd/" rel="alternate" type="text/html" title="[dataset] Espectro de Desordem Autista" /><published>2019-02-22T00:00:00+00:00</published><updated>2019-02-22T00:00:00+00:00</updated><id>https://datascience-ufc.github.io/datasets/asd</id><content type="html" xml:base="https://datascience-ufc.github.io/datasets/asd/"><![CDATA[<p>Analisamos o dataset de espectro autista disponível em
<a href="https://ufc.lerax.me/datasets/asd/">ufc.lerax.me/datasets/asd</a>.  Alinhamos o conhecimento do
dataset e a utilização do novo site de data science da UFC.
Comentamos sobre os próximos passos a ser seguidos e compreendemos em
alto nível sobre as características disponíveis neste dataset. Em
breve disponibilizaremos um documento com análise utilizando
estatística descritiva.</p>

<h1 id="descrição-do-dataset">Descrição do dataset</h1>

<p>ASD significa <em>Autistic Spectrum Disoder</em>. Há um texto motivacional
descritivo deste dataset também fornecido com sua fonte. Através de uma
tradução-livre feita para português, encontra-se abaixo o sumário:</p>

<blockquote>
  <p>Autistic Spectrum Disorder (ASD) é uma condição de desenvolvimento
neuronal associada com significantes custos com cuidados de saúde e
diagnósticos antecipados podem reduzir tais custos significativamente.
Infelizmente, tempos de espera para um diagnóstico de ASD são
demorados e os procedimentos não possuem um custo efetivo.  O impacto
econômico do autismo e o aumento no número de casos de ASD ao redor
do mundo revela uma necessária urgência para métodos de diagnósticos
de fácil implementação e acessíveis métodos de prognóstico.  Além
disso, um prognóstico acessível de ASD eficiente no tempo está
relacionado a ajudar profissionais de saude e informar individuos se
eles deveriam prosseguir para um diagóstico clinico formal.  O
rápido crecimento no número de casos ASD ao redor do mundo
necessitam de <em>datasets</em> relacionados a traços de comportamentos.
No entanto, tais <em>datasets</em> são raros fazendo com que seja difícil a
execução através de análises para melhorar a eficiência,
sensibilidade, especificidade e acurácia preditiva dos métodos de
prognósticos de ASD.  Atualmente, <em>datasets</em> muito limitados
associados com diagnósticos ou prognósticos estão disponíveis e
maioria deles são de natureza genética.  Portanto, nós propomos um
novo <em>dataset</em> relacionado ao prognóstico de autismo de crianças que
contém 20 características para serem utilizadas para subsequente análises,
especialmente em determinar traços autísticos influentes e melhorar
a classificação de casos de ASD.  Neste dataset, registramos dez
variáveis comportamentais (AQ-10-child) mais dez características
individuais que tem sido provada de serem efetivas na detecção de
casos de ASD através de ciência de controle e comportamento.</p>
</blockquote>

<p>A seguir uma descrição detalhada de cada uma das variáveis disponíveis
no dataset:</p>

<table>
  <thead>
    <tr>
      <th style="text-align: left">Atributo</th>
      <th style="text-align: left">Descrição</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: left">A1_Score</td>
      <td style="text-align: left">Alta percepção em baixos ruídos que geralmente outros não percebem</td>
    </tr>
    <tr>
      <td style="text-align: left">A2_Score</td>
      <td style="text-align: left">Maior concentração na visão do todo em comparação a pequenos detalhes</td>
    </tr>
    <tr>
      <td style="text-align: left">A3_Score</td>
      <td style="text-align: left">Facilidade de comunicação com várias pessoas diferentes ao mesmo tempo.</td>
    </tr>
    <tr>
      <td style="text-align: left">A4_Score</td>
      <td style="text-align: left">Facilidade de fazer múltiplas tarefas simultaneamente</td>
    </tr>
    <tr>
      <td style="text-align: left">A5_Score</td>
      <td style="text-align: left">Dificuldade de manter uma conversa com seus colegas</td>
    </tr>
    <tr>
      <td style="text-align: left">A6_Score</td>
      <td style="text-align: left">Facilidade em manter conversas informais</td>
    </tr>
    <tr>
      <td style="text-align: left">A7_Score</td>
      <td style="text-align: left">Dificuldade de percepção de intenções e sentimentos em histórias durante a leitura</td>
    </tr>
    <tr>
      <td style="text-align: left">A8_Score</td>
      <td style="text-align: left">Dificuldade de brincar com a imaginação fugindo da realidade</td>
    </tr>
    <tr>
      <td style="text-align: left">A9_Score</td>
      <td style="text-align: left">Facilidade de reconhecer sentimentos a partir de expressões faciais alheias</td>
    </tr>
    <tr>
      <td style="text-align: left">A10_Score</td>
      <td style="text-align: left">Dificuldade de fazer novas amizades</td>
    </tr>
    <tr>
      <td style="text-align: left">age</td>
      <td style="text-align: left">Idade</td>
    </tr>
    <tr>
      <td style="text-align: left">gender</td>
      <td style="text-align: left">Gênero</td>
    </tr>
    <tr>
      <td style="text-align: left">ethnicity</td>
      <td style="text-align: left">Etnia e cor</td>
    </tr>
    <tr>
      <td style="text-align: left">jundice</td>
      <td style="text-align: left">Caso 1, o paciente declara possuir a doença de pigmentação <a href="https://pt.wikipedia.org/wiki/Icter%C3%ADcia">Icterícia</a></td>
    </tr>
    <tr>
      <td style="text-align: left">austim</td>
      <td style="text-align: left">Caso 1, foi detectado autismo em qualquer outro familiar anteriormente</td>
    </tr>
    <tr>
      <td style="text-align: left">contry_of_res</td>
      <td style="text-align: left">País de residência</td>
    </tr>
    <tr>
      <td style="text-align: left">used_app_before</td>
      <td style="text-align: left">Caso 1, significa que através do aplicativo esta pessoa já avaliou o mesmo paciente</td>
    </tr>
    <tr>
      <td style="text-align: left">result</td>
      <td style="text-align: left">Score do teste ASD de 1 a 10 baseado na observação das características comportamentais</td>
    </tr>
    <tr>
      <td style="text-align: left">age_desc</td>
      <td style="text-align: left">Faixa etária</td>
    </tr>
    <tr>
      <td style="text-align: left">relation</td>
      <td style="text-align: left">Relacionamento que a pessoa que orientou o teste tem com a criança</td>
    </tr>
    <tr>
      <td style="text-align: left">Class/ASD</td>
      <td style="text-align: left">Variável que queremos estimar: criança pertence ao espectro austista</td>
    </tr>
  </tbody>
</table>

<p>Estes dados foram coletados através do aplicativo <a href="http://www.asdtests.com/">ASDTest</a>
disponível para Android e iOS. Um exemplo de report final do
aplicativo após as 10 perguntas comportamentais podem ser encontrado
neste <a href="https://ufc.lerax.me/datasets/asd/questoes.pdf">link</a>.</p>

<h1 id="análise--modelo">Análise &amp; Modelo</h1>

<p>Estamos trabalhando num modelo de classificação para este dataset
neste <a href="https://github.com/datascience-ufc/asd">repositório</a>. Contribuições são bem-vindas.</p>

<iframe id="plot_asd_vs_results" src="https://datascience-ufc.github.io/asd/plot_asd_vs_results.html" width="100%" style="height: 30em" frameborder="1">
</iframe>

<h1 id="referências">Referências</h1>

<ul>
  <li><a href="https://pt.wikipedia.org/wiki/Icter%C3%ADcia">O que é jundice (Icterícia)?</a></li>
  <li><a href="https://www.mairovergara.com/qual-diferenca-entre-child-infant-e-toddler/">O que é toddler?</a></li>
  <li><a href="https://www.cdc.gov/ncbddd/autism/screening.html">O que é screening?</a></li>
  <li><a href="https://ufc.lerax.me/datasets/asd/">Dataset ASD</a></li>
  <li><a href="http://www.asdtests.com/">Aplicativo de coleta</a></li>
</ul>]]></content><author><name>Data Science - UFC</name><email>manoel_vilela@engineer.com</email></author><category term="datasets" /><category term="autism" /><category term="dataset" /><category term="datascience" /><category term="health" /><summary type="html"><![CDATA[Analisamos o dataset de espectro autista disponível em ufc.lerax.me/datasets/asd. Alinhamos o conhecimento do dataset e a utilização do novo site de data science da UFC. Comentamos sobre os próximos passos a ser seguidos e compreendemos em alto nível sobre as características disponíveis neste dataset. Em breve disponibilizaremos um documento com análise utilizando estatística descritiva.]]></summary></entry><entry><title type="html">Equação de Euler</title><link href="https://datascience-ufc.github.io/mathematics/euler-equation/" rel="alternate" type="text/html" title="Equação de Euler" /><published>2019-02-21T00:00:00+00:00</published><updated>2019-02-21T00:00:00+00:00</updated><id>https://datascience-ufc.github.io/mathematics/euler-equation</id><content type="html" xml:base="https://datascience-ufc.github.io/mathematics/euler-equation/"><![CDATA[<p>A equação de euler é uma das mais belas conexões entre os números e a
geometria. Sua relação advém da conexão do plano complexo e a
trigonometria. Podemos deduzi-la a partir da <a href="https://pt.wikipedia.org/wiki/F%C3%B3rmula_de_Euler">fórmula de euler</a> dada
pela exponencial complexa:</p>

<p>\[ e^{i\theta} = \cos{\theta} + i\sin{\theta} \]</p>

<p>Se definirmos \(\theta = \pi\), portanto teremos:</p>

<p>\[ e^{i\pi} = \cos{\pi} + i\sin{\pi} \]
\[ e^{i\pi} = -1 + i\cdot0 \]
\[ e^{i\pi} + 1 = 0 \]</p>]]></content><author><name>Manoel Vilela</name></author><category term="mathematics" /><category term="mathematics" /><category term="number-theory" /><category term="complex-numbers" /><summary type="html"><![CDATA[A equação de euler é uma das mais belas conexões entre os números e a geometria. Sua relação advém da conexão do plano complexo e a trigonometria. Podemos deduzi-la a partir da fórmula de euler dada pela exponencial complexa:]]></summary></entry><entry><title type="html">Hello Linear Regression!</title><link href="https://datascience-ufc.github.io/programming/hello-linear-regression/" rel="alternate" type="text/html" title="Hello Linear Regression!" /><published>2019-02-21T00:00:00+00:00</published><updated>2019-02-21T00:00:00+00:00</updated><id>https://datascience-ufc.github.io/programming/hello-linear-regression</id><content type="html" xml:base="https://datascience-ufc.github.io/programming/hello-linear-regression/"><![CDATA[<div class="language-matlab highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">B</span> <span class="o">=</span> <span class="nb">inv</span><span class="p">(</span><span class="n">X</span><span class="s1">'*X)*X'</span><span class="o">*</span><span class="n">y</span>
</code></pre></div></div>]]></content><author><name>Denilson Gomes</name></author><category term="programming" /><category term="hacking" /><category term="matlab" /><summary type="html"><![CDATA[B = inv(X'*X)*X'*y]]></summary></entry><entry><title type="html">Hello World!</title><link href="https://datascience-ufc.github.io/programming/hello-world/" rel="alternate" type="text/html" title="Hello World!" /><published>2019-02-21T00:00:00+00:00</published><updated>2019-02-21T00:00:00+00:00</updated><id>https://datascience-ufc.github.io/programming/hello-world</id><content type="html" xml:base="https://datascience-ufc.github.io/programming/hello-world/"><![CDATA[<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">print</span><span class="p">(</span><span class="s">"SOU HACKUDO"</span><span class="p">)</span>
</code></pre></div></div>]]></content><author><name>Matheus Frota</name></author><category term="programming" /><category term="hacking" /><category term="python" /><summary type="html"><![CDATA[print("SOU HACKUDO")]]></summary></entry><entry><title type="html">Hidden Post</title><link href="https://datascience-ufc.github.io/hidden-post/" rel="alternate" type="text/html" title="Hidden Post" /><published>2018-02-25T00:00:00+00:00</published><updated>2018-02-25T00:00:00+00:00</updated><id>https://datascience-ufc.github.io/hidden-post</id><content type="html" xml:base="https://datascience-ufc.github.io/hidden-post/"><![CDATA[<p>This post has YAML Front Matter of <code class="language-plaintext highlighter-rouge">hidden: true</code> and should not appear in <code class="language-plaintext highlighter-rouge">paginator.posts</code>.</p>]]></content><author><name>Data Science - UFC</name><email>manoel_vilela@engineer.com</email></author><summary type="html"><![CDATA[This post has YAML Front Matter of hidden: true and should not appear in paginator.posts.]]></summary></entry><entry><title type="html">MathJax Example</title><link href="https://datascience-ufc.github.io/mathjax-example/" rel="alternate" type="text/html" title="MathJax Example" /><published>2015-08-10T12:08:50+00:00</published><updated>2015-08-10T12:08:50+00:00</updated><id>https://datascience-ufc.github.io/mathjax-example</id><content type="html" xml:base="https://datascience-ufc.github.io/mathjax-example/"><![CDATA[<p><a href="http://www.mathjax.org/">MathJax</a> is a simple way of including Tex/LaTex/MathML based mathematics in HTML webpages. To get up and running you need to include the MathJax script in the header of your github pages page, and then write some maths. For LaTex, there are two delimiters you need to know about, one for block or displayed mathematics <code class="language-plaintext highlighter-rouge">\[ ... \]</code>, and the other for inline mathematics <code class="language-plaintext highlighter-rouge">\( ... \)</code>.</p>

<h2 id="usage">Usage</h2>

<p>To enable MathJax support be sure Kramdown is your Markdown flavor of choice and MathJax is set to true in your <code class="language-plaintext highlighter-rouge">_config.yml</code> file.</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">markdown</span><span class="pi">:</span> <span class="s">kramdown</span>
<span class="na">mathjax</span><span class="pi">:</span> <span class="no">true</span>
</code></pre></div></div>

\[a^2 + b^2 = c^2\]

<p>Here is an example MathJax inline rendering \( 1/x^{2} \), and here is a block rendering:</p>

<p>\[ \frac{1}{n^{2}} \]</p>

<p>The only thing to look out for is the escaping of the backslash when using markdown, so the delimiters become <code class="language-plaintext highlighter-rouge">\\[ ... \\]</code> and <code class="language-plaintext highlighter-rouge">\\( ... \\)</code> for inline and block maths respectively.</p>

\[\mathbf{X}\_{n,p} = \mathbf{A}\_{n,k} \mathbf{B}\_{k,p}\]]]></content><author><name>Data Science - UFC</name><email>manoel_vilela@engineer.com</email></author><summary type="html"><![CDATA[MathJax is a simple way of including Tex/LaTex/MathML based mathematics in HTML webpages. To get up and running you need to include the MathJax script in the header of your github pages page, and then write some maths. For LaTex, there are two delimiters you need to know about, one for block or displayed mathematics \[ ... \], and the other for inline mathematics \( ... \).]]></summary></entry></feed>