diff --git a/analise_resultados_muriki.ipynb b/analise_resultados_muriki.ipynb index da43327c1733044ed1686db7b0b886a7455ab21c..a9ad833bec707e91fc960af2c2c6a3d99ec09b0d 100644 --- a/analise_resultados_muriki.ipynb +++ b/analise_resultados_muriki.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "id": "e13d5b4a-95a3-404c-bf01-7b4b48b4d121", "metadata": { "tags": [] @@ -16,7 +16,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 2, "id": "3ee220b5-c632-415e-8a0e-76e85f31b5f1", "metadata": { "scrolled": true, @@ -124,7 +124,7 @@ "16 74158 0.066157 1.129997e-22 " ] }, - "execution_count": 8, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -594,7 +594,7 @@ }, { "cell_type": "code", - "execution_count": 119, + "execution_count": 59, "id": "81aa6d2b-582d-4982-ae36-35eb7ea3a004", "metadata": { "tags": [] @@ -605,251 +605,319 @@ "output_type": "stream", "text": [ "2007\n", - "NUM_SALAS:\n", - " NUM_SALAS\n", - " NUM_SALAS_UTILIZADAS\n", - "NUM_SALAS_UTILIZADAS:\n", - " NUM_SALAS_UTILIZADAS\n", - " NUM_SALAS\n", - "NUM_COMPUTADPR_ALUNO:\n", - " NUM_COMPUTADPR_ALUNO\n", - "NUM_FUNCIONARIOS:\n", - " NUM_FUNCIONARIOS\n", - "NUM_COMPUTADOR_ADM:\n", - " NUM_COMPUTADOR_ADM\n", - "NUM_COMPUTADOR:\n", - " NUM_COMPUTADOR\n", + "+----------------------+--------------------------------------------+\n", + "| BASE | 2008 |\n", + "+======================+============================================+\n", + "| NUM_SALAS | ['NUM_SALAS', 'NUM_SALAS_UTILIZADAS'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_SALAS_UTILIZADAS | ['NUM_SALAS_UTILIZADAS', 'NUM_SALAS'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_COMPUTADPR_ALUNO | ['NUM_COMPUTADPR_ALUNO', 'NUM_COMPUTADOR'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_FUNCIONARIOS | ['NUM_FUNCIONARIOS'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_COMPUTADOR_ADM | ['NUM_COMPUTADOR_ADM'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_COMPUTADOR | ['NUM_COMPUTADOR', 'NUM_COMPUTADPR_ALUNO'] |\n", + "+----------------------+--------------------------------------------+\n", "NOVAS COLUNAS: []\n", + "COLUNAS SEM DADOS: []\n", + "Acurácia: 1.0\n", + "\n", "2008\n", - "NUM_SALAS:\n", - " NUM_SALAS\n", - " NUM_SALAS_UTILIZADAS\n", - "NUM_FUNCIONARIOS:\n", - " NUM_FUNCIONARIOS\n", - "NUM_COMPUTADPR_ALUNO:\n", - " NUM_COMPUTADPR_ALUNO\n", - "NUM_SALAS_UTILIZADAS:\n", - " NUM_SALAS_UTILIZADAS\n", - " NUM_SALAS\n", - "NUM_COMPUTADOR:\n", - " NUM_COMPUTADOR\n", + "+----------------------+---------------------------------------+\n", + "| BASE | 2009 |\n", + "+======================+=======================================+\n", + "| NUM_SALAS | ['NUM_SALAS', 'NUM_SALAS_UTILIZADAS'] |\n", + "+----------------------+---------------------------------------+\n", + "| NUM_FUNCIONARIOS | ['NUM_FUNCIONARIOS'] |\n", + "+----------------------+---------------------------------------+\n", + "| NUM_COMPUTADPR_ALUNO | ['NUM_COMPUTADPR_ALUNO'] |\n", + "+----------------------+---------------------------------------+\n", + "| NUM_SALAS_UTILIZADAS | ['NUM_SALAS_UTILIZADAS', 'NUM_SALAS'] |\n", + "+----------------------+---------------------------------------+\n", + "| NUM_COMPUTADOR | ['NUM_COMPUTADOR'] |\n", + "+----------------------+---------------------------------------+\n", + "| NUM_COMPUTADOR_ADM | ['NUM_COMPUTADOR_ADM'] |\n", + "+----------------------+---------------------------------------+\n", "NOVAS COLUNAS: []\n", + "COLUNAS SEM DADOS: []\n", + "Acurácia: 1.0\n", + "\n", "2009\n", - "NUM_SALAS_UTILIZADAS:\n", - " NUM_SALAS_UTILIZADAS\n", - " NUM_SALAS\n", - "NUM_SALAS:\n", - " NUM_SALAS_UTILIZADAS\n", - " NUM_SALAS\n", - "NUM_COMPUTADOR_ADM:\n", - " NUM_COMPUTADOR_ADM\n", - "NUM_FUNCIONARIOS:\n", - " NUM_FUNCIONARIOS\n", - "NUM_COMPUTADOR:\n", - " NUM_COMPUTADOR\n", - "NUM_COMPUTADPR_ALUNO:\n", - " NUM_COMPUTADPR_ALUNO\n", + "+----------------------+--------------------------------------------+\n", + "| BASE | 2010 |\n", + "+======================+============================================+\n", + "| NUM_SALAS_UTILIZADAS | ['NUM_SALAS_UTILIZADAS', 'NUM_SALAS'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_SALAS | ['NUM_SALAS_UTILIZADAS', 'NUM_SALAS'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_COMPUTADOR_ADM | ['NUM_COMPUTADOR_ADM'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_FUNCIONARIOS | ['NUM_FUNCIONARIOS'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_COMPUTADOR | ['NUM_COMPUTADOR', 'NUM_COMPUTADPR_ALUNO'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_COMPUTADPR_ALUNO | ['NUM_COMPUTADPR_ALUNO'] |\n", + "+----------------------+--------------------------------------------+\n", "NOVAS COLUNAS: []\n", + "COLUNAS SEM DADOS: []\n", + "Acurácia: 1.0\n", + "\n", "2010\n", - "NUM_SALAS_UTILIZADAS:\n", - " NUM_SALAS_UTILIZADAS\n", - " NUM_SALAS\n", - "NUM_SALAS:\n", - " NUM_SALAS_UTILIZADAS\n", - " NUM_SALAS\n", - "NUM_FUNCIONARIOS:\n", - " NUM_FUNCIONARIOS\n", - "NUM_COMPUTADOR_ADM:\n", - " NUM_COMPUTADOR_ADM\n", - "NUM_COMPUTADPR_ALUNO:\n", - " NUM_COMPUTADPR_ALUNO\n", - "NUM_COMPUTADOR:\n", - " NUM_COMPUTADOR\n", + "+----------------------+--------------------------------------------+\n", + "| BASE | 2011 |\n", + "+======================+============================================+\n", + "| NUM_SALAS_UTILIZADAS | ['NUM_SALAS_UTILIZADAS', 'NUM_SALAS'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_SALAS | ['NUM_SALAS_UTILIZADAS', 'NUM_SALAS'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_FUNCIONARIOS | ['NUM_FUNCIONARIOS'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_COMPUTADOR_ADM | ['NUM_COMPUTADOR_ADM'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_COMPUTADPR_ALUNO | ['NUM_COMPUTADPR_ALUNO'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_COMPUTADOR | ['NUM_COMPUTADOR', 'NUM_COMPUTADPR_ALUNO'] |\n", + "+----------------------+--------------------------------------------+\n", "NOVAS COLUNAS: []\n", + "COLUNAS SEM DADOS: []\n", + "Acurácia: 1.0\n", + "\n", "2011\n", - "NUM_SALAS:\n", - " NUM_SALAS\n", - " NUM_SALAS_UTILIZADAS\n", - "NUM_COMPUTADOR:\n", - " NUM_COMPUTADOR\n", - "NUM_COMPUTADPR_ALUNO:\n", - " NUM_COMPUTADPR_ALUNO\n", - "NUM_COMPUTADOR_ADM:\n", - " NUM_COMPUTADOR_ADM\n", - "NUM_FUNCIONARIOS:\n", - " NUM_FUNCIONARIOS\n", - "NUM_SALAS_UTILIZADAS:\n", - " NUM_SALAS_UTILIZADAS\n", - " NUM_SALAS\n", + "+----------------------+---------------------------------------+\n", + "| BASE | 2012 |\n", + "+======================+=======================================+\n", + "| NUM_SALAS | ['NUM_SALAS', 'NUM_SALAS_UTILIZADAS'] |\n", + "+----------------------+---------------------------------------+\n", + "| NUM_COMPUTADOR | ['NUM_COMPUTADOR'] |\n", + "+----------------------+---------------------------------------+\n", + "| NUM_COMPUTADPR_ALUNO | ['NUM_COMPUTADPR_ALUNO'] |\n", + "+----------------------+---------------------------------------+\n", + "| NUM_COMPUTADOR_ADM | ['NUM_COMPUTADOR_ADM'] |\n", + "+----------------------+---------------------------------------+\n", + "| NUM_FUNCIONARIOS | ['NUM_FUNCIONARIOS'] |\n", + "+----------------------+---------------------------------------+\n", + "| NUM_SALAS_UTILIZADAS | ['NUM_SALAS_UTILIZADAS', 'NUM_SALAS'] |\n", + "+----------------------+---------------------------------------+\n", "NOVAS COLUNAS: []\n", + "COLUNAS SEM DADOS: []\n", + "Acurácia: 1.0\n", + "\n", "2012\n", - "NUM_COMPUTADOR_ADM:\n", - " NUM_COMPUTADOR_ADM\n", - "NUM_COMPUTADPR_ALUNO:\n", - " NUM_COMPUTADPR_ALUNO\n", - "NUM_FUNCIONARIOS:\n", - " NUM_FUNCIONARIOS\n", - "NUM_SALAS_UTILIZADAS:\n", - " NUM_SALAS\n", - " NUM_SALAS_UTILIZADAS\n", - "NUM_SALAS:\n", - " NUM_SALAS\n", - " NUM_SALAS_UTILIZADAS\n", - "NOVAS COLUNAS: []\n", - "2013\n", - "NUM_SALAS_UTILIZADAS:\n", - " NUM_SALAS_UTILIZADAS\n", - " NUM_SALAS\n", - "NUM_SALAS:\n", - " NUM_SALAS\n", - " NUM_SALAS_UTILIZADAS\n", - "NUM_COMPUTADOR:\n", - " NUM_COMPUTADOR\n", - "NUM_SOM:\n", - " NUM_TV\n", - " NUM_SOM\n", - "NUM_FUNCIONARIOS:\n", - " NUM_FUNCIONARIOS\n", - "NUM_COMPUTADPR_ALUNO:\n", - " NUM_COMPUTADPR_ALUNO\n", - "NUM_DVD:\n", - " NUM_DVD\n", - "NUM_TV:\n", - " NUM_TV\n", - " NUM_SOM\n", + "+----------------------+--------------------------------------------+\n", + "| BASE | 2013 |\n", + "+======================+============================================+\n", + "| NUM_COMPUTADOR_ADM | ['NUM_COMPUTADOR_ADM'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_COMPUTADPR_ALUNO | ['NUM_COMPUTADPR_ALUNO', 'NUM_COMPUTADOR'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_FUNCIONARIOS | ['NUM_FUNCIONARIOS'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_SALAS_UTILIZADAS | ['NUM_SALAS', 'NUM_SALAS_UTILIZADAS'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_SALAS | ['NUM_SALAS', 'NUM_SALAS_UTILIZADAS'] |\n", + "+----------------------+--------------------------------------------+\n", "NOVAS COLUNAS: ['NUM_DVD' 'NUM_SOM' 'NUM_TV']\n", + "COLUNAS SEM DADOS: ['NUM_COMPUTADOR']\n", + "Acurácia: 0.8888888888888888\n", + "\n", + "2013\n", + "+----------------------+--------------------------------------------+\n", + "| BASE | 2014 |\n", + "+======================+============================================+\n", + "| NUM_SALAS_UTILIZADAS | ['NUM_SALAS_UTILIZADAS', 'NUM_SALAS'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_SALAS | ['NUM_SALAS', 'NUM_SALAS_UTILIZADAS'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_COMPUTADOR | ['NUM_COMPUTADOR', 'NUM_COMPUTADPR_ALUNO'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_SOM | ['NUM_TV', 'NUM_SOM'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_FUNCIONARIOS | ['NUM_FUNCIONARIOS'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_COMPUTADPR_ALUNO | ['NUM_COMPUTADPR_ALUNO', 'NUM_COMPUTADOR'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_DVD | ['NUM_DVD'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_TV | ['NUM_TV', 'NUM_SOM'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_COMPUTADOR_ADM | ['NUM_COMPUTADOR_ADM'] |\n", + "+----------------------+--------------------------------------------+\n", + "NOVAS COLUNAS: []\n", + "COLUNAS SEM DADOS: []\n", + "Acurácia: 1.0\n", + "\n", "2014\n", - "NUM_SALAS:\n", - " NUM_SALAS\n", - " NUM_SALAS_UTILIZADAS\n", - "NUM_SALAS_UTILIZADAS:\n", - " NUM_SALAS_UTILIZADAS\n", - " NUM_SALAS\n", - "NUM_FUNCIONARIOS:\n", - " NUM_FUNCIONARIOS\n", - "NUM_COMPUTADOR:\n", - " NUM_COMPUTADPR_ALUNO\n", - "NUM_SOM:\n", - " NUM_TV\n", - "NOVAS COLUNAS: ['NUM_TV']\n", + "+----------------------+--------------------------------------------+\n", + "| BASE | 2015 |\n", + "+======================+============================================+\n", + "| NUM_SALAS | ['NUM_SALAS', 'NUM_SALAS_UTILIZADAS'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_SALAS_UTILIZADAS | ['NUM_SALAS_UTILIZADAS', 'NUM_SALAS'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_FUNCIONARIOS | ['NUM_FUNCIONARIOS'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_COMPUTADOR | ['NUM_COMPUTADPR_ALUNO'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_SOM | ['NUM_TV', 'NUM_SOM'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_TV | ['NUM_TV'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_COMPUTADPR_ALUNO | ['NUM_COMPUTADPR_ALUNO', 'NUM_COMPUTADOR'] |\n", + "+----------------------+--------------------------------------------+\n", + "| NUM_DVD | ['NUM_DVD'] |\n", + "+----------------------+--------------------------------------------+\n", + "NOVAS COLUNAS: ['NUM_COMPUTADOR_ADM']\n", + "COLUNAS SEM DADOS: ['NUM_COMPUTADOR_ADM']\n", + "Acurácia: 0.7777777777777778\n", + "\n", "2015\n", - "NUM_SOM:\n", - " NUM_SOM\n", - "NUM_SALAS:\n", - " NUM_SALAS\n", - " NUM_SALAS_UTILIZADAS\n", - "NUM_DVD:\n", - " NUM_DVD\n", - "NUM_SALAS_UTILIZADAS:\n", - " NUM_SALAS\n", - " NUM_SALAS_UTILIZADAS\n", - "NUM_FUNCIONARIOS:\n", - " NUM_FUNCIONARIOS\n", - "NUM_TV:\n", - " NUM_TV\n", - "NUM_COMPUTADPR_ALUNO:\n", - " NUM_COMPUTADPR_ALUNO\n", - "NUM_COMPUTADOR:\n", - " NUM_COMPUTADOR\n", - "NOVAS COLUNAS: ['NUM_DVD' 'NUM_SOM' 'NUM_TV']\n", + "+----------------------+---------------------------------------+\n", + "| BASE | 2016 |\n", + "+======================+=======================================+\n", + "| NUM_SOM | ['NUM_SOM', 'NUM_TV'] |\n", + "+----------------------+---------------------------------------+\n", + "| NUM_SALAS | ['NUM_SALAS', 'NUM_SALAS_UTILIZADAS'] |\n", + "+----------------------+---------------------------------------+\n", + "| NUM_DVD | ['NUM_DVD'] |\n", + "+----------------------+---------------------------------------+\n", + "| NUM_SALAS_UTILIZADAS | ['NUM_SALAS', 'NUM_SALAS_UTILIZADAS'] |\n", + "+----------------------+---------------------------------------+\n", + "| NUM_FUNCIONARIOS | ['NUM_FUNCIONARIOS'] |\n", + "+----------------------+---------------------------------------+\n", + "| NUM_TV | ['NUM_TV', 'NUM_SOM'] |\n", + "+----------------------+---------------------------------------+\n", + "| NUM_COMPUTADPR_ALUNO | ['NUM_COMPUTADPR_ALUNO'] |\n", + "+----------------------+---------------------------------------+\n", + "| NUM_COMPUTADOR | ['NUM_COMPUTADOR'] |\n", + "+----------------------+---------------------------------------+\n", + "| NUM_COMPUTADOR_ADM | ['NUM_SOM', 'NUM_COMPUTADOR_ADM'] |\n", + "+----------------------+---------------------------------------+\n", + "NOVAS COLUNAS: []\n", + "COLUNAS SEM DADOS: []\n", + "Acurácia: 1.0\n", + "\n", "2016\n", - "NUM_TV:\n", - " NUM_TV\n", - "NUM_SOM:\n", - " NUM_SOM\n", - " NUM_COMPUTADOR_ADM\n", - "NUM_SALAS_UTILIZADAS:\n", - " NUM_SALAS_UTILIZADAS\n", - " NUM_SALAS\n", - "NUM_FUNCIONARIOS:\n", - " NUM_FUNCIONARIOS\n", - "NUM_SALAS:\n", - " NUM_SALAS_UTILIZADAS\n", - " NUM_SALAS\n", - "NUM_COMPUTADOR:\n", - " NUM_COMPUTADOR\n", - "NUM_COMPUTADPR_ALUNO:\n", - " NUM_COMPUTADPR_ALUNO\n", - "NOVAS COLUNAS: ['NUM_SOM' 'NUM_TV']\n", + "+----------------------+---------------------------------------------+\n", + "| BASE | 2017 |\n", + "+======================+=============================================+\n", + "| NUM_TV | ['NUM_TV', 'NUM_COMPUTADOR_ADM', 'NUM_SOM'] |\n", + "+----------------------+---------------------------------------------+\n", + "| NUM_SOM | ['NUM_SOM', 'NUM_COMPUTADOR_ADM', 'NUM_TV'] |\n", + "+----------------------+---------------------------------------------+\n", + "| NUM_SALAS_UTILIZADAS | ['NUM_SALAS_UTILIZADAS', 'NUM_SALAS'] |\n", + "+----------------------+---------------------------------------------+\n", + "| NUM_FUNCIONARIOS | ['NUM_FUNCIONARIOS'] |\n", + "+----------------------+---------------------------------------------+\n", + "| NUM_SALAS | ['NUM_SALAS_UTILIZADAS', 'NUM_SALAS'] |\n", + "+----------------------+---------------------------------------------+\n", + "| NUM_COMPUTADOR | ['NUM_COMPUTADOR'] |\n", + "+----------------------+---------------------------------------------+\n", + "| NUM_COMPUTADPR_ALUNO | ['NUM_COMPUTADPR_ALUNO', 'NUM_COMPUTADOR'] |\n", + "+----------------------+---------------------------------------------+\n", + "NOVAS COLUNAS: ['NUM_DVD']\n", + "COLUNAS SEM DADOS: ['NUM_COMPUTADOR_ADM' 'NUM_DVD']\n", + "Acurácia: 0.7777777777777778\n", + "\n", "2017\n", - "NUM_FUNCIONARIOS:\n", - " NUM_FUNCIONARIOS\n", - "NUM_SALAS:\n", - " NUM_SALAS\n", - " NUM_SALAS_UTILIZADAS\n", - "NUM_SALAS_UTILIZADAS:\n", - " NUM_SALAS_UTILIZADAS\n", - " NUM_SALAS\n", + "+----------------------+---------------------------------------+\n", + "| BASE | 2018 |\n", + "+======================+=======================================+\n", + "| NUM_FUNCIONARIOS | ['NUM_FUNCIONARIOS'] |\n", + "+----------------------+---------------------------------------+\n", + "| NUM_SALAS | ['NUM_SALAS', 'NUM_SALAS_UTILIZADAS'] |\n", + "+----------------------+---------------------------------------+\n", + "| NUM_SALAS_UTILIZADAS | ['NUM_SALAS_UTILIZADAS', 'NUM_SALAS'] |\n", + "+----------------------+---------------------------------------+\n", "NOVAS COLUNAS: []\n", + "COLUNAS SEM DADOS: ['NUM_COMPUTADOR' 'NUM_COMPUTADOR_ADM' 'NUM_COMPUTADPR_ALUNO' 'NUM_DVD'\n", + " 'NUM_SOM' 'NUM_TV']\n", + "Acurácia: 1.0\n", + "\n", "2018\n", - "NUM_SALAS:\n", - " NUM_SALAS_UTILIZADAS\n", - "NUM_SALAS_UTILIZADAS:\n", - " NUM_SALAS_UTILIZADAS\n", - "NOVAS COLUNAS: []\n", - "2019\n", - "NUM_SALAS_UTILIZADAS:\n", - " NUM_SALAS_UTILIZADAS\n", - "NUM_SOM:\n", - " NUM_SOM\n", - "NUM_TV:\n", - " NUM_TV\n", - "NUM_DVD:\n", - " NUM_DVD\n", + "+----------------------+--------------------------+\n", + "| BASE | 2019 |\n", + "+======================+==========================+\n", + "| NUM_SALAS | ['NUM_SALAS_UTILIZADAS'] |\n", + "+----------------------+--------------------------+\n", + "| NUM_SALAS_UTILIZADAS | ['NUM_SALAS_UTILIZADAS'] |\n", + "+----------------------+--------------------------+\n", "NOVAS COLUNAS: ['NUM_DVD' 'NUM_SOM' 'NUM_TV']\n", + "COLUNAS SEM DADOS: ['NUM_FUNCIONARIOS']\n", + "Acurácia: 0.8333333333333334\n", + "\n", + "2019\n", + "+----------------------+--------------------------+\n", + "| BASE | 2020 |\n", + "+======================+==========================+\n", + "| NUM_SALAS_UTILIZADAS | ['NUM_SALAS_UTILIZADAS'] |\n", + "+----------------------+--------------------------+\n", + "| NUM_SOM | ['NUM_SOM', 'NUM_TV'] |\n", + "+----------------------+--------------------------+\n", + "| NUM_TV | ['NUM_TV', 'NUM_SOM'] |\n", + "+----------------------+--------------------------+\n", + "| NUM_DVD | ['NUM_DVD', 'NUM_TV'] |\n", + "+----------------------+--------------------------+\n", + "NOVAS COLUNAS: []\n", + "COLUNAS SEM DADOS: []\n", + "Acurácia: 1.0\n", + "\n", "2020\n", - "NUM_SALAS_UTILIZADAS:\n", - " NUM_SALAS_UTILIZADAS\n", - "NUM_DVD:\n", - " NUM_DVD\n", - "NUM_TV:\n", - " NUM_TV\n", - "NUM_SOM:\n", - " NUM_SOM\n", - "NOVAS COLUNAS: ['NUM_DVD' 'NUM_SOM' 'NUM_TV']\n" + "+----------------------+--------------------------+\n", + "| BASE | 2021 |\n", + "+======================+==========================+\n", + "| NUM_SALAS_UTILIZADAS | ['NUM_SALAS_UTILIZADAS'] |\n", + "+----------------------+--------------------------+\n", + "| NUM_DVD | ['NUM_DVD', 'NUM_TV'] |\n", + "+----------------------+--------------------------+\n", + "| NUM_TV | ['NUM_TV', 'NUM_SOM'] |\n", + "+----------------------+--------------------------+\n", + "| NUM_SOM | ['NUM_SOM', 'NUM_TV'] |\n", + "+----------------------+--------------------------+\n", + "NOVAS COLUNAS: []\n", + "COLUNAS SEM DADOS: []\n", + "Acurácia: 1.0\n", + "\n" ] } ], "source": [ "anos = df.ano_coluna1.unique()\n", - "threshold = 0.2\n", + "threshold = 0.4\n", "\n", "# Itera sobre todos os anos\n", "for ano in anos:\n", " # Constroi dataframe do ano\n", - " ano_df = df[(df.ano_coluna1 == ano) & (df.estatistica_f < threshold)]\n", + " ano_df = df[df.ano_coluna1 == ano]\n", " \n", " # Estruturas\n", " base_columns = ano_df.coluna1.unique() # Colunas que ja existiam na base\n", " new_columns = ano_df.coluna2.unique() # Colunas do próximo ano\n", " true_new_columns = np.setdiff1d(new_columns, base_columns) # Colunas que nao existiam na base\n", - " base_empty_columns = np.setdiff1d(base_columns, new_columns) # Colunas da base que nao receberam dados\n", + " true_empty_columns = np.setdiff1d(base_columns, new_columns) # Colunas da base que nao receberam dados\n", " all_columns = np.union1d(base_columns, new_columns) # Todas as colunas possiveis\n", " resultados = [] # Resultados dos matches\n", + " prev_col = [] # Colunas da base que tiveram match\n", + " next_col = [] # Colunas do proximo ano que tiveram match\n", " \n", - " # Alterar para um dicionario\n", - " prev_col = [] # Colunas da base para match\n", - " next_col = [] # Colunas do proximo ano para match\n", - " \n", - " \n", - " # Itera sobre o dataframe\n", + " # Encontra as top3 novas colunas que mais se encaixam com as colunas base\n", " for col in base_columns:\n", - " top3 = ano_df[ano_df.coluna1 == col]\n", - " resultados.append(top3.iloc[:3,:].values)\n", + " top3 = ano_df[(ano_df.coluna1 == col) & (ano_df.estatistica_f < threshold)].iloc[:3,:]\n", + " resultados.append(top3.values)\n", " \n", - " # Encontra colunas prev que deram match\n", - " all_match_columns = []\n", - " not_match_columns = [] \n", - "\n", + " # Preenche prev_col e next_col\n", " for res in resultados:\n", " for i in res:\n", - " next_col = np.union1d(next_col, i[2])\n", " prev_col = np.union1d(prev_col, i[0])\n", - " \n", - " all_match_columns = np.union1d(next_col, prev_col)\n", - " not_match_columns = np.setdiff1d(all_columns, all_match_columns) \n", - " found_new_columns = np.setdiff1d(new_columns, next_columns)\n", - " \n", + " next_col = np.union1d(next_col, i[2])\n", + "\n", + " # Determina alguns c\n", + " all_match_columns = np.union1d(next_col, prev_col) # Colunas que tiveram algum match\n", + " not_match_columns = np.setdiff1d(all_columns, all_match_columns) # Colunas que não tiveram nenhum match\n", + " found_new_columns = np.setdiff1d(new_columns, next_col) # Colunas novas encontradas pelo algoritmo\n", + " no_data_columns = np.setdiff1d(base_columns, prev_col) # Colunas que não receram dados encontradas pelo algoritmo\n", + " \n", " # Calcula acurácia\n", " acuracia = 0\n", " acertos = 0\n", @@ -858,16 +926,28 @@ " if i[0] == i[2]:\n", " acertos += 1\n", " break\n", - " acuracia = acertos / len(base_columns) \n", + " for new in found_new_columns:\n", + " if new in true_new_columns:\n", + " acertos += 1\n", + " for no_data in no_data_columns:\n", + " if no_data in true_empty_columns:\n", + " acertos += 1\n", + " acuracia = acertos / len(all_columns) \n", " \n", " # Imprime resultados\n", " print(ano)\n", + " matches = []\n", " for res in resultados:\n", - " print(f'{res[0][0]}:')\n", + " match = []\n", " for i in res:\n", - " print(f' {i[2]}')\n", + " match.append(i[2])\n", + " if len(match) == 0:\n", + " continue\n", + " matches.append([i[0], match]) \n", + " print(tabulate(matches, headers=['BASE', ano+1], tablefmt='grid'))\n", " print(f'NOVAS COLUNAS: {found_new_columns}')\n", - " # print(f'{acuracia}\\n')\n", + " print(f'COLUNAS SEM DADOS: {no_data_columns}')\n", + " print(f'Acurácia: {acuracia}\\n')\n", " \n", " " ] @@ -889,7 +969,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.4" + "version": "3.11.9" } }, "nbformat": 4,