Intel® oneAPI Data Analytics Library
Community support for building compute-intensive applications that run fast on Intel® architecture.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

Support vector labels

alvarez__javier
Beginner
279 Views

Hello,

Is there a way of getting the labels of the support vectors after training?

Thank you,

Javier

0 Kudos
3 Replies
Preethi_V_Intel
Employee
279 Views

Hi,

Could you please elaborate? do you mean support vectors of the trained data? or prediction labels?

Thanks

Preethi 

alvarez__javier
Beginner
279 Views

Hi Preethi,

In PyDAAL there is a method to get the support vectors of a SVM model (model.getSupportVectors()). However, I don't see a way of getting the labels for these vectors.

I see that there is a new update available that introduces a getSupportIndices() method. I might be able to use this to get the labels from the training dataset.

Regards,

Javier

Preethi_V_Intel
Employee
279 Views

yes you are right, the support indices can be used to get the respective labels

 import numpy as np
 intBlock = BlockDescriptor_Intc()
 model.getSupportIndices().getBlockOfRows(0, model.getSupportIndices().getNumberOfRows(), readOnly, intBlock)
 getIndex = intBlock.getArray()
 model.getSupportIndices().releaseBlockOfRows(intBlock) 
 trainGroundTruth.getBlockOfRows(0, trainGroundTruth.getNumberOfRows(), readOnly, intBlock)
 getArray = intBlock.getArray()
 trainGroundTruth.releaseBlockOfRows(intBlock)
 print(getArray[np.ndarray.flatten(getIndex)])

 

Reply