파이썬

Language/Python

[python] 특정 열의 데이터를 나눠서 행으로 추가하기 - pandas

dfsplit = dfresult['val'].str.split('\n').apply(lambda x: pd.Series(x)) dfsplit2 = dfsplit.stack().reset_index(level=1, drop=True) dfrow = pd.merge(pd.DataFrame(dfsplit2), dfresult, left_index=True, right_index=True, how='left').drop('val', axis=1) dfrow.rename(columns={0:'value'}, inplace=True) dfrow = dfrow[['opid','dt','value']]

Language/Python

[python] 문자 제거하기 (부분 일치 / 완전 일치) - pandas

특정 문자 제거하기 replace 함수를 쓰면 문자를 제거하거나 변경할 수 있는데, 데이터프레임 형태와 시리즈 형태에서의 쓰임이 약간 다르다. 오늘은 데이터프레임에서의 문자 제거 및 대체에 대해서 알아보자. 1. 부분일치 regex=True 파라미터를 추가함으로써 해당 문자가 포함되어 있으면 문자가 대체된다. df.replace('(|\s|희석|확인함)','', regex=True, inplace=True) df.replace('(?i).*(fibrin|citrate).*', '', regex=True, inplace=True) 참고로 (?i)를 추가하면 대소문자 상관없이 replace를 적용될 수 있다. 2. 완전일치 regex=True 없이 작성하면 된다. df.replace('.', '', inpl..

AI/MachineLearning

랜덤 포레스트와 Boosting 알고리즘

랜덤 포레스트(Random Forest) - 의사결정 트리 + Bagging 알고리즘 - 부트스트랩 데이터를 생성할 때, 입력 변수에 대해서도 복원 추출 - 데이터 셋에서 Bootstrap을 통해 N개의 훈련 데이터셋을 생성하고, 생성한 N개의 의사결정 나무들을 학습함 - 학습된 트리들의 예측 결과값의 평균 또는 다수결 투표 방식 이용하여 결합 - 변수의 중요성을 파악할 수 있음 - 변수 일부를 사용하기 때문에 과적합을 방지할 수 있음 Ada Boost(Adaptive Boosting:적응 부스팅) - 이전 학습 과정에서 오분류한 데이터를 다음 학습 과정에서는 잘 분류할 수 있도록 하여 Weak Learner를 Strong Learner로 수정하는 Boosting 알고리즘 - 이전 모델이 오분류한 데이터..

AI/MachineLearning

앙상블 기법

앙상블 기법이란? - 과적합 방지 및 더 높은 성능의 결과를 도출하도록 여러 모델을 활용하는 기법 - Voting(투표), Bagging(Bootstrap Aggregating), Boosting Voting(투표) - 여러 모델의 예측 결과값을 활용하여 투표를 통해 최종 예측값 결정 - 결과가 직관적이며 해석이 쉽고, 평균, 다수결 채택 등의 간단한 연산을 사용함 Bagging(Bootstrap Aggregating) - Bootstrap + Aggregating - 복원 추출을 통해 랜덤 추출한 데이터 셋을 생성하고, 각 데이터를 모델 학습하여 결합한 후, 학습된 모델의 예측 변수를 활용하여 최종 모델을 생성하는 방법 - Bootstrap을 활용한 랜덤 샘플링으로 과적합(Overfitting) 방지 ..

AI/MachineLearning

의사결정 나무

의사결정 나무 - 회귀 - 겹치지 않는 구역으로 데이터를 나눔 - 특정 구역에 데이터가 있으면, 그 데이터의 예측값은 해당 구역의 평균값임 어떤 구역으로 나누어야 하는가? - 구역을 쪼개는 기준 어떤 구역으로 어떻게 나누어야 하는가? 해당 구역에 있는 데이터의 실제값(y)과 예측값의 오차 제곱합을 최소화하는 구역 RSS(Residual Sum of Squares) RSS(Residual Sum of Squares) : 회귀 알고리즘에서 등장한 개념으로 실제값과 예측값의 단순 오차 제곱합 단순오차 제곱합 : 전체 데이터에 대한 실제 값과 예측하는 값의 오차들의 제곱 총합 어떤 구역으로 어떻게 나누어야 하는가? ↓ RSS를 최소화하는 모든 구역을 한 번에 찾는 것은 계산적으로 불가능함 ↓ 위에서부터 순간순간..

Language/Python

[python] 히스토그램 그리기 - matplotlib

matplotlib 라이브러리를 이용하여 히스토그램을 그릴 수 있다. 파이썬에서 그래프를 그리는 것은 참 내 맘 같지 않기 때문에 여러 시도를 안 해 볼 수 없G,, 그래서 잊지 않고자 이번에 삽질한 코드를 기록하려고 한다. import csv import pandas as pd import matplotlib.pyplot as plt # 그래프 사이즈를 조절할 수 있다. 앞이 가로, 뒤가 세로 plt.figure(figsize=(16, 3)) # x축에 범위를 정할 수 있다. plt.xlim([-100, 100]) # 어떤 데이터의 분포를 보고싶은지 넣고, 히스토그램 막대가 몇개로 표현됐으면 하는지 bins라는 파라미터에 넣어주면 된다. plt.hist(labs['dt_date'], bins=5000)..

향식이
'파이썬' 태그의 글 목록 (3 Page)