일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- eventhandler
- DrawRectangle
- GDI+
- 경기도 버스
- solid
- MDB Connect
- MDB Select
- eventargs
- C# MDB
- DrawEllipse
- sqlite3
- WPF
- JSON
- Cell Border Style
- 공공 데이터 포털
- Excel Cell Format
- delegate
- 경기도 버스정보시스템
- NUnit
- Winform
- 디자인 패턴
- 버스 API
- TDD
- MVC
- C# MDB Handle
- C# 파일 암/복호화
- 객체지향
- 시
- c#
- Json.NET
- Today
- Total
목록IT Engineering (149)
White Whale Studio
생각보다 많은 클러스터링 기법... 하나씩 찬찬히 살펴보자. 1. 분할 기법(Partitioning methods) : 대표적인 예로는 K-mean, K-medoid 기법이 있다. K-mean 기법이야 워낙 유명하니까 대충 감이 잡힐것 같다. 상세히 살펴보자. n 개의 객체 혹은 튜플이 주어졌을 때, 분할 기법은 의 조건을 만족하도록 군집을 나타내틑 데이터 분할을 k개 만든다. 즉 12개의 튜플이 있다고 할때 이 튜플들을 3개씩 묶게 되면 총 4개의 군집이 생성된다. 이 경우 n = 12, k = 4가 되는 것이다. 분할 기법에는 2가지 조건이 있다. 1) 각 그룹은 적어도 하나의 객체를 가지고 있어야 한다. 2) 각 객체는 정확히 하나의 그룹에 속해야 한다. 위의 조건에 근거하여 분할 기법은 분할의 수..
범주형 변수 (Categorical Variables) 둘이 상의 상태를 가질 수 있는 이항형 변수의 일반적인 형태이다. 예를 들면 무지개 색깔은 빨주노초파남보 인것처럼말이다. 범주형 변수의 상이성은 어떻게 계산할까? 두 객체 i와 j간의 상이성은 불일치의 비율을 이용하여 계산한다. p는 변수의 총 개수 이고, m은 객체 i와 j가 같은 상태인 변수의 수, 즉 일치한 수를 뜻한다. 표 7.3을 예로 한 번 보자. 객체 번호에 따라서 서로 다른 속성 test 1, 2, 3이 다른 변수를 가진 상태이다. 우선 객체번호와 test-1 속성만 사용한다. 표에도 적혀져 있지않은가. 대충 유추해보면 범주형 변수의 변수는 code-A, code-B, code-C 일 것이다. 상이성 행렬을 계산하면 다음과 같다. 여기..
◎ 이항형 변수 이항형 변수라니까 웬지 또 어렵다. 그러나 영어로는 Binary Variable 이라고 하면 쉽지? 0과 1 상태만을 가지는 변수다. 0은 변수가 존재하지 않는다는 것을 의미하고, 1은 존재한다는 것을 의미한다. 예로 0일때는 안경 낀 아이, 1일 때는 안경 안낀 아이로 판단할수 있다는 거다. 대칭이거나 비대칭인 이항형 변수로 표현된 객체간의 상이성을 계산하는 방법을 설명한다. 대칭과 비대칭은 차이는 또 무엇인가? 대칭은 각 상태가 모두 동등한 가치가 있고 같은 가중치를 가질때를 말한다. 즉, 결과가 0이나 1 어느 쪽으로 표시되어도 상관없다. 예를 들면 남자와 여자를 상태로 하는 gender 속성정도랄까.. 표 7.1을 보자. 모든 이항형 변수들이 같은 가중치를 가진것으로 여겨진다면 표..
군집분석[Cluster Analysis] 군집이라고 하면, 모임, 집단과 같은 의미로 보면된다. 책자에 나온 내용이나 사전적인 의미로 정리하자면 물리적 혹은 추상적 객체들을 비슷한 객체로 그룹화하는 것을 군집화(Clustering)이라고 한다. 데이터마이닝 기법 중 하나인 군집 분석은 이미 많은 연구가 이루어져 왔고, 다양한 응용을 위한 연구 또한 진행되고 있다. 군집 분석 자체가 인간과 밀접한 관계를 가진다. 어릴 때부터, 사람은 지속적으로 무의식적으로 군집화를 시도함으로써 동식물을 구분하거나, 가족 친지 중에서도 나에게 편한사람, 좋은사람, 그리고 어려운 사람, 나쁜 사람과 같이 분류하는 방법을 배운다. 실제적으로 군집 분석이 응용되는 사례를 살펴보면, 패턴 인식, 데이터 분석, 이미지 처리, 시장조..
이번 포스팅에서는 파이썬의 기본적인 문법들에 대해서 살펴보도록 해야겠다. 1. Console 입력 키보드 입력을 받는 함수인데, 이 역시 비교적 간단하다. 1-1. 문자열 입력 >>> name = raw_input('name?') name? 홍길동 >>> print name 홍길동 위에서 보는 것처럼 () 내에는 입력을 받기위한 안내를 위한 문자열을 입력하는 부분인데, 아무것도 넣지 않고 ()만 작성해도 문제는 없다. 1-2. 정수, 실수 값 입력 2가지 방법이 있는데, 1-1의 raw_input을 사용해서 문자열을 받은 뒤에 수치형으로 변환하거나, input 함수를 사용한다. >>> m = int(raw_input('int :')) int :35 >>> m 35 >>> im = input('int :'..
파이썬의 로고, 뱀 2마리가 또아리를 틀고 있는 모양같다. 파이썬은 원래 그리스 신화에 나오는 뱀의 이름인데, 파이썬 언어의 창시자는 전혀 관계없는 코미디 프로에서 이름을 땄다고 한다..-ㅅ- 스타맵 이름으로도 유명한 파이썬이다.. 파이썬은 C와는 다르게 인터프리터 방식의 언어다. C, JAVA와 같은 컴파일러 방식 언어만 사용하다가 이런 인터프리터 언어를 사용하다보니 약간의 이질감도 있고, 어색하기도 하고... 대충 자료조사를 해본 결과로, 파이썬은 개발 기간 단축, 해킹, GAE와의 연동가능, 등등의 장점을 가진 언어라고 한다.. 직접 사용해보면 알겠지만... 정말 겁나게 쉽다. 3+5를 입력하면 8를 출력해주는 정말 감사한 프로그램이 아닌가? C에서 3+5를 출력하려면 그놈의 #include 부터 ..
Microsoft 사의 Mobile OS 인 Window Mobile 7!! 사실 언론보도나 소문에 따랐다면, 작년 후반기(7, 8월)에 진작 나왔어야 할 윈모7(Window Mobile 7) 이었지만, 삼성, LG의 국내출시 포기에 따라서 아직까지도 국내 기업 제품은 나오지 않고 있다. 윈모7 자체의 출시는 제법 오래됬지만, 고질적인 문제점인 한글화가 되지 않았다는 점에서 국내 발매가 지금까지 미뤄져 온것이다. 2011년 말에 출시된 굴지의 휴대전화 기업 NOKIA의 윈도우 모바일 망고 폰인 루미아 710이 출시되었을 때, 나는 떠오르는 미소를 참을수 없었다. 드디어 윈도우 모바일이 한국시장에 진출하는구나.. 윈도우 모바일 6.0 버젼이 탑재되어있던 SONY Ericssion의 Xperia X1을 통해..
스패닝 트리 프로토콜을 구현해 나가는 과정에서 스위치와 같은 장비들은 5가지의 상태변화를 거친다. 하나씩 살펴보아요.. 1. Disabled 포트가 고장난 경우, 네트워크 관리자가 포트를 꺼둔 상태 데이터 전송 (X), MAC Address Learning (X), BPDU interaction (X) 2. Blocking 스위치, 브리지를 가장 처음 켰을 때, 관리자가 꺼둔 포트를 다시 켰을 때 해당 포트는 블로킹 상태가 된다. 이 상태에서는 오직 BPDU만 주고받을수있다. 앞에서 포스팅했던 루트브리지, 루트포트, Designated Port를 선정하는 과정이 블로킹 상태에서 발생된다. 데이터 전송 (X), MAC Address Learning (X), BPDU interaction (O) 3. Lis..
이번에는 클래스 멤버와 함께 잡다구리한 클래스에 관련된 애기들을 살펴보자. 먼저 클래스 멤버는 크게 초기화, 데이터 저장 및 처리, 기능 구현, 기타로 구분이 된다. 각각 구분별 세부 항목을 살펴보면 다음과 같다. 초기화 : 생성자, 소멸자 데이터 저장 및 처리 : 상수, 멤버 변수, 속성, 인덱서 기능 구현 : 메서드 기타 : 이벤트 1. 생성자 생성자는 메서드의 일종으로 클래스 명과 이름이 같으며, 객체를 사용할 때 가장 먼저 실행된다. 보통 객체 초기화 작업에 사용한다. 생성자는 중복 선언을 할수 있으며, 이런 기능을 생성자 오버로딩이라고 부른다. 글로 적어서는 잘 모를테고.. 코드를 보자. class Example { public Example() { Console.WriteLine("생성자1 :..
앞의 포스팅에서도 언급했듯이, 스패닝 트리는 스위치나 브리지가 2개 이상일 때 발생하는 루핑을 방지하기 위한 알고리즘이다.(또는 프로토콜) 다시한번 정의를 되살려보자면, 경로가 2개 이상 존재할때 하나의 경로만 사용하고 다른 경로는 막아뒀다가 원래 사용하던 경로가 사용할수 없는, 즉, 문제가 발생하는 경우 막아두었던 경로를 살려서 사용하는 것이다. STP를 이해하기 위해서 2가지 개념을 알아두어야 한다. 첫째는 Bridge ID, 두번쨰는 Path Cost 천천히 살펴보도록 하자. 1. 브리지 ID 브리지나 스위치간에 통신을 할 떄 서로를 확인하기위해 가지고 있는 식별 번호라고 보면된다. 브리지 ID는 Bridge Priority와 Mac Address로 구성되는데, 위의 그림에서와 같이 Prioirit..