Example #1
0
 def predict_singleDN(self, model_folder, dname):
     """
     对单个域名进行检测,输出检测结果及恶意概率
     :param dname: 域名
     :return:
     """
     if not self.isload_:
         self.load(model_folder)
     dname = dname.strip('/').strip('.')
     dname = dname.replace("http://", '')
     dname = dname.replace("www.", "")
     # dname = wash_tld(dname)
     if dname == "":
         label = 0
         prob = 0.0000
         p_value = 1.0000
         print("\nxgboost dname:", dname)
         # print("label:", label)
         # print("mal_prob:", prob)
         # print("p_value:", p_value)
         print('label:{}, pro:{}, p_value:{}'.format(label, prob, p_value))
         return label, prob, p_value
     else:
         feature = self.standardScaler.transform(
             pd.DataFrame([get_feature(dname)]))
         label = self.XGBoost_clf.predict(feature)
         prob = self.XGBoost_clf.predict_proba(feature)
         p_value = cal_pValue(self.train_score, prob[0][1], label[0])
         print("\nxgboost sld:", dname)
         # print("label:", label[0])
         # print("mal_prob:", prob[0][1])
         # print("p_value:", p_value)
         print('label:{}, pro:{}, p_value:{}'.format(
             label[0], prob[0][1], p_value))
         return label[0], prob[0][1], p_value
def _load_image(img):
    img = resize_img(img)
    img = [get_feature(img)]
    X = np.array(img)
    X = X / 255
    X = X.reshape(len(X), -1)
    return X
Example #3
0
 def predict_singleDN(self, dname):
     """
     对单个域名进行检测,输出检测结果及恶意概率
     :param dname: 域名
     :return:
     """
     feature = self.standardScaler.transform(pd.DataFrame([get_feature(dname)]))
     label = self.RF_clf.predict(feature)
     prob = self.RF_clf.predict_proba(feature)
     return label[0], prob[0][1]
Example #4
0
 def predict_singleDN(self, dname):
     """
     对单个域名进行检测,输出检测结果及恶意概率
     :param dname: 域名
     :return:
     """
     #self.SVM_clf = pickle.load(open(self.model_add, 'rb'))
     #standardScaler = pickle.load(open(self.standard_scaler_add, 'rb'))
     feature = self.standardScaler.transform(pd.DataFrame([get_feature(dname)]))
     label = self.SVM_clf.predict(feature)
     prob = self.SVM_clf.predict_proba(feature)
     print("label:", label[0])
     print("mal_prob:", prob[0][1])
     return label[0], prob[0][1]
def load_dataset(dataset_lists, feature="edge_hist"):
    data, labels, filenames = [], [], []

    for dataset_list in dataset_lists:
        for f in _read_dataset_list(dataset_list):
            img = Image.open(f)

            img = fe.get_feature(img, feature)
            label = fe.get_label(f)
            filename = fe.get_file_number(f)

            data.append(img)
            labels.append(label)
            filenames.append(filename)

    X, y, z = np.array(data), np.array(labels), np.array(filenames)
    return _normalize_dataset(X, y, z)