def analyze(self, event): array_list = [ "lepJet_llpdnnx_-1_isLLP_QMU_QQMU", "lepJet_llpdnnx_0_isLLP_QMU_QQMU", "lepJet_llpdnnx_1_isLLP_QMU_QQMU", "lepJet_llpdnnx_2_isLLP_QMU_QQMU", "dimuon_mass", "dimuon_deltaR", "lepJet_pt", "lepJet_eta", "lepJet_deltaR", "MET_pt", "MET_phi", "looseMuons_pt", "looseMuons_eta", "looseMuons_dxy", "tightMuons_pt", "tightMuons_eta", "tightMuons_dxy" ] data = pd.DataFrame(data={ "lepJet_llpdnnx_-1_isLLP_QMU_QQMU": getattr(event, "lepJet_llpdnnx_-1_isLLP_QMU_QQMU"), "lepJet_llpdnnx_0_isLLP_QMU_QQMU": event.lepJet_llpdnnx_0_isLLP_QMU_QQMU, "lepJet_llpdnnx_1_isLLP_QMU_QQMU": event.lepJet_llpdnnx_1_isLLP_QMU_QQMU, "lepJet_llpdnnx_2_isLLP_QMU_QQMU": event.lepJet_llpdnnx_2_isLLP_QMU_QQMU, "dimuon_mass": event.dimuon_mass, "dimuon_deltaR": event.dimuon_deltaR, "lepJet_pt": event.lepJet_pt, "lepJet_eta": event.lepJet_eta, "lepJet_deltaR": event.lepJet_deltaR, "MET_pt": event.MET_pt, "MET_phi": event.MET_phi, "looseMuons_pt": event.looseMuons_pt, "looseMuons_eta": event.looseMuons_eta, "looseMuons_dxy": event.looseMuons_dxy, "tightMuons_pt": event.tightMuons_pt, "tightMuons_eta": event.tightMuons_eta, "tightMuons_dxy": event.tightMuons_dxy, }, columns=array_list, index=[0]) model = XGBClassifier() booster = Booster() #model._le = LabelEncoder().fit([1]) booster.load_model(self.modelPath) booster.feature_names = array_list model._Booster = booster bdt_score = model.predict_proba(data) setattr(event, "bdt_score", bdt_score[:, 1]) return True
def upload_xgb_to_memsql(xgb: Booster, conn: Connection, udf_name: str, func=F.SIGMOID, feature_names: List[str] = None, allow_overwrite: bool = False) -> None: if feature_names: xgb.feature_names = feature_names trees = split_trees(xgb.trees_to_dataframe()) sqls = [tree_to_func_def(udf_name, allow_overwrite, t) for t in trees] sqls.append( tree_to_main_func(udf_name, allow_overwrite, trees, xgb.feature_names, func)) for s in sqls: assert 1 == conn.query(s)