✅ 오늘 한 것
실전 프로젝트(제약)
✏️ 오늘 배운 점
전처리된 데이터프레임

데이터 컬럼명

df['Time (h)'].nunique(): 1450가지
운전 변수 df['Aeration rate(Fg:L/h)'].unique() : 20, 30, 42, 55, 60, 65, 75 -- 7가지
운전 변수 df['Agitator RPM(RPM:RPM)'].unique(): 100 -- 1가지 ; 모두 동일하기에 버릴 예정
df['Sugar feed rate(Fs:L/h)'].unique(): 2, 8, 15, 20, 30, 37, 43, 45, 47, 51, 57, 60, 61, 65, 72, 75, 76, 80, 84, 90, 105, 116, 120, 135, 150 -- 25가지
df['Acid flow rate(Fa:L/h)'].unique(): 1353가지
df['Base flow rate(Fb:L/h)'].unique(): 67206가지
df['Heating/cooling water flow rate(Fc:L/h)'].unique(): 77380가지
df['Heating water flow rate(Fh:L/h)'].unique(): 54534가지
df['Water for injection/dilution(Fw:L/h)'].unique(): 0, 100, 150, 250, 400, 500 -- 6가지
df['Air head pressure(pressure:bar)'].unique(): 0.6, 0.7, 0.8, 0.9, 1.0, 1.1 - 6가지
df['Dumped broth flow(Fremoved:L/h)'].unique(): -4000, 0 - 2가지
주요 상태 변수 df['Substrate concentration(S:g/L)'].unique(): 64531가지
운전 변수 df['Dissolved oxygen concentration(DO2:mg/L)'].unique(): 11087가지
목표 변수 df['Penicillin concentration(P:g/L)'].unique(): 56258가지
주요 상태 변수 df['Vessel Volume(V:L)'].unique(): 28296가지
df['Vessel Weight(Wt:Kg)'].unique(): 31711가지
운전 변수 df['pH(pH:pH)'].unique(): 3990가지
운전 변수 df['Temperature(T:K)'].unique(): 393가지
df['Generated heat(Q:kJ)'].unique(): 51059가지
df['carbon dioxide percent in off-gas(CO2outgas:%)'].unique(): 28416가지
df['PAA flow(Fpaa:PAA flow (L/h))'].unique(): 22931가지
df['PAA concentration offline(PAA_offline:PAA (g L^{-1}))'].unique(): 1563가지
df['Oil flow(Foil:L/hr)'].unique(): 22, 23, 29, 30, 31, 32, 33, 34, 35 -- 9가지
df[' NH_3 concentration off-line(NH3_offline:NH3 (g L^{-1})) '].unique(): 1759가지
df['Oxygen Uptake Rate(OUR:(g min^{-1}))'].unique(): 35065가지
df['Oxygen in percent in off-gas(O2:O2 (%))'].unique(): 3095가지
df['Offline Penicillin concentration(P_offline:P(g L^{-1}))'].unique(): 1919가지
주요 상태 변수 df['Offline Biomass concentration(X_offline:X(g L^{-1}))'].unique(): 1934가지
df['Carbon evolution rate(CER:g/h)'].unique(): 35059가지
df['Ammonia shots(NH3_shots:kgs)'].unique(): 0 -- 1가지; 모두 동일하기에 버릴 예정
df['Viscosity(Viscosity_offline:centPoise)'].unique(): 1976가지
df['Fault reference(Fault_ref:Fault ref)'].unique(): 0, 1 -- 2가지
df['0 - Recipe driven 1 - Operator controlled(Control_ref:Control ref)'].unique(): 0, 1-- 2가지
df['Batch_ID'].unique(): 1~100 -- 100가지
df['Batch ref'].unique(): 1~100 -- 100가지
df['Penicllin_harvested_during_batch(kg)'].unique(): 100가지
df['Penicllin_harvested_end_of_batch (kg)'].unique(): 100가지
df['Penicllin_yield_total (kg)'].unique(): 100가지
df['Fault ref(0-NoFault 1-Fault)'].unique(): 0, 1 -- 2가지
Time : Batch 진행 시간
Aeration rate: 공급되는 공기량
Agitator RPM: 교반기 회전 속도
Sugar feed rate: 탄소원 공급 유량
Acid flow rate: 산 공급량
Base flow rate: 염기 공급량
Heating water flow: 온수 공급 유량
Water for injection/dilution: 멸균수 공급량
Air head pressure: 발효조 상부의 공기 압력
Dumped broth flow: 배양액 제거 유량
Dissolved oxygen: 용존 산소 농도
pH: 배양의 pH 농도
Temperature: 발효조 내 온도
Oil flow: 발효조에 공급하는 소포제 유량
PAA flow: PAA 공급 유량
Fault reference: 공정이 정상인지/고장인지
Control reference: 제어가 Recipe 기반인지/Operator 기반인지
Substrate concentration: 용해된 기질 농도
Vessel Volume: 발효조 내부 배양액의 전체 부피
Vessel Weight: 배양액+장치+기체 등 시스템 전체 중량
Generated heat: 미생물 대사에 의해 생성되는 열량Biomass concentration offline: 생물량(세포량)의 오프라인 측정값Oxygen Uptake Rate(OUR): 산소 소비 속도Carbon Evolution Rate(CER): CO2 생성 속도Oxygen percent in off-gas: 배출가스의 잔여 산소 농도
CO2 percent in off-gas: 배출가스의 잔여 CO2 비율
Viscosity: 점도
Penicillin concentration: 페니실린의 농도
NH3 concentration offline: Lab에서 측정한 암모니아 농도
Batch ref: 배치번호(1~100)
Fault ref: Fault 상태(0=정상, 1=고장)
Time (h), Aeration rate(Fg:L/h), Substrate concentration(S:g/L), Dissolved oxygen concentration(DO2:mg/L), Penicillin concentration(P:g/L), Vessel Volume(V:L), pH(pH:pH), Temperature(T:K), Offline Biomass concentration(X_offline:X(g L^{-1})), Batch ref 컬럼을 가지고 새로운 변수를 제작하여 위의 컬럼으로만 데이터 분석을 진행하게 되었다.
그러나 Offline Biomass concentration(X_offline:X(g L^{-1}))는 NaN이 아닌 값이 약 1.81%로 직접적으로 X 값으로 사용하기에 부족함이 있다고 판단하여 Biomass를 대신할 수 있는 도메인적인 측면에서 확인하여 사용할 수 있을 값들로 대체하여 컬럼을 활용하고자 하였다.
그렇기에 1차적으로 Penicillin과 상관계수를 보고 최소 절대값이 0.30을 넘는 값을 확인하고 도메인적인 측면으로 봤을 때 필요하다고 생각되는 컬럼들을 가져가고자 한다.
Time (h), CER, Aeration rate(Fg), Vessel Volume(V), CO2outgas, Fc (cooling water flow), Fs, DO2
✏️ 오늘의 질문
1. 상관계수만으로 중요한 컬럼을 선정하면 왜 안 되는가?
상관계수는 단순히 선형 관계만을 측정하기에 비선형 관계를 놓칠 수 있다.
2. 상관계수가 높다고 해당 변수가 항상 유용한가?
아니다, 상관계수가 높으면 다중공선성 위험도 함께 높기에 변수 간 다중공선성 확인이 필요하다.
📌추가로 해야 할 점
실전 프로젝트
'품질관리(QAQC) 데이터 부트캠프(본캠프)' 카테고리의 다른 글
| 본캠프_12주차(목)_TIL(실전 프로젝트) (0) | 2025.12.04 |
|---|---|
| 본캠프_12주차(수)_TIL(실전 프로젝트) (0) | 2025.12.03 |
| 본캠프_12주차(월)_TIL (0) | 2025.12.01 |
| 본캠프_11주차(금)_TIL(시계열) (0) | 2025.11.28 |
| 본캠프_11주차(목)_TIL(시계열, 심화 프로젝트[바이오]) (0) | 2025.11.27 |