Commit 9a5cbe24 by 王金柱

增加基于树模型XGBoost排序

parent a65552b2
{"region_encoder": {"\u6c5f\u897f\u7701": 17, "\u5c71\u897f\u7701": 12, "\u6d59\u6c5f\u7701": 20, "\u5b89\u5fbd\u7701": 10, "\u5c71\u4e1c\u7701": 11, "\u5e7f\u4e1c\u7701": 13, "\u8fbd\u5b81\u7701": 29, "\u4e0a\u6d77\u5e02": 0, "\u56db\u5ddd\u7701": 7, "\u5409\u6797\u7701": 6, "\u7518\u8083\u7701": 25, "\u5317\u4eac\u5e02": 4, "\u9655\u897f\u7701": 31, "\u6e56\u5317\u7701": 22, "\u6e56\u5357\u7701": 23, "\u6c5f\u82cf\u7701": 16, "\u6cb3\u5357\u7701": 19, "\u9ed1\u9f99\u6c5f\u7701": 34, "\u5929\u6d25\u5e02": 8, "\u5e7f\u897f\u58ee\u65cf\u81ea\u6cbb\u533a": 14, "NaN": 35, "\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a": 15, "\u6d77\u5357\u7701": 21, "\u6cb3\u5317\u7701": 18, "\u798f\u5efa\u7701": 26, "\u91cd\u5e86\u5e02": 30, "\u5185\u8499\u53e4\u81ea\u6cbb\u533a": 3, "\u9752\u6d77\u7701": 32, "\u8d35\u5dde\u7701": 28, "\u4e91\u5357\u7701": 2, "\u4e0d\u660e": 1, "\u5b81\u590f\u56de\u65cf\u81ea\u6cbb\u533a": 9, "\u53f0\u6e7e\u7701": 5, "\u897f\u85cf\u81ea\u6cbb\u533a": 27, "\u6fb3\u95e8\u7279\u522b\u884c\u653f\u533a": 24, "\u9999\u6e2f\u7279\u522b\u884c\u653f\u533a": 33}, "certification_encoder": {"\u4e09\u7ea7\u5fc3\u7406\u54a8\u8be2\u5e08": 4, "\u4e8c\u7ea7\u5fc3\u7406\u54a8\u8be2\u5e08": 14, "\u4e2d\u7ea7\u5fc3\u7406\u54a8\u8be2\u5e08": 10, "\u7cbe\u795e\u79d1\u533b\u5e08\u6267\u4e1a\u8bc1": 30, "\u793e\u4f1a\u5fc3\u7406\u5e08": 27, "\u4e2d\u7ea7\u5fc3\u7406\u6cbb\u7597\u5e08": 11, "\u6e2f\u6fb3\u53f0\u53ca\u6d77\u5916\u6267\u4e1a\u54a8\u8be2\u5e08": 26, "\u4e00\u7ea7\u5a5a\u59fb\u5bb6\u5ead\u54a8\u8be2\u5e08": 1, "\u4e8c\u7ea7\u5a5a\u59fb\u5bb6\u5ead\u54a8\u8be2\u5e08": 13, "\u7cbe\u795e\u79d1\u533b\u5e08\u804c\u79f0\u8bc1": 31, "\u6ce8\u518c\u7763\u5bfc\u5e08": 24, "\u5fc3\u7406\u503e\u542c\u5e08\u57f9\u517b\u8ba1\u5212-\u4ec5\u58f9\u70b9\u7075\u5e73\u53f0": 17, "\u4e2d\u56fd\u5fc3\u7406\u5b66\u4f1a\u6ce8\u518c\u5fc3\u7406\u5e08": 7, "\u7cbe\u795e\u79d1\u533b\u5e08\u8d44\u683c\u8bc1": 32, "\u521d\u7ea7\u5fc3\u7406\u6cbb\u7597\u5e08": 15, "NaN": 34, "\u4e09\u7ea7\u5a5a\u59fb\u5bb6\u5ead\u54a8\u8be2\u5e08": 3, "\u6ce8\u518c\u5fc3\u7406\u5e08": 23, "\u4e0a\u6d77\u4e09\u7ea7\u5fc3\u7406\u54a8\u8be2\u5e08": 5, "\u4e8c\u7ea7\u4eba\u529b\u8d44\u6e90\u7ba1\u7406\u5e08": 12, "\u7cbe\u795e\u79d1\u533b\u751f": 33, "\u6559\u5e08\u8d44\u683c\u8bc1": 21, "\u4e00\u7ea7\u4eba\u529b\u8d44\u6e90\u7ba1\u7406\u5e08": 0, "\u5fc3\u7406\u6cbb\u7597\u5e08": 20, "\u6ce8\u518c\u52a9\u7406\u5fc3\u7406\u5e08": 22, "\u4e2d\u56fd\u79d1\u5b66\u9662\u5fc3\u7406\u7814\u7a76\u6240\u6559\u6388": 8, "\u5f8b\u5e08\u6267\u4e1a\u8bc1": 16, "\u4e09\u7ea7\u4eba\u529b\u8d44\u6e90\u7ba1\u7406\u5e08": 2, "\u4e0a\u6d77\u4e8c\u7ea7\u5fc3\u7406\u54a8\u8be2\u5e08": 6, "\u793e\u5de5\u5e08": 28, "\u6d59\u6c5f\u5927\u5b66\u5fc3\u7406\u54a8\u8be2\u4e2d\u5fc3\u603b\u7763\u5bfc": 25, "\u7cbe\u795e\u79d1\u533b\u5e08": 29, "\u4e2d\u79d1\u9662\u5fc3\u7406\u7814\u7a76\u6240\u6559\u6388": 9, "\u5fc3\u7406\u5b66\u535a\u58eb": 18, "\u5fc3\u7406\u5b66\u7855\u58eb": 19}, "education_encoder": {"4.0": 1, "7.0": 4, "6.0": 3, "NaN": 6, "5.0": 2, "8.0": 5, "3.0": 0}, "province_encoder": {"360000.0": 14, "140000.0": 4, "330000.0": 11, "340000.0": 12, "370000.0": 15, "440000.0": 19, "210000.0": 6, "310000.0": 9, "510000.0": 23, "220000.0": 7, "620000.0": 28, "110000.0": 1, "610000.0": 27, "420000.0": 17, "430000.0": 18, "320000.0": 10, "410000.0": 16, "230000.0": 8, "120000.0": 2, "450000.0": 20, "NaN": 36, "650000.0": 31, "460000.0": 21, "130000.0": 3, "350000.0": 13, "500000.0": 22, "0.0": 0, "150000.0": 5, "640000.0": 30, "520000.0": 24, "530000.0": 25, "5000001.0": 35, "630000.0": 29, "710000.0": 33, "540000.0": 26, "670000.0": 32, "810000.0": 34}, "title_encoder": {"\u4e09\u7ea7\u5fc3\u7406\u54a8\u8be2\u5e08": 4, "\u4e8c\u7ea7\u5fc3\u7406\u54a8\u8be2\u5e08": 14, "\u4e2d\u7ea7\u5fc3\u7406\u54a8\u8be2\u5e08": 10, "\u7cbe\u795e\u79d1\u533b\u5e08\u6267\u4e1a\u8bc1": 30, "\u793e\u4f1a\u5fc3\u7406\u5e08": 27, "\u4e2d\u7ea7\u5fc3\u7406\u6cbb\u7597\u5e08": 11, "\u6e2f\u6fb3\u53f0\u53ca\u6d77\u5916\u6267\u4e1a\u54a8\u8be2\u5e08": 26, "\u4e00\u7ea7\u5a5a\u59fb\u5bb6\u5ead\u54a8\u8be2\u5e08": 1, "\u4e8c\u7ea7\u5a5a\u59fb\u5bb6\u5ead\u54a8\u8be2\u5e08": 13, "\u7cbe\u795e\u79d1\u533b\u5e08\u804c\u79f0\u8bc1": 31, "\u6ce8\u518c\u7763\u5bfc\u5e08": 24, "\u5fc3\u7406\u503e\u542c\u5e08\u57f9\u517b\u8ba1\u5212-\u4ec5\u58f9\u70b9\u7075\u5e73\u53f0": 17, "\u4e2d\u56fd\u5fc3\u7406\u5b66\u4f1a\u6ce8\u518c\u5fc3\u7406\u5e08": 7, "\u7cbe\u795e\u79d1\u533b\u5e08\u8d44\u683c\u8bc1": 32, "\u521d\u7ea7\u5fc3\u7406\u6cbb\u7597\u5e08": 15, "NaN": 34, "\u4e09\u7ea7\u5a5a\u59fb\u5bb6\u5ead\u54a8\u8be2\u5e08": 3, "\u6ce8\u518c\u5fc3\u7406\u5e08": 23, "\u4e0a\u6d77\u4e09\u7ea7\u5fc3\u7406\u54a8\u8be2\u5e08": 5, "\u4e8c\u7ea7\u4eba\u529b\u8d44\u6e90\u7ba1\u7406\u5e08": 12, "\u7cbe\u795e\u79d1\u533b\u751f": 33, "\u6559\u5e08\u8d44\u683c\u8bc1": 21, "\u4e00\u7ea7\u4eba\u529b\u8d44\u6e90\u7ba1\u7406\u5e08": 0, "\u5fc3\u7406\u6cbb\u7597\u5e08": 20, "\u6ce8\u518c\u52a9\u7406\u5fc3\u7406\u5e08": 22, "\u4e2d\u56fd\u79d1\u5b66\u9662\u5fc3\u7406\u7814\u7a76\u6240\u6559\u6388": 8, "\u5f8b\u5e08\u6267\u4e1a\u8bc1": 16, "\u4e09\u7ea7\u4eba\u529b\u8d44\u6e90\u7ba1\u7406\u5e08": 2, "\u4e0a\u6d77\u4e8c\u7ea7\u5fc3\u7406\u54a8\u8be2\u5e08": 6, "\u793e\u5de5\u5e08": 28, "\u6d59\u6c5f\u5927\u5b66\u5fc3\u7406\u54a8\u8be2\u4e2d\u5fc3\u603b\u7763\u5bfc": 25, "\u7cbe\u795e\u79d1\u533b\u5e08": 29, "\u4e2d\u79d1\u9662\u5fc3\u7406\u7814\u7a76\u6240\u6559\u6388": 9, "\u5fc3\u7406\u5b66\u535a\u58eb": 18, "\u5fc3\u7406\u5b66\u7855\u58eb": 19}, "tag_good_at_direction_1_encoder": {"0": 0, "53210827006876": 66, "173": 19, "41": 44, "53220715080425": 123, "53210827006888": 69, "188": 24, "151": 17, "53220715080404": 117, "15": 15, "53220715080417": 121, "53211108031264": 77, "53211208035678": 98, "53220715080388": 111, "50": 45, "53220715080393": 113, "59": 164, "53211108031268": 80, "3": 42, "122": 5, "53210827006892": 71, "8": 174, "133": 8, "53220715080408": 118, "53220715080422": 122, "130": 7, "53211208035693": 106, "53220715080476": 130, "53210827006890": 70, "53210825006590": 52, "53220715080414": 120, "181": 21, "53220715080467": 128, "53211108031261": 75, "53220715080498": 140, "180": 20, "29": 41, "53220715080383": 110, "53220715080391": 112, "53210827006887": 68, "53210825006600": 56, "53220715080500": 141, "184": 22, "53211208035660": 87, "53220715080481": 132, "53210825006603": 58, "33": 43, "53211113031967": 84, "53220715080400": 115, "54": 163, "53211108031257": 73, "53220715080401": 116, "53211113031891": 83, "53211208035665": 89, "101": 2, "218": 33, "53210827006869": 63, "53210825006591": 53, "53220715080413": 119, "53220715080483": 134, "135": 9, "70": 170, "53220715080464": 126, "186": 23, "53220715080550": 145, "53210825006584": 51, "53210827006873": 65, "53211108031265": 78, "51": 46, "53210825006599": 55, "73": 172, "224": 36, "53211108031272": 82, "19": 25, "53220715080486": 135, "170": 18, "103": 3, "53211108031256": 72, "53230206192320": 159, "53230206192310": 156, "53220715080494": 137, "212": 31, "53220715080556": 148, "53220715080465": 127, "53220715080497": 139, "53211208035677": 97, "53211208035687": 104, "53210827006865": 60, "64": 167, "222": 34, "53220715080474": 129, "228": 40, "223": 35, "53220715080479": 131, "53220929128593": 150, "53220520046686": 109, "53211208035674": 95, "53211208035683": 101, "150": 16, "53211208035673": 94, "215": 32, "53220817102780": 149, "12": 4, "194": 26, "53210827006867": 61, "53230206192368": 161, "53211208035676": 96, "210": 30, "53211208035688": 105, "53230206192330": 160, "226": 38, "53230206192298": 153, "53220715080554": 146, "53210825006604": 59, "88": 176, "91": 178, "53210825006601": 57, "53230206192307": 155, "95": 179, "53210625001282": 50, "72": 171, "90": 177, "227": 39, "53211208035681": 100, "13": 6, "53210827006879": 67, "53220715080463": 125, "145": 14, "65": 168, "53211208035668": 90, "53211208035684": 102, "202": 28, "53220106039937": 107, "53220715080397": 114, "141": 13, "53210625001275": 48, "53211113031976": 85, "53230206192289": 152, "225": 37, "53220715080482": 133, "138": 10, "67": 169, "53220715080555": 147, "139": 11, "63": 166, "53230206192299": 154, "53210827006872": 64, "201": 27, "53210825006597": 54, "53230206192313": 158, "100": 1, "208": 29, "53211208035680": 99, "53220715080487": 136, "53211208035664": 88, "53220715080542": 144, "53220715080432": 124, "52": 47, "53230208193357": 162, "97": 180, "53211208035670": 92, "53220106039990": 108, "53220715080541": 143, "53211108031271": 81, "53220715080495": 138, "78": 173, "53220715080501": 142, "53211108031267": 79, "53211208035669": 91, "53211108031260": 74, "61": 165, "53210625001279": 49, "82": 175, "53211108031263": 76, "53211208035672": 93, "53210827006868": 62, "140": 12, "53211113032058": 86, "53211208035685": 103, "53230206192287": 151, "53230206192312": 157}, "tag_good_at_direction_2_encoder": {"0": 0, "53210825006600": 57, "53220715080400": 120, "170": 22, "53211208035678": 101, "53210827006869": 63, "122": 8, "53220715080414": 125, "53220715080401": 121, "180": 24, "184": 26, "19": 29, "53220715080413": 124, "53220715080383": 115, "53210827006887": 69, "53211108031266": 83, "8": 167, "15": 19, "53210827006888": 70, "53220715080481": 137, "53210825006599": 56, "53211108031264": 81, "53210827006873": 65, "50": 47, "133": 12, "53220715080486": 140, "53220715080388": 116, "51": 48, "53220715080393": 118, "212": 34, "53210827006892": 72, "53211208035693": 109, "53211208035683": 104, "181": 25, "53220715080391": 117, "53211108031272": 87, "54": 158, "53220715080464": 131, "53220817102780": 152, "141": 17, "72": 164, "3": 44, "59": 159, "53211108031268": 85, "97": 174, "225": 40, "53220715080498": 145, "53211208035660": 93, "41": 46, "53211208035665": 95, "33": 45, "173": 23, "215": 35, "63": 160, "151": 21, "53210825006590": 53, "218": 36, "53210825006604": 60, "53211108031265": 82, "53211208035670": 96, "130": 10, "53210827006876": 67, "188": 28, "53211208035677": 100, "53220715080467": 133, "53210827006890": 71, "102": 3, "186": 27, "53210827006879": 68, "53220715080479": 136, "53220715080397": 119, "53210827006867": 62, "224": 39, "29": 43, "138": 14, "100": 1, "53220715080495": 143, "53220715080465": 132, "53210827006865": 61, "53220715080404": 122, "53211113031967": 90, "53211108031267": 84, "53220715080482": 138, "53220715080417": 126, "145": 18, "222": 37, "53210825006591": 54, "53220715080554": 150, "53220715080432": 129, "53220715080483": 139, "53220715080474": 134, "53210825006584": 52, "53220715080556": 151, "53220715080497": 144, "53220715080487": 141, "210": 33, "52": 49, "53211108031259": 76, "53211208035684": 105, "101": 2, "53210825006601": 58, "53211108031271": 86, "53230206192307": 156, "53211108031257": 74, "53210825006603": 59, "53211108031256": 73, "139": 15, "13": 9, "53220715080408": 123, "91": 173, "208": 32, "53211108031274": 88, "140": 16, "150": 20, "53211208035681": 103, "53211108031261": 78, "53220520046686": 114, "53210825006597": 55, "53220715080425": 128, "53220715080542": 148, "53210625001277": 51, "53220715080460": 130, "53220715080550": 149, "53220929128593": 153, "53220715080494": 142, "194": 30, "131": 11, "53210827006872": 64, "53211108031262": 79, "90": 172, "53220715080500": 146, "53210625001274": 50, "80": 168, "53211208035672": 97, "53230206192317": 157, "53210827006874": 66, "103": 4, "53211208035673": 98, "53230206192298": 155, "117": 5, "65": 162, "78": 166, "53211208035688": 108, "227": 42, "53220715080476": 135, "53211108031263": 80, "223": 38, "81": 169, "87": 170, "135": 13, "66": 163, "73": 165, "53211208035674": 99, "53211108031258": 75, "53220715080541": 147, "201": 31, "53220106040008": 113, "53211108031260": 77, "53211113032058": 92, "53211208035664": 94, "53230206192289": 154, "53220715080422": 127, "53211208035686": 106, "226": 41, "53211113031976": 91, "53211113031890": 89, "64": 161, "118": 6, "53220106039936": 110, "53220106039977": 111, "119": 7, "88": 171, "53211208035679": 102, "53220106039997": 112, "53211208035687": 107}, "tag_good_at_direction_3_encoder": {"0": 0, "53210827006892": 67, "15": 12, "188": 21, "131": 5, "53210825006591": 50, "53210827006887": 64, "184": 19, "173": 16, "53210827006888": 65, "53220715080464": 129, "53220715080414": 122, "51": 42, "53211108031258": 71, "180": 17, "8": 167, "53211208035677": 94, "53210825006590": 49, "53210827006865": 56, "186": 20, "53211208035683": 99, "53220715080397": 116, "53211108031265": 77, "53211208035665": 90, "181": 18, "41": 40, "29": 37, "133": 6, "53220715080481": 135, "218": 29, "3": 38, "53220715080413": 121, "138": 8, "53220715080408": 120, "53211208035678": 95, "215": 28, "151": 14, "53210827006867": 57, "53230206192330": 159, "50": 41, "65": 164, "53211108031264": 76, "53220715080417": 123, "19": 22, "53220715080383": 112, "150": 13, "53211108031263": 75, "53220715080486": 138, "53210825006600": 52, "53210825006599": 51, "53230206192307": 156, "59": 161, "145": 11, "64": 163, "53220715080391": 114, "122": 2, "54": 160, "53220715080432": 126, "53220715080404": 119, "222": 30, "53211108031257": 70, "53220817102780": 151, "210": 26, "130": 4, "53220715080500": 144, "53220715080541": 145, "53211108031272": 83, "53210825006601": 53, "53220715080467": 131, "80": 168, "53220715080483": 137, "194": 23, "53220715080465": 130, "53220715080497": 142, "53220715080393": 115, "53220715080554": 148, "53220715080474": 132, "53220715080498": 143, "53220715080400": 117, "53210827006876": 62, "53220715080425": 125, "170": 15, "226": 34, "33": 39, "53220715080550": 147, "212": 27, "53220715080401": 118, "53230206192313": 157, "225": 33, "53210827006890": 66, "53211108031267": 79, "228": 36, "53211108031256": 69, "53220929128593": 152, "53220715080476": 133, "52": 43, "90": 170, "53220715080479": 134, "53211208035693": 104, "53220715080460": 127, "53211208035684": 100, "141": 10, "53220715080487": 139, "53211108031260": 73, "53210827006869": 58, "53220715080422": 124, "53211208035673": 91, "53220715080482": 136, "72": 166, "53211108031268": 80, "208": 25, "53211208035660": 87, "53210625001281": 46, "224": 32, "227": 35, "53210827006879": 63, "53210825006584": 48, "53210825006603": 54, "53220715080494": 140, "53211208035687": 103, "53220715080542": 146, "53210625001272": 45, "53210827006897": 68, "53211108031271": 82, "53211108031269": 81, "53210827006872": 59, "63": 162, "53220715080556": 150, "53210825006604": 55, "53211113032062": 86, "53220715080555": 149, "53211108031262": 74, "95": 172, "53230206192298": 155, "81": 169, "53220715080388": 113, "53211208035676": 93, "53230206192292": 154, "53220106039948": 106, "53220106039955": 107, "53211113032058": 85, "53211108031259": 72, "53210827006873": 60, "53220715080495": 141, "91": 171, "53211208035686": 102, "53220106039977": 108, "139": 9, "53230206192289": 153, "53211208035674": 92, "53210625001284": 47, "13": 3, "53230206192317": 158, "201": 24, "53220520046686": 111, "53211208035680": 97, "53211208035685": 101, "53211208035664": 89, "53210827006874": 61, "100": 1, "53220106039938": 105, "223": 31, "53211108031266": 78, "53211113031967": 84, "53220715080463": 128, "53211208035681": 98, "71": 165, "53220106039995": 109, "53220106039998": 110, "53211208035663": 88, "53210520000105": 44, "135": 7, "53211208035679": 96}, "tag_good_at_direction_4_encoder": {"0": 0, "180": 18, "53210827006887": 65, "53211208035693": 100, "3": 38, "8": 154, "59": 149, "53220715080393": 107, "53210827006888": 66, "53211208035665": 83, "53210825006599": 52, "53210825006590": 50, "53220715080498": 133, "29": 37, "53210827006892": 68, "208": 27, "181": 19, "184": 20, "145": 12, "53220715080414": 113, "111": 2, "41": 40, "63": 150, "53220715080413": 112, "186": 21, "201": 25, "53210827006869": 59, "53211108031257": 70, "53220715080476": 124, "53210825006604": 56, "53210625001276": 47, "53211108031262": 73, "53220715080486": 129, "133": 8, "130": 6, "15": 13, "53211108031272": 79, "53220715080425": 116, "122": 4, "53210825006600": 53, "65": 151, "150": 14, "53220715080383": 105, "53211208035684": 95, "173": 17, "54": 148, "53220715080417": 114, "53220715080432": 117, "53210825006603": 55, "53211208035678": 91, "53230206192307": 145, "53211208035677": 90, "53210827006865": 57, "53211108031265": 75, "212": 29, "53230206192298": 143, "53220715080404": 110, "50": 41, "76": 153, "131": 7, "218": 31, "53220715080391": 106, "53211208035673": 87, "53220715080464": 119, "53220715080497": 132, "53220715080481": 126, "53210825006591": 51, "53210827006874": 62, "188": 22, "19": 23, "139": 11, "53220715080474": 122, "151": 15, "53210827006876": 63, "91": 158, "53210825006601": 54, "53211208035660": 82, "210": 28, "51": 42, "53210827006873": 61, "53230206192313": 146, "53220715080500": 134, "53220715080555": 139, "53211208035686": 97, "53210827006879": 64, "170": 16, "223": 33, "53220715080550": 137, "53220715080542": 136, "53211108031264": 74, "53220715080408": 111, "53220715080401": 109, "53211208035666": 84, "53210827006890": 67, "194": 24, "53220715080475": 123, "53211208035669": 85, "53220715080554": 138, "53211208035683": 94, "53220715080482": 127, "53220106039977": 102, "215": 30, "53220715080467": 121, "53220715080487": 130, "53220715080422": 115, "53211108031259": 71, "33": 39, "53220715080463": 118, "202": 26, "53220715080400": 108, "53211113031967": 81, "53211108031256": 69, "53220715080465": 120, "53220929128593": 142, "53210827006867": 58, "53220520046686": 104, "53220715080479": 125, "53220817102780": 141, "228": 36, "222": 32, "53210825006584": 49, "80": 155, "53220715080541": 135, "53230206192299": 144, "53220715080494": 131, "53211208035681": 93, "53211208035670": 86, "135": 9, "53211108031267": 77, "53220715080483": 128, "225": 35, "53211208035685": 96, "53211108031274": 80, "52": 43, "53211108031268": 78, "53220106039945": 101, "100": 1, "224": 34, "53211208035680": 92, "73": 152, "53220106039998": 103, "53211108031260": 72, "82": 156, "90": 157, "53210827006872": 60, "53210625001275": 46, "53230206192317": 147, "13": 5, "53211108031266": 76, "53211208035687": 98, "53210625001278": 48, "117": 3, "53211208035676": 89, "138": 10, "53211208035688": 99, "53211208035674": 88, "53220715080556": 140, "53210520000103": 44, "53210520000110": 45}, "tag_good_at_direction_5_encoder": {"0": 0, "53210827006888": 62, "53210827006869": 55, "53220715080413": 109, "50": 35, "53220715080464": 116, "53210825006599": 47, "180": 15, "133": 5, "184": 17, "53220715080542": 132, "53210825006591": 45, "53210827006887": 61, "173": 14, "53220715080414": 110, "151": 12, "53220715080383": 101, "19": 20, "53211208035664": 83, "53220715080425": 113, "130": 3, "186": 18, "122": 2, "53210827006897": 65, "3": 32, "53210625001278": 41, "53220715080404": 107, "51": 36, "53220715080481": 122, "170": 13, "53211108031268": 77, "53210825006590": 44, "8": 146, "72": 145, "181": 16, "145": 9, "53211208035665": 84, "53211208035683": 93, "15": 10, "53210827006892": 64, "215": 25, "188": 19, "41": 34, "53220715080391": 103, "54": 141, "53211108031257": 67, "53220715080550": 133, "29": 31, "67": 144, "53211108031256": 66, "53210827006872": 56, "53210825006603": 50, "53220715080467": 118, "53220715080494": 127, "53210827006890": 63, "53211108031260": 70, "59": 142, "53220715080556": 135, "53210827006876": 59, "224": 28, "53220715080479": 121, "210": 23, "53211208035678": 90, "53211108031264": 74, "53210827006873": 57, "53211208035673": 87, "53220715080401": 106, "223": 27, "53210825006600": 48, "53220715080500": 130, "53220715080486": 125, "53220715080474": 119, "53211208035670": 86, "150": 11, "218": 26, "53220715080393": 104, "53220929128593": 137, "53220715080541": 131, "53210825006601": 49, "194": 21, "53211108031263": 73, "208": 22, "53211208035677": 89, "53220715080432": 114, "53210827006865": 52, "53211108031272": 79, "53220715080554": 134, "53220715080482": 123, "53210827006874": 58, "53211108031265": 75, "53220520046686": 100, "53211208035693": 97, "53220715080465": 117, "53220715080498": 129, "53211208035668": 85, "52": 37, "53220715080417": 111, "53211108031258": 68, "53210827006879": 60, "53211113031975": 80, "53211208035660": 81, "53210825006604": 51, "53220817102780": 136, "53220715080487": 126, "53210827006867": 53, "228": 30, "53211208035685": 95, "53211108031261": 71, "212": 24, "53210825006584": 43, "53230206192313": 139, "226": 29, "53220715080483": 124, "53211108031271": 78, "53211208035680": 91, "53230206192289": 138, "53220106039946": 98, "140": 7, "53211208035684": 94, "53220715080408": 108, "53211208035687": 96, "141": 8, "53211208035674": 88, "131": 4, "53230206192323": 140, "53211108031262": 72, "53220715080422": 112, "53220715080476": 120, "53220715080497": 128, "33": 33, "53210625001276": 40, "53211208035663": 82, "53211108031259": 69, "138": 6, "63": 143, "53211108031266": 76, "53220715080463": 115, "53210625001284": 42, "53210825006597": 46, "53220715080400": 105, "53211208035681": 92, "113": 1, "53210827006868": 54, "53220106039974": 99, "53220715080388": 102, "53210520000109": 38, "53210520000111": 39}, "tag_good_at_group_1_encoder": {"0": 0, "53210520000073": 5, "53210508000015": 1, "53210520000080": 10, "53210520000083": 11, "53210508000017": 3, "53210520000084": 12, "53210520000075": 6, "53210508000016": 2, "53210520000078": 9, "53210520000076": 7, "53210625001267": 14, "53210508000019": 4, "53210625001269": 16, "53211113032146": 17, "53210625001266": 13, "53210520000077": 8, "53210625001268": 15}, "tag_good_at_group_2_encoder": {"0": 0, "53210520000080": 10, "53210508000016": 2, "53210508000015": 1, "53210508000017": 3, "53210520000076": 7, "53210520000083": 11, "53210520000084": 12, "53210625001266": 13, "53210520000077": 8, "53210508000019": 4, "53210520000078": 9, "53210520000075": 6, "53210520000073": 5, "53210625001269": 16, "53211113032146": 17, "53210625001267": 14, "53210625001268": 15}, "tag_good_at_group_3_encoder": {"0": 0, "53210520000075": 6, "53210508000017": 3, "53210508000016": 2, "53210520000077": 8, "53210520000080": 10, "53210508000015": 1, "53210520000073": 5, "53210520000078": 9, "53211113032146": 16, "53210520000084": 12, "53210520000083": 11, "53210625001266": 13, "53210508000019": 4, "53210520000076": 7, "53210625001269": 15, "53210625001268": 14}, "tag_good_at_group_4_encoder": {"0": 0, "53210508000016": 2, "53210520000073": 5, "53210508000015": 1, "53210520000080": 10, "53210508000017": 3, "53210520000078": 9, "53210520000077": 8, "53210520000083": 11, "53210520000075": 6, "53210508000019": 4, "53210520000076": 7, "53210520000084": 12, "53210625001266": 13, "53210625001269": 15, "53211113032146": 16, "53210625001268": 14}, "tag_good_at_group_5_encoder": {"0": 0, "53210508000017": 3, "53210508000016": 2, "53210520000080": 10, "53210508000015": 1, "53210520000077": 8, "53210520000083": 11, "53210520000078": 9, "53210520000073": 5, "53210520000075": 6, "53210520000076": 7, "53210520000084": 12, "53210625001266": 13, "53210508000019": 4, "53211113032146": 17, "53210625001269": 16, "53210625001268": 15, "53210625001267": 14}, "tag_good_at_style_1_encoder": {"0": 0, "53210625001273": 2, "53210625001276": 5, "53210625001275": 4, "53210625001274": 3, "53210625001284": 13, "53210625001272": 1, "53210625001280": 9, "53210625001279": 8, "53210625001285": 14, "53210625001278": 7, "53210625001286": 15, "53210625001282": 11, "53210625001277": 6, "53210625001283": 12, "53211113032273": 16, "53211113032296": 18, "53211113032294": 17, "53210625001281": 10, "53211113032297": 19}, "tag_good_at_style_2_encoder": {"0": 0, "53210625001282": 11, "53210625001283": 12, "53210625001277": 6, "53210625001280": 9, "53210625001276": 5, "53210625001272": 1, "53210625001279": 8, "53210625001273": 2, "53210625001284": 13, "53210625001278": 7, "53210625001274": 3, "53210625001281": 10, "53211113032296": 18, "53210625001285": 14, "53210625001275": 4, "53211113032297": 19, "53210625001286": 15, "53211113032294": 17, "53211113032273": 16}, "tag_good_at_style_3_encoder": {"0": 0, "53210625001275": 4, "53210625001274": 3, "53210625001278": 7, "53210625001282": 11, "53210625001277": 6, "53210625001283": 12, "53210625001272": 1, "53210625001279": 8, "53210625001284": 13, "53210625001276": 5, "53210625001273": 2, "53210625001285": 14, "53210625001286": 15, "53210625001281": 10, "53210625001280": 9, "53211113032294": 17, "53211113032273": 16, "53211113032297": 19, "53211113032296": 18}, "tag_good_at_style_4_encoder": {"0": 0, "53210625001280": 9, "53210625001284": 13, "53210625001285": 14, "53210625001282": 11, "53210625001278": 7, "53210625001276": 5, "53210625001274": 3, "53210625001272": 1, "53210625001275": 4, "53210625001277": 6, "53210625001273": 2, "53210625001283": 12, "53210625001279": 8, "53210625001281": 10, "53211113032294": 17, "53211113032273": 16, "53211113032297": 19, "53210625001286": 15, "53211113032296": 18}, "tag_good_at_style_5_encoder": {"0": 0, "53210625001285": 14, "53210625001273": 2, "53210625001274": 3, "53210625001276": 5, "53210625001282": 11, "53210625001275": 4, "53210625001272": 1, "53210625001279": 8, "53210625001284": 13, "53210625001281": 10, "53210625001277": 6, "53210625001278": 7, "53210625001280": 9, "53210625001283": 12, "53211113032296": 18, "53210625001286": 15, "53211113032273": 16, "53211113032297": 19, "53211113032294": 17}, "tag_good_at_service_1_encoder": {"0": 0, "53210520000109": 10, "53210520000100": 1, "53210520000106": 7, "53210520000105": 6, "53210520000103": 4, "53210520000107": 8, "53210520000101": 2, "53210520000102": 3, "53210520000108": 9, "53210520000111": 12, "53210520000117": 18, "53210520000112": 13, "53210924010501": 22, "53210520000113": 14, "53210520000118": 19, "53210520000110": 11, "53210520000104": 5, "53210520000120": 21, "53210520000119": 20, "53210520000114": 15, "53210520000115": 16, "53210520000116": 17}, "tag_good_at_service_2_encoder": {"0": 0, "53210520000102": 3, "53210520000105": 6, "53210520000107": 8, "53210520000100": 1, "53210520000103": 4, "53210520000109": 10, "53210520000101": 2, "53210520000108": 9, "53210520000111": 12, "53210520000117": 18, "53210520000119": 20, "53210520000104": 5, "53210520000114": 15, "53210520000106": 7, "53210520000118": 19, "53210520000120": 21, "53210520000110": 11, "53210520000112": 13, "53210520000113": 14, "53210924010501": 22, "53210520000116": 17, "53210520000115": 16}, "tag_good_at_service_3_encoder": {"0": 0, "53210520000100": 1, "53210520000108": 9, "53210520000107": 8, "53210520000101": 2, "53210520000111": 12, "53210520000114": 15, "53210520000102": 3, "53210520000105": 6, "53210520000104": 5, "53210520000106": 7, "53210520000103": 4, "53210520000110": 11, "53210520000109": 10, "53210520000113": 14, "53210520000112": 13, "53210520000117": 18, "53210520000115": 16, "53210520000118": 19, "53210520000116": 17, "53210520000119": 20, "53210520000120": 21, "53210924010501": 22}, "tag_good_at_service_4_encoder": {"0": 0, "53210520000107": 8, "53210520000108": 9, "53210520000102": 3, "53210520000103": 4, "53210520000100": 1, "53210520000105": 6, "53210520000110": 11, "53210520000109": 10, "53210520000106": 7, "53210520000101": 2, "53210520000117": 17, "53210520000104": 5, "53210520000112": 13, "53210520000120": 20, "53210520000113": 14, "53210520000111": 12, "53210924010501": 21, "53210520000118": 18, "53210520000119": 19, "53210520000114": 15, "53210520000115": 16}, "tag_good_at_service_5_encoder": {"0": 0, "53210520000102": 3, "53210520000109": 10, "53210520000101": 2, "53210520000108": 9, "53210520000103": 4, "53210520000110": 11, "53210520000105": 6, "53210520000111": 12, "53210520000100": 1, "53210520000104": 5, "53210520000113": 14, "53210520000106": 7, "53210520000107": 8, "53210520000112": 13, "53210520000117": 18, "53210520000115": 16, "53210520000116": 17, "53210520000114": 15, "53210520000120": 21, "53210520000118": 19, "53210924010501": 22, "53210520000119": 20}, "tag_good_at_school_1_encoder": {"0": 0, "53220811099004": 10, "53211113032184": 6, "53220811099003": 9, "53210604000139": 4, "53221018139938": 19, "53210604000138": 3, "53220811098997": 7, "53210517000040": 1, "53220811099001": 8, "53220811099010": 16, "53210518000057": 2, "53220930129190": 18, "53210604000141": 5, "53220811099006": 12, "53220811099007": 13, "53220811099009": 15, "53220811099008": 14, "53220811099005": 11, "53220930129188": 17}, "tag_good_at_school_2_encoder": {"0": 0, "53220811098997": 7, "53210517000040": 1, "53211113032184": 6, "53220811099003": 9, "53210604000139": 4, "53220811099001": 8, "53220811099004": 10, "53210604000138": 3, "53221018139938": 17, "53220930129190": 16, "53210518000057": 2, "53210604000141": 5, "53220811099006": 12, "53220811099010": 15, "53220811099005": 11, "53220811099007": 13, "53220811099009": 14}, "tag_good_at_school_3_encoder": {"0": 0, "53220811099001": 8, "53220811099004": 10, "53220811099007": 13, "53210517000040": 1, "53220811099008": 14, "53210604000138": 3, "53220811098997": 7, "53220811099003": 9, "53220811099010": 15, "53220811099006": 12, "53210604000139": 4, "53210518000057": 2, "53210604000141": 5, "53211113032184": 6, "53220930129190": 17, "53220811099005": 11, "53220930129188": 16}, "tag_good_at_school_4_encoder": {"0": 0, "53210604000139": 4, "53220811099006": 11, "53210517000040": 1, "53210518000057": 2, "53210604000138": 3, "53220811099004": 10, "53220811099001": 8, "53220811099003": 9, "53211113032184": 6, "53220811099009": 13, "53220811098997": 7, "53210604000141": 5, "53220811099008": 12, "53220930129188": 14, "53220930129190": 15, "53221018139938": 16}, "tag_good_at_school_5_encoder": {"0": 0, "53210517000040": 1, "53220811099004": 10, "53220811099001": 8, "53220811099003": 9, "53210604000141": 5, "53210518000057": 2, "53220811098997": 7, "53220930129190": 14, "53210604000139": 4, "53210604000138": 3, "53220811099005": 11, "53211113032184": 6, "53220811099006": 12, "53220811099010": 13}}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
{"ffrom_login_encoder": {"android_xiaomi": 76, "android_vivo": 74, "android_oppo": 72, "android_huawei": 62, "0": 0, "ATK_7_android_huawei": 18, "m_login_default": 88, "TK_yyjlcs": 55, "app_ios": 79, "m_ydl": 91, "TK_4": 53, "android_10": 57, "yj_listeners_tengxun": 102, "ATK_android_yyjlcs_huawei": 31, "ATK_7_android_oppo": 22, "login_miss_ffrom_default": 86, "AppletWechatListen": 47, "ATK_4_android_yyb": 12, "ATK_7_android_xiaomi": 26, "zj": 106, "yj_listeners_douyin": 101, "ATK_android_yyjlcs_oppo": 34, "ATK_android_yyjlcs_vivo": 35, "ATK_android_yyjlcs_xiaomi": 37, "ios_1": 81, "android_yyb": 77, "login_api_sms_missing_default": 85, "android_m": 64, "ATK_7_android_360": 16, "ATK_4_android_vivo": 9, "ATK_7_android_yyb": 27, "m_wx_app": 90, "AppletWechatYdlPsyConsult": 48, "ATK_7_android_baidu": 17, "ATK_4_android_baidu": 4, "AppletWechatAiXiaoyi": 45, "ATK_android_yyjlcs_lenovo": 32, "ATK_android_yyjlcs_baidu": 30, "mini_shiyebu": 93, "ATK_7_android_vivo": 24, "AppletWechatCourseFuLi": 46, "login_api_phone_missing_default": 84, "android_sanxing": 73, "ATK_android_yyjlcs_wdj": 36, "android_medical_xiaomi": 69, "pinganbaoxian": 95, "ATK_7_android_letv": 20, "zhonganhuyi": 105, "BG-platform": 49, "android_zhuzhan": 78, "ATK_android_yyjlcs_yyb": 38, "ATK_7_android_zhuzhan": 28, "ATK_4_android_meizu": 6, "android_baidu": 61, "ATK_android_yyjlcs_360": 29, "ATK_4_android_xiaomi": 11, "m": 87, "ATK_7_android_sanxing": 23, "ydl-dhzx": 97, "ydl-pro": 99, "TK_qinggan": 54, "m_wechat": 89, "yj_listeners_ydlxlgzh": 103, "android_meizu": 71, "BG-xinting": 50, "android_appdouyin": 60, "android_medical_doctor": 65, "mini_shrink": 94, "swan": 96, "ATK_6_android_huawei": 14, "ATK_android_yyjlcs_meizu": 33, "android_medical_huawei": 66, "android_360": 58, "ATK_7_android_meizu": 21, "ATK_7_android_lenovo": 19, "ATK_4_android_huawei": 5, "android_medical_vivo": 68, "ATK_4_android_oppo": 7, "ATK_4_android_sanxing": 8, "ATK_7_android_wdj": 25, "ATK_yyjlcs_360cn": 42, "yj_consultant_tengxun": 100, "android_medical_oppo": 67, "ios_medical_user": 83, "ATK_4_android_360": 3, "ATK_4_android_wdj": 10, "ios_medical_doctor": 82, "ATK_qinggan": 40, "android_Cpd_Honor": 59, "ydl-emotion": 98, "BaiduSem_AppAndroidYdl": 51, "ATK_3_android_baidu": 2, "android_lenovo": 63, "baidu": 80, "yyb": 104, "android_wdj": 75, "alipay": 56, "ATK_6_android_baidu": 13, "ATK_yyjlcs_xiaomi": 44, "ATK_10_android_huawei": 1, "ATK_6_android_meizu": 15, "ATK_yyjlcs_null": 43, "android_medical_yyb": 70, "ATK_ylcs_xiaomi": 41, "meizu": 92, "ATK_aqcs_yyb": 39, "BaiduSem_zhuzhan": 52}, "user_login_city_encoder": {"0": 0, "440800": 200, "370200": 131, "411500": 161, "440300": 195, "530100": 267, "451400": 228, "120000": 3, "500000": 245, "310000": 69, "330700": 89, "440100": 193, "330200": 84, "610100": 276, "420100": 164, "330100": 83, "520100": 264, "410100": 146, "450200": 216, "441500": 205, "450300": 217, "370600": 135, "110000": 1, "410400": 149, "340300": 96, "360700": 125, "330600": 88, "331000": 92, "320100": 70, "370100": 130, "510100": 246, "441200": 202, "630100": 296, "130100": 4, "230100": 57, "320200": 71, "130900": 12, "410300": 148, "440700": 199, "451100": 225, "451300": 227, "650800": 310, "650500": 307, "370800": 137, "220100": 49, "445200": 213, "431200": 191, "330300": 85, "460100": 229, "450800": 222, "511100": 255, "320500": 74, "411100": 157, "441901": 210, "430100": 180, "411400": 160, "140800": 22, "450700": 221, "520300": 266, "370500": 134, "130700": 10, "610600": 281, "610500": 280, "220500": 53, "320300": 72, "350100": 110, "360100": 119, "440500": 197, "410800": 153, "131000": 13, "140900": 23, "440600": 198, "540100": 275, "150500": 30, "370700": 136, "420600": 168, "340100": 94, "340400": 97, "431000": 189, "371700": 145, "130600": 9, "630200": 297, "350800": 117, "610400": 279, "340700": 100, "510900": 253, "630300": 298, "421100": 173, "340200": 95, "330500": 87, "140300": 17, "150100": 26, "231000": 66, "620100": 284, "220700": 55, "130800": 11, "442000": 211, "210200": 36, "361000": 128, "140500": 19, "610700": 282, "341300": 105, "350600": 115, "450100": 215, "421300": 175, "450500": 219, "441400": 204, "320700": 76, "140100": 15, "510400": 248, "370900": 138, "320400": 73, "130200": 5, "371300": 141, "360400": 122, "230500": 61, "650100": 303, "431300": 192, "130500": 8, "430200": 181, "511700": 260, "341700": 108, "370400": 133, "530800": 273, "371500": 143, "210100": 35, "350900": 118, "431100": 190, "340600": 99, "141000": 24, "420300": 166, "150600": 31, "610800": 283, "341200": 104, "511500": 258, "350200": 111, "511300": 256, "210800": 42, "230300": 59, "210900": 43, "140700": 21, "350500": 114, "350700": 116, "141100": 25, "441300": 203, "421200": 174, "445100": 212, "PHBWH00": 362, "530400": 269, "150400": 29, "210400": 38, "441600": 206, "510700": 251, "450900": 223, "441800": 208, "130300": 6, "430900": 188, "360300": 121, "441900": 209, "640100": 301, "371400": 142, "621200": 295, "211400": 48, "510600": 250, "530300": 268, "610300": 278, "231200": 68, "621000": 293, "371600": 144, "150900": 34, "211300": 47, "430500": 184, "430400": 183, "410500": 150, "530900": 274, "411600": 162, "211100": 45, "620900": 292, "211200": 46, "320900": 78, "441700": 207, "512000": 263, "620600": 289, "361100": 129, "510800": 252, "620500": 288, "330400": 86, "411300": 159, "231100": 67, "130400": 7, "341000": 102, "320600": 75, "650300": 305, "230800": 64, "420200": 165, "440400": 196, "350400": 113, "330900": 91, "440900": 201, "210700": 41, "420900": 171, "320800": 77, "371000": 139, "321300": 82, "429005": 177, "360900": 127, "430800": 187, "340500": 98, "520200": 265, "350300": 112, "210600": 40, "140200": 16, "410700": 152, "651000": 311, "511600": 259, "42A2100": 179, "420500": 167, "450400": 218, "511000": 254, "230200": 58, "651300": 314, "411000": 156, "410200": 147, "360200": 120, "430300": 182, "220800": 56, "430600": 185, "NSHF00": 354, "445300": 214, "370300": 132, "410900": 155, "131100": 14, "410600": 151, "510500": 249, "650700": 309, "421000": 172, "510300": 247, "621100": 294, "330800": 90, "NSWHBS00": 355, "321000": 79, "140400": 18, "620700": 290, "331100": 93, "341500": 106, "220200": 50, "440200": 194, "150800": 33, "630400": 299, "511900": 262, "371100": 140, "321100": 80, "411700": 163, "420700": 169, "PKTAS00": 364, "430700": 186, "410881": 154, "511800": 261, "650600": 308, "420800": 170, "NY0000": 357, "651500": 316, "341600": 107, "46A3100": 239, "QLDBNE00": 365, "651200": 313, "469005": 233, "110105": 2, "WASEA00": 380, "650200": 304, "360800": 126, "CASFO00": 330, "511400": 257, "150300": 28, "451000": 224, "651400": 315, "450600": 220, "620800": 291, "210300": 37, "150200": 27, "411200": 158, "451200": 226, "230400": 60, "429004": 176, "610200": 277, "321200": 81, "630500": 300, "460200": 230, "230600": 62, "360600": 124, "341800": 109, "651100": 312, "340800": 101, "530500": 270, "530600": 271, "620400": 287, "MOSTL00": 352, "429006": 178, "341100": 103, "46A3300": 240, "210500": 39, "46A2500": 235, "220300": 51, "KAZAKS00": 346, "140600": 20, "SCTARD00": 369, "150700": 32, "211000": 44, "230900": 65, "620200": 285, "JPN2700": 345, "640200": 302, "JPN1300": 344, "620300": 286, "PHLMNL00": 363, "650400": 306, "530700": 272, "220400": 52, "ILCHI00": 339, "CANTOR00": 328, "KLKUL00": 348, "VICMEL00": 375, "360500": 123, "ITAROM00": 342, "46A3500": 242, "230700": 63, "KL0000": 347, "810100": 319, "PAPHL00": 361, "SPE0000": 370, "RUSMOW00": 366, "810300": 320, "46A2700": 236, "DEUNUE00": 334, "NZLAUK00": 358, "469006": 234, "CALAX00": 323, "CANVAN00": 329, "46A2800": 237, "FRAPAR00": 338, "SAADL00": 368, "MEXMEX00": 350, "930100": 321, "IRLDB00": 341, "220600": 54, "ENGLND00": 335, "46A3400": 241, "AREDU00": 322, "VNMHI00": 376, "469002": 231, "WAPER00": 379, "DEUHH00": 332, "WA0000": 377, "TH-100000": 371, "CANSUD00": 327, "CANMTR00": 325, "469003": 232, "CANLOD00": 324, "THA1000": 372, "ESPVLL00": 337, "NZLHLZ00": 359, "TXAUS00": 373, "CHLRM00": 331, "49SEO00": 244, "NVLAS00": 356, "RUSSPE00": 367, "TXDAL00": 374, "ESPMAD00": 336, "MNG6100": 351, "NLDAMS00": 353, "OR0000": 360, "IRLCK00": 340, "JK0000": 343, "WAALH00": 378, "651600": 317, "MABZD00": 349, "46A3600": 243, "CANOTT00": 326, "DEUKEL00": 333, "651700": 318, "46A3000": 238}, "cate_id_1_encoder": {"26": 5, "23": 3, "0": 0, "27": 6, "1": 1, "452": 7, "22": 2, "699": 8, "25": 4}, "cate_id_2_encoder": {"22": 2, "25": 4, "0": 0, "27": 6, "452": 7, "26": 5, "699": 8, "1": 1, "23": 3}, "cate_id_3_encoder": {"27": 6, "452": 7, "0": 0, "22": 2, "1": 1, "25": 4, "23": 3, "26": 5, "699": 8}, "cate_id_4_encoder": {"25": 4, "1": 1, "0": 0, "23": 3, "452": 7, "699": 8, "26": 5, "27": 6, "22": 2}, "cate_id_5_encoder": {"452": 7, "27": 6, "0": 0, "1": 1, "26": 5, "22": 2, "23": 3, "25": 4, "699": 8}}
\ No newline at end of file
......@@ -5,9 +5,12 @@ import json
import configparser
from typing import List
import xgboost as xgb
import time
import faiss
import requests
import numpy as np
import pandas as pd
from ydl_ai_recommender.src.core.indexer import (
UserCounselorChatIndexer,
......@@ -17,9 +20,10 @@ from ydl_ai_recommender.src.core.indexer import (
CounselorCounselorCFIndexer,
)
from ydl_ai_recommender.src.core.profile import encode_user_profile
from ydl_ai_recommender.src.utils import get_conf_path, get_data_path
from ydl_ai_recommender.src.utils import get_conf_path, get_data_path, read_user_encoder_dict, read_counselors, get_project_path
from ydl_ai_recommender.src.utils.log import create_logger
logger = create_logger(__name__, 'service_xgb.log', is_rotating=True)
class Recommender():
......@@ -240,7 +244,167 @@ class ItemCFRecommender(Recommender):
counselors = counselors[:size]
return counselors
class RecommendByXgboost(Recommender):
def __init__(self, top_n=5, k=20, is_use_db=True, u2c='combination', c2c=None) -> None:
super().__init__()
config = configparser.RawConfigParser()
config.read(get_conf_path())
self.dmp_url = config.get('DMP', 'url')
select_items = ['uid', 'ffrom_login', 'user_login_city', 'user_preference_cate']
self.select_fields = {k: True for k in select_items}
self.user_encoder_convert = read_user_encoder_dict()
self.all_counselors = read_counselors()
#self.recommender = UserCFRecommender(top_n=top_n, k=k, u2c=u2c)
self.params = {'n_estimators': 150, 'max_depth': 7, 'min_child_weight': 5, 'gamma': 0, 'subsample': 0.9,
'colsample_bytree': 0.5, 'reg_alpha': 0, 'reg_lambda': 1, 'learning_rate': 0.1,
'max_delta_step': 0,
'scale_pos_weight': 1}
self.model = xgb.XGBClassifier(objective='binary:logistic', nthread=-1, **self.params)
self.model.load_model(os.path.join(get_project_path(), 'model_data/xgb_model.bin'))
def recommend(self, user_id, size=0, is_merge=True):
s_u_profile_time = time.time()
user_profile = self.get_user_profile(user_id)
logger.info('s_u_profile_time: {} '.format(time.time()-s_u_profile_time))
if not user_profile:
return self._recommend_top(size)
recall_start = time.time()
# recommend_result = self.recommender.recommend(user_id, size=size, is_merge=True)
recommend_result = None
logger.info('recall call time:{}'.format(time.time()-recall_start))
data_time = time.time()
predit_data = self.trans_feature_data(user_id, recommend_result)
logger.info('data_time: {}'.format(time.time()-data_time))
doctor_ids = predit_data.pop('doctor_id')
doctor_ids = doctor_ids.to_numpy()
pre_time = time.time()
predit_result = self.model.predict_proba(predit_data)[:, 1]
logger.info('predit_time:{}'.format(time.time()-pre_time))
result_dict = dict(zip(doctor_ids, predit_result))
result_dict = sorted(result_dict.items(), key=lambda x:x[1], reverse=True)
recommend_data = [{
'counselor': int(c_id),
'score': float(proba),
'from': 'similar_users {}'.format(user_id),
} for (c_id, proba) in result_dict[0:50]]
return recommend_data
def trans_feature_data(self, user_id, counselor_data):
user_feature_data = self.trans_user_feature_data(user_id)
counselor_feature_data = self.trans_counselor_feature_data(counselor_data)
counselor_num = len(counselor_feature_data)
user_feature_data_dataframe = pd.DataFrame([user_feature_data]*counselor_num, columns=['ffrom_login_encoder'\
, 'user_login_city_encoder', 'cate_id_1_encoder', 'cate_id_2_encoder', 'cate_id_3_encoder'\
, 'cate_id_4_encoder', 'cate_id_5_encoder'])
predit_feature_data = pd.concat([user_feature_data_dataframe, counselor_feature_data], axis=1)
return predit_feature_data
def trans_user_feature_data(self, user_id):
user_profile = self.get_user_profile(user_id)
from_login_encoder = self.get_encoder_from_dict('ffrom_login', user_profile['ffrom_login'])
user_login_city_encoder = self.get_encoder_from_dict('user_login_city', user_profile['user_login_city'])
user_preference_cate = user_profile['user_preference_cate']
user_preference_cate_top_5_encoder = self.process_user_preference_cate(user_preference_cate)
user_feature_data = [from_login_encoder, user_login_city_encoder]
user_feature_data.extend(user_preference_cate_top_5_encoder)
return user_feature_data
def trans_counselor_feature_data(self, counselor_data):
# counselor_ids = [str(item['counselor']) for item in counselor_data]
# counselor_profiles = self.all_counselors[self.all_counselors['doctor_id'].isin(counselor_ids)].reset_index(drop=True)
# return counselor_profiles
return self.all_counselors
def get_user_profile(self, user_id):
if user_id == '0':
return []
headers = {
'X-App-Id': 'plough_cloud',
'Content-Type': 'application/json'
}
payload = {
"filter": {
"uid": user_id,
},
"fields": self.select_fields,
"limit": 10
}
try:
get_profile_time = time.time()
response = requests.request('POST', self.dmp_url, headers=headers, json=payload)
self.logger.info(' get user profile cost {} ms'.format((time.time()-get_profile_time)*1000))
resp = response.json()
return resp['data']['objects'][0]
except Exception as e:
self.logger.error('获取用户画像数据失败: %s', e, exc_info=True)
try:
self.logger.exception('response json data %s', resp)
except:
pass
return []
def process_user_preference_cate(self, preference_cate):
result = [0, 0, 0, 0, 0]
ids = []
if isinstance(preference_cate, str):
pref_data = json.loads(preference_cate)
for info in pref_data:
ids.append(info['cate_id'])
ids = ids[0:min(5, len(ids))]
for ind, val in enumerate(ids):
result[ind] = val
encoder_result = []
for ind, val in enumerate(result):
value_convert_dict = self.user_encoder_convert.get('cate_id_{}_encoder'.format(ind+1))
if value_convert_dict is not None:
encoder_result.append(value_convert_dict.get(val, 0))
if len(encoder_result)<5:
encoder_result.extend([0]*(5-len(encoder_result)))
return encoder_result
def get_encoder_from_dict(self, feature_name, feature_value):
value_convert_dict = self.user_encoder_convert.get('{}_encoder'.format(feature_name))
if value_convert_dict is None:
return 0
return value_convert_dict.get(str(feature_value), 0)
def aa(self):
pass
if __name__ == '__main__':
recommender = UserCFRecommender()
print(recommender.recommend('12047'))
\ No newline at end of file
s_time = time.time()
recommender1 = UserCFRecommender()
recommender1.recommend('30004410')
print('all cost time: {}'.format(time.time() - s_time), recommender1.recommend('12047'))
print()
print()
s_time = time.time()
recommender = RecommendByXgboost()
recommender.recommend('30004410')
print('all cost time: '.format(time.time()-s_time), recommender.recommend('12047'))
print()
print()
s_time = time.time()
recommender.recommend('30004410')
print('all cost time: '.format(time.time() - s_time), recommender.recommend('12047'))
\ No newline at end of file
# -*- coding: utf-8 -*-
import json
import time
from concurrent.futures import ThreadPoolExecutor
import tornado.web
......@@ -73,13 +75,71 @@ class RecommendHandler(tornado.web.RequestHandler):
logger.info('response@@uid=%s@@ret=%s', uid, ret_str)
return ret
class RecommendXgbHandler(tornado.web.RequestHandler):
executor = ThreadPoolExecutor(1)
@tornado.gen.coroutine
def get(self):
uid = self.get_argument('uid', None)
if uid is None:
logger.warn('请求参数不正确,无uid')
size = self.get_argument('size', 100)
try:
size = int(size)
except Exception as e:
logger.warn('size=%s 不是数字', size)
size = 100
ret = yield self.run(uid, size)
self.write(ret)
@tornado.gen.coroutine
def post(self):
param = json.loads(self.request.body.decode('utf-8'))
uid = param.get('uid', None)
size = param.get('size', 100)
if uid is None:
logger.warn('请求参数不正确,无uid')
ret = yield self.run(uid, size)
self.write(ret)
@run_on_executor
def run(self, uid, size=100):
logger.info('request@@uid=%s@@size=%s', uid, size)
try:
start_time = time.time()
recommend_result = recommender.recommend(uid, size=size, is_merge=True)
logger.info('request@@uid=%s@@size=%s, cost %s ms', uid, size, (time.time()-start_time)*1000)
ret = {
'status': 'success',
'code': 0,
'data': recommend_result,
'total_count': len(recommend_result),
}
except Exception as e:
logger.error('执行推荐函数报错', exc_info=True)
ret = {
'status': 'error',
'code': 1,
'data': [],
'total_count': 0,
}
ret_str = json.dumps(ret, ensure_ascii=False)
logger.info('response@@uid=%s@@ret=%s', uid, ret_str)
return ret
if __name__ == '__main__':
tornado.options.define('port', default=8868, type=int, help='服务启动的端口号')
tornado.options.parse_command_line()
app = tornado.web.Application(handlers=[(r'/ai_counselor_recommend', RecommendHandler)], autoreload=False, debug=False)
app = tornado.web.Application(handlers=[(r'/ai_counselor_recommend', RecommendHandler),
(r'/ai_counselor_recommend/xgb/v1', RecommendXgbHandler)]
, autoreload=False, debug=False)
http_server = tornado.httpserver.HTTPServer(app)
http_server.listen(tornado.options.options.port)
tornado.ioloop.IOLoop.instance().start()
# -*- coding: utf-8 -*-
import os
import json
import pandas as pd
def get_project_path():
......@@ -22,3 +24,14 @@ def get_conf_path():
def get_model_path():
project_path = get_project_path()
return os.path.join(project_path, 'model')
def read_user_encoder_dict():
user_encoder_json_data = None
project_path = get_project_path()
with open(os.path.join(project_path, 'model_data/user_encoder_json_data.json'), 'r') as f:
user_encoder_json_data = json.load(f)
return user_encoder_json_data
def read_counselors():
project_path = get_project_path()
return pd.read_csv(os.path.join(project_path, 'model_data/doctor_profile_selected_feature.csv'), sep=',', index_col=0, dtype={'doctor_id':str})
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment