2013-08-15 5 views
0

데이터 분류에 대한 질문이 있습니다. Google의 PageRank의 목표와 같다고 가정합니다. 가장 적합한 검색 결과를 얻을 수 있도록 검색어를 분류하는 방법은 무엇입니까?C#에서 데이터 집합을 분류하는 방법 - 어떻게할까요?

저는 비즈니스 문제를 설명하기 위해 시나리오를 단순화했습니다.

시장에 주택이 있고 가정집 개체에 할당 할 "플래그"또는 "옵션"으로 Enum을 사용한다고 가정합니다. 이 예제는 좋은 디자인에 관한 것이 아니라 고객의 요구에 따라 하나의 하우스를 다른 하우스보다 선호하는 프로그래밍 방식의 솔루션에 관한 것입니다.

하단에서 볼 수 있듯이 고객은 종종 동일한 요구 사항을 여러 개 혼합/일치시킵니다. 그래서 어느 집이 천천히 if/else 또는 switch 문을 사용하지 않고 가장 잘 일치하는지 알아야합니다.

가능합니까?

플래그/옵션 :

enum RoomTypes 
{ 
    Bathroom, 
    Bedroom, 
    Livingroom, 
    Study 
} 

enum Nearby 
{ 
    School, 
    Hospital, 
    ShoppingMall, 
    Park, 
    Trainstation 
} 

enum Features 
{ 
    Airconditioning, 
    Garage, 
    Garden, 
    Storage, 
    Basement 
} 

클래스 : 우리는이

class House 
{ 
    public IEnumerable<RoomTypes> RoomTypes {get; set;} 
    public IEnumerable<Nearby> Nearby {get; set;} 
    public IEnumerable<Features> Features {get; set;} 
} 

============== 사용 가능한 주택 2 개 :

var bigHouse = new House 
{ 
    RoomTypes = new IEnumerable<RoomTypes>{ RoomTypes.Bathroom, RoomTypes.Bedroom, RoomTypes.Study }; 
    Nearby = new IEnumerable<Nearby>{ Nearby.School, Nearby.Park, Nearby.ShoppingMall }; 
    Features = new IEnumerable<Features>{ Features.Airconditioning, Features.Storage, Features.Garden }; 
} 

var smallHouse = new House 
{ 
    RoomTypes = new IEnumerable<RoomTypes>{ RoomTypes.Livingroom, RoomTypes.Bedroom }; 
    Nearby = new IEnumerable<Nearby>{ Nearby.Trainstation }; 
    Features = new IEnumerable<Features>{ Features.Airconditioning }; 
} 

==============

사용 사례 : 클라이언트는 옵션에 따라 주택에 적용됩니다.

클라이언트 A :

  • RoomTypes : 욕실, 침실
  • 인근 : 공원, 쇼핑몰, 학교
  • 특징 : 에어컨, 지하실, 정원

클라이언트 B :

  • RoomTypes : 침실, 욕실
  • 인근 : 쇼핑몰,는 trainstation
  • 특징 : 에어컨, 주차장

이 문제는 지금 , 사용 가능한 호에 기반하여 응용 프로그램을 평가하는 방법 사용합니까?

+0

'사용 가능한 주택에 따라 애플리케이션을 평가하는 방법은 무엇입니까?'라는 것이 내 생각에 무엇이 등급을 올리고 낮 춥니 다. 한 애플리케이션의 등급이 다음 등급보다 높은 이유는 무엇입니까? 이것은 귀하의 도메인입니다, 그것은 귀하의 계산입니다. –

답변

1

이렇게 짧은 공간에서 설명하는 것은 어려운 질문입니다. 당신이해야 할 일은 비트 선형 대수학입니다.이 모든 내용은

는 사용할 수

House = [1,0,1,0..........] {attributes are bed room, bathroom, Near park, Airconditioning etc } 

는 고객의 요구 사항에 대한 smiliar 벡터를 생성 무엇을 수용 나타내는 벡터를 만들 수 있습니다.

고객 요구 사항 벡터와 사용 가능한 벡터 벡터 사이의 점 제품을 가져옵니다. 가장 큰 점 제품이있는 집은 고객의 요구 사항과 일치하는 가장 가까운 집입니다.

당신은 왜 :)

왜 내적 최대 규모로 값을 선택해야한다 말할 수 있습니까? 속성이 곱셈과 일치 할 때 알 수 있듯이 1이면 0이됩니다.

+0

나는 올바른 길로 나를 인도하기 때문에 당신의 대답을 받아들입니다. 나는 내가 필요로하는 exctly 벡터 공간 모델의 멋진 세계를 발견하고있다 :) 고마워. –

+0

네,이 예제는 제가 여러분에게 줄 수있는 가장 간단한 예제였습니다. – Anand

관련 문제