Пример #1
0
            train]
        ### SVM ###
        # kernel:‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’
        clf = svm.SVC(C=10, gamma=0.01, kernel='rbf', probability=True)
        clf.fit(X_train_stats_kfold, y_train_kfold)
        prediction = clf.predict(X_test_stats_kfold)
        prob = clf.predict_proba(X_test_stats_kfold)
        prob = prob[:, 1]
        print(prob, prediction)
        fpr, tpr, thresholds = roc_curve(y_test_kfold, prob)
        print(type(fpr))
        roc_auc = auc(fpr, tpr)  #auc为Roc曲线下的面积
        fpr = fpr.tolist()
        tpr = tpr.tolist()
        print('FPR, TPR: ', fpr, '\n', tpr)
        print('auc:', roc_auc)
        _precision, _recall, _f1_score, _acc, _TNR = getAccuracy(
            prediction, y_test_kfold)
        print('precision:', _precision, 'recall', _recall, 'f1_score',
              _f1_score, 'accuracy', _acc, 'TNR', _TNR)
        kfold_precision.append(_precision)
        kfold_recall.append(_recall)
        kfold_f1_score.append(_f1_score)
        kfold_acc.append(_acc)
        kfold_TNR.append(_TNR)
        fold_counter += 1
    print('10 k average evaluation is:',
          'precision:', np.mean(kfold_precision), 'recall',
          np.mean(kfold_recall), 'f1_score', np.mean(kfold_f1_score),
          'accuracy', np.mean(kfold_acc), 'TNR', np.mean(kfold_TNR))
Пример #2
0
                test]
            X_val_stats_kfold, y_val_kfold = X_train_stats[
                train[-1000:]], y_train[train[-1000:]]
            X_train_stats_kfold, y_train_kfold = X_train_stats[
                train[:-1000]], y_train[train[:-1000]]

            # 采用后1000条做验证集
            # X_val, y_val = X_train[-1000:], y_train[-1000:]
            # X_train, y_train = X_train[:-1000], y_train[:-1000]
            ### Decision Tree ###
            ### xgboost ###
            y_test, y_pred = xgboost_model(X_train_stats_kfold, y_train_kfold,
                                           X_test_stats_kfold, y_test_kfold,
                                           max_depth, min_child_weight)
            print(y_test, y_pred)
            _precision, _recall, _f1_score, _acc, _TNR = getAccuracy(
                y_pred, y_test)
            print('precision:', _precision, 'recall', _recall, 'f1_score',
                  _f1_score, 'accuracy', _acc, 'TNR', _TNR)
            kfold_precision.append(_precision)
            kfold_recall.append(_recall)
            kfold_f1_score.append(_f1_score)
            kfold_acc.append(_acc)
            kfold_TNR.append(_TNR)
            fold_counter += 1

            time_end = time.time()
            _time = time_end - time_start
            kfold_time.append(_time)

        print('10 k average evaluation is:', 'precision:',
              np.mean(kfold_precision), 'recall', np.mean(kfold_recall),