let us not love with words or tongue but actions and truth.

IT/파이썬 36

applymap 활용하기

오늘은 파이썬을 이용한 데이터 전처리에 잘쓰이는 applymap을 알아보도록 해요. 보통 dataframe을 다루는 경우가 많은데, 그때 유용하게 잘 쓰입니다. 1. 공백제거 & 대소문자 or 소문자로 통일 2. 시간데이터 다루기 3. 소수점 제거하기 를 간단히 해보려고합니다. 1. 공백제거 & 대소문자 or 소문자로 통일 아래와 같은 df 데이터셋이 있다고 해볼게요. inout컬럼에서 주황색으로 표시된 부분은 공백과 대소문자가 통일되지 않은 경우입니다. 1 2 3 4 5 # 공백제거 df['inout']=df[['inout']].applymap(lambda x: x.strip()) # 대소문자로 통일 df[['inout']]=df[['inout']].applymap(lambda x: x.upper())..

IT/파이썬 2021.01.05

one-hot encoding(원-핫 인코딩)

데이터 전처리작업중 원-핫 인코딩이라는 것이 있습니다. 예를 들어 한 컬럼에 A, B, C라는 값이 있을 경우 아래와 같이 3개의 컬럼을 새로 만들어 해당 되는 컬럼값에 1이라는 값을 넣어주는 것입니다. one-hot encoding을 쓰는 이유는 컬럼을 category화 하여 사용하거나, 각각의 value에 대한 영향력을 파악하기위해서 사용합니다. one-hot encoding은 pandas, keras, tensorflow 라이브러리에서 각각 다른 함수로 존재하지요. 오늘은 각 라이브러리에서 어떤 함수로 사용되는지 간단히 살펴 볼게요!! 그럼 이걸 pandas를 활용해서 인코딩 해주는 법을 소개할게요. 1 2 3 import pandas as pd dum_col=pd.get_dummies(df1['c..

IT/파이썬 2021.01.04

kkma를 활용한 word cloud 그리기

오늘은 간단히 kkma를 import 해서 word cloud를 그려보려고 해요. 5가지 단계로 나눠봤으니 천천히 따라오시면 됩니다. 우선 간단히 kkma를 import 하시고 comment라는 파일을 불러옵니다. 1. 단어추출 1 2 3 4 5 6 7 8 9 10 11 12 13 14 from konlpy.tag import Kkma kkma = Kkma() import pandas as pd # 한글파일이라 cp949로 encoding 해줍니다. cmt = pd.read_csv('comment.csv',encoding='cp949') # 2021년 목표글에 있는 단어들을 추출해서 list로 만들어주는 함수 def create_n(table): # final 이라는 list에 단어들을 추출해서 담을 예..

IT/파이썬 2021.01.03

Permutation Feature Importance(변수중요도)를 통한 feature selection

오늘은 permutation feature importance에 대해서 알아보려고 해요. 파이썬 코드에 대한 설명에 앞서서, 기본 변수중요도를 파악하는 방법과의 차이를 간단히 설명 드릴게요. stepwise, backward, forward 방식은 변수중요도를 파악하는 가장 간단한 방법이죠. SAS에서 주로 활용하긴 하는데, Forward는 변수를 하나씩 추가하면서 설명력이 높이지는 가장 best feature들을 찾는 것이고, 반대로 Backward는 전체 변수를 다 넣고 시작해서, 하나씩 변수를 제거하는 방식으로 진행합니다. stepwise는 단계별로 변수를 넣었다 제거하는 방식이구요. 파이썬에서 기본적인 feature importance를 구하는 방식도 stepwise와 유사하다고 보시면 됩니다. ..

IT/파이썬 2020.12.24

Dummy Classifier

기본적으로 dummy classifier는 모델 성능을 비교할 때, base line을 명시해 줌으로써 어느 정도의 성능이 나오는지 비교하기 위해 사용합니다. DummyClassifier 라이브러리를 import 하기 전에, 우선 설명력을 쉽게 print할 수 있는 코드를 먼저 함수로 정의해 볼게요. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 from sklearn.model_selection import cross_val_score def cv_recall(model, x, y): scores = cross_val_score(model, x, y, cv=5, scoring='recall'); scores #print("Mean:..

IT/파이썬 2020.12.23

Lasso regression(라쏘 회귀분석)

Lasso regression에 대한 것이나 Ridge랑 비교 분석 해놓은 사이트가 많으니 꼭 참고해서 읽어보셔요. 여기서는 어떻게 파이썬으로 쓸것인지에 대해서만 간략하게 소개드리려고합니다. 우선 우리가 처음 가지고 있다고 가정할 x변수에 대해서 보겠습니다. 1 x.shape cs > (847, 56) 즉, 56개의 x변수를 가지고 있는데, 이 변수들을 그대로 쓰기에는 너무 많기 때문에 축소하기 위해서 쓰려고 합니다. 그때 사용할 로직이 Lasso regression입니다. PCA차원축소와는 조금 다르게, 여기서는 원변수를 그대로 쓰는데요. 상대적 변수의 중요도를 판단하여, 의미가 없다고 생각되는 변수들의 coefficient값을 0으로 만들어주어 중요도가 높은 변수만 select할수 있게 해줍니다. 코..

IT/파이썬 2020.12.22

GridSearchCV 그리드서치 1탄

모델별로 best성능을 만들어 줄수있는 hyper parameter값을 찾아야 될 경우가 있을텐데요. 그때 유용하게 사용되는 Grid Search CV에 대해서 알아보도록 할게요. 우선 각 모델별로 가장 기본적인 모델을 선언해줄게요. 1 2 3 4 5 6 7 8 9 10 11 from sklearn.ensemble import RandomForestClassifier from sklearn.ensemble import GradientBoostingClassifier import xgboost from xgboost import XGBClassifier def clf3(): rfc = RandomForestClassifier() gb = GradientBoostingClassifier() xg = XGBC..

IT/파이썬 2020.12.21

의사결정나무(Decision Tree) 그래프 그리기

간혹 사내망에서 혹은 네트워크 보안 관련 이슈로 특정 library가 import 되지 않는 경우가 있습니다. 한 예로, 의사결정나무 그래프를 그리기 위해 graphviz를 import 할 때의 이슈가 있겠습니다. 그럴땐 아래 코드에서 처럼, --trust-host 뒤에 명시해준 사이트에서 import 할 수 있도록 install하여 해결할 수 있을거에요. >> !pip install --trusted-host pypi.python.org --trusted-host pypi.org --trusted-host files.pythonhosted.org graphviz 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 !pip install --trusted-host pypi.python...

IT/파이썬 2020.12.10