전체 글 45

반복되는 문자열에서 반복되는 부분 구하기

str = '문자열' x = len(str) for i in range(1, (x // 2)+1):# 문자열 절반의 값을 for문으로 반복 s = str[0:i]# s변수에 i값을 증가시키며 대입 count = int(x / i)# count변수에 문자열이 length를 i의 값으로 나눈값을 대입 # 전체 문자열이 s에 count를 곱한 값과 같다면 s에 반복되는 요소가 들어갔다는 의미이므로 break으로 반복문을 빠져나온다. if (s*count == str): print(s) break 특정한 문자열이 반복되어 있는 경우 반복되는 요소를 출력해준다. 문자열 절반의 값을 for문으로 반복하고 s변수에 i값을 증가시키며 대입한다. count변수에 문자열이 length를 i의 값으로 나눈값을 대입한다. 전..

Linux command

pwd cd pwd (print working directory) 현재 작업중인 디렉토리 정보 출력 cd (change directory) 경로 이동 절대 경로와 상대 경로로 이동 가능하다. 절대 경로와 상대 경로에 대해 더 자세히 알고싶다면 해당 포스팅 참조 ls (list) 디렉토리 목록 확인 확장자가 txt인 모든 파일을 삭제합니다. 각 파일에 대해서 삭제할 건지 묻습니다. rm *.txt 현재 디렉토리에 있는 모든 파일을 삭제합니다. 각 파일에 대해서 삭제할 건지 묻고, 디렉토리가 있다면 삭제할 수 없다는 메시지가 나옵니다. rm * -f 옵션을 붙이면 삭제할 건지 다시 묻지 않고 바로 삭제합니다. rm -f abc.txt 현재 디렉토리에 있는 모든 파일을 바로 삭제합니다. 디렉토리는 삭제하지 않..

programming 2021.08.04

Mac Pro 단축키

기본 단축키 Command + C : 복사(Copy) Command + X : 오려두기 Command + V : 붙혀넣기 Command + Z : 실행 취소 Control + Space Bar : 한/영 전환 Caps Lock : 언어 전환 바꾸고자 하는 언어 드래그 후 Option + Return (Enter) : 한글을 한자로 바꾸기 Option + Return (Enter) : 한자 입력 Command + Control + Space Bar : 특수 문자 입력 (이모티콘) Command + , : 실행중인 앱 환경 설정 Command + R : 새로고침(Refresh) Command + Tap : 화면 전환 Command + Shift + Z : 되돌리기 Command + Delete : 행 지우기..

programming 2021.07.20

Pandas 개념

Pandas 머신러닝 실습의 대표적인 예제인 타이타닉 데이터를 활용하여 pandas의 활용에 대해 정리하고자 한다. # 데이터 불러오기 import pandas as pd titanic_df = pd.read_csv('./data/train.csv') print('titanic 변수 type:',type(titanic_df)) titanic_df 데이터 개요 확인 # 데이터 개요 확인 titanic_df.head() print('DataFrame 크기: ', titanic_df.shape) titanic_df.info() titanic_df.describe() 범주형 데이터 개수 출력 # value_counts: 범주형 데이터의 개수 출력 value_counts = titanic_df['Pclass']...

Python 2021.06.27

대표적인 머신러닝 분류성능 평가지표 총정리

머신러닝의 분류성능 평가지표를 공부하며 상당히 헷갈리는 부분이 많았다. 실제 값과 예측 값, 그리고 positive와 negative의 위치가 변하면 TP,TN,FN,FP의 위치도 변하기 때문에 혼동행렬을 보고 바로 성능지표를 계산하기 어려울 때가 생긴다. 또한 다양한 성능지표가 존재하고 분야 별로 그 평가지표의 명칭이 다르기도 해서 용어의 의미가 정리가 잘 되지 않았다. 먼저 머신러닝의 혼동행렬에서 도출되는 대표적인 분류성능 평가지표들의 개념과 그 관계들에 초점을 맞추어 정리해보고자 한다. 그리고 이러한 성능지표들은 통계학에서 배운 가설검정의 개념과 겹치는 부분이 있는데 이를 비교해보며 깊은 이해를 해볼 것이다. 1. 머신러닝의 대표적인 분류성능 평가지표 총정리 1.1 Accuracy(정확도): 실제 ..

datascience/ML 2021.06.11

벨만 방정식(Bellman Equation)

0단계: 재귀적 표현 $v_{\pi}(s_{t})=\mathbb{E}_{\pi}[r_{t+1}+\gamma v_{\pi}(s_{t+1})]$ $q_{\pi}(s_{t},a_{t})=\mathbb{E}_{\pi}[r_{t+1}+\gamma q_{\pi}(s_{t+1},a_{t+1})]$ 1단계: $v_{\pi}$와 $q_{\pi}$를 서로를 이용해 표현 $v_{\pi}(s) = \sum_{a\in A}\pi(a|s)q_{\pi}(s,a)$ $\Leftrightarrow s의 밸류 = \sum_{}(s에서 a를 실행할 확률) * (s에서 a를 실행하는 것의 밸류)$ $q_{\pi}(s,a)=r_{s}^{a}+\gamma \sum_{s'\in S}P_{ss'}^{a}v_{\pi}(s')$ $\Leftright..

datascience/RL 2021.06.07

Backpropagation(역전파) - 코드로 구해보기

XOR문제를 해결하는 과정에서 역전파의 적용을 코드로 구현해보고자 한다. $x_{1}$ $x_{1}$ output 0 0 0 0 1 1 1 0 1 1 1 0 기본 값 및 함수 설정 import random import numpy as np random.seed(777) # 입력값 및 타겟값 XOR문제 data = [ [[0, 0], [0]], [[0, 1], [1]], [[1, 0], [1]], [[1, 1], [0]] ] # 실행 횟수(iterations), 학습률(lr), 모멘텀 계수(mo) 설정 iterations=5000 lr=0.1 mo=0.4 XOR문제를 나타내는 입력값과 타겟값을 data에 저장하고 역전파 구현을 위한 변수인 실행 횟수, 학습률, 모멘텀 계수를 설정해주었다. # 활성화 함수 ..

datascience/DL 2021.06.06

부실가계 탐지 모형 - 결론

최종적인 성능지표는 다음과 같다. 흰색 칸에 있는 값들이 오버 샘플링 이전 하늘색 칸에 있는 값들이 오버샘플링 이후의 값들이다. 오버샘플링 이후에 정확도와 정밀도는 전체적으로 하락했으나 재현율은 크게 상승하였고 AUC도 상승하였다. 특히 로지스틱 회귀의 경우 오버 샘플링 이후 정확도는 다른 알고리즘들과 비슷한 수준이지만 다른지표들은 확실히 높았다. -의사결정나무 의사결정나무에서는 담보대출기관이 은행인지, 비은행금융기관인지의 여부가 2019년 2020년 공통적으로 가장 중요한 특징으로 나타났다. 반면 담보대출용도_거주주택 구입, 가구주 종사상 지위, 수도권 여부가 2019년에 비해 2020년에 더 중요해진 피처이다. -LightGBM LightGBM에서는 담보대출용도_거주주택 마련, 담보대출기관_은행여부의..

부실가계 분류모델 - 모델링 및 성능평가(균형 데이터 상황)

2021.05.25 - [Project/부실가계 분류모델 연구] - 부실가계 분류모델 - 의사결정나무, LightGBM(불균형 데이터 상황) 부실가계 분류모델 - 의사결정나무, LightGBM(불균형 데이터 상황) 2021.05.21 - [Project/부실가계 분류모델 연구] - 부실가계 탐지 모형 데이터 전처리- 범주형데이터 encoding 부실가계 탐지 모형 데이터 전처리- 범주형데이터 encoding 2021.04.26 - [Project/가계 부채 분석].. patrickstar-jjh.tistory.com 이번에는 트리기반 알고리즘인 의사결정나무와 LightGBM, 로지스틱 회귀 그리고 인공신경망 모형을 만들고 성능을 평가해볼 것이다. from imblearn.over_sampling impo..

부실가계 분류모델 - 모델링 및 성능평가(불균형 데이터 상황)

2021.05.21 - [Project/부실가계 분류모델 연구] - 부실가계 탐지 모형 데이터 전처리- 범주형데이터 encoding 부실가계 탐지 모형 데이터 전처리- 범주형데이터 encoding 2021.04.26 - [Project/가계 부채 분석] - 부실가계 탐지 모형 데이터 전처리- 파생변수 추가(DSR, DTA, HDRI, 부실가계) 부실가계 탐지 모형 데이터 전처리- 파생변수 추가(DSR, DTA, HDRI, 부실가계) 가계금융 patrickstar-jjh.tistory.com import pandas as pd import numpy as np import warnings warnings.filterwarnings("ignore") df = pd.read_csv('../data/2020가계..