[ML] Ward’s linkage method
·
Programming
정의 Ward's method는 cluster 간의 거리를 측정하는 방법 중 하나이며, centroid 와 매우 유사한 방식이지만, 각 cluster의 샘플 수에 대한 고려가 이루어진 방법이다. 간단하게 애기하면 Ward's method에서 두 클러스터의 거리는 cluster의 data points에서 centroid와의 차이를 제곱하여 더한 error sum of square가 두 cluster를 merge할 경우 얼마나 증가하는지로 나타낸다. incremental of ESS 를 이용하기 때문에 centroid linkage와 기반 논리는 비슷하지만 outlier나 noise에 보다 robust 하고 포함하고 있는 data samples 수가 비슷한 cluster들을 merge하는 경향을 보임. 수식..
[matplotlib] bar chart 그리기 : error bar 포함
·
Programming
bar chart 그리기 : error bar 포함Axes object의 ax의 bar method를 이용하여 bar chart를 그릴 수 있음.기본 사용법bar method의 기본적인 사용법은 다음과 같음.ax.bar( x_pos, # 각 bar가 그려질 x축 위치를 item으로 가지는 ndarray. data, # x_pos 의 item 에 대한 bar의 높이에 해당하는 데이터들. width = 0.8, # bar width. bottom = None, align='center', alpha=0.5, # bar 스타일 관련. yerr=error, # error bar를 기재할 때 사용됨. ecolor='black', capsize=10, # erro..
[Python] for statement
·
Programming
for statement는 loop를 위한 control structure의 대표격이다. Python에서는 iterable 객체 (주로 collection type의 객체들)이 가지고 있는 item들을 iterate하는 용도로 사용된다. 프로그래밍을 배울 때, 구구단 출력과 같은 고전적인 예를 통해 배우고, 정말 기본 중의 기본으로 활용된다. 단, NumPy등을 익히게 되면서 loop가 아닌 matrix 를 이용한 처리 (쉽게 생각하면 많은 memory를 이용하여 반복을 덜하는 방식이라고 할 수 있음)가 보다 효율적이기 때문에 정말 필요한 경우 아니면 쓰지 말라고 애기를 하게 되지만... for statement는 정말 기본 중의 기본이다. (반복을 얼마나 효율적으로 하느냐가 성능 뿐 아니라 유지보수의 ..
[PyQt6] QSizePolicy 설정.
·
Programming
PyQt6에서 GUI Window의 크기를 조절할 경우, 자식 widget들의 크기도 windows 크기에 맞춰 변해야함. 이를 기본적으로 PyQt6에서는 QSizePolicy를 통해 설정할 수 있음. 사용가능한 QSizePolicy.Policy QtWidgets.QSizePolicy.Policy.Fixed sizeHint()의 return value인 QtCore.QSize instance로 크기 고정. value : 0 QtWidgets.QSizePolicy.Policy.Minimum sizeHint()의 return value인 QtCore.QSize instance가 최소 크기임. 더 작아질 수 없음. value : GrowFlag QtWidgets.QSizePolicy.Policy.Maximum..
[Python] Regular Expression : re 요약
·
Programming
Regular Expression : re 요약 정규표현식(正規表現式, Regular Expression)은 문자열을 처리하는 방법 중의 하나로 특정한 조건의 substring(문자열)을 '검색'하거나 '치환'하는 과정을 특정 문자열의 pattern을 기술하는 expression을 이용하여 매우 간편하게 처리 할 수 있도록 해준다. 주요 Tasks RE를 통해 수행되는 것은 크게 다음의 세가지임. searching splitting replacing 이들 모두 특정 substring pattern에 대한 matching을 사용한다. 즉, matching, searching, splitting, replacing을 하는 방법에 대한 이해를 하면 RE를 효과적으로 사용가능하다. compiled pattern..
[Python] str : Overloaded Operators
·
Programming
Concatenation + opeartor combines its two operands. 다음과 같이, 두 문자열이 붙은 새로운 문자열을 반환한다. >>> a = 'test1' + 'test2' >>> a 'test1test1' + opeartor does not add any space between two operand strings to concate, contrast to the case of print method. print 함수에서 argument 사이에 space가 포함되는 것과 달리 문자열 그대로 사용하여 결합만이 이루어짐. Duplication 곱하기가 아닌 앞의 operand 인 str이 뒤의 operand로 주어진 숫자만큼 반복되어 concatenation이 됨. >>> 'one..