컴퓨터하는 상어
-
의사결정나무 분류/회귀(Decision Tree)카테고리 없음 2022. 10. 4. 17:03
1. 의사결정나무란? 특정 컬럼의 값을 기준으로 데이터를 분류하여 예측을 수행하는 분석 방법. 생성된 의사결정 규칙이 나무 구조와 같이 생겼다. 노드의 조건에 따라서 계속 분기하며 최종적으로 Leaf Node에 도달하면 해당 값을 결과로 가진다. (아래 그림에서 노란 사각형이 Intermediate Node이며, 파란 사각형이 Leaf Node이다.) 의사결정을 시각적으로 확인할 수 있어 해석에 용이하다. "TaxInc" 컬럼의 값이 80보다 작다 등의 분기조건을 걸기때문에(아래 그림 참조), 데이터 전처리구간에서 스케일링(Scaling)이 필요없다. 가장 중요한 Feature는 상위 레벨에서의 분류 노드로 사용된 Feature이다. 2. 분류 의사결정나무(Classification Decisiontre..
-
[Pandas] 데이터프레임 필터링, 특정 조건에 맞는 행/열 추출하기 (DataFrame.loc[])Data Science/Pandas & Numpy&Scikit-learn 2022. 10. 2. 18:24
이번 글에서는 데이터프레임에서 원하는 조건들을 적용해서 원하는 행 또는 열을 추출하는 방법을 작성한다. Pandas에서 데이터프레임 필터링 방법은 여러가지가 있지만 해당글에서는 loc만을 다룬다. 1. 데이터 준비 seaborn 라이브러리에서 제공하는 taxis 데이터셋을 사용한다. (참고 : sns.load_dataset, 파이썬 데이터샘플 불러오기) import seaborn as sns df = sns.load_dataset('taxis') print(df) print(df.info()) 2. Pandas DataFrame.loc[] 사용법 가장 기본이 되는 문법은 DataFrame.loc[ 행조건 , 열조건 ] 이다. 행조건에는 index 또는 bool 타입의 리스트가 사용된다. 열조건에는 컬럼 ..
-
Naive bayes카테고리 없음 2022. 9. 30. 11:29
카테고리컬 데이터만 입력받아야한다. 입력된 데이터와 같은 값들을 가지는 그룹에서 가장 많이 등장하는 답을 제출 exact bayes로 계산할 수 있으나 차원이 높아질 수록 해당 조건에 대한 데이터가 없을 확률이 높고 편향된 데이터가 발생 할 수 있음 따라서, naive bayes로 계산하여 이를 해결 from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.naive_bayes import GaussianNB X, y = load_iris(return_X_y=True) X_train, X_test, y_train, y_test = train_test_split(X, y, te..
-
데이터 형(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 설문문답지 : 매우그렇다, 그렇다, 보통이다, 그렇지않다, 매우그..
-
데이터마이닝 수업 정리기타 2022. 9. 29. 12:55
1. 데이터마이닝이란 p9 p? 지도학습 비지도학습 p21, 30 train/validation/test & overfitting p ?? skew, median, mean, mode mean : 평균 median : 중위값 mode : 최빈값 skewness : 비대칭도, 왜도 평균 중위 최빈값으로 좌우 왜도를 구분할 수 있나 p 85 중심극한정리(Confidence interval) 동일한 확률분포를 가진 독립 확률 변수 n개의 평균의 분포는 n이 적당히 크다면 정규분포에 가까워진다는 정리 6.confidence interval p85 p109 정규분포(z-score) & t분포(t-score) 샘플의 크기가 30보다 큰지? 모집단의 표준편차를 아는지? P 161 데이터의 종류 https://cssh..
-
파이썬 수치 데이터 구간화(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...
-
파이썬 데이터 병합(데이터프레임 핸들링, Join/Pandas.merge/Pandas.concat)카테고리 없음 2022. 9. 27. 15:22
1. 데이터 병합(Join) 종류 Inner join(교집합) : 두 데이터에서 기준값이 일치하는 데이터만 병합 Outer join(합집합) : 두 데이터의 모든값 병합 Left join(차집합 좌 - 우) : 좌측 데이터의 기준값과 일치하는 데이터만 병합 right join(차집합 우 - 좌) : 우측 데이터의 기준값과 일치하는 데이터만 병합 2. Join 기존 데이터 프레임과 주어진 데이터프레임을 Index 기준으로 병합한다. 병합된 데이터 프레임은 결과로 반환된다. 기본 병합 키 : Index 기본 병합방식 : left join (left,right,inner,outer 변경 가능) ※ suffix 미지정시 두 데이터간에 중복되는 컬럼명을 가지면 안된다. import pandas as pd df1 ..
-
[Python] 배송비 절약 문제 동적프로그래밍 구현프로그래밍/알고리즘 2022. 9. 22. 11:09
이번 글에서는 파이썬 언어를 사용하여 배송비 절약 문제를 구현합니다. 이때 동적프로그래밍 기법을 사용합니다. 1. 배송비 절약 문제 물건의 개수, 배송가능한 무게제한, 물건의 무게와 가치가 주어졌을 때, 한번에 배송할 수 있는 최대의 물건 가치가 얼마인지 구하시오. 2. 코드 구현 주어지는 입력 정보 # 물건 개수 item_num = 5 # 배송 제한 무게 limit_weight = 10 # 물건의 무게 w_lst = [2,1,1,4,4] # 물건의 가치 v_lst = [34,686,668,678,560] 배송 가능 최대 물건 가치 저장 리스트 생성 D = [[0]*(limit_weight+1) for _ in range(item_num)] 물건별로 탐색하며 0~배송 제한 무게값 별로 최대 가치를 계산 ..