Пример #1
0
#sidx = random.sample(np.where(ytrue == 0)[0], supevised_data_points/2)+random.sample(np.where(ytrue == 1)[0], supevised_data_points/2)
ys[sidx] = ytrue[sidx]

Xsupervised = Xs[ys != -1, :]
ysupervised = ys[ys != -1]

# compare models
# lbl = "Purely supervised SVM:"
# print (lbl)
# model = sklearn.svm.SVC(kernel=kernel, probability=True)
# model.fit(Xsupervised, ysupervised)
# evaluate_and_plot(model, Xs, ys, ytrue, lbl, 1)

lbl = "S3VM (Gieseke et al. 2012):"
print(lbl)
model = scikitTSVM.SKTSVM(kernel=kernel)
model.fit(Xs, ys.astype(int))
evaluate_and_plot(model, Xs, ys, ytrue, lbl, 2)

# lbl = "CPLE(pessimistic) SVM:"
# print (lbl)
# model = CPLELearningModel(sklearn.svm.SVC(kernel=kernel, probability=True), predict_from_probabilities=True)
# model.fit(Xs, ys.astype(int))
# evaluate_and_plot(model, Xs, ys, ytrue, lbl, 3)
#
# lbl = "CPLE(optimistic) SVM:"
# print (lbl)
# CPLELearningModel.pessimistic = False
# model = CPLELearningModel(sklearn.svm.SVC(kernel=kernel, probability=True), predict_from_probabilities=True)
# model.fit(Xs, ys.astype(int))
# evaluate_and_plot(model, Xs, ys, ytrue, lbl, 4, block=True)
    Xs[:, 1] > np.mean(Xs[:, 1]))) * 1

ys = np.array([-1] * N)
sidx = np.append(np.random.choice(np.where(ytrue == 0)[0], supevised_data_points // 2),
       np.random.choice(np.where(ytrue == 1)[0], supevised_data_points // 2))
ys[sidx] = ytrue[sidx]

Xsupervised = Xs[ys != -1, :]
ysupervised = ys[ys != -1]

# compare models
lbl = "Purely supervised SVM:"
print(lbl)
model = sklearn.svm.SVC(kernel=kernel, probability=True)
model.fit(Xsupervised, ysupervised)
evaluate_and_plot(model, Xs, ys, ytrue, lbl, 1)

lbl = "S3VM (Gieseke et al. 2012):"
print(lbl)
model = scikitTSVM.SKTSVM(kernel=kernel)
model.fit(Xs, ys)
evaluate_and_plot(model, Xs, ys, ytrue, lbl, 2)

lbl = "CPLE(pessimistic) SVM:"
print(lbl)
model = CPLELearningModel(sklearn.svm.SVC(kernel=kernel, probability=True), predict_from_probabilities=True)
model.fit(Xs, ys)
evaluate_and_plot(model, Xs, ys, ytrue, lbl, 3)

lbl = "CPLE(optimistic) SVM:"
print(lbl)
ys = np.array([-1] * N)
sidx = random.sample(np.where(ytrue == 0)[0], supevised_data_points / 2) + random.sample(
    np.where(ytrue == 1)[0], supevised_data_points / 2
)
ys[sidx] = ytrue[sidx]

Xsupervised = Xs[ys != -1, :]
ysupervised = ys[ys != -1]

# compare models
lbl = "Purely supervised SVM:"
print lbl
model = sklearn.svm.SVC(kernel=kernel, probability=True)
model.fit(Xsupervised, ysupervised)
evaluate_and_plot(model, Xs, ys, ytrue, lbl, 1)


lbl = "S3VM (Gieseke et al. 2012):"
print lbl
model = scikitTSVM.SKTSVM(kernel=kernel)
model.fit(Xs, ys)
evaluate_and_plot(model, Xs, ys, ytrue, lbl, 2)


lbl = "CPLE(pessimistic) SVM:"
print lbl
model = CPLELearningModel(sklearn.svm.SVC(kernel=kernel, probability=True), predict_from_probabilities=True)
model.fit(Xs, ys)
evaluate_and_plot(model, Xs, ys, ytrue, lbl, 3)