본문 바로가기

전체 글

(20)
Data Transformation for Normality 대다수의 통계적 방법들은 특정한 가정을 전제한다. 그리고 그 가정이 성립할 때 잘 동작한다. 대표적 예시로는 관측한 data의 상관관계에 대한 가정 (독립적이거나, 특정한 covariance 형태를 가지거나) 혹은 data가 특정 형태의 분포를 가져야 한다는 것이다. 각각의 통계적 방법들은 적절한 가정 아래에서 이론적/실질적 당위성을 가진다. 따라서 우리는 분석하고자 하는 data를 자세히 살펴보면서, 사용하고 싶은 방법의 가정이 그 data에 적절한지 고민해야 한다. 수많은 "통계적 가정" 중에서, 실제 마주치는 data와 가장 거리가 먼 것은 무엇일까? 나는 data가 특정 분포를 가진다는 가정, 그 중에서도 Normal(Gaussian) distribution 에 대한 가정인 것 같다. 안타깝지만 ..
[CV2] Hough Transform Hough Tranform 은 직선을 표현하는 방법으로, 그림에서 직선(혹은 선분)을 검출하는 알고리즘을 지칭하기도 한다. Hough Tranform에 대한 간단한 설명과 Python으로 구현한 코드, 그리고 CV2 library에서 제공하는 함수에 대해 알아보자. 1. Parametrization of Line 2차원 공간에서 직선을 나타내는(정의하는) 방법에 대해 생각해보자. 기울기(a)와 절편(b) 을 사용해 직선을 정의할 수 있다. (그림 왼쪽) 이 때, 두 parameter 값의 범위는 a, b ∈ (-∞,∞) 이다. 어떤 두 점을 지나는 직선은 유일하게 존재한다. 따라서 두 점 $(x_1, y_1)$, $(x2,y2)$을 사용해 유일한 직선을 정의할 수 있다. (중간 그림). 주어진 image..
[Pandas] index 방법 Pandas의 Series와 Data frame에서 indexing (sub data) 하는 방법을 알아보자. 예시를 위한 데이터 아래처럼 만든다. import pandas as pd arr1 = [[1,2,3,4,5,6],['a1','a2','a3','a4','a5','a6'],[7,8,9,10,11,12]] arr2 = [list(x) for x in zip(*arr1)] df = pd.DataFrame(arr2, columns=['num1','string','num2'], index=list('가나다라마바')) Label 기반 Indexing : loc .loc은 index나 column명을 직접 입력받아 sub data를 출력한다. (또한 Boolean을 입력값으로 받을수 있다) 입력가능 형태와 ..
[백준] Linear Algebra and Group 백준 - Linear Algebra and Group (https://www.acmicpc.net/problem/15636) 문제 자체는 심플하다. 선형대수 책 "선형대수와 군"(이인석, 개정판)의 표지에 있는 숫자의 합을 구하면 된다. 다만, 표지 이미지를 직접 구해야 한다. 인터넷에서 최대한 고해상도의 이미지를 구해보자. 혹은 아래 그림을 사용한다. 수의 합을 구하는 방법은 제한이 없다. 따라서 숫자를 구분할 수 있는 어떤 방법도 사용할 수 있다. 이중 분류와 예측방법을 각각 사용하여 문제를 풀어보자. 1. 비지도학습 : 배경색 분류하기 책 표지는 0부터 9까지 숫자 이미지로 이루어져 있다. 조금 더 자세히 살펴보면, 각 숫자는 고유한 배경색을 가지고 있다. 그렇다면 숫자(검은색 pixel) 자체를 ..