목록분류 전체보기 (17)
소란한 블로그
st-lab.tistory.com/189 2진수의 수와 음수 표현법 [1의 보수와 2의 보수] 안녕하세요. 오늘은 프로그래밍이 아닌 컴퓨터의 연산에 대해 이해해보고자 합니다. 우리가 흔히 프로그래밍을 할 때는 그나마 사람에 가까운 언어로 된 고급언어들로 작성을 하지만 실제 컴퓨 st-lab.tistory.com

pandas 객체들을 출력하는 결과를 표기하는 형식을 지정할 수 있다. import pandas as pd # float 형 -> 소숫점 1자리까지 표기 / 쉼표도 표기 pd.set_option('display.float_format', '{:,.1f}'.format) # 기본 셋팅으로 돌아오기 pd.set_option('display.float_format', None) 위의 코드를 실행시키면 이런식으로 소수점 아래 한자리수까지 표기하고, 쉼표도 표기된 것을 볼 수 있다.

matplotlib으로 plot을 그리다보면 표기법이 exponential notation (e notation)으로 바뀌어서 그려지기도 한다. 이렇게 자동으로 바꿔서 표기해주는 것이 편할 때도 있지만 의도한 것이 아닐 때, 일반 표기법으로 바꿔서 표기해주는 것이 필요하다. 대부분 구글에 (쓰인 plot 함수이름 + exponential notation)과 같은 형식으로 검색하면 스택오버플로우에 자세히 나와있긴 하지만, 그래도 블로그에 정리해본다. - seaborn의 heatmap의 경우, import seaborn as sns import matplotlib.pyplot as plt fig = plt.figure() sns.set(rc={'figure.figsize':(15, 10)}) ax = sns..
FutureWarning: is_categorical is deprecated and will be removed in a future version. import warnings warnings.simplefilter(action='ignore', category=FutureWarning) # FutureWarning 제거 위 코드를 쓰면 FutureWarning을 없앨 수 있다.

1. 랜덤포레스트(Random Forest) 결정트리모델은 한 개의 트리만 사용하기 때문에 한 노드에서 오류가 발생하면 그 아래 노드에도 순차적으로 계속 영향을 준다는 단점이 있다. 또한 트리의 깊이가 깊어지면 과적합이 되는 경향이 있는데, 이런 문제들을 랜덤 포레스트 모델을 이용하여 해결할 수 있다. 랜덤포레스트는 앙상블(Ensemble) 방법이다. 앙상블은 한 종류의 데이터로 여러 머신러닝 학습모델(weak base leaner, 기본모델)을 만들고, 이 모델들의 예측결과의 평균을 계산하거나 다수결을 이용하여 예측하는 방법을 말한다. 랜덤포레스트는 결정트리를 기본모델로 하는 앙상블 방법이다. 1) Bootstrapped dataset original dataset에서 original dataset과 ..

1. 사이킷런 파이프라인 (Sklearn.pipeline.Pipeline) 사이킷런의 파이프라인 라이브러리를 이용하면 머신러닝 모델을 구현할 때 중복 코드를 최소화하여 쉽게 구현할 수 있다. 파이프라인을 이용하면 하나의 전처리 프로세스에 여러 ML 모델을 쉽게 적용시켜 볼 수 있다. 또한 그리드서치(grid search)를 통해 여러 하이퍼파라미터를 쉽게 연결할 수 있다. # 파이프라인 사용하지 않았을 때 from category_encoders import OneHotEncoder from sklearn.impute import SimpleImputer from sklearn.tree import DecisionTreeClassifier encoder = OneHotEncoder() imputer = ..
1. 데이터 세트 나누기 (train/validate/test) - Training : 모델에 학습시키기 위한 데이터. 이 데이터만을 가지고 모델을 학습시킨다. - Validation : training set을 통해 학습시킨 모델을 검증하기 위한 dataset. : test set에서 성능을 평가하기 전에 validate set을 통해 먼저 성능을 평가하고 좋지 않으면 다시 train set을 이용하여 학습 알고리즘을 수정한다. 다시말해 train set을 통해 학습시킨 모델을 test set에 적용하기 전에 validate set에 먼저 적용해 보면서 모델을 수정해 나가며 overfitting을 방지하도록 한다. - Testing : test set은 오로지 최종 성능을 평가하기 위해 쓰인다. tes..

1. Categorical data(범주형 자료)처리: One-hot encoding Categorical data는 데이터에 우선순위가 있는 경우(nominal)와 순서가 없는 경우(ordinal)으로 나뉜다. 아래의 방법은 nominal를 처리하는 방법이다. 많은 머신러닝 모델들은 문자열을 처리하지 못하기 때문에 숫자형으로 바꾸어주어야 한다.단순히 1, 2, 3, 4와 같이 양적인 측정을 할 수 있는 숫자로 바꿔줄 경우 데이터에 순위가 생겨 분석에 차질이 생길 수 있다.따라서 nominal일 경우 각 항목마다 columns을 나누어서 1, 0, 0, 0 / 0, 0, 1, 0 이런 식으로 인코딩을 해주어야한다.이것이 바로 one-hot encoding이다. - 방법1) pandas: get_dummi..

🤮 왜 나는 잔디가 안심어지는거야..? fork 해온 repository는 pull request를 할 때만 내 깃허브에 잔디가 심어지고 commit은 contribution으로 인정되지 않는지 잔디가 심어지지 않는다. 초록 잔디로 '이만큼 열심히 했구나~~' 하는 뿌듯함을 얻기도 하는데 눈에 보여지는게 없으니 아쉬운 마음이었다. 나의 경우 부트캠프에서 깃허브를 통해 과제를 제출한다. 일주일에 한 session이 진행되고 하루에 하나씩 과제를 제출해야한다. 새로운 session이 시작되면 해당 session의 노트와 과제폼을 fork해와서 과제를 작성하여 pull request를 먼저 한번 날리고, 매일 commit을 한다. commit을 먼저 하고 pull request를 마지막에 한다면..