오늘은 직접 데이터를 가지고 전처리 하는 시간을 가졌다.

Dacon_.ipynb

데이터 모든 열이 유요한 데이터를 가지고 있지 않다는 것을 발견하였고, 이를 처리하기 위해 trainset과 testset에서 동시에 의미를 갖지 않는 것을 전처리를 진행하였다.

train_wt_columns = train_df.columns[(train_df == 'WT').all()].tolist()
test_wt_columns = test_df.columns[(test_df == 'WT').all()].tolist()

print('데이터셋에서 값이 모두 WT인 열 개수')
print('trainSet: ', len(train_wt_columns))
print('testSet: ', len(test_wt_columns))

cnt = 0
both_wt_columns = []
for gene in train_wt_columns:
  if gene in test_wt_columns:
    both_wt_columns.append(gene)
    cnt += 1

print('두 데이터셋에서 값이 모두 WT인 열 개수:', cnt)
both_wt_columns

또한 모든 행의 의미를 갖고 있는지 확인하였는데, 이도 열과 동일하게 의미를 갖지 않는 것이 확인되어 전처리를 진행하였다.

train_wt_rows = train_df[(train_df.iloc[:, 2:] == 'WT').all(axis=1)]
test_wt_rows = test_df[(test_df.iloc[:, 1:] == 'WT').all(axis=1)]

print('데이터셋에서 값이 모두 WT인 행 개수')
print('trainSet: ', len(train_wt_rows))
print('testSet: ', len(test_wt_rows))

이때 gene의 가장 많은 THYM으로 처리하도록 하였다.

image.png

image.png

image.png

→ 이후 matrix의 sequence를 바꿔주는 작업을 진행하였다.