5 · Reestruturação e balanceamento do alvo

Análise de interposição, definição do alvo binário e balanceamento das classes.

Esta etapa examina a interposição entre grupos, reestrutura o problema como classificação binária e produz o conjunto balanceado usado no relatório final.

Mostrar código
import pandas as pd
import os
cwd = os.getcwd()

ROOT = os.path.join(cwd, '../')
DATA_FOLDER = os.path.join(ROOT, 'data/')

df = pd.read_pickle(os.path.join(DATA_FOLDER, 'saeb_pb_2017-2007_fe.pkl'))

df = df.dropna()
print(len(df))
df.head()
232882
id_aluno disciplina proficiencia erro_padrao desempenho_aluno desempenho_aluno_cat faz_licao_casa_2.0 reprovacao_0.0 reprovacao_1.0 pai_sabe_ler_escrever_1.0 leitura_revista_comportamento_0.0 leitura_jornais_0.0 escolaridade_pai_4.0 mae_sabe_ler_escrever_1.0 leitura_internet_2.0 tempo_lazer_1.0 escolaridade_mae_4.0 gosta_estudar_disciplina_0.0 gosta_estudar_disciplina_1.0
8086 23061434 LP 0.665701 0.312872 Proficiente 2 True True False False True True False True True True False False True
10602 23065563 LP -1.353424 0.484866 Insuficiente 0 True False True True False False False False True True False False True
13975 23065563 MT -1.652930 0.564617 Insuficiente 0 True False True True False False False False True True False False True
17847 23065552 MT -1.099605 0.467812 Insuficiente 0 True True False False False False False True False False False False True
20664 23095249 MT -1.262341 0.512487 Insuficiente 0 False False True True False False False True True False False True False
Mostrar código
print(df.columns)
Index(['id_aluno', 'disciplina', 'proficiencia', 'erro_padrao',
       'desempenho_aluno', 'desempenho_aluno_cat', 'faz_licao_casa_2.0',
       'reprovacao_0.0', 'reprovacao_1.0', 'pai_sabe_ler_escrever_1.0',
       'leitura_revista_comportamento_0.0', 'leitura_jornais_0.0',
       'escolaridade_pai_4.0', 'mae_sabe_ler_escrever_1.0',
       'leitura_internet_2.0', 'tempo_lazer_1.0', 'escolaridade_mae_4.0',
       'gosta_estudar_disciplina_0.0', 'gosta_estudar_disciplina_1.0'],
      dtype='object')
Mostrar código
# distribuição das classes
df['desempenho_aluno'].value_counts(dropna=False)
desempenho_aluno
Básico          124830
Insuficiente     78056
Proficiente      26662
Avançado          3334
Name: count, dtype: int64
Mostrar código
exclude = ['ano', 'sigla_uf', 'situacao_censo', 'disciplina', 'proficiencia', 'erro_padrao', 'proficiencia_saeb',
       'erro_padrao_saeb', 'sexo', 'raca_cor','ano_nascimento', 'rede', 'id_escola', 'serie', 'turno', 'escola_publica', 'desempenho_aluno', 'proficiencia']

exclude = [col for col in df.columns if col in exclude]
Mostrar código
df = df[df['desempenho_aluno_cat'] != 2]
Mostrar código
df.loc[:, 'desempenho_aluno_cat'] = df['desempenho_aluno_cat'].apply(lambda x: 1 if x == 3 else 0)
Mostrar código
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
from sklearn.metrics import classification_report
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from tensorflow.keras.utils import to_categorical
from tensorflow.keras.layers import Dropout
from tensorflow.keras.callbacks import EarlyStopping
from sklearn.preprocessing import MinMaxScaler
from sklearn.preprocessing import OneHotEncoder
from imblearn.under_sampling import RandomUnderSampler

from IPython.display import clear_output

clear_output()
Mostrar código
# a lógica é a seguinte:
# analisaremos linhas no dataset com os mesmos valores de features, mas com diferentes valores de target
# analisando os tamanhos de cada grupo, consideraremos o erro aquele grupo que tiver menos instâncias
# e removeremos todas as instâncias desse grupo
Mostrar código
X = df.drop(columns=exclude + ['desempenho_aluno_cat'])
y = df['desempenho_aluno_cat']
Mostrar código
res = RandomUnderSampler(sampling_strategy='majority')
X_res, y_res = res.fit_resample(X, y)
Mostrar código
y_res.value_counts()
desempenho_aluno_cat
0    3334
1    3334
Name: count, dtype: int64
Mostrar código
df = pd.concat([X_res, y_res], axis=1)
df.head()
id_aluno faz_licao_casa_2.0 reprovacao_0.0 reprovacao_1.0 pai_sabe_ler_escrever_1.0 leitura_revista_comportamento_0.0 leitura_jornais_0.0 escolaridade_pai_4.0 mae_sabe_ler_escrever_1.0 leitura_internet_2.0 tempo_lazer_1.0 escolaridade_mae_4.0 gosta_estudar_disciplina_0.0 gosta_estudar_disciplina_1.0 desempenho_aluno_cat
38709 17486608 True False True False False False False False False False False True False 0
75835 17542236 False True False True False True False True True False False False True 0
31759 12145735 True False True True False False False False False False False False True 0
13020 4986194 True True False False False False False False False False False False True 0
28547 23045906 False True False True False True False True False False False True False 0
Mostrar código
feature_columns = df.columns[1:-1]
print(feature_columns)
Index(['faz_licao_casa_2.0', 'reprovacao_0.0', 'reprovacao_1.0',
       'pai_sabe_ler_escrever_1.0', 'leitura_revista_comportamento_0.0',
       'leitura_jornais_0.0', 'escolaridade_pai_4.0',
       'mae_sabe_ler_escrever_1.0', 'leitura_internet_2.0', 'tempo_lazer_1.0',
       'escolaridade_mae_4.0', 'gosta_estudar_disciplina_0.0',
       'gosta_estudar_disciplina_1.0'],
      dtype='object')
Mostrar código
# show dataframe with all X.columns value equal to False
df[(df[feature_columns] == 0).all(axis=1)]['desempenho_aluno_cat'].value_counts()
desempenho_aluno_cat
0    29
1    12
Name: count, dtype: int64
Mostrar código
# show dataframe with all X.columns value equal to False
df[(df[feature_columns] == 1).all(axis=1)]['desempenho_aluno_cat'].value_counts()
Series([], Name: count, dtype: int64)
Mostrar código
values_oi = [1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1]

df[(df[feature_columns] == values_oi).all(axis=1)]['desempenho_aluno_cat'].value_counts()
desempenho_aluno_cat
1    36
0     6
Name: count, dtype: int64
Mostrar código
# all combinations of 0 and 1 for 13 features
from itertools import product
import numpy as np
combinations = list(product([0, 1], repeat=13))
Mostrar código
for comb in combinations:
    #print(df[(df[feature_columns] == comb).all(axis=1)]['desempenho_aluno_cat'].value_counts())
    group_counts = df[(df[feature_columns] == comb).all(axis=1)]['desempenho_aluno_cat'].value_counts()
    # drop the least frequent class
    if len(group_counts) > 1:
        print('dropping')
        print(comb)
        df = df.drop(df[(df[feature_columns] == comb).all(axis=1)].index)
        print(len(df))
    print()
