SVM Openface评估

时间:2018-10-08 12:35:44

标签: python numpy machine-learning scikit-learn

如何通过Opeface生成的数据数组“ reps.csv”和“ labels.csv”评估SVM分类器?

关于代码和参数:

var FacesNum;

OpenFace提取一张人脸的积分,因此我将为每个人脸分配一个整数[128]数组,因此,如果我还有一个人脸,我将拥有一个数组[FacesNum] [128],依此类推。这将是我的X。它还会生成另一个带有面部编号及其文件名的数组[FacesNum] [2]。那是我的。

使用LabelEncoder()和Openface的创建者来获取信息。 PS:对于y,数组从1开始。

X = embeddings
y = labelsNum

cv = StratifiedKFold (y, n_folds = 5)
classifier = svm.SVC (kernel = 'linear', probability = True, 
random_state = random_state)
mean_tpr = 0.0
mean_fpr = np.linspace (0, 1, 100)
all_tpr = []

for i (train, test) in enumerate (cv):
    probas_ = classifier.fit (X [train] and [train]). predict_proba (X [test])
    fpr, tpr, thresholds = roc_curve (and [test] .ravel (), probas_ [:, 1])
    mean_tpr + = interp (mean_fpr, fpr, tpr)
    mean_tpr [0] = 0.0
    roc_auc = auc (fpr, tpr)

我正在尝试使用Scikit-Learn lib 0.17中的“带有交叉验证的接收器工作特性(ROC)”。

但我收到此错误

raise ValueError (" Data is not binary and pos_label is not specified ")

for

的第一行

我想做什么是可能的?

0 个答案:

没有答案