I have a project, which is the keyboard biometrics of users.

suppose I have 3 users, I do not know how to label in two types of class, (+ 1, -1).

If I want to verify the identity to user1, my idea of ​​class designation would be:

       TIMES                LABEL
user 1
9.4  9.2  1.0  3.4  0.5      1
9.4  9.2  1.0  3.4  0.5      1
9.4  9.2  1.0  3.4  0.5      1
9.4  9.2  1.0  3.4  0.5      1
9.4  9.2  1.0  3.4  0.5      1

user 2
0.1  3.2  1.0  1.2  1.7      -1
3.4  1.2  3.0  1.1  2.8      -1
2.4  2.2  3.0  1.6  2.9      -1
1.4  3.2  2.0  2.6  3.6      -1
3.4  0.2   3.0  2.7  3.5     -1

user N
0.2  1.4  4.5  3.7  2.9      -1
9.2  1.5  7.6  2.6  2.6      -1
9.3  1.6  7.5  2.9  3.4      -1
9.8  3.8  6.6  2.8  2.5      -1
9.8  2.8  1.7  3.8  1.6      -1

but as my system has more and more users classes -1 will be too many compared to classes +1, How should I label the classes?

  • Just as a quick clarification, are you wondering how to add more than two class (-1 and +1) to your model? Specifically what type of classifier are you using? A neural network? An SVM? Logistic regression? There are many ways to do this, some of them specific to the model and some more general to any classifier. – juicedatom Oct 11 at 3:12
  • @juicedatom i used network neural, but my data is inbalanced data – x-rw Oct 11 at 11:26

From a purely dataset-development perspective I would just label the classes with numbers starting from 0 (ID of the first person) to N (ID of the last person.

During training however, what you do with those classes will vary depending on the type of architecture you are training. For example, if you are building a neural-network classifier you could simply have multiple output nodes. When running backprop with a label for the ith person you could put a 1 on the ith output layer and -1 on the rest of them. This is similar to this answer as well

Whatever you end up doing, try not to label your data to the benefit of the algorithm you're trying to run unless you really know what you're doing. You don't want to accidentally lose information or make your training data less interpretable and harder to deal with in the long run.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.