본문 바로가기

데이터 사이언스36

Pandas DataFrame에서 0과 빈 값(Empty) 구분하기: 데이터 전처리의 숨은 함정 일반적인 빈 칸 전처리Dataframe 중 한 Column 에 아무것도 없는 빈 칸과 숫자가 섞여있는 경우, 데이터 처리 방식이 조금 복잡해진다. Pandas 는 빈 칸을 default 로 NaN 으로 처리하는데 이걸 정말로 NaN 도 아닌 빈 값으로 두고 싶다면 fillna(’’) 이런 식으로 하면 된다. 0과 빈 칸을 구분하지 못하는 잘못된 전처리를 조심하자문제는 그 컬럼에 0 과 빈 칸이 섞여 있을 때 df_row[col_name] == 0 인 경우를 조심해야 한다는 것이다.특정 column 이 numeric 이라고 판단되면 그 column 안에서의 값이 아예 없더라도 그건 자동으로 0 으로 된다. 따라서 사용자가 육안으로 보기에 분명히 cell 안에 0이라는 integer 가 들어있고 빈 칸이 섞.. 2024. 12. 3.
생성형AI 로 hyperparameter optimization code 만들어 공부하기 생성형AI로 hyperparameter optimization code 를 만들게 된 배경오픈소스에서 신약개발 관련된 데이터로 pIC50 을 예측하는 딥러닝 모델을 만들어보려고 하고 있었다. 나에게는 이미 기존에 신약개발 부트캠프 강의에서 배웠던 코드를 보며 참고삼아 도전해볼 수 있었지만 기존 코드에는 뛰어넘을 수 없는 단점이 있었다. hyperparameter tuning 이 자동으로 안돼서 사람이 일일이 model architecture 를 손으로 manual 하게 바꿔야 한다는거였다. 그래서 기존에 내가 머신러닝에는 적용했던 optuna 를 pytorch 딥러닝 코드에도 적용해보려 했으나 class 구조가 등장하다보니 쉽지 않아 생성형AI 에 다음과 같은 작업을 했다.baseline code 를 첨.. 2024. 10. 13.
Claude 를 참고하여 나만의 custom dataset 만들기 Custom dataset 을 정의 하는 이유Pytorch 로 deep learning 을 실시할 때 일반적으로 데이터를 그냥 하나를 한번에 가져오는게 아니라 Custom dataset class를 통해 가져온다. 여기서 Custom data class를 사용하는 이유는 다음과 같다.1)    Data 를 한 번에 load 하는 것이 컴퓨터 메모리에 부담이 되기 때문이다. 따라서 큰 Data 를 한번에 다 메모리에 올리는 것이 아니라 이를 ‘mini batch’라는 형태로 토막을 낸다. 그 한 토막을 ‘mini batch’라고 한다. 이 작업을 할 때 분석가가 전체 Data 큰 덩어리 1개를 받아와서 전체 Data size (data 를 구성하는 sample 의 수) 는 얼마인지 파악하고, Mini ba.. 2024. 9. 18.
Claude 를 참고하여 신약개발경진대회 Baseline code 분석하기 Baseline code 를 봐도 코드 뜻을 모르는 경우 데이콘에서 기본적으로 모든 신약개발경진대회 참가자들에게 Baseline code 를 준다. 하지만 이는 도메인 지식이 없는 사람이 봤을 때에는 이게 대체 무슨 코드인지 모를 수 있는 부분이 있다. 나 역시 해당 도메인에 종사하지는 않고 단지 학부때 전공이 관련이 있고 며칠 전 LAIDD 에서 진행 하는 신약개발 부트캠프 3일간 풀데이로 참여했을 뿐이다. (참고로 다녀오고 나서 몸살 걸렸다..) 그나마 그 부트캠프를 통해 도메인 지식을 알게 되었고 어떤 코드가 어떤 도메인 지식에 해당하는지에 대해 알게 되었는데 다른 참가자들은 충분히 모를 수 있다. 따라서 그분들 입장이라면 어떻게 했을까 궁금해서 혹시 Claude 로 경진대회에 대해 설명하고 Bas.. 2024. 9. 17.
AI를 이용한 신약개발 경진대회: IRAK4 IC50 활성값을 예측 About 신약개발 경진대회 한국제약바이오협회에서 주최하는 신약개발 경진대회가 있다. 주제는 IRAK4 IC50 활성값을 예측하는 모델 개발하는 것으로, 자가면역질환을 해결하기 위한 약물을 개발하는 것이 목적인듯 하다. 학습용 데이터 size 는 1952이며 놀랍게도 Kaggle 과는 달리 feature 에 대한 설명이 아예 안나와있다. 그냥 알아서 다들 도메인지식으로 변수명만 보고 유추 하는건가 싶다. ‘IRAK4 IC50 활성값’ 에 대한 도메인 지식 (NCBI 자료 참고)IRAK4 의 의미IRAK4의 full name 은 interleukin 1 receptor associated kinase 4 로, 면역반응에 있어 중요한 역할을 수행한다. 이 gene 에 mutation이 발생하면 Recurre.. 2024. 9. 16.
딥러닝으로 하는 신약개발 딥러닝으로 신약개발을 하기 시작하게 된 계기제약회사의 Job description 을 보다보면 자주 '신약개발' 이라는 키워드가 눈에 들어온다. 신약개발에 딥러닝이 사용되기 시작된 계기가 있는데 딥러닝을 사용했을 때 예측 정확도가 월등히 좋아진 사건 이후로 신약개발에서 잘 사용이 된다고 한다. Drug-likeness란 무엇인가: 삐빅, 약물다운 후보 화합물입니다.신약 개발을 위해서는 신약 후보물질 부터 찾아야 하고 그 후보물질이 얼마나 Drug 로서의 성질을 가지고 있는지, 그리고 그렇다 하더라도 실제로 합성하기는 현실적으로 쉬운지 등을 알아보는 절차를 가진다. Drug 로서의 성질을 'Drug-likeness (우리말로는 '약물다움')' 라고 부르는데 이는 다음과 같은 조건을 충족 시킬 수록 Drug.. 2024. 9. 14.
LAIDD 인공지능 & 파이썬 프로그래밍 역량강화 교육과정과 함께하는 신약개발 최근LAIDD 사이트에서 신약개발 관련 강의를 들으면서 알게 된 내용을 아래와 같이 정리해봄. 출처:LAIDD 인공지능 & 파이썬 프로그래밍 역량강화 교육과정  https://colab.research.google.com/github/StillWork/AIDD-LAIDD/blob/main/z4_DeepLearning.ipynb#scrollTo=-AQRftuEqGqx z4_DeepLearning.ipynbRun, share, and edit Python notebookscolab.research.google.com https://deepchem.readthedocs.io/en/latest/api_reference/moleculenet.html 신약개발에 deep learning 이 쓰이게 된 계기2012년.. 2024. 8. 25.
데이터 거버넌스: 표준화를 안하면 어떻게 될까 Cluade 에게 data governance 측면에서 한 연구소 내에서 개발한 2개의 software 에서 동일한 변수가 다른 데이터 타입으로 저장되어 있다면 무슨 문제가 생길지에 대해 물어봤다. 데이터 표준화 관점에서 문제가 있을 것이라고 막연히 생각했는데 claude 가 세분화 된 답변을 줬다. 참고로 내가 질문한 문장은 다음과 같다. Suppose there are two different softwares developed in the same lab, but some of variables are stored in a different data type. For example, variable A is stored as an int type but in other software, variab.. 2024. 7. 11.
반응형