의존성을 낮출 수 있는 생성패턴의 하나로 생성 방법이 바뀔 때마다 새로운 매개변수를 넘겨받음으로써, 생성할 객체의 유형을 바꿀 수 있는 추상 팩토리 패턴에 대한 예를 적어보고자 한다. 이런 생성 패턴을 사용하는 이유 중 가장 큰 이유가 의존성의 낮춤으로써, 유연성을 확보하는 데 목적을 둔다. 이 패턴을 설명하기위해 로봇을 생성하는 프로그램을 간단하게 제작해 보겠다. 우선, A, B, C라는 공장이 있다. A공장에서는 청소로봇을 생산하고, B공장은 전투로봇을 생산한다. 그리고 , C공장은 요리로봇 생산한다. 사용자는 청소로봇을 필요로 해서, A공장에 찾아가서 로봇을 만들어달라고 한다. 이 상황을 코드로 옮겨 보자. Client RobotFactory factory = new ARobotFactory(); ..
KNN 이란 무엇일까. KNN은 K-Nearest Neighbor의 줄인말이다. 라벨링 되어있는 데이터를 기준으로 어떤 데이터가 어떤 군집에 속하는지 알 수 있다. 즉, KNN은 거리를 통한 군집알고리즘이라고 할 수 있다. 위 이미지는 위키에 있는 KNN알고리즘을 설명하기 위한 그림이다.위 그림을 보면 무엇이 보이는가, 파랑색 네모와 빨간색 삼각형이 보이고, 가운데 녹색 원이 보인다. 녹색 원은 추가하고자 하는 데이터이며, 파랑색네모와 빨간삼각형은 이미 등록된 데이터이다. 이 데이터들은 이미 데이터 거리 기준으로 라벨링 된 것이다. 라벨링 된 데이터에 새로운 데이터를 추가하면, K값에 따라, 그 거리에서 가장 가까운 K개의 데이터의 라벨을 확인한다. K개의 값을 모두 확인하여 데이터 특성이 가장 많은 쪽..
- Total
- Today
- Yesterday