Exemple #1
0
def classify(request):
    C = json.loads(request.POST["C"])
    try:
        features, labels = get_multi_features(request)
    except ValueError as e:
        return HttpResponse(json.dumps({"status": e.message}))
    try:
        kernel = get_kernel(request, features)
    except ValueError as e:
        return HttpResponse(json.dumps({"status": e.message}))
    
    learn = "No"  
    values=[]

    try:
        domain = json.loads(request.POST['axis_domain'])
        x, y, z = svm.classify_svm(sg.GMNPSVM, features, labels, kernel, domain, learn, values, C, False)
    except Exception as e:
        return HttpResponse(json.dumps({"status": repr(e)}))

#    z = z + np.random.rand(*z.shape) * 0.01
	
    z_max = np.nanmax(z)
    z_min = np.nanmin(z)
    z_delta = 0.1*(np.nanmax(z)-np.nanmin(z))
    data = {"status": "ok",
            "domain": [z_min-z_delta, z_max+z_delta],
            "max": z_max+z_delta,
            "min": z_min-z_delta,
            "z": z.tolist()}

    return HttpResponse(json.dumps(data))
def classify(request):
    C = json.loads(request.POST["C"])
    try:
        features, labels = get_multi_features(request)
    except ValueError as e:
        return HttpResponse(json.dumps({"status": e.message}))
    try:
        kernel = get_kernel(request, features)
    except ValueError as e:
        return HttpResponse(json.dumps({"status": e.message}))

    learn = "No"
    values = []

    try:
        domain = json.loads(request.POST['axis_domain'])
        x, y, z = svm.classify_svm(sg.GMNPSVM, features, labels, kernel,
                                   domain, learn, values, C, False)
    except Exception as e:
        return HttpResponse(json.dumps({"status": repr(e)}))

#    z = z + np.random.rand(*z.shape) * 0.01

    z_max = np.nanmax(z)
    z_min = np.nanmin(z)
    z_delta = 0.1 * (np.nanmax(z) - np.nanmin(z))
    data = {
        "status": "ok",
        "domain": [z_min - z_delta, z_max + z_delta],
        "max": z_max + z_delta,
        "min": z_min - z_delta,
        "z": z.tolist()
    }

    return HttpResponse(json.dumps(data))
Exemple #3
0
def classify(request):
    value=[]
    try:
        features, labels = get_binary_features(request)
    except ValueError as e:
        return HttpResponse(json.dumps({"status": e.message}))

    try:
        kernel = get_kernel(request, features)
    except ValueError as e:
        return HttpResponse(json.dumps({"status": e.message}))    

    try:
        learn = request.POST["learn"]
    except ValueError as e:
        return HttpResponse(json.dumps({"status": e.message}))

    if kernel.get_name() == 'PolyKernel' and learn == "GridSearch":
        value.append(int(request.POST["polygrid1"]))
        value.append(int(request.POST["polygrid2"]))
        if value[1] <= value[0]:
            return HttpResponse(json.dumps({"status": "Bad values"}))

    try:
        C = float(request.POST["C"])
        domain = json.loads(request.POST['axis_domain'])
        x, y, z = svm.classify_svm(sg.LibSVM, features, labels, kernel, domain, learn, value, C=C)
    except Exception as e:
        import traceback
        return HttpResponse(json.dumps({"status": repr(traceback.format_exc(0))}))

    return HttpResponse(json.dumps({ 'status': 'ok',
                                     'domain': [np.min(z), np.max(z)],
                                     'z': z.tolist() }))
Exemple #4
0
def classify(request):
    value = []
    try:
        features, labels = get_binary_features(request)
    except ValueError as e:
        return HttpResponse(json.dumps({"status": e.message}))

    try:
        kernel = get_kernel(request, features)
    except ValueError as e:
        return HttpResponse(json.dumps({"status": e.message}))

    try:
        learn = request.POST["learn"]
    except ValueError as e:
        return HttpResponse(json.dumps({"status": e.message}))

    if int(features.get_num_vectors()) > 100 and learn == "GridSearch":
        return HttpResponse(
            json.dumps({
                "status":
                ("Model Selection "
                 "allowed only for less than 100 samples due to computational costs"
                 )
            }))

    if kernel.get_name() == 'PolyKernel' and learn == "GridSearch":
        value.append(int(request.POST["polygrid1"]))
        value.append(int(request.POST["polygrid2"]))
        if value[1] <= value[0]:
            return HttpResponse(json.dumps({"status":
                                            "Bad values for degree"}))

    try:
        C = float(request.POST["C"])
        domain = json.loads(request.POST['axis_domain'])
        x, y, z = svm.classify_svm(sg.LibSVM,
                                   features,
                                   labels,
                                   kernel,
                                   domain,
                                   learn,
                                   value,
                                   C=C)
    except Exception as e:
        import traceback
        return HttpResponse(
            json.dumps({"status": repr(traceback.format_exc(0))}))

    return HttpResponse(
        json.dumps({
            'status': 'ok',
            'domain': [np.min(z), np.max(z)],
            'z': z.tolist()
        }))
Exemple #5
0
def classify(request):
    try:
        features, labels = get_binary_features(request)
    except ValueError as e:
        return HttpResponse(json.dumps({"status": e.message}))

    try:
        kernel = get_kernel(request, features)
    except ValueError as e:
        return HttpResponse(json.dumps({"status": e.message}))

    try:
        C = float(request.POST["C"])
        x, y, z = svm.classify_svm(sg.LibSVM, features, labels, kernel, domain, C=C)
    except Exception as e:
        import traceback
        return HttpResponse(json.dumps({"status": repr(traceback.format_exc())}))

    return HttpResponse(json.dumps({ 'status': 'ok',
                                     'domain': [np.min(z), np.max(z)],
                                     'z': z.tolist() }))