dropping
(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
6626

dropping
(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1)
6619







dropping
(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0)
6613
























dropping
(0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0)
6580




dropping
(0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0)
6566





























































































































































































































































































































































































dropping
(0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1)
6563

















dropping
(0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0)
6559























































































dropping
(0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1)
6554























dropping
(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0)
6551

dropping
(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1)
6513

dropping
(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0)
6493







dropping
(0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1)
6482







dropping
(0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0)
6480

































































dropping
(0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1)
6477
















































dropping
(0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1)
6475









dropping
(0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0)
6472








dropping
(0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0)
6467




dropping
(0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0)
6465



























































































































































































































dropping
(0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1)
6463
















dropping
(0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1)
6457

dropping
(0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0)
6453















dropping
(0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1)
6448




dropping
(0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1)
6446













































dropping
(0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0)
6444































































dropping
(0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
6426
















dropping
(0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1)
6423
































































































































dropping
(0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1)
6420





dropping
(0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0)
6416












































































































































































































































dropping
(0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0)
6413















dropping
(0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1)
6410















































































































dropping
(0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0)
6408

dropping
(0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1)
6350




dropping
(0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1)
6338




dropping
(0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1)
6314

dropping
(0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0)
6301







dropping
(0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1)
6282

dropping
(0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0)
6274



dropping
(0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1)
6269

dropping
(0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0)
6266











































dropping
(0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1)
6262

















dropping
(0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0)
6258















dropping
(0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1)
6256
































dropping
(0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1)
6250
















dropping
(0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1)
6242

dropping
(0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0)
6234































































dropping
(0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1)
6229




dropping
(0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1)
6222




























dropping
(0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1)
6219
















































































































































dropping
(0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1)
6207

dropping
(0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0)
6202















dropping
(0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1)
6192

dropping
(0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0)
6188



dropping
(0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1)
6185












































dropping
(0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1)
6183




dropping
(0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1)
6177

dropping
(0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0)
6174















dropping
(0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1)
6169













dropping
(0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0)
6164







dropping
(0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1)
6157









dropping
(0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0)
6154














dropping
(0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0)
6150

dropping
(0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
6125

dropping
(0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0)
6116















dropping
(0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1)
6105

dropping
(0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0)
6098































































































dropping
(0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1)
6096
































dropping
(0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1)
6086




dropping
(0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1)
6083

dropping
(0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0)
6081











































































































dropping
(0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1)
6076















dropping
(0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0)
6074

































































































dropping
(0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1)
6070
















dropping
(0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1)
6057

dropping
(0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0)
6050















dropping
(0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1)
6041

dropping
(0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0)
6033















































































dropping
(0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1)
6024
































dropping
(0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1)
5909

dropping
(0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0)
5867



dropping
(0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1)
5858

dropping
(0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0)
5854



dropping
(0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1)
5814




dropping
(0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1)
5812



dropping
(0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0)
5810

dropping
(0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1)
5783

dropping
(0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0)
5758



dropping
(0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1)
5744

dropping
(0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0)
5736



dropping
(0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1)
5726








































dropping
(0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1)
5713

dropping
(0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0)
5707



dropping
(0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1)
5697












dropping
(0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1)
5686

dropping
(0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0)
5682



dropping
(0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1)
5668

dropping
(0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0)
5659











dropping
(0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1)
5657
















dropping
(0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1)
5655
















dropping
(0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1)
5624

dropping
(0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0)
5607



dropping
(0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1)
5598

dropping
(0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0)
5592



dropping
(0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1)
5585








dropping
(0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1)
5538

dropping
(0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0)
5510



dropping
(0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1)
5494

dropping
(0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0)
5482











































dropping
(0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1)
5477





dropping
(0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0)
5473











dropping
(0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1)
5457

dropping
(0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0)
5449



dropping
(0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1)
5429

dropping
(0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0)
5414











































dropping
(0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1)
5401

dropping
(0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0)
5398















dropping
(0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1)
5387




dropping
(0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1)
5383

dropping
(0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0)
5381



dropping
(0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1)
5379
























































dropping
(0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1)
5371




dropping
(0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1)
5365

dropping
(0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0)
5362











































dropping
(0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1)
5319

dropping
(0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0)
5286



dropping
(0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1)
5271

dropping
(0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0)
5263



dropping
(0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1)
5261

dropping
(0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0)
5257







dropping
(0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1)
5211

dropping
(0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0)
5183



dropping
(0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1)
5166

dropping
(0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0)
5164




























dropping
(0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0)
5162















dropping
(0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1)
5146

dropping
(0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0)
5137



dropping
(0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1)
5120

dropping
(0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0)
5116



dropping
(0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1)
5114








dropping
(0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1)
5100





dropping
(0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0)
5093











































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































dropping
(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1)
5081
































dropping
(1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
5064

dropping
(1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0)
5061







dropping
(1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1)
5049








dropping
(1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1)
5046
































































































































dropping
(1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1)
5044
















































































































































































































































































































































































dropping
(1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1)
5009

dropping
(1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0)
4997







dropping
(1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1)
4976








dropping
(1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1)
4958




dropping
(1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1)
4952












































dropping
(1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1)
4949

dropping
(1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0)
4947















dropping
(1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1)
4942




dropping
(1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1)
4937












































dropping
(1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1)
4932
















dropping
(1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1)
4923




































































































































dropping
(1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1)
4921












































































dropping
(1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1)
4918
































dropping
(1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1)
4908
















dropping
(1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1)
4901
















































dropping
(1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1)
4898
















dropping
(1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1)
4895
















dropping
(1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1)
4880








dropping
(1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1)
4862
























dropping
(1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
4837




































dropping
(1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1)
4835












































































































dropping
(1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1)
4831
















































































































































































































dropping
(1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1)
4829
































dropping
(1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1)
4822
































































































dropping
(1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1)
4810








dropping
(1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1)
4802








dropping
(1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1)
4794
















dropping
(1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1)
4695

dropping
(1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0)
4669



dropping
(1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1)
4659




dropping
(1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1)
4594








dropping
(1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1)
4570

dropping
(1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0)
4565



dropping
(1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1)
4558




dropping
(1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1)
4538








































dropping
(1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1)
4532
















dropping
(1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1)
4523




dropping
(1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1)
4515




dropping
(1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1)
4510

























dropping
(1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0)
4508















dropping
(1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1)
4502








dropping
(1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1)
4495








dropping
(1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1)
4481




dropping
(1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1)
4472
































































dropping
(1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1)
4467












































dropping
(1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1)
4460

dropping
(1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0)
4457















dropping
(1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1)
4450












dropping
(1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1)
4448




































































































dropping
(1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1)
4439

dropping
(1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0)
4430















dropping
(1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1)
4422




















































dropping
(1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1)
4419












dropping
(1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1)
4417
















dropping
(1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1)
4403

dropping
(1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0)
4398







dropping
(1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1)
4384








dropping
(1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1)
4374
















dropping
(1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
4306

dropping
(1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0)
4296



dropping
(1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1)
4291

dropping
(1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0)
4288



dropping
(1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1)
4241

dropping
(1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0)
4235







dropping
(1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1)
4202

dropping
(1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0)
4199



dropping
(1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1)
4187

dropping
(1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0)
4182



dropping
(1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1)
4172








































































dropping
(1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1)
4164








dropping
(1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1)
4162








dropping
(1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1)
4157
















dropping
(1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1)
4141

dropping
(1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0)
4139







dropping
(1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1)
4134








dropping
(1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1)
4102

dropping
(1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0)
4096



dropping
(1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1)
4089












































































dropping
(1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1)
4086
































dropping
(1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1)
4081








dropping
(1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1)
4074

dropping
(1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0)
4072







dropping
(1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1)
4066





dropping
(1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0)
4064



dropping
(1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1)
4061








































































dropping
(1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1)
4052








dropping
(1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1)
4045








dropping
(1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1)
4042
















dropping
(1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1)
4009

dropping
(1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0)
4003



dropping
(1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1)
3997




dropping
(1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1)
3984








dropping
(1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1)
3964

dropping
(1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0)
3960



dropping
(1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1)
3951




dropping
(1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1)
3945




dropping
(1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1)
3943



































































dropping
(1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0)
3941

dropping
(1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1)
3924

dropping
(1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0)
3920







dropping
(1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1)
3902








dropping
(1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1)
3894

dropping
(1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0)
3892







dropping
(1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1)
3882








dropping
(1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1)
3546

dropping
(1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0)
3502



dropping
(1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1)
3447

dropping
(1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0)
3440



dropping
(1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1)
3272

dropping
(1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0)
3257



dropping
(1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1)
3235

dropping
(1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0)
3233


dropping
(1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0)
3230

dropping
(1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1)
3055

dropping
(1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0)
3034



dropping
(1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1)
2971

dropping
(1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0)
2965



dropping
(1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1)
2936




dropping
(1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1)
2920




dropping
(1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1)
2917
































dropping
(1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1)
2877




dropping
(1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1)
2840




dropping
(1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1)
2833







dropping
(1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0)
2830

dropping
(1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1)
2788

dropping
(1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0)
2781



dropping
(1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1)
2738

dropping
(1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0)
2732



dropping
(1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1)
2723








dropping
(1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1)
2720








dropping
(1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1)
2717








dropping
(1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1)
2708
















dropping
(1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1)
2657

dropping
(1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0)
2635



dropping
(1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1)
2604

dropping
(1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0)
2602



dropping
(1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1)
2584

dropping
(1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0)
2582







dropping
(1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1)
2436

dropping
(1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0)
2409



dropping
(1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1)
2354

dropping
(1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0)
2346



dropping
(1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1)
2338

dropping
(1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0)
2336







































dropping
(1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1)
2315




dropping
(1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1)
2297












dropping
(1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1)
2239

dropping
(1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0)
2234



dropping
(1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1)
2189

dropping
(1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0)
2178



dropping
(1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1)
2176




dropping
(1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1)
2172





dropping
(1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0)
2169















dropping
(1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1)
2163
















dropping
(1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1)
2113

dropping
(1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0)
2108



dropping
(1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1)
2096




dropping
(1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1)
2076








dropping
(1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1)
2006

dropping
(1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0)
1989



dropping
(1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1)
1959

dropping
(1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0)
1955



dropping
(1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1)
1945




dropping
(1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1)
1938








































dropping
(1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1)
1930












dropping
(1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1)
1912

dropping
(1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0)
1908



dropping
(1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1)
1888

dropping
(1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0)
1883







dropping
(1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1)
1880




dropping
(1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1)
1872
















dropping
(1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1)
1866
















dropping
(1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1)
1732

dropping
(1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0)
1706



dropping
(1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1)
1658

dropping
(1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0)
1643



dropping
(1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1)
1613

dropping
(1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0)
1609



dropping
(1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1)
1601




dropping
(1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1)
1472

dropping
(1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0)
1451



dropping
(1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1)
1411

dropping
(1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0)
1398



dropping
(1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1)
1385




dropping
(1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1)
1380




































dropping
(1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1)
1344

dropping
(1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0)
1338



dropping
(1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1)
1293

dropping
(1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0)
1284



dropping
(1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1)
1278




dropping
(1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1)
1271




dropping
(1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1)
1230

dropping
(1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0)
1219



dropping
(1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1)
1181

dropping
(1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0)
1173









































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































Mostrar código
df['desempenho_aluno_cat'].value_counts()
desempenho_aluno_cat
0    929
1    244
Name: count, dtype: int64
Mostrar código
df.to_pickle(os.path.join(DATA_FOLDER, 'saeb_pb_2017-2007_fe_balanced.pkl'))