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
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]
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)