Skip to content

SDRClasifier for Prediction? #646

Closed
@Thanh-Binh

Description

@Thanh-Binh

Hi David @ctrl-z-9000-times
I am looking at your Predictor now.
If I understood you well, this function will be used for prediction any data, based on SDR-pattern.
I really do not understand what does "recordNum" mean exactly for infer and learn?

Predictions infer(UInt recordNum, const SDR &pattern);
void learn(UInt recordNum, const SDR &pattern, const std::vector<UInt> &bucketIdxList);

if I have 1D data like a vector v = {1.1, 5, 3, 9 ...}.
Is it a data index, or frame index? e.g. SDR for v[0] = 1.1, recordNum = 0?

Secondly:
If I use it for predict a 1D data, I think bucket index is not enough for this purpose, because Inference provides only the bucket index, not the real value.
To bring the full performance of Predictor like decode(), by learning we have to input a map of bucket and real value like

std::map<UInt, Real32> data; // 1st for bucket, 2nd for value

Do you think that we should do it in Predictor-class or user have to map them individually?
Thanks

EDIT:
The problem seems to be in insuffucient precision of Real, and Real64 should be used for PDF in SDRClassifier/Predictor. No test to replicate, though. #646 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingnewbie

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions