하스켈에서 컴퓨터 학습 라이브러리를 작성하여 하스켈 기술을 익히려고합니다. 나는과 같이하는 클래스를 포함하는 일반적인 디자인에 대한 생각 : 예를 들어하스켈 다형성과 타입 인스턴스
class Classifier classifier where
train :: X -> y -> trainingData
classify :: trainingData -> x -> y
, 예 X의 세트가 지정되면 (자), 그리고 그들의 진정한 라벨 Y는 열차 분류 기능에 사용되는 trainingData를 반환합니다. 기능을 벡터
사이의 거리를 계산의 메트릭을 첫 번째 INT는 이웃의 수입니다data KNN = KNN Int (Int -> Int -> Float)
과 : 나는 KNN을 구현하려는 경우
그래서, 난 그렇게처럼 할 것
instance Classifier KNN where
---This is where I am stuck---
어떻게 내가 만들 것이다 분류의 모든 를 일반적인 것, 그래서 나는 분류 유형 클래스 기능을 구현할 수있다? 나는 Haskell을 너무 많이 명령해야한다고 느낀다. OOP와 같은 언어와 나는 이것을 하스켈 방식으로하고 싶다.
잘못된 끝에서 문제가 시작되는 것 같습니다. 당신이 만들고자하는 다양한 분류자를 위해 실제'classify' 함수와'train' 함수의 일부 타입 시그니처를 게시 할 수 있습니까? 그렇다면 사물을 추상적인지, 왜, 어떻게 추상화 할 것인가가 분명 할 것입니다. – jberryman