본문 바로가기

728x90
반응형

배우기

(265)
[복습] Python long data ↔ wide data 변환(stack, unstack) in R) stack / unstack, reshape2::melt(long data로 만들기), dcast(wide data로 만들기) ** long data / wide data 차이 1. long data - join 연산 가능 - group 연산 용이 - DBMS에 저장되는 형식 2. wide data - 교차표 - 요약정보(가독성이 좋음) - 행별, 열별 연산이 용이 - join 불가 ★ - 시각화, 범주형 분석 시 필요 1. unstack: long data → wide data df1.unstack(level = -1, # unstack 처리할 level (-1이 디폴트, 맨 마지막 레벨) fill_value) 예) 일반적인 unstack 처리 위 데이터를 unstack 처리를 하여보자. 파..
[복습] Python | 분석 | 불순도 + 하루끝(20240129) 불순도 1. 정의와 활용 - 정의: 범주형 자료의 클래스끼리 혼합되어있는 정도 - 활용: 분류모델에서의 변수 선택(변수 중요도 계산) 시 사용 2. 종류 1) Gini index: 한 노드의 불순도를 측정하는 척도 G = 1 - (p1^2 + p2^2 + ...) 2진 클래스의 불순도의 최고 → 반반 섞일 때 2진 클래스의 불순도의 최저 → 0 즉, 2진 클래스일 때 불순도 최고는 반반 섞일 때이므로 0.5, 가장 낮다는 것은 하나로만 구성된 것이므로 0 ** 그러므로 2진 클래스일 경우 p=0.5일 때 불순도 최대(G=0.5) p = 1 or 0 일때 불순도 최저(G=0) ** 클 수록 혼합되어있음을 나타낸다. 2) Entrophy index: 열역학에서 가져온 개념으로, 혼합 정도를 나타내는 척도. ..
[복습] Python 파이썬의 정규식 표현식 정규식 표현식 ^: 시작 $: 끝 [ ]: 여러 값 동시 전달 혹은 연속적 패턴 전달 ex) [0-9], [()], [가-힣] [0-9-]: 가운데 하이픈은 범위, 맨 뒤의 하이픈은 패턴전달 . : (공백포함) 한 자리 글자 \ : 뒤에 오는 특수기호를 일반 기호화(escape character) (): 그룹 추출 * : 0회 이상(없어도 되는 경우 주로 사용) + : 1회 이상 {i,j}: i회 이상 j회 이하 → {3,}: 3회 이상, {3}: 3 \d : 숫자 \D : 숫자가 아닌 \s : 공백이나 탭 \w : 문자 또는 숫자 또는 _ (언더바) \W : 문자 또는 숫자 또는 _ (언더바)가 아닌 → _(언더바)를 제외한 특수 기호 예시를 들어보았다. 여기서 import re 는 정규식에 해당하는 ..
[실습문제] 2024. 1. 26.(금) (2문제) 1. 교습현황.csv 파일을 읽고 불필요한 컬럼 제거 1) 구별 교습과정별 교습소별 연도별 총 합 출력 2) 구별 교습과정별 가장 인기있는 교습소 명 출력 2. 부동산매매지수1.scv 파일을 읽고 날짜 컬럼(구분)의 값 날짜 파싱(연도가 생략된 경우 연도 전달 필요) 예를 들면 08/4/7 처럼 연도가 있는 경우도 있지만 그 외 같은 연도에 대한 모든 날짜는 다 연도가 빠짐. 그러다 09년이 되면 09/../.. 이런식으로 날짜가 되어 있음. → 어떻게 하면 각 행의 값을 같은 포맷으로 표현 가능할까(연도 포함)
Spyder IDE에서 그래픽 표출 설정하는 방법 1) 상단 바에서 Tools로 들어가 Preferences 선택 2) 좌측의 iPython console 선택 후 Graphics 탭 > Graphics backend의 Backend를 Automatic으로 설정 그러면 그래픽이 표출된다.
[복습] Python | 분석 | 랜덤포레스트(Random Forest, RF)(1) + 하루끝(20240126) - 대표적인 트리기반 모델 - 앙상블 모형(동일한, 혹은 서로 다른 모형을 결합하여 최종 결론을 내는 방식) - 모델링 목적: 서로 다른 트리를 구성하는 것 1) 부트스트랩(bootstrap): 학습 데이터와 동일한 크기의 복원추출을 허용한 데이터셋을 각 트리마다 복습 (서로 다른 트리를 구성하기 위한 모델 내부에서 선택한 기법 중 하나) 2) 임의성 정도(max_features): 각 분류 기준을 만들 때 모든 설명변수를 고려하지 않고 랜덤하게 선택된 일부 변수 중에서 중요한 변수로 결정 (복원추출을 허용하여 가져와도 비슷한 데이터셋이 추출될 가능성이 높은데 이런 것들을 서로 다르게 표현하기 위하여 임의성 정도에 대한 알고리즘이 필요함. 랜덤하게 선택된 일부 변수 중 하나를 고려) in R) mtry ..
[복습] Python 자료구조(6) (array) https://metime.tistory.com/312 [복습] Python 자료구조(5) (array) https://metime.tistory.com/307 [복습] Python 자료구조(4) (array) - 다차원 - 단 하나의 데이터 타입만 허용(수치연산) - 일상적으로는 잘 사용하지 않으나(데이터프레임 사용), 딥러닝 코드 구현시 사용 1. 생 metime.tistory.com 위 게시글에 이어 마지막 array 정리이다. 1. 생성 2. 주요메서드 3. 색인 4. 3차원 배열의 연산 까지 위 링크에 정리했다. 5. 변경(행 추가, 열 추가) - np.vstack, np.hstack 예) 행 추가(결합) pd.concat을 사용하여 a1과 a2를 결합하고자 한다. 함수는 원래 안에 들어가는 객..
[복습] Python 벡터화 내장된 문자열 메서드(str) 백터화 내장된 문자열 메서드 - pandas 제공 - 기본 문자열 메서드가 벡터화가 불가능한 점을 보완 - 시리즈만 호출 가능(DataFrame 호출 불가, 리턴 형태도 Series) - str.______ 형태로 호출(ex. s1.str.upper()) 1. 대소 치환 위와 같은 방법은 에러가 발생한다. 그래서 map과 lambda를 사용하여 각 행마다의 lower 가 적용되도록 했다. 그러나 이제는 str인 벡터화 내장된 문자열 메서드를 사용하면 해결된다. dir(e1.str) 로 벡터화 내장된 문자열 메서드 목록을 확인할 수 있다. 2. 벡터화 내장된 색인 ★ 입사일에서 입사연도만 추출해보겠다. 위처럼 수행하면 Series에서 4개의 원소를 출력한다는 의미이므로 틀린 방법이다. map을 통해 Ser..
[Python] 의사결정나무(Decision Tree) 시각화 하기 1. graphviz 설치(window용) 1) 사이트 접속 https://graphviz.gitlab.io/_pages/Download/Download_windows.html 위 사이트에 접속한다. 2) 최신버전의 window용6 64bit 설치파일 다운 3) 설치파일 실행 [다음]으로 계속 넘어가다가 위 화면이 나오면 Add Graphviz to the system PATH for all users 또는 Add Graphviz to the system PATH for all current user 를 선택한다. 4) 파이썬용 graphviz 설치 cmd 창에서 pip install graphviz 실행한다. 5) 그리고 파이썬 IDE에서 import graphviz os.environ['PATH'] ..
[복습] Python | 분석 | 의사결정나무(Decision Tree) (2) https://metime.tistory.com/310 [복습] Python | 분석 | 의사결정나무(Decision Tree) (1)+ 하루끝(20240124) 의사결정나무(Decision Tree, DT)는 트리기반 분류모델 중 하나이다. 잠시 분류모델에 대하여 정리해보자. 분류모델 - tree: DT, RF, GBT, XGB, LightGBM(트리기반 모델로서 각광받고 있음). GBT까지는 old하고 metime.tistory.com 전 시간에 이어서 DT를 계속 알아보자. 트리 길이를 줄이기 위한 목적? 트리의 길이를 제한하는 이유는 무엇일까. 바로 과대적합을 방지하기 위해서이다. 트리가 계속 분류하려고 학습하다보면 우연한 규칙을 발견하게된다. 이러한 우연한 규칙은 일반화 시킬 수 없다. 즉 일반..

728x90
반응형