Data Science
-
데이터 형(data type) 종류Data Science/데이터마이닝 2022. 9. 29. 13:00
1. Categoric(범주형) 1.1 Nominal Data(명목 데이터) categories하게 분류 가능한 데이터. 각각이 고유하며 순서가 없다. 사용가능 연산자 : ==(같다), !=(다르다) ex 동물 : 강아지, 고양이, 토끼 ex 성별 : 남자, 여자 강아지와 고양이는 다르다. => 강아지 != 고양이 (O) 강아지와 강아지는 같다. => 강아지 == 강아지 (O) 강아지 < 고양이 (X) 강아지 + 강아지 (X) 1.2 Ordinal Data(순서 데이터) categories간의 순서가 있는 데이터. 각자 고유하나 순서가 있다. 사용가능 연산자 : ==(같다), !=(다르다), (크다) ex 등수 : 1등, 2등, 3등 ex 설문문답지 : 매우그렇다, 그렇다, 보통이다, 그렇지않다, 매우그..
-
파이썬 수치 데이터 구간화(Binning) 하기 - pd.cut, pd.qcutData Science/Pandas & Numpy&Scikit-learn 2022. 9. 27. 19:34
1. 구간화(Binning) 구간화는 수치데이터를 특정 구간별로 묶어 범주형 데이터로 변경하는 데이터 처리 기법이다. 우리가 흔히 쓰는 10대, 20대와같은 말이 대표적인 구간화이다. 2. Pd.cut 대표적 데이터 처리 라이브러리인 Pandas에서 cut이라는 함수를 통해 구간화를 지원한다. pd.cut은 인자로 수치형 데이터를 담은 리스트와 해당 데이터의 구간 개수를 입력받는다. (리스트 대신 데이터프레임의 특정 컬럼도 입력 가능하다.) 이때 구간은 리스트에서의 최소값과 최대값을 구간 개수만큼 분리하여 생성된다. import pandas as pd lst = [1,2,3,4,5,6,7,8,9,10,20,30,40,100,200,1000,5000] # pd.cut(수치데이터, 구간개수) re = pd...
-
[Pandas] Pandas를 통한 데이터 전처리Data Science/Pandas & Numpy&Scikit-learn 2022. 9. 13. 23:15
1. Pandas 인스톨 및 import pip install pandas import pandas as pd # as pd의 의미는 앞으로 pandas를 pd라는 약자로 부르겠다 2. 데이터프레임 생성 2.1 파일로부터 데이터프레임 생성 df = pd.read_csv("파일위치/파일이름.csv") 인자이름 기본값 변경가능값 의미 sep ',' 구분자로 사용할 문자열 컬럼간 구분자 csv의 구분자인 ','가 기본값이다 header 'infer' None 파일에 항목이름(column)이 없을경우 None으로 설정 names 없음 항목이름 리스트 읽어오는 데이터의 항목이름 설정 usecols None 항목이름 리스트 지정된 항목만 읽어옴 df = pd.read_csv('myfile.txt', header=N..
-
SOM Clustering(Self-Organizing Map, 자기조직화지도)Data Science 2022. 8. 21. 20:16
1. SOM Clustering SOM Clustering(이하 SOM)은 map의 topology 구조를 유지하면서 고차원의 데이터를 저차원으로 변경하는 비지도 학습 방법이다. 구조는 입력 레이어와 출력 레이어 두개의 층으로 구성되어 있다. 입력된 패턴에 가장 유사한 출력 레이어의 neuron이 winner neuron이 되고, 이를 중심으로 유사한 입력패턴의 집합이 이루어진다. 이를 통해서 유사한 패턴은 동일한 출력(같은 군집)을 가지게 된다. SOM의 가장 큰 특징이자 대표적인 군집화 기법 K-Means와의 차이점으로는 군집화의 개수를 설정하지 않아도 된다는 점이다. 그 외에도, 시각적 표현이 뛰어나며 입력변수의 위치 관계를 보존한다는 특징이 있다. SOM에 대해서 고려하게 된 계기는 아래와 같다...
-
mathplotlib.pipy 자주쓰는 파라미터 세팅Data Science/시각화 2022. 7. 27. 21:11
파이썬에서 mathplotlib.pipy 라이브러리를 사용하며 자주 사용하게 되는 파라미터들을 정리한다. 흔히 우리가 약어인 plt로 사용하기도 한다. 1. Base code import numpy as np import pandas as pd import random import matplotlib.pyplot as plt import seaborn as sns df = pd.DataFrame({ 'col1' : [random.randrange(-10,10) for i in range(100)], 'col2' : [random.randrange(-10,10) for i in range(100)] }) sns.scatterplot(data = df, x = 'col1', y = 'col2') 2. mat..
-
보스턴 주택 가격 데이터셋 (Boston house prices)Data Science/데이터셋 2022. 7. 17. 22:14
0. 데이터 설명 미국 보스턴 지역의 타운 별 주택 가격 영향 요소를 정리한 데이터. 컬럼 설명 CRIM 타운 별 1인당 범죄율 ZN 25,000 피트 이상 주거용 토지 비율 INDUS 비소매 상업지역 점유 토지 비율 CHAS 강 인접 유무(1 = 강과 인접, 0 = 강과 인접하지 않음) NOX 산화질소 농도 RM 가구당 평균 방 수 AGE 1940년 이전 건축 주택 비율 DIS 5개 보스턴 직업센터 접근성 지수 RAD 방사형 도로 접근성 지수 TAX $10,000 당 재산세율 PTRATIO 도시별 학생/교사 비율 B 1000(Bk-0.63)^2 (Bk : 도시별 흑인 비율) LSTAT 모집단의 하위계층 비율(%) PRICES(Target) 본인 소유 주택가격(중앙값, 단위 : $1,000) 1. 파이썬..
-
[XAI/Python] SHAP 파이썬 라이브러리 사용 코드 예시(SHapley Additive exPlanations)Data Science/데이터마이닝 2022. 7. 15. 21:18
0. SHAP란 SHAP는 ML 모델의 예측 결과를 설명하기 위한 게임이론적 접근방식이다. XAI가 주목받는 요즘, 쉽게 접근 할 수 있으며 결과를 그래프로 볼 수 있는 SHAP에 대해서 포스팅한다. 1. SHAP 설치 # 주피터 노트북 안에서 !pip install shap # 터미널에서 pip install shap 2. 사용 데이터 및 모델 해당 포스팅에서는 회귀예측을 하기 위한 보스턴 주택 가격 데이터를 사용한다. 예측모델로는 XGBoost 회귀모델을 사용한다. 해당 데이터의 구성은 아래와 같다. 컬럼 설명 CRIM 타운 별 1인당 범죄율 ZN 25,000 피트 이상 주거용 토지 비율 INDUS 비소매 상업지역 점유 토지 비율 CHAS 강 인접 유무(1 = 강과 인접, 0 = 강과 인접하지 않음)..
-
회귀분석 평가지표 종류(특징, 장단점, 파이썬 코드)Data Science/데이터마이닝 2022. 6. 23. 22:07
대학원생일때까지만 해도 평가지표는 단순히 모델의 성능을 나타내는 것이라고 생각했었는데. 회사에서 평가지표란 프로젝트의 성공 및 적용 여부를 표현할 수 있어야 하며, 관리자(팀장,임원 등)들을 설득시킬 수 있어야 했다. 본 글에서는 회귀분석에서는 평가지표들을 간단히 짚어보며 수식, 특징, 파이썬 코드와 더불어서 간단한 사족을 붙이려 한다. 각 평가지표의 수식의 경우 다양한 블로그 및 사이트에서 다루므로 생략한다. 0. 목록 R Squared(R2, 결정계수) Adjusted R Squared(Adjusted R2, 조정된 결정계수) MAE(Mean Absolute Error, 평균절대오차) MSE(Mean Squared Error, 평균제곱오차) RMSE(Root Mean Squared Error, 평균제..