반응형

분류 전체보기 116

[JavaScript] try catch문

에러가 발생하는 경우 출력(7번 행) try { console.log('시작'); const test = '테스트'; console.log(test); test = 'fasd'; const lang = 'JavaScript'; console.log(lang); } catch(err){ console.log('에러'); console.error(err); console.log(err.name); console.log(err.message); } 에러가 발생하지 않을 때 출력 try { console.log('시작'); const test = '테스트'; console.log(test); // test = 'fasd'; const lang = 'JavaScript'; console.log(lang); } c..

[JavaScript] 에러 / 에러객체

에러객체의 종류 1. Reference Error : 존재하지 않는 변수나 함수 참조 2. Type Error : 변수를 함수처럼 사용할 때 - 잘못된 자료형 3. Syntax Error : 문법에 맞지 않는 코드 4. 기타 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Error Error - JavaScript | MDN Error 객체는 런타임 오류가 발생했을 때 던져집니다. Error 객체를 사용자 지정 예외의 기반 객체로 사용할 수도 있습니다. 아래 표준 내장 오류 유형을 참고하세요. developer.mozilla.org 에러를 만들기 const error = new TypeError('타입에러 발생'..

[DataAnalysis] PCA(Principal Component Analysis)

PCA(Principal Component Analysis) : 여러 차원들의 특징을 가장 잘 설명하는 차원을 이용해 차원을 축소 1. 데이터 표준화 및 원점 이동 1) 데이터 단위 통일(m, mm / g, kg) 2) 데이터를 표준화(중심=원점을 기준으로 함) 2. 주성분 찾기 1) 데이터의 중심(원점)을 지나고 모든 데이터들로부터 수직거리가 가장 가깝게 하는 선 2) 주성분이 2개라면 두 번째 주성분 선은 첫 번째 주성분 선에 수직, 모든 데이터들에서 선까지 수직거리가 가장 작은 선 2-1) 주성분 찾는 방법 : 데이터들의 분산이 최대가 되도록 하는 선(수직 거리 짧음) 2-2) 두 번째 주성분 선이 첫 번째 주성분 선에 수직인 이유 : 첫 번째 주성분과 비슷한 정보가 적음 3. 데이터 투영 1) 모..

Python/DataAnalysis 2024.02.07

[DataAnalysis] 차원축소

차원이란? : 변수의 개수 - 데이터의 차원이 높아지면 좀 더 많은 정보를 나타낼 수 있음 - but, 데이터의 차원이 너무 많아지면 분석의 정확도가 떨어지는 경우도 있음 차원축소 1. 차원 선택 : 전체 차원 중 의미 있다고 판단되는 것들만 선택해서 사용 : 변수들 간의 관계를 통해 덜 중요하거나 불필요한 변수를 찾아 데이터에서 빼는 작업 장점 - 사용하기 쉽고 빠르게 적용 가능, 쉽게 해석가능 단점 - 정보손실이 커짐 2. 차원 추출 : 데이터를 가장 잘 설명하는 차원을 새롭게 생성하여 차원을 줄이는 방법 → 여러 변수의 특징을 종합적으로 잘 나타내는 새로운 변수를 찾아내 변수를 통합 장점 - 필요한 정보를 최대한 보존하기 때문에, 상대적으로 더 나은 성능 단점 - 여러 변수의 특징을 대표하기 위해 ..

Python/DataAnalysis 2024.02.07

[DataAnalysis] GMM (Gaussian Mixture Model)

GMM (Gaussian Mixture Model) : 특정 데이터의 값이 어떤 분포에 포함될 확률이 더 큰지를 따져서 각 클러스터로 구분하는 게 GMM의 방법론 - 클러스터별로 중심(평균)을 표현하면서 분산의 구조도 함께 띄고 있는 데이터 세트에 효과적 데이터가 원형으로 흩어져 있으면 평균은 있지만 분산이 없는 데이터라고 할 수 있음 → k-means 데이터가 타원형으로 흩어져 있다면 중심(평균)과 분산의 값을 갖는 형태 → GMM 모델 특징 특정 분포에 할당된 데이터 수가 적으면 모수 추정이 잘 안됨 정규분포를 따르지 않는 데이터를 다룰 수 없음. from sklearn.mixture import GaussianMixture from sklearn.datasets import make_classifi..

Python/DataAnalysis 2024.02.04

[DataAnalysis] Kmeans 결과 해석

Kmeans 장점 - 변수들에 대한 배경지식, 역할, 영향도에 대해 모르더라도 데이터 사이의 거리만 구할 수 있다면 쉽게 사용 가능 - 알고리즘이 비교적 쉬운 수식으로 이루어졌기 때문에 이해와 해석이 용이합니다. Kmeans 단점 - 데이터의 영향력을 반영하지 못함. - 최적의 클러스터 개수인 k를 정하는 게 어렵다 - 이상치에 영향을 많이 받음 - 이상치가 포함된 데이터일 경우 클러스터의 중심(Centorid)을 업데이트하는 과정에서 Centroid의 위치가 크게 변동 - 클러스터가 원하지 않는 방식으로 묶일 수 있음 model = KMeans(n_clusters=5, random_state=123) model.fit(scaled_df) # 학습 모델 결과 추가 sales_df['label'] = mo..

Python/Pandas 2024.02.01

[DataAnalysis] Elbow Method

Elbow Method : 최적의 클러스터 갯수 찾는 방법 - 클러스터마다 속한 데이터와 Centroid 사이 거리의 합이 작아야 함. inertia : 각 클러스터에 속한 데이터들과 Centroid 사이의 거리를 제곱해서 전부 더한 값 Elbow Method 지점 찾기 import pandas as pd from sklearn.cluster import KMeans import seaborn as sns %matplotlib inline scaled_df = pd.read_csv('data/scaled_data.csv', index_col=[0]) inertias = [] for k in range(1, 16): model = KMeans(n_clusters=k, n_init=10, random_sta..

Python/Pandas 2024.02.01

[DataAnalysis] Clustering

import pandas as pd # 판다스 출력 결과를 소수점 둘째 자리 까지로 제한 pd.options.display.float_format = '{:,.2f}'.format sales_df = pd.read_csv('data/sales_data.csv', index_col=['customer_id']) sales_df import seaborn as sns sns.set(style="darkgrid", rc={'figure.figsize':(16,9)}) # 데이터 시각화 sns.scatterplot(x=sales_df['total_buy_cnt'], y=sales_df['total_price'], s=200) 이상점 제거 outlier_idx_cust_df = get_outlier_mask(sa..

Python/Pandas 2024.01.31
반응형