# _*_ coding: utf-8 _*_ import sys sys.path.append("demo.zip") from config_code.config_general import DEBUG, PLATFORM, config_default_value from config_code.config_load_data import get_app_data from config_code.config_dm_job import config_job_tags from predict.predict_job import JobPredict # 全局变量 pkg_dict, app_dict = get_app_data(("demo.zip/config_data/" if not DEBUG else "config_data/") + "app_segment.txt", "job", PLATFORM) job_predict = JobPredict(config_job_tags, app_dict) def predict_job(): """ 预测工作 """ for line in sys.stdin: # 处理行数据===================================================================================================== frags = line.strip().split("\t") if len(frags) < 3: continue user_id, user_id_md5 = frags[0].strip(), frags[1].strip() user_pkg_list = set([pkgname.strip() for pkgname in frags[2].strip().split(",")]) user_pkg_index_list = [pkg_dict[pkgname] for pkgname in user_pkg_list if pkgname in pkg_dict] # 跳过无用数据,train和predict有所不同 if len(user_pkg_index_list) == 0: print("\t".join([user_id, user_id_md5, "job", config_default_value, ";".join([app_dict[pkg_index][0] for pkg_index in user_pkg_index_list]) if DEBUG else ""])) continue # 处理行数据===================================================================================================== result = job_predict.check_user(user_pkg_index_list) if result != config_default_value: print("\t".join([user_id, user_id_md5, "job", result, ";".join([app_dict[pkg_index][0] for pkg_index in user_pkg_index_list]) if DEBUG else ""])) else: print("\t".join([user_id, user_id_md5, "job", config_default_value, ";".join([app_dict[pkg_index][0] for pkg_index in user_pkg_index_list]) if DEBUG else ""])) return if __name__ == '__main__': predict_job() exit()