분류 전체보기
-
[Statistics Basic] 3. What is a frequency distribution table?Statistics/Basic 2020. 11. 17. 14:58
1. What is a frequency distribution table? - Class: Dividing the entire of data into several subgroups (category, section) - Frequency: Number of data beloging to each class - Relative frequency: The ratio of the frequency divided by the total number of data, that is, the total frequency (If all relative frequencies are summed, it becomes 1) - Frequency Distribution Table: Data organization meth..
-
[OpenCV 튜토리얼] 4. 마우스 및 트랙바 이벤트 처리Python/OpenCV 2020. 11. 17. 14:40
OpenCV에는 마우스 및 트랙바를 이용해 이벤트를 처리할 수 있는 모듈이 내장되어있다. 간단한 예제로 살펴보자. 1. 마우스 이벤트 import cv2 import numpy as np def on_mouse(event, x, y, flags, param): if event == cv2.EVENT_LBUTTONDOWN: if flags & cv2.EVENT_FLAG_SHIFTKEY: cv2.rectangle(param[0], (x - 5, y - 5), (x + 5, y + 5), (255, 0, 0)) else: cv2.circle(param[0], (x, y), 5, (255, 0, 0), 3) elif event == cv2.EVENT_RBUTTONDOWN: cv2.circle(param[0], ..
-
[OpenCV 튜토리얼] 3. 도형 그리기 및 문자열 출력하기Python/OpenCV 2020. 11. 17. 14:13
OpenCV에는 처리 결과를 영상에 표시하기 위해 다양한 도형을 그리는 함수 및 문자열을 출력하는 합수가 있다. 간단한 예제로 살펴보려 한다. 1. 직선, 사각형 그리기 import cv2 import numpy as np # white background img = np.zeros(shape=(512, 512, 3), dtype=np.uint8) + 255 # black background # img = np.zeros(shape=(512, 512, 3), dtype=np.uint8) p1 = 100, 100 p2 = 400, 400 # rectangle cv2.rectangle(img, p1, p2, (0, 255, 0), 2) # line set cv2.line(img, (0, 0), (500, 0..
-
[Python Algorithms] 이중 연결 리스트Computer Science/Algorithms 2020. 11. 16. 23:11
이중 연결 리스트는 (단일) 연결 리스트와 다르게 두 개의 포인터를 이용해 양방향으로 이동할 수 있는 자료구조이다. (단일) 연결 리스트와는 연결 링크(포인터)가 하나 추가되었다는 것 이외에 큰 차이점은 없다. 1. 노드(Node) 정의하기 class Node: def __init__(self, data, next=None, prev=None): self.date = data self.next = next self.prev = prev (단일) 연결 리스트와의 차이점으로는 prev라는 포인터가 하나 더 생겼다는 것을 알 수 있다. 2. 이중 연결 리스트 초기화하기 class Node: def __init__(self, data, next=None, prev=None): self.date = data se..
-
[Python Algorithms] 연결 리스트 (Linked List)Computer Science/Algorithms 2020. 11. 14. 22:57
연결 리스트는 데이터와 다음 노드를 가리크는 링크를 묶어서 노드로 정의하여 사용하는 알고리즘이다. 순서가 있는 데이터 묶음이라는 점에서 배열과 유사하다고 생각할 수도 있다. 배열은 한 번 생성시 총 메모리를 확보해 프로그램 실행 중간에 크기를 변경할 수 없고 배열 안의 값을 정렬할 때에도 하나씩 메모리에 저장되어 있는 값을 바꿔주어야 한다. 하지만 연결 리스트는 배열과는 다르게 연속적이지 않은 데이터들을 링크로 서로 연결해줌으로써 배열이 가지는 단점을 보완할 수 있다. 1. 노드(Node) 정의하기 class Node: def __init__(self, data, next=None): self.data = data self.next = next 노드를 클래스로 정의할 때, 노드의 데이터인 data를 지정..
-
Tree-based Machine Learning Models 트리 기반 모델 2Machine learning/Algorithms 2020. 11. 12. 10:05
저번 포스팅에서 트리 기반 모델에 대한 기본적인 이해를 정리해 보았고 이번 포스팅에서는 트리 기반 모델의 앙상블 기법에 대해 알아보도록 한다. 1. Bagging Classifier Bagging Classifier는 Tree Classifier의 high variance 및 low bias 문제를 보완하고자 반복 샘플링 및 정확환 결과 집계를 활용한 모델이다. Bagging은 모든 열 / 변수를 선택하고 각 샘플에 대해 개별 트리를 맞추면서 행을 샘플링한다. 각 샘플에 대해 랜덤으로 특정 행이 선택되지만 열(변수)은 모두 선택된다. 1-1. Bagging Classifier 예제 (Decision Tree Model과 비교) 1) Bagging classifier 모델 생성 및 학습 from sklea..
-
Tree-based Machine Learning Models 트리 기반 모델 1Machine learning/Algorithms 2020. 11. 11. 15:16
Decision tree, Bagging, Random forest, Boostring등 현재 업계에서 많이 사용되는 트리 기반 모델에 대해 알아본다. 1. 트리기반 모델이란? 트리기반 의사 결정 모델은 feature space를 여러 개의 영역으로 나누는 것을 목표로 동작하는 알고리즘이다. feature space를 평균(회귀) 또는 모드(분류)를 기반으로 주어진 관찰에 대한 예측을 수행한다. 2. 트리 기반 모델의 평가 척도 트리기반 의사 결정 모델은 Impurity(불순도)로 측정되며 설정된 불순도 기준에 따라 변수가 Stopping criteria(중지 기준)에 도달할 때까지 반복적으로 분할한다. 불순도 측정 척도는 크게 세 가지가 이용된다. 1) Entropy 엔트로피 샘플이 완전 균질하면 엔트..
-
통계학의 선형회귀분석과 머신러닝의 Ridge, Lasso 회귀 모델 비교Machine learning/Algorithms 2020. 11. 10. 17:30
1. 통계학 모델링과 머신러닝 모델링의 주요 차이점 Statistics modeling Machine learning 방정식 형태로 변수 간의 관계를 공식화함 규칙 기반이 아닌 데이터에서 학습할 수 있는 알고리즘 데이터에 대한 모델 피팅 수행 전에 모델 곡선의 모양을 가정해야함 제공된 데이터를 기반으로 복잡한 패턴을 자동으로 학습할 수 있으므로 기본 형태를 가정할 필요 없음 85%의 정확도와 95%의 신뢰도로 output을 예측함 85%의 정확도로 output을 예측함 모델링에서 P 값과 같은 다양한 매개변수 진단이 수행됨 통계적 진단 테스트를 수행하지 않음 데이터는 train, test를 수행하기 위해 70-30%로 분할됨 학습 데이터에서 개발되고 테스트데이터에서 테스트된 모델 데이터는 train, v..