전체 글
-
[scikit-learn] RandomForest Classifier 기계학습 모델로 유전자 발현 분류하기Python/기계학습 2023. 5. 2. 09:05
RandomForest Classifier 기계학습 모델로 유전자 발현 분류하기 파이썬(Python)을 이용한 기계학습(Machine Learning, ML)은 다양한 분야에서 사용되고 있는데, 특히 생물정보학(Bioinformatics, BI)에서는 유전자를 이용한 연구에 많이 사용되고 있습니다. 그래서, 이번에는 BI 분야에서 흔히 사용하는 유전자(여기서는 RNA) 발현 분류를 테마로 잡아 기계학습 실습을 해 보겠습니다. 여기에서 사용할 모델은 랜덤포레스트 분류기(RandomForest Classifier, RFC) 라는 모델인데, 다양한 의사결정나무(DicisionTree, DT)를 여러개 만들어둔 다음 평균 예측을 통해 분류를 하는 지도학습 모델입니다. 이 분석에 사용한 데이터는 아래 정보를 참고..
-
[Matplotlib] Matplotlib을 이용해 그래프 양식 설정하기Python/시각화 2023. 4. 28. 08:42
Matplotlib을 이용해 그래프 양식 설정하기 파이썬(Python)을 이용해서 도표를 그릴 때, 다른 그래픽 프로그램에 비해서 불편하다고 생각하는 사람들이 있습니다. 파이썬 시각화는 코드로 적는 부분이 어색하겠지만 GUI 그래픽 프로그램과는 차원이 다르게 편리한 자동화가 가능하기 때문에, 다양한 그래프 양식을 작성하는 코드를 배워본다면 좋을겁니다. 레이블 및 제목 설정 그래프를 그릴 때, 레이블(라벨, label) 설정을 이용해 더욱 보기 편하게 그래프를 작성할 수 있습니다. 맷플롯립(Matplotlib)에서는 이를 위한 메소드가 준비되어 있습니다. x축 레이블 설정: plt.xlabel() y축 레이블 설정: plt.ylabel() 그래프 제목 설정: plt.title() 위와 같은 메소드를 이용할..
-
[Matplotlib] Matplotlib을 이용해서 파이썬으로 그래프 그려보기Python/시각화 2023. 4. 27. 15:00
Matplotlib을 이용해서 파이썬으로 그래프 그려보기 Matplotlib이란 파이썬(Python)을 통해서 그래프를 그리기 위해서는 별도의 패키지를 불러와야 합니다. 다양한 패키지가 있지만, 대부분의 파이썬 시각화 프로세스는 맷플롯립(Matplotlib) 이라는 패키지를 사용하거나, 이 패키지를 기반으로 설계된 패키지를 이용합니다. Matplotib은 일부 파이썬 배포판에서는 기본적으로 설치되어 있지만, 만약 설치되어 있지 않다면 쉘 스크립트로 $ pip install matplotlib 명령어를 입력해서 설치해 주시면 됩니다. 파이썬에서 Matplotlib을 사용할 때는 패키지 자체 또는 파이플롯(PyPlot)이라는 모듈을 이용하며, Matplotlib은 주로 mpl, Pyplot은 주로 plt 이..
-
[Python] 파이썬의 클래스 알아보기 (Class)Python/파이썬 기초 2023. 4. 26. 09:39
파이썬의 클래스 알아보기 초보 프로그래머가 파이썬(Python)을 사용할 때, 클래스만큼 이해하기 어려운게 없습니다. 기초를 배우는 입장에서는 함수(function)마저도 어디에 쓸지 감이 잡히지 않는데, 클래스는 약간의 프로그래밍 노하우가 있는 사람들 사이에서도 사용하지 않는 경우가 있기 때문이지요. 그리고, 많은 강의나 교재에서는 클래스에 대한 설명이 너무 모호합니다. 클래스의 정의 그래서, 파이썬이 사용하는 클래스에 대해서 정확한 정의부터 짚고 넘어가도록 하지요. 파이썬 공식 홈페이지에서는 클래스를 아래와 같이 정의합니다. 클래스는 사용자 정의 개체를 만들기 위한 템플릿입니다. 이것만 보면 설명이 부족할 수 있으니, 구성요소를 포함해서 설명하자면 이렇습니다. 클래스는 속성(변수)과 행위(기능, 함수..
-
[Pandas] 판다스 마스킹과 쿼리 함수 이용하기Python/Pandas, Numpy 2023. 4. 25. 10:34
판다스 마스킹과 쿼리 함수 이용하기 판다스의 마스킹 파이썬(Python)에서 판다스(Pandas) 를 이용할 때, 특정 조건에 맞는 데이터만 골라서 추출하고 싶을 때가 있습니다. 그럴 때는 일반적으로 마스킹(masking)이라는 기법을 이용합니다. 예를 들어, 아래의 df 데이터프레임에서 pandas 라는 row만 추출하고 싶다면 이렇게 합니다. import pandas as pd data = {'A': [1,2,3,3,3], 'B': ['hello','world','python','pandas','query']} df = pd.DataFrame(data) df A B 0 1 hello 1 2 world 2 3 python 3 3 pandas 4 3 query m = df['B'] == 'pandas' ..
-
[Pandas, NumPy] 일괄 계산을 위한 판다스, 넘파이 브로드캐스팅 알아보기Python/Pandas, Numpy 2023. 4. 24. 16:51
일괄 계산을 위한 판다스, 넘파이 브로드캐스팅 알아보기 파이썬(Python)의 대표적인 패키지 판다스(Pandas)와 넘파이(NumPy)에서는 브로드캐스팅(Broadcasting)이라는 연산이 있습니다. 다양한 파이썬 코딩 강의 자료에서 이런 연산을 다루지만, 명확한 정의는 잘 가르쳐주지 않아서 무엇인지 궁금하다면 판다스 혹은 넘파이 공식 문서의 설명을 읽어보는것이 좋겠습니다. 판다스 공식 문서에서는 브로드캐스팅을 고차원 과 저차원 객체 사이의 연산으로 정의합니다. 조금 더 친숙한 설명을 하자면, 브로드캐스팅은 우리가 고등수학에서 배웠던 행렬 연산과 같다고 볼 수 있습니다. 행렬의 연산에서 (1, 2, 3) + 99 = (100, 101, 102) 가 되는것과 같은 계산입니다. 우리는 이 계산을 할 때,..
-
[Pandas, Numpy] 파이썬에서 표와 행렬을 처리할 수 있는 Pandas와 Numpy 패키지Python/Pandas, Numpy 2023. 4. 24. 10:35
표와 행렬을 처리할 수 있는 Pandas와 Numpy 패키지 파이썬(Python)에서는 기본적으로 표와 행렬 형태의 데이터를 다루기 어려운 편입니다. 그래서, 많은 데이터 과학자들은 이를 이용하기 위해서 별도의 패키지(Package)를 사용하는데요, 표 형식의 데이터는 판다스(Pandas), 배열 형식의 데이터는 넘파이(Numpy)를 사용하는 편입니다. 판다스(Pandas) 판다스는 데이터프레임(DataFrame)이라고 하는 객체를 이용해서 표 형태의 데이터를, 시리즈(Series)라고 하는 객체를 이용해서 하나의 열(column)을 구현하는 패키지입니다. 이 때문에 우리가 흔히 알고 있는 column-row 구조를 효과적으로 구현할 수 있으며, 엑셀 파일이 호환되는 강점이 있지요. 판다스를 실행하기 위..
-
[Python] 파이썬 연산자를 사용해서 계산기처럼 써보기Python/파이썬 기초 2023. 4. 24. 08:44
파이썬 연산자를 사용해서 계산기처럼 써보기 다양한 프로그래밍 언어가 기본적인 계산을 지원하지만, 파이썬(Python)은 인터프리터 언어(코드를 한줄씩 실행하는 언어)의 특성상 계산기처럼 이용하기가 쉬운 편입니다. 그런 의미에서, 이번에는 파이썬 구문도 익힐 겸 기본적인 연산자를 사용하는 법을 배워보며 계산기처럼 써 보기로 합시다. 파이썬 프로그래밍을 시작하기 위해, IDE(통합 개발 환경)을 실행해 봅시다. 만약 별도 파이썬 IDE를 사용하고 있지 않다면 파이썬 설치를 할 때 자동으로 설치되는 IDLE을 사용해도 무방합니다. 이 글에서는 IDLE 기준으로 설명을 드릴게요. 이 창에 그대로 코드를 적고 실행해도 되지만, 이렇게 하면 공부한 코드를 나중에 확인하기 어렵기 때문에 따로 파일을 저장하는게 좋습니..