본문 바로가기

728x90
반응형

배우기/복습노트[Python과 분석]

(107)
[복습] 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를 계속 알아보자. 트리 길이를 줄이기 위한 목적? 트리의 길이를 제한하는 이유는 무엇일까. 바로 과대적합을 방지하기 위해서이다. 트리가 계속 분류하려고 학습하다보면 우연한 규칙을 발견하게된다. 이러한 우연한 규칙은 일반화 시킬 수 없다. 즉 일반..
[복습] python 업무 능력 향상에 좋은 연습문제(라벨인코딩에 대하여) center_grade.csv 파일을 읽고 1) . 을 NA 처리하여라 sol 1) 파일을 불러올 때 .을 NA 처리 pd.read_csv 파일을 읽어올 때 na_values 옵션을 사용하면 바로 NA로 처리가 가능하다. 그냥 . 말고도 list형태로 여러가지를 넣을 수 있다. 그러나 어떤 데이터가 NA로 바뀌어야 하는지 알고 있는 경우에만 사용할 수 있다. sol 2) 2) 모든 컬럼의 값을 같은 기준으로 라벨인코딩 한 후 결과를 df2 에 저장하여라 우선 파이썬의 라벨인코딩 방식이다. m_enc.fit 할 때 mapping rule이 생성된다. 즉 unique value를 체크하여 각 value마다 숫자를 부여하는 것이다. m_enc.transform 에서 변환을 한다. mapping rule에 의한..
[복습] Python 데이터프레임에서 호출 시 연산 방향 위의 배열로 테스트를 해보겠다. array에 sum 메서드를 사용하면, numpy는 전체 총 합을 구하는 것이 default이다. DataFrame에서 sum메서드를 사용하면, 전체 총합이 아니라 axis = 0이 default 여서 한번 더 sum을 하여야 한다. 즉, 행별 총 합으로 연산 결과는 컬럼별로 묶어서 전달된다. 행별(세로방향) 총합(key별로)이 되는 것이다. 이렇게 두 번 적용하여야 전체 총 합이 된다.
[복습] Python numpy용 수학/통계 함수 및 메서드 정리 dir(np) 는 numpy 함수 목록 dir(array) 는 array에서 호출 가능한 메서드 목록 dir(pd) 는 pandas 함수 목록 dir(Series) 는 Series 목록이 호출 가능한 메서트 목록 dir(DataFrame) dataframe에서 호출 가능한 메서드 목록 a1이 어떤 array 목록이라고 하자. a1.sum() a1.mean() a1.min() a1.max() a1.var() #numpy 분산(n으로 나눈 결과) a1.var(ddof = 1) #numpy 분산(n-1로 나눈 결과) 표준편차도 마찬가지로, a1.std() # 수학적 표준편차 a1.std(ddof=1) # 통계적 표준편차 주의해야 할 점이 있다. a1.sqrt() 라는 메서드는 없다 np.sqrt(a1) 그러나..
[복습] Python 자료구조(5) (array) https://metime.tistory.com/307 [복습] Python 자료구조(4) (array) - 다차원 - 단 하나의 데이터 타입만 허용(수치연산) - 일상적으로는 잘 사용하지 않으나(데이터프레임 사용), 딥러닝 코드 구현시 사용 1. 생성 1차원 array 생성 2차원 array 생성 위와 같은 방법으 metime.tistory.com 지난 글 이어서 array 자료구조를 공부해보겠다. 위 링크에서 1. 생성, 2. 주요메서드, 3.색인을 살펴보았다. ** np.ix_ : 리스트로 색인값을 연다라 전달할 경우 point indexing으로 해석되는 것을 방지 - 리스트만 값으로 전달 가능 - 스칼라, 콜론 전달 불가 예) 위 array에서 8, 10, 13, 15를 추출하고자 한다면 연속 ..
[실습문제] 2024. 1. 24.(수) (1문제) 1. movie_ex1.csv 파일을 읽고 1) 지역-시도별로 영화 이용비율이 가장 높은 지역-시군구 확인 sol 1) transform STEP 1) 요약데이터(지역-시도별, 지역-시군구별 이용비율 확인) STEP 2) 지역-시도별 이용비율 최대값 출력(transform) STEP 3) 이용비율과 이용비율 최대가 일치하는 행 선택 sol 2) merge STEP 1) 요약데이터(지역-시도별, 지역-시군구별 이용비율 확인) STEP 2) 지역-시도별 이용비율 최대값을 데이터프레임으로 생성 STEP 3) 이용비율과 이용비율 최대가 일치하는 행 선택 2) 성별로 평균이용비율에 못미치는 연령대 확인 평균이용비율보다 낮은 것을 구하는데 merge로는 작거나 크다는 연산은 불가하다. 1)은 merge로도 풀이가 ..
[복습] Python | 분석 | 의사결정나무(Decision Tree) (1)+ 하루끝(20240124) 의사결정나무(Decision Tree, DT)는 트리기반 분류모델 중 하나이다. 잠시 분류모델에 대하여 정리해보자. 분류모델 - tree: DT, RF, GBT, XGB, LightGBM(트리기반 모델로서 각광받고 있음). GBT까지는 old하고 그 이후로는 최근에 생긴 모델들이다. - regressor: linear regressor(선형회귀), (linear regressor 회귀계수를 제어하게 되면) Ridge, Lasso, (Ridge, Lasso 둘을 혼합하면) Elastic Net - SVM - logistic regressor - naive bayse(확률 기반 모델 설명할 때에는 나이브 베이즈 모델을 무시할 수 없음) - 거리기반: knn, k-means 본격적으로 의사결정나무로 들어가보자..
[복습] Python | 분석 | 데이터 분석 들어가기 데이터 분석 1. 기계학습(machine learning) 머신에 데이터를 주고 한 건 한 건 학습을 한다. 데이터의 특성을 사용자가 스스로 파악할 수 없으므로 기계가 패턴을 발견해주는 것이다. Y의 유무에 따라 1) 지도학습(supervised learning): Y가 있는 경우(예측모델링) 1-1) 회귀분석: Y가 수치형(설명변수는 수치형이든 factor이든 상관 없음) 예) sales 예측, 주택 가격 예측 1-2) 분류분석: Y가 범주형(설명변수는 상관 없음) 예) iris, titanic(y가 생존, 사망). 참고로 성별과 사망/생존은 범주 대 범주의 상관관계이므로 카이제곱검정을 하게 된다. 2) 비지도학습(unsupervised learning): Y가 없는 경우 2-1) 군집분석(클러스터링)..
[복습] Python 자료구조(4) (array) - 다차원 - 단 하나의 데이터 타입만 허용(수치연산) - 일상적으로는 잘 사용하지 않으나(데이터프레임 사용), 딥러닝 코드 구현시 사용 1. 생성 1차원 array 생성 2차원 array 생성 위와 같은 방법으로 array 생성이 가능하다. 2. 주요 메서드 차원수는 ndim으로 확인할 수 있다. shape 메서드를 사용하면 몇 곱하기 몇으로 이루어진 array인지 알 수 있다. 따라서 shape 메서드를 사용하면 행의 수, 열의 수를 따로 추출할 수 있다. 위에서 정의한 a3 배열에 대하여, 배열 모양을 변경하려면 reshape 메서드를 사용하면 된다. 파이썬은 행 우선순위어서 컬럼을 우선 채우게 된다. 디폴트는 order = 'C' 인데, 이는 C언어 순서라는 의미이다. order = 'F' 옵션을..
[복습] Python 집합연산자(union, intersection, difference, np.union1d, np.intersect1d, np.setdiff1d, pd.merge) 파이썬에서의 집합연산자를 살펴보자. 테스트를 위하여 위와 같은 데이터프레임을 만들어두었다. 이 결과는 union all 결과와 같다. 이 결과는 union 결과와 같다. 데이터프레임에서는 union, union all에 대한 메서드나 함수가 없기 때문에 위와 같은 방법을 써야 한다. 1. index object 위의 두 데이터프레임으로 테스트를 해보겠다. index를 변수에 저장한다. 합집합: union 중복을 제거하며, union all이 아닌 union이 리턴된다. index object에서 제공하는 메서드에는 union all은 없다. 교집합: intersection 차집합: difference 차집합은 순서가 중요하다. A-B, B-A가 결과가 다르기 때문이다. 2. numpy 집합연산자 함수 -..

728x90
반응형