반응형

알고리즘 4

선택정렬

1. 주어진 데이터 중 최소 값을 찾는다.* 다음과 같은 순서를 반복하며 정렬하는 알고리즘 1. 주어진 데이터 중, 최소값을 찾음 2. 해당 최소값을 데이터 맨 앞에 위치한 값과 교체함 3. 맨 앞의 위치를 뺀 나머지 데이터를 동일한 방법으로 반복함 어떻게 코드로 만들까? * 데이터가 두 개 일때 - 예: dataList = [9, 1] - data_list[0] > data_list[1] 이므로 data_list[0] 값과 data_ list[1] 값을 교환 * 데이터가 세 개 일때 - 예: data_list = [9, 1, 7] - 처음 한번 실행하면, 1, 9, 7 이 됨 - 두 번째 실행하면, 1, 7, 9 가 됨 * 데이터가 네 개 일때 - 예: data_list = [9, 3, 2, 1] - ..

앙상블 - Bagging

Ensemble -> 조화라는 사전적인 의미 Ensemble learning 1.여러개의 기본모델(예측모형)을 생성한 후 이 모델의 예측 결과를 종합하여 하나의 최종 예측 결과를 도출해 내는 법 2. 다중 분류자 조합 기법 * 기본모델 -> weak learner , classifier, base learner , single learner 1. 배깅(bagging) -> Bootstrap aggregating Bootstrap( 원본데이터에서 중복을 허용하여 무작위로 N개의 데이터 추출한다는 의미) (1) 기계 학습 알고리즘의 안정성과 정확도를 향상시키기 위해 고안 샘플을 여러번 뽑아(bootstrap) 각 모델을 학습시켜 결과를 집계(aggregating) (추출 되지 않은 나머지 것들의 error ..

Machine Learning 2020.06.18

이진 트리-binary Tree

1. 트리 (Tree) 구조 트리: Node와 Branch를 이용해서, 사이클을 이루지 않도록 구성한 데이터 구조 실제로 어디에 많이 사용되나? 트리 중 이진 트리 (Binary Tree) 형태의 구조로, 탐색(검색) 알고리즘 구현을 위해 많이 사용됨 2. 알아둘 용어 Node: 트리에서 데이터를 저장하는 기본 요소 (데이터와 다른 연결된 노드에 대한 Branch 정보 포함) Root Node: 트리 맨 위에 있는 노드 Level: 최상위 노드를 Level 0으로 하였을 때, 하위 Branch로 연결된 노드의 깊이를 나타냄 Parent Node: 어떤 노드의 다음 레벨에 연결된 노드 Child Node: 어떤 노드의 상위 레벨에 연결된 노드 Leaf Node (Terminal Node): Child No..

Hash Table- 해쉬 테이블

1. 해쉬 구조 Hash Table: 키(Key)에 데이터(Value)를 저장하는 데이터 구조 Key를 통해 바로 데이터를 받아올 수 있으므로, 속도가 획기적으로 빨라짐 파이썬 딕셔너리(Dictionary) 타입이 해쉬 테이블의 예: Key를 가지고 바로 데이터(Value)를 꺼냄 보통 배열로 미리 Hash Table 사이즈만큼 생성 후에 사용 (공간과 탐색 시간을 맞바꾸는 기법) 단, 파이썬에서는 해쉬를 별도 구현할 이유가 없음 - 딕셔너리 타입을 사용하면 됨 2. 알아둘 용어 해쉬(Hash): 임의 값을 고정 길이로 변환하는 것 해쉬 테이블(Hash Table): 키 값의 연산에 의해 직접 접근이 가능한 데이터 구조 해싱 함수(Hashing Function): Key에 대해 산술 연산을 이용해 데이터..

반응형
반응형