본문 바로가기

Study/Python

(13)
Python | 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape python error log SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape 원인 파일경로를 그대로 복사 C:\Users\sjyoo\myworks ~~ 에서 \ 를 사용해주었기 때문 해결 방안 \를 /로 변경하여 사용
Python | K-NN vs. K-Means 문득 K-NN과 K-Means 모델 중, 어떤 모델이 어떨 때 쓰이는 게 좋을지가 궁금해서 쓰게 된 글. 그림과 같이 지도 학습, 비지도 학습이라는 가장 큰 차이가 있다. 지도학습이란, 정답이 있는 데이터를 활용해 기계를 학습시키는 방법 대표적으로 분류, 회귀 문제를 다룬다. 비지도학습은 지도학습과 달리 정답 라벨이 없는 데이터를 비슷한 특징끼리 군집화하여 새로운 데이터에 대한 결과를 예측하는 방법 대표적으로 클러스터링 문제를 다룬다. KNN 란? K Neighbor Nearest이라는 뜻으로 최근접 이웃법으로 분류 문제에 사용되는 알고리즘이다. 새로운 데이터가 들어왔을 때 기존 데이터의 그룹 중 어떤 그룹에 속하는지 분류하게 되는데, 특정공간 내에서 입력과 제일 근접한 k개의 요소를 찾아, 더 많이 일..
Python | 의사결정나무의 파라미터 1. criterion entropy 랜덤 변수에 대한 정보를 계산하는 것을 '정보 엔트로피' 또는 '엔트로피'라고 함 각 사건의 확률에 대한 로그에 각 사건의 확률을 곱한 값의 합계의 음수 0.0 ~ 1.0 사이의 값 1개의 클래스만 구성되어 있으면(100%의 순도) 0, 2개의 클래스가 같은 비율로(50:50)로 섞여 있으면 1.0 gini(지니계수) 집합에 이질적인 것이 얼마나 섞였는지를 측정하는 지표 0.0 ~ 0.5 사이의 값 100% 순수한 노드로 구성되어 있으면 0, 클래스별로 균등하게 분포되어 있으면(50:50) 0.5 로그를 계산할 필요가 없어서 엔트로피보다 구현 성능이 좀 더 우수함 #주사위 던지기의 엔트로피 계산 from math import log2 #경우의 수 n = 6 #확률 ..
Python | 의사결정나무 Decision Tree 의사결정나무란? 입력값에 대한 예측값을 나무 형태로 나타내주는 모형으로, 분류와 추정을 수행하는 분석 방법이다. 의사결정나무 모형 일련의 독립변수들을 활용하여 분류를 하거나 예측을 수행하는 기법 최종 결과물이 '일련의 규칙들'로 표현됨 Decision Trees 또는 Trees라고 불림 의사결정나무의 적용 분야 의사결정나무는 분류 또는 예측을 목적으로 하는 어떤 경우에도 사용 가능 분석의 정확도보다는 분석과정의 설명이 필요한 경우에 더 유용하게 사용 의사결정나무의 2가지 기본 아이디어 1. 반복적 분할(Recursive partitioning) 목표변수 측면에서 부모 노드보다 더 순수도(purity)가 높은 자식 노드들이 되도록 데이터를 반복적으로 분할 레코드들을 두 부분으로 반복해서 잘라 세분된 영역 ..
Python | 회귀분석 회귀분석이란 독립변수(X)와 종속변수(Y)의 관계식을 구하는 기법 종속변수들에 영향을 주는 독립변수들을 찾고, 독립변수들과 종속변수들과의 관계를 나타내는 모델을 만드는 것 데이터 수집 > 모델 적합 > 모델 평가 의 과정을 거친다. 독립변수, 즉 예측변수들을 수집하여 모델링하고 종속변수, 즉 결과변수로 평가하는 일련의 과정을 거친다. 이때, 종속변수(결과변수)는 연속형 숫자 값 추정 회귀식 변수들 간의 분포 그래프에서 흩어져 있는 잔차들을 대표하는 선 (오류 값을 가장 최소화한 선) RSS(잔차제곱의 합)을 최소화 한 직선 잔차 = 샘플의 관측값 - 예측값 회귀계수 머신러닝 회귀 예측의 핵심은 주어진 피처와 결정 값 데이터 기반에서 학습을 통해 최적의 회귀 계수를 찾아내는 것 회귀계수에 따라 회귀모델이 ..
Python | 데이터 전처리 1. 결측값 처리 너무 많은 항목이 비어 있는 변수나 너무 많은 항목이 비어 있는 레코드는 그 자체를 삭제 기타 나머지 항목에 대해서는 일반적으로 다음과 같은 값으로 대체 평균값 : 값들의 평균치 중앙값 : 값들 범위 내에 중앙에 위치한 값 최빈값 : 가장 많이 나타내지는 값 예제 결측치 확인 df.isnull() pandas 를 통해 dataFrame 형식으로 csv 파일을 읽어들인 후 해당 df의 null값을 확인한다. msno.bar(df) / msno.matrix(df) missingno를 통해 결측치를 시각화 할 수 있다. 결측치 처리 결측치 제거 - df.dropna() axis=1 열 방향 제거 / axis=0 행 방향 제거 thresh=n n개 미만 결측치 존재시 제거 결측치 대체 fill..
Python | Dacon Lv3 | CV & LGBM 1. EDA¶데이터 불러오기 > 데이터 정보 관측하기 > 데이터 크기 파악하기 > 데이터 feature 알아보기 #데이터 불러오기 df = pd.read_csv('경로') #데이터 정보 관측하기 ; feature 수, column 명, 결측치 여부, Dtype df.info() #데이터 크기 파악하기 ; 행 갯수, 열 갯수 df.shape #데이터 featur 알아보기 ; df 각 column 정보 df.head() #결측치 유무 확인 df.isnull().sum() | 수치데이터 특성보기¶DataFrame에 describe()를 실행하면, 결측치를 제외하고 수치형 데이터에 한해 각 열에 대해 요약이 수행된다. 기본적으로 count,mean, std, min, 1분위수. 2분위수, 3분위수, max 값이..
Python | Dacon Lv2 | RandomForest Lv2. Data Preprocessing 1. 결측치 대체 - 평균값 df.fillna({'칼럼명':int(df['칼럼명'].mean())}, inplace=True) In [ ]: # 결측치가 있는 feature 살펴보기 print(train.isnull().sum()) train.info() In [ ]: # 결측치 평균값으로 대체하기 train.fillna({'hour_bef_temperature':int(train['hour_bef_temperature'].mean())}, inplace=True) In [ ]: # 결과 확인 print(train.isnull().sum()) 2. 결측치 대체 - 보간법¶ 보간법이란? 알려진 데이터의 지점의 고립점 내에서 새로운 데이터 지점을 구하는 방식 독립 ..