특수 ClassificationDataSet과 함께 Pybrain 신경망으로 첫 번째 분류자를 작성하려고합니다. 제대로 작동하는지 완전히 확신 할 수 없습니다.pybrain - ClassificationDataSet - SoftmaxLayer를 사용할 때 출력을 이해하는 방법
그래서 6 개의 기능 열과 클래스 레이블 (생존, 단지 0 또는 1)에 대해 1 열의 팬더 데이터 프레임이 있습니다.
나는 그것의 데이터 집합을 구축 :
ds = ClassificationDataSet(6, 1, nb_classes=2)
for i in df[['Gender', 'Pclass', 'AgeFill', 'FamilySize', 'FarePerPerson', 'Deck','Survived']].values:
ds.addSample(tuple(i[:-1]), i[-1])
ds._convertToOneOfMany()
return ds
좋아, 내가 데이터 세트가 어떻게 보이는지 확인 :
for i, m in ds:
i, m
(array([ 1., 3., 2., 2., 1., 8.]), array([1, 0]))
(array([ 0., 1., 1., 2., 0., 2.]), array([0, 1]))
그리고 이미 문제가 있습니다. [1,0] 또는 [0,1]의 의미는 무엇입니까? 원래 '살아남은'열의 '0'또는 '1'입니까? 어떻게 원래 값으로 돌아갈 수 있습니까?
나중에 내 네트워크의 훈련을 마치면 :
net = buildNetwork(6, 6, 2, hiddenclass=TanhLayer, bias=True, outclass=SoftmaxLayer)
trainer = BackpropTrainer(net, ds)
trainer.trainEpochs(10)
나는 (I 실제 분류를 수행하고자하는) 내 다른 데이터 세트에 정품 인증을 시도하고 나는 활성화의 쌍을 얻을 것이다 2 개의 출력 뉴런 각각에 대한 결과는 어느 출력 뉴런이 원래의 클래스에 해당하는지 이해하는 방법? 아마 이것은 명백한 것이지만 불행하게도 나는 문서에서 그것을 이해할 수 없다.