2026/06/26 FRI |
|
| △ | ● 데이터 전처리 |
⊙ 최종 프로젝트 - 데이터 전처리
- 전날 세운 6/26 데이터 전처리 계획
○ pharm_class : FDA 분류 컬럼 제거/유지에 대한 논의
○ unknown 표시 데이터 결측값을 → np.nan으로 변경에 대한 논의
- 전처리 하다보니...
![]() ○ 1개 행에 unknown(결측치)이 최대 9개까지 있다는 것을 알게 되었음 |
|
한 행에 'unknown' 개수 계산 → <5 미만 행만 남기기# 각 행(axis=1)별로 'Unknown' 또는 'unknown' 값을 가진 컬럼의 개수를 계산
unknown_count = dfc.isin(['Unknown', 'unknown', 'UNKNOWN']).sum(axis=1)
# 2. 진짜 결측치(NaN) 개수 카운트
nan_count = dfc.isna().sum(axis=1)
# 3. 두 '알 수 없는 값'의 합이 5개 미만인 행만 남기기 → 5개를 남기고 편향 확인
mask = (unknown_count + nan_count) < 5
dfc = dfc[mask].reset_index(drop=True)
print(f"<5 조건 적용 후 데이터 형태: {dfc.shape}")
|
한 행에 'unknown' 개수 계산 → <5 미만 행만 남기기# 각 행(axis=1)별로 'Unknown' 또는 'unknown' 값을 가진 컬럼의 개수를 계산
unknown_count = dfc.isin(['Unknown', 'unknown', 'UNKNOWN']).sum(axis=1)
# 2. 진짜 결측치(NaN) 개수 카운트
nan_count = dfc.isna().sum(axis=1)
# 3. 두 '알 수 없는 값'의 합이 4개 미만인 행만 남기기 → 4개를 남기고 편향 확인
mask = (unknown_count + nan_count) < 4
dfc = dfc[mask].reset_index(drop=True)
print(f"<4 조건 적용 후 데이터 형태: {dfc.shape}")
|
unknown <5 미만 행 데이터 정제 → EDA![]() ![]() ![]() <4 : 너무 많은 데이터 소실
<5 : 전체 데이터의 8~10% 로 적절 |
|
![]() ○ <5개, <4개 기준으로 데이터 정제 후 → 남은 unknown 처리에 대한 논의 ○ MCAR - 완전 무작위 결측 - 결측에 이유 없이 누락 : 지워도 됨 ○ MAR - 무작위 결측 - 데이터 간 연관있으나 누락 : 다른 컬럼값을 힌트 삼아 회귀 분석으로 대치(imputation) ○ MNAR - 비무작위 결측 - 결측 자채에 이유 있는 누락 : 값 누락 자체를 하나의 정보로 인정하고 결측 여부를 이진 분류 컬럼을 새로 만들어 모델에 학습 (값을 지우거나(Drop) 대치하면 데이터 왜곡됨) (빈칸, 결측치로 놔두면 연산을 하지 못하므로 unknown은 중앙값 또는 평균값으로 대치하고 unknown : 1 / 정상데이터 : 0으로 이진 분류한 새로운 컬럼을 옆에 둔다.... 이진 분류 컬럼의 1이 대치된 값임을 알려주는 힌트 ) |
|
이렇게 하면 될 줄 알았는데;;;
춘튜터님 피드백
"목적이 구체적이지 않아 데이터 의미, 필요한 컬럼이 무엇인지 헤매고 있는 듯하다"
+ 지금과 같은 방식으로 하면 공허해서 지치기 쉬움
+ 구체적 목적과 가설이 없어 필요한 컬럼이 무엇인지 같은 말만 하는 중
+ 데이터로 부터 얻을 수 있는 인사이트를 뜯어보는 것을 추천
+ KPI와 목표 연결이 중요
+ 코로나 맵처럼 정보 제공이라는 방향성은 문제가 없으나 구체화할 목표 부족으로 보임
○ 피드백을 반영하고자 원본 데이터 페이지 확인
https://open.fda.gov/apis/drug/event/

○ 의약품과 이상반응 사이 인과관계를 확신할 수 없다
→ 기존 기획서 "처방 의사결정을 지원한다"를 할 수 없게 됨
○ 시간적 특성(보고 시기) + 화학적 특성(약품) + 사람 특징 (나이, 몸무게 등)이 있음
→ 이상 반응(부작용) 발생 패턴을 예측 가능하지 않을까?
| (is_)를 이용해 이상사례 패턴 발견/예측 → 화학적 사람졀 시간적? 특성 간의 통계적 유의미 확인? → 이상 사례 정보 제공 |
○ 데이터의 화학적 특성(약품)과 더불어 +a 데이터 응용해 또 다른 예측 가능하지 않을까?
'★ 최종 프로젝트 - FDA 이상반응 데이터 활용한★' 카테고리의 다른 글
| [QA/QC - 5기] 81일차 - 최종 프로젝트 +08 : 전처리 - 한국OTC vs FDA OTC (1) | 2026.07.02 |
|---|---|
| [QA/QC - 5기] 80일차 - 최종 프로젝트 +07 : 일반의약품(OTC) (0) | 2026.07.01 |
| [QA/QC - 5기] 79일차 - 최종 프로젝트 +06 : 목표 구체화 / 크롤링 (0) | 2026.07.01 |
| [QA/QC - 5기] 78일차 - 최종 프로젝트 +05 : 목적 구체화 (1) | 2026.06.29 |
| [QA/QC - 5기] 76일차 - 최종 프로젝트 시!작!(사실 화요일에 시작했지만ㅎ) (0) | 2026.06.25 |






