def get_queryset(self): data_kernel = testing.proses_testing() context = {'data_kernel': data_kernel} return context
def edit(request, pk, template_name='edit.html'): data = get_object_or_404(DataTesting, pk=pk) form = DataTestingForm(request.POST or None, instance=data) if form.is_valid(): no = form.cleaned_data['no'] ppm_ch4 = float(form.cleaned_data['ppm_ch4']) ppm_c2h4 = float(form.cleaned_data['ppm_c2h4']) ppm_c2h2 = float(form.cleaned_data['ppm_c2h2']) fault = form.cleaned_data['fault'] sum = ppm_ch4 + ppm_c2h4 + ppm_c2h2 ch4 = (ppm_ch4 / sum) * 100 c2h4 = (ppm_c2h4 / sum) * 100 c2h2 = (ppm_c2h2 / sum) * 100 try: param = DataTesting.objects.get(no=no) except DataTesting.DoesNotExist: param = DataTesting() param.no = no param.ppm_ch4 = ppm_ch4 param.ppm_c2h4 = ppm_c2h4 param.ppm_c2h2 = ppm_c2h2 param.persen_ch4 = ch4 param.persen_c2h4 = c2h4 param.persen_c2h2 = c2h2 param.fault = fault param.save() # Testing testing.proses_testing() return redirect('home:data-testing') return render(request, template_name, {'form': form})
def create(request): form = DataTestingForm() if request.method == 'POST': if request.POST.get("input_excel"): try: excel_file = request.FILES['file-excel'] except MultiValueDictKeyError: return render(request, 'home_data_testing_create.html', {'form': form}) if str(excel_file).split('.')[-1] == 'xls': data = xls_get(excel_file, column_limit=5) elif str(excel_file).split('.')[-1] == 'xlsx': data = xlsx_get(excel_file, column_limit=5) else: return render(request, 'home_data_testing_create.html', {'form': form}) if data is not None: save_excel_to_db(data) # Testing testing.proses_testing() return redirect('home:data-testing') else: form = DataTestingForm(request.POST) if form.is_valid(): no = form.cleaned_data['no'] ppm_ch4 = float(form.cleaned_data['ppm_ch4']) ppm_c2h4 = float(form.cleaned_data['ppm_c2h4']) ppm_c2h2 = float(form.cleaned_data['ppm_c2h2']) fault = form.cleaned_data['fault'] sum = ppm_ch4 + ppm_c2h4 + ppm_c2h2 ch4 = (ppm_ch4 / sum) * 100 c2h4 = (ppm_c2h4 / sum) * 100 c2h2 = (ppm_c2h2 / sum) * 100 try: param = DataTesting.objects.get(no=no) except DataTesting.DoesNotExist: param = DataTesting() param.no = no param.ppm_ch4 = ppm_ch4 param.ppm_c2h4 = ppm_c2h4 param.ppm_c2h2 = ppm_c2h2 param.persen_ch4 = ch4 param.persen_c2h4 = c2h4 param.persen_c2h2 = c2h2 param.fault = fault param.save() # Testing testing.proses_testing() return redirect('home:data-testing') print(form) return render(request, 'home_data_testing_create.html', {'form': form})
def post(self, request, *args, **kwargs): form = ParameterFormKfold(request.POST) if form.is_valid(): sigma = float(form.cleaned_data['sigma']) lamda = float(form.cleaned_data['lamda']) complexity = float(form.cleaned_data['complexity']) gamma = float(form.cleaned_data['gamma']) iterasi = int(form.cleaned_data['iterasi']) split = int(form.cleaned_data['split']) try: param = Parameter.objects.get(id='1') s = param.sigma if s is None or not s.strip(): s = '2' except Parameter.DoesNotExist: param = Parameter() param.id = '1' s = '2' param.sigma = sigma param.lamda = lamda param.complexity = complexity param.gamma = gamma param.iterasi = iterasi param.save() list_data_bias = [] cv = StratifiedKFold(n_splits=split, shuffle=True, random_state=42) for i in range(7): lv = i + 1 dt_normalisasi = normalisasi.get_normalisasi(lv) x = dt_normalisasi['data_normalisasi_x'] y = dt_normalisasi['data_normalisasi_y'] xK = np.array(x) yK = np.array(y) data_bias = [] for train_index, test_index in cv.split(xK, yK): matriks = training.get_matriks(xK[train_index].tolist(), lamda, float(s), True) n_data_normalisasi = matriks['n_data_normalisasi'] n_list_data_kernel = matriks['n_list_data_kernel'] n_list_data_matriks = matriks['n_list_data_matriks'] data_iterasi = training.get_iterasi( n_list_data_matriks, complexity, gamma, iterasi) data_alpha = data_iterasi[len(data_iterasi) - 1]['data_alfa_baru'] for j, x in enumerate(n_data_normalisasi): x[5] = data_alpha[j] bias = 0 if len(data_iterasi) > 0: dt = training.get_bias(lv, n_data_normalisasi, data_alpha, n_list_data_kernel, False) bias = dt['bias'] data_bias.append(bias) list_data_bias.append(data_bias) accuracy = [] for i in range(7): lv = i + 1 dt_normalisasi = normalisasi.get_normalisasi(lv) x = dt_normalisasi['data_normalisasi_x'] y = dt_normalisasi['data_normalisasi_y'] xK = np.array(x) yK = np.array(y) data_akurasi = [] y = 0 for train_index, test_index in cv.split(xK, yK): y = y + 1 matriks = training.get_matriks(xK[train_index].tolist(), lamda, float(s), True) n_data_normalisasi = matriks['n_data_normalisasi'] n_list_data_matriks = matriks['n_list_data_matriks'] data_iterasi = training.get_iterasi( n_list_data_matriks, complexity, gamma, iterasi) data_alpha = data_iterasi[len(data_iterasi) - 1]['data_alfa_baru'] for j, x in enumerate(n_data_normalisasi): x[5] = data_alpha[j] data_testing = testing.proses_testing( True, xK[test_index].tolist(), n_data_normalisasi, list_data_bias[i][y - 1]) akurasi = [] for j, x in enumerate(data_testing): akurasi.append(float(x['data_akurasi'])) data_akurasi.append(sum(akurasi) / len(akurasi)) ac = sum(data_akurasi) / y accuracy.append(ac) context = { 'scores': [], 'scores_mean': (sum(accuracy) / len(accuracy)), 'data_evaluasi': [], 'display': 'block', 'form': form } return render(request, self.template_name, {self.context_object_name: context}) else: context = { 'scores': [], 'scores_mean': 0, 'data_evaluasi': [], 'display': 'none', 'form': form } return render(request, self.template_name, {self.context_object_name: context})