Loading...
2021. 12. 6. 21:04

의사결정나무(decision tree)의 생성 원리

데이터가 무작위로 섞여있는 상태를 생각해봅시다. 이럴 때 우리는 무작위로 선을 그어 빨간색 데이터와 파란색 데이터를 구분하고자 합니다. 어떻게 그어야 가장 잘 분류를 했다고 말할 수 있을까요? 그러니까 빨간색과 파란색을 어떤 선을 그어서 구분을 해야 가장 잘 구분을 했다고 말할 수 있을까요? 직관적으로 한쪽 영역에는 순수하게 파란색만 존재하고 다른쪽 영역에는 순수하게 빨간색만 존재해야겠죠? 무작위로 섞여있는 불순물한 상태(impurity)에서 순수한 데이터들만 존재하도록 (purity) 영역을 구분하는 것이 데이터를 잘 분류한 것입니다. 다른 말로는 불확실하게 데이터가 섞여있는 상태에서 누구라도 확실하게 빨간색과 파란색을 알아볼 수 있도록 만드는 작업이 분류라는 것입니다. decision tree는 이러..

빅데이터분석기사 3회 대비 실전 벼락치기

1. 정렬하기 data.sort_values( by = (정렬기준이 되는 칼럼) , ascending =True/False) ascending =True이면 오름차순 정렬이고 ascending = False이면 내림차순 정렬 2. series는 대응하는 원소끼리 수학적 계산이 가능 단, 인덱스가 맞지 않으면 계산이 이상해질 수 있음 3. 통계량계산 data.mean() , data.median(), data.sum(), data.count(), data.std(), data.var(), .... 최빈값은 scipy 모듈을 이용해서 구할 수 있음 from scipy.stats import mode mode_data = mode(data) 4. 결측치 찾기 data.isnull().sum()을 통해 결측치가..

2021. 12. 2. 23:23

Pandas 기초 8편

1. merge 두개의 데이터 테이블을 하나로 합치는 기능 기본은 pd.merge(df1,df2,on=(기준변수)) left_on=(왼쪽 프레임의 기준변수), right_on=(오른쪽 프레임의 기준 변수) 4,5,7,8이 공통으로 subject_id에 들어있으므로 기준변수를 subject_id라 하면 inner join inner join은 두 데이터 프레임에서 공통된 것을 뽑아오고(기본) full join(outer join)은 기준변수에서 두 데이터 프레임 값 모두 가지고 오고 left join은 왼쪽 데이터 프레임은 모두 가지고오고 오른쪽 데이터프레임에 없는 것은 NaN으로 채워넣음 right join은 오른쪽 데이터 프레임은 모두 가지고오고 왼쪽 데이터프레임에 없는 것은 NaN으로 채워넣음 ind..

2021. 12. 2. 23:12

Pandas 기초 7편

1. groupby key별로 데이터를 각각 split하고 각각에 함수를 적용하여 결과를 합침 df.groupby((묶는 기준이 되는 열))[(적용받는 열)].(함수) 2개 이상의 열로 묶어낸 경우 리스트를 사용해서 넣어야한다 2. hierarchical index 두 줄 이상의 index를 가지는 dataframe unstack()으로 두줄의 index를 행과 열로 둔 matrix 형태로 바꿔줌 stack()을 하면 다시 원래 데이터프레임으로 되돌아옴 3. reset_index reset_index를 이용하여 index를 다시 데이터프레임의 변수로 만든다 4. swaplevel() swaplevel()하면 index level을 변경함 index level 기준으로 여러 기본 연산 수행이 가능 5. g..

2021. 12. 1. 23:59

Numpy 기초 8편

1. boolean index boolean array를 넣어 array를 추출함 condition을 넣어 condition에 맞는 array를 추출하는 방식 2. fancy index index array를 넣어 해당 index에 맞는 값들을 추출 index는 int로 선언해야 index로 인식함 3. data in&out loadtxt로 텍스트 파일을 열고 savetxt로 저장함 astype()은 원하는 type으로 바꿔줌 np.save를 통해 array를 pickle형태로 저장하고 다시 불러올 수 있음 array를 처음부터 다시 만들기 까다로울 때, 예상치 못한 상황이 발생할 때를 대비해서 저장해놓고 사용하면 편할 수 있음

2021. 12. 1. 23:42

Numpy 기초 7편

1. np.where() 1-1) np.where(,(True일때 출력),(False일때 출력)) 1-2) np.where() condition이 True인 index만을 차례대로 array로 반환 2. isnan & isfinite np.isnan() NaN인 값을 찾아 True, False array로 반환 np.isfinite() finite인 값 찾아 True, False array로 반환 3. argmax,argmin array내 최댓값 index 반환 >> argmax array내 최솟값 index 반환 >> argmin sorting한 index 반환 >>argsort a[np.argmin(a)] 하면 최솟값을 출력할 수 있음 비슷하게 a[a.argsort()] 하면 sorting한 arra..