Browse Source

scala pred

zhangbo 8 months ago
parent
commit
5ca127d9f7

+ 1309 - 0
recommend-model-produce/src/main/resources/pred_file.json

@@ -0,0 +1,1309 @@
+[
+    {
+        "metafeaturemap": {
+            "alg_cid_feature_cid_action": {
+                "ad_click_3d": "23692",
+                "ad_view_6h": "120089",
+                "ad_click_7d": "43604",
+                "ad_click_14d": "43604",
+                "ad_view_2h": "42576",
+                "ad_conversion_yesterday": "263",
+                "ad_conversion_3h": "113",
+                "ad_click_today": "6952",
+                "ad_click_3h": "2767",
+                "ad_income_3d": "53280",
+                "ad_income_3h": "5424",
+                "ad_income_7d": "91488",
+                "ad_conversion_12h": "298",
+                "ad_view_5h": "100442",
+                "ad_view_1d": "151731",
+                "ad_view_today": "151745",
+                "ad_click_4h": "3715",
+                "ad_view_1h": "21329",
+                "ad_click_yesterday": "5464",
+                "ad_conversion_4h": "154",
+                "ad_view_14d": "965310",
+                "ad_view_yesterday": "117628",
+                "ad_income_4h": "7392",
+                "ad_income_14d": "91488",
+                "ad_income_yesterday": "12624",
+                "ad_click_5h": "4596",
+                "ad_click_1d": "6952",
+                "ad_view_4h": "82045",
+                "ad_income_today": "14304",
+                "ad_conversion_5h": "195",
+                "ad_conversion_1d": "298",
+                "ad_income_1h": "1824",
+                "ad_conversion_1h": "38",
+                "ad_click_1h": "921",
+                "ad_conversion_14d": "1906",
+                "ad_income_5h": "9360",
+                "ad_income_1d": "14304",
+                "ad_conversion_6h": "246",
+                "ad_click_12h": "6951",
+                "ad_click_6h": "5541",
+                "ad_view_12h": "151728",
+                "ad_view_3h": "63240",
+                "ad_conversion_today": "298",
+                "ad_conversion_2h": "72",
+                "ad_income_2h": "3456",
+                "ad_click_2h": "1841",
+                "ad_conversion_7d": "1906",
+                "ad_conversion_3d": "1110",
+                "ad_income_6h": "11808",
+                "ad_view_7d": "965293",
+                "ad_view_3d": "524009",
+                "ad_income_12h": "14304"
+            },
+            "alg_vid_feature_basic_info": {
+                "gmt_create_timestamp": "1721408779146",
+                "bit_rate": "117000",
+                "size": "4781793",
+                "recommend_status": "-6",
+                "width": "360",
+                "title": "各位退休的同学,请听!",
+                "total_time": "326",
+                "height": "480"
+            },
+            "alg_cid_feature_basic_info": {
+                "cidtitle": "0元学书法",
+                "cidposition_id": "1",
+                "adcode": "AD_17182691438561983",
+                "weight": "5000",
+                "cidcode": "CREATIVE_17182691439861662",
+                "adid": "2644",
+                "cidpattern": "0",
+                "adname": "票圈-12",
+                "adverid": "79",
+                "cpa": "48",
+                "targeting_conversion": "10002",
+                "advercode": "ADA_17168094752541677",
+                "advername": "费边一部-书法",
+                "cid": "2670"
+            },
+            "alg_cid_feature_adver_action": {
+                "ad_click_3d": "24551",
+                "ad_view_6h": "120369",
+                "ad_click_7d": "43808",
+                "ad_click_14d": "43809",
+                "ad_view_2h": "41256",
+                "ad_conversion_yesterday": "263",
+                "ad_conversion_3h": "120",
+                "ad_click_today": "7810",
+                "ad_click_3h": "2700",
+                "ad_income_3d": "55584",
+                "ad_income_3h": "5760",
+                "ad_income_7d": "92592",
+                "ad_conversion_12h": "346",
+                "ad_view_5h": "101972",
+                "ad_view_1d": "171673",
+                "ad_view_today": "171665",
+                "ad_click_4h": "3626",
+                "ad_view_1h": "19910",
+                "ad_click_yesterday": "5464",
+                "ad_conversion_4h": "161",
+                "ad_view_14d": "969342",
+                "ad_view_yesterday": "117643",
+                "ad_income_4h": "7728",
+                "ad_income_14d": "92592",
+                "ad_income_yesterday": "12624",
+                "ad_click_5h": "4574",
+                "ad_click_1d": "7811",
+                "ad_view_4h": "83167",
+                "ad_income_today": "16608",
+                "ad_conversion_5h": "202",
+                "ad_conversion_1d": "346",
+                "ad_income_1h": "2208",
+                "ad_conversion_1h": "46",
+                "ad_click_1h": "843",
+                "ad_conversion_14d": "1929",
+                "ad_income_5h": "9696",
+                "ad_income_1d": "16608",
+                "ad_conversion_6h": "243",
+                "ad_click_12h": "7810",
+                "ad_click_6h": "5455",
+                "ad_view_12h": "171655",
+                "ad_view_3h": "62503",
+                "ad_conversion_today": "346",
+                "ad_conversion_2h": "86",
+                "ad_income_2h": "4128",
+                "ad_click_2h": "1780",
+                "ad_conversion_7d": "1929",
+                "ad_conversion_3d": "1158",
+                "ad_income_6h": "11664",
+                "ad_view_7d": "969322",
+                "ad_view_3d": "543954",
+                "ad_income_12h": "16608"
+            }
+        },
+        "allfeature": {
+            "b2_2h_ctcvr": "0.25",
+            "b2_6h_ctcvr": "0.23",
+            "b2_12h_conver": "0.2",
+            "b3_yesterday_cvr": "0.12",
+            "b3_yesterday_conver*ctcvr": "0.18",
+            "b3_6h_cvr": "0.23",
+            "b2_12h_click": "0.22",
+            "b2_3h_ctr": "0.1",
+            "b2_12h_cvr": "0.24",
+            "b2_today_conver*ctcvr": "0.24",
+            "b2_7d_cvr": "0.48",
+            "b2_2h_conver*ctcvr": "0.18",
+            "b3_7d_conver*log(view)": "0.32",
+            "b3_3h_conver*ctcvr": "0.17",
+            "b3_yesterday_conver": "0.16",
+            "b3_3h_ctcvr": "0.2",
+            "b3_1h_ctcvr": "0.21",
+            "b2_2h_conver": "0.18",
+            "b3_yesterday_conver*log(view)": "0.21",
+            "b3_12h_click": "0.5",
+            "b3_2h_click": "0.42",
+            "b3_6h_click": "0.52",
+            "b3_6h_conver*log(view)": "0.35000000000000003",
+            "b2_1h_click": "0.09",
+            "b3_yesterday_ctr": "0.17",
+            "b3_2h_conver": "0.23",
+            "adverid_79": "0.1",
+            "b3_3d_conver*log(view)": "0.33",
+            "b2_3h_cvr": "0.26",
+            "b2_12h_ctr": "0.15",
+            "b2_6h_conver*ctcvr": "0.2",
+            "b3_1d_click": "0.27",
+            "b3_1h_conver*log(view)": "0.23",
+            "b2_1h_ctr": "0.1",
+            "b2_yesterday_ctcvr": "0.11",
+            "b2_today_conver*log(view)": "0.26",
+            "b3_2h_ctr": "0.16",
+            "dayofweek_2": "0.1",
+            "b3_3h_conver*log(view)": "0.26",
+            "b3_1d_conver*ctcvr": "0.2",
+            "b2_3d_conver*ctcvr": "0.29",
+            "cid_2670": "0.1",
+            "ctitle_vtitle_similarity": "0.19",
+            "b2_3d_cvr": "0.29",
+            "b3_1d_conver*log(view)": "0.25",
+            "b2_1h_cvr": "0.49",
+            "b3_1d_cvr": "0.23",
+            "b2_today_ctcvr": "0.23",
+            "b2_yesterday_cvr": "0.11",
+            "b3_3d_ctcvr": "0.23",
+            "b3_today_conver*ctcvr": "0.26",
+            "b3_12h_conver*ctcvr": "0.22",
+            "b3_1d_ctcvr": "0.22",
+            "b2_3d_ctcvr": "0.25",
+            "b2_1h_conver*ctcvr": "0.25",
+            "b3_3d_conver": "0.33",
+            "b2_1d_conver*log(view)": "0.15",
+            "b2_3h_click": "0.16",
+            "b3_6h_ctr": "0.33",
+            "b2_3d_ctr": "0.02",
+            "b2_1d_conver*ctcvr": "0.21",
+            "b2_3d_conver": "0.22",
+            "b3_today_click": "0.5",
+            "b3_yesterday_ctcvr": "0.12",
+            "b3_7d_ctr": "0.26",
+            "b3_7d_click": "0.41000000000000003",
+            "b3_2h_conver*log(view)": "0.24",
+            "b3_1d_ctr": "0.3",
+            "b2_2h_cvr": "0.3",
+            "b2_2h_conver*log(view)": "0.19",
+            "b3_1h_click": "0.4",
+            "b3_12h_ctcvr": "0.21",
+            "b2_3h_conver*ctcvr": "0.18",
+            "b2_1d_click": "0.15",
+            "b2_3h_ctcvr": "0.23",
+            "b3_12h_conver*log(view)": "0.32",
+            "b2_1h_ctcvr": "0.43",
+            "b2_6h_cvr": "0.25",
+            "b3_1h_conver": "0.2",
+            "b3_1h_conver*ctcvr": "0.17",
+            "b3_3h_ctr": "0.14",
+            "b3_1d_conver": "0.24",
+            "b3_today_conver*log(view)": "0.36",
+            "b2_yesterday_click": "0.1",
+            "b2_3h_conver*log(view)": "0.19",
+            "b3_7d_cvr": "0.23",
+            "b2_yesterday_conver*ctcvr": "0.19",
+            "b3_1h_ctr": "0.17",
+            "b2_12h_conver*log(view)": "0.2",
+            "b2_today_cvr": "0.26",
+            "b2_2h_ctr": "0.11",
+            "b3_3d_conver*ctcvr": "0.31",
+            "b2_7d_conver*log(view)": "0.22",
+            "b2_today_conver": "0.24",
+            "b3_today_conver": "0.35000000000000003",
+            "b2_2h_click": "0.12",
+            "b2_12h_conver*ctcvr": "0.2",
+            "b2_12h_ctcvr": "0.22",
+            "b3_6h_conver": "0.35000000000000003",
+            "b3_6h_ctcvr": "0.22",
+            "b2_3d_conver*log(view)": "0.22",
+            "b3_3d_ctr": "0.26",
+            "b2_6h_click": "0.23",
+            "b2_6h_conver*log(view)": "0.22",
+            "b2_yesterday_conver": "0.1",
+            "b2_1h_conver*log(view)": "0.18",
+            "b3_1h_cvr": "0.24",
+            "b2_today_ctr": "0.15",
+            "b3_2h_ctcvr": "0.18",
+            "b2_1h_conver": "0.18",
+            "b2_1d_cvr": "0.24",
+            "b2_yesterday_ctr": "0.15",
+            "b3_today_cvr": "0.23",
+            "b3_3h_click": "0.45",
+            "b2_1d_conver": "0.15",
+            "b2_7d_conver*ctcvr": "0.2",
+            "b2_7d_click": "0.22",
+            "b2_3d_click": "0.2",
+            "b3_3h_conver": "0.26",
+            "b3_12h_ctr": "0.3",
+            "b3_2h_conver*ctcvr": "0.16",
+            "b3_7d_conver": "0.31",
+            "cpa": "0.03",
+            "b3_7d_conver*ctcvr": "0.26",
+            "b2_7d_conver": "0.22",
+            "b3_7d_ctcvr": "0.23",
+            "b3_12h_conver": "0.29",
+            "b2_1d_ctcvr": "0.22",
+            "b3_today_ctcvr": "0.22",
+            "b3_3d_cvr": "0.24",
+            "b2_1d_ctr": "0.14",
+            "b3_yesterday_click": "0.21",
+            "b3_2h_cvr": "0.22",
+            "b2_7d_ctcvr": "0.38",
+            "b3_today_ctr": "0.29",
+            "b2_yesterday_conver*log(view)": "0.15",
+            "b3_12h_cvr": "0.22",
+            "b3_3h_cvr": "0.22",
+            "b2_6h_ctr": "0.15",
+            "b2_6h_conver": "0.2",
+            "b2_7d_ctr": "0.02",
+            "b2_today_click": "0.28",
+            "b2_3h_conver": "0.19",
+            "b3_3d_click": "0.31",
+            "hour_19": "0.1",
+            "b3_6h_conver*ctcvr": "0.26"
+        },
+        "score": 0.033954402431845665,
+        "adverid": "79",
+        "scoreMap": {
+            "ctcvrScore": 7.073833839967847E-4,
+            "cpm": 90.0,
+            "cpa": 48.0
+        },
+        "cid": 2670
+    },
+    {
+        "metafeaturemap": {
+            "alg_cid_feature_cid_action": {
+                "ad_click_3d": "34168",
+                "ad_view_6h": "113632",
+                "ad_click_7d": "64958",
+                "ad_click_14d": "64958",
+                "ad_view_2h": "40350",
+                "ad_conversion_yesterday": "140",
+                "ad_conversion_3h": "109",
+                "ad_click_today": "10379",
+                "ad_click_3h": "2855",
+                "ad_income_3d": "77168",
+                "ad_income_3h": "5668",
+                "ad_income_7d": "140244",
+                "ad_conversion_12h": "412",
+                "ad_view_5h": "94829",
+                "ad_view_1d": "210742",
+                "ad_view_today": "210752",
+                "ad_click_4h": "3750",
+                "ad_view_1h": "20140",
+                "ad_click_yesterday": "3070",
+                "ad_conversion_4h": "144",
+                "ad_view_14d": "1317215",
+                "ad_view_yesterday": "61087",
+                "ad_income_4h": "7488",
+                "ad_income_14d": "140244",
+                "ad_income_yesterday": "7280",
+                "ad_click_5h": "4725",
+                "ad_click_1d": "10378",
+                "ad_view_4h": "77620",
+                "ad_income_today": "21424",
+                "ad_conversion_5h": "183",
+                "ad_conversion_1d": "412",
+                "ad_income_1h": "1664",
+                "ad_conversion_1h": "32",
+                "ad_click_1h": "903",
+                "ad_conversion_14d": "2697",
+                "ad_income_5h": "9516",
+                "ad_income_1d": "21424",
+                "ad_conversion_6h": "224",
+                "ad_click_12h": "10378",
+                "ad_click_6h": "5665",
+                "ad_view_12h": "210738",
+                "ad_view_3h": "59983",
+                "ad_conversion_today": "412",
+                "ad_conversion_2h": "70",
+                "ad_income_2h": "3640",
+                "ad_click_2h": "1850",
+                "ad_conversion_7d": "2697",
+                "ad_conversion_3d": "1484",
+                "ad_income_6h": "11648",
+                "ad_view_7d": "1317203",
+                "ad_view_3d": "681437",
+                "ad_income_12h": "21424"
+            },
+            "alg_vid_feature_basic_info": {
+                "gmt_create_timestamp": "1721408779146",
+                "bit_rate": "117000",
+                "size": "4781793",
+                "recommend_status": "-6",
+                "width": "360",
+                "title": "各位退休的同学,请听!",
+                "total_time": "326",
+                "height": "480"
+            },
+            "alg_cid_feature_basic_info": {
+                "cidtitle": "0元学书法",
+                "cidposition_id": "1",
+                "adcode": "AD_17201828958561927",
+                "weight": "5000",
+                "cidcode": "CREATIVE_17201828960421514",
+                "adid": "2894",
+                "cidpattern": "0",
+                "adname": "700997663-书法0元-馨-H314-H100墨全",
+                "adverid": "6",
+                "cpa": "52",
+                "targeting_conversion": "10002",
+                "advercode": "ADA_17022892775831510",
+                "advername": "费边六部-书法",
+                "cid": "2966"
+            },
+            "alg_cid_feature_adver_action": {
+                "ad_click_3d": "34999",
+                "ad_view_6h": "114010",
+                "ad_click_7d": "65103",
+                "ad_click_14d": "65104",
+                "ad_view_2h": "39321",
+                "ad_conversion_yesterday": "140",
+                "ad_conversion_3h": "103",
+                "ad_click_today": "11210",
+                "ad_click_3h": "2681",
+                "ad_income_3d": "78884",
+                "ad_income_3h": "5356",
+                "ad_income_7d": "140452",
+                "ad_conversion_12h": "445",
+                "ad_view_5h": "96801",
+                "ad_view_1d": "229922",
+                "ad_view_today": "229932",
+                "ad_click_4h": "3686",
+                "ad_view_1h": "19173",
+                "ad_click_yesterday": "3070",
+                "ad_conversion_4h": "142",
+                "ad_view_14d": "1321987",
+                "ad_view_yesterday": "61087",
+                "ad_income_4h": "7384",
+                "ad_income_14d": "140452",
+                "ad_income_yesterday": "7280",
+                "ad_click_5h": "4581",
+                "ad_click_1d": "11209",
+                "ad_view_4h": "79164",
+                "ad_income_today": "23140",
+                "ad_conversion_5h": "177",
+                "ad_conversion_1d": "445",
+                "ad_income_1h": "1716",
+                "ad_conversion_1h": "33",
+                "ad_click_1h": "823",
+                "ad_conversion_14d": "2701",
+                "ad_income_5h": "9204",
+                "ad_income_1d": "23140",
+                "ad_conversion_6h": "216",
+                "ad_click_12h": "11209",
+                "ad_click_6h": "5556",
+                "ad_view_12h": "229918",
+                "ad_view_3h": "59531",
+                "ad_conversion_today": "445",
+                "ad_conversion_2h": "65",
+                "ad_income_2h": "3380",
+                "ad_click_2h": "1734",
+                "ad_conversion_7d": "2701",
+                "ad_conversion_3d": "1517",
+                "ad_income_6h": "11232",
+                "ad_view_7d": "1321974",
+                "ad_view_3d": "700618",
+                "ad_income_12h": "23140"
+            }
+        },
+        "allfeature": {
+            "b2_2h_ctcvr": "0.19",
+            "b2_6h_ctcvr": "0.23",
+            "b2_12h_conver": "0.23",
+            "b3_yesterday_cvr": "0.12",
+            "b3_yesterday_conver*ctcvr": "0.16",
+            "b3_6h_cvr": "0.22",
+            "b2_12h_click": "0.32",
+            "b2_3h_ctr": "0.19",
+            "b2_12h_cvr": "0.24",
+            "b2_today_conver*ctcvr": "0.25",
+            "b2_7d_cvr": "0.37",
+            "b2_2h_conver*ctcvr": "0.16",
+            "b3_7d_conver*log(view)": "0.37",
+            "b3_3h_conver*ctcvr": "0.17",
+            "b3_yesterday_conver": "0.11",
+            "b3_3h_ctcvr": "0.2",
+            "b3_1h_ctcvr": "0.19",
+            "b2_2h_conver": "0.17",
+            "b3_yesterday_conver*log(view)": "0.15",
+            "b3_12h_click": "0.66",
+            "b3_2h_click": "0.42",
+            "b3_6h_click": "0.52",
+            "b3_6h_conver*log(view)": "0.33",
+            "b2_1h_click": "0.09",
+            "b3_yesterday_ctr": "0.37",
+            "b3_2h_conver": "0.23",
+            "b3_3d_conver*log(view)": "0.37",
+            "b2_3h_cvr": "0.25",
+            "b2_12h_ctr": "0.36",
+            "cid_2966": "0.1",
+            "b2_6h_conver*ctcvr": "0.19",
+            "b3_1d_click": "0.36",
+            "b3_1h_conver*log(view)": "0.22",
+            "adverid_6": "0.1",
+            "b2_1h_ctr": "0.11",
+            "b2_yesterday_ctcvr": "0.11",
+            "b2_today_conver*log(view)": "0.3",
+            "b3_2h_ctr": "0.35000000000000003",
+            "dayofweek_2": "0.1",
+            "b3_3h_conver*log(view)": "0.26",
+            "b3_1d_conver*ctcvr": "0.23",
+            "b2_3d_conver*ctcvr": "0.3",
+            "ctitle_vtitle_similarity": "0.19",
+            "b2_3d_cvr": "0.24",
+            "b3_1d_conver*log(view)": "0.29",
+            "b2_1h_cvr": "0.25",
+            "b3_1d_cvr": "0.23",
+            "b2_today_ctcvr": "0.23",
+            "b2_yesterday_cvr": "0.11",
+            "b3_3d_ctcvr": "0.23",
+            "b3_today_conver*ctcvr": "0.31",
+            "b3_12h_conver*ctcvr": "0.28",
+            "b3_1d_ctcvr": "0.22",
+            "b2_3d_ctcvr": "0.27",
+            "b2_1h_conver*ctcvr": "0.16",
+            "b3_3d_conver": "0.36",
+            "b2_1d_conver*log(view)": "0.24",
+            "b2_3h_click": "0.16",
+            "b3_6h_ctr": "0.56",
+            "b2_3d_ctr": "0.37",
+            "b2_1d_conver*ctcvr": "0.24",
+            "b2_3d_conver": "0.26",
+            "b3_today_click": "0.63",
+            "b3_yesterday_ctcvr": "0.12",
+            "b3_7d_ctr": "0.44",
+            "b3_7d_click": "0.58",
+            "b3_2h_conver*log(view)": "0.24",
+            "b3_1d_ctr": "0.59",
+            "b2_2h_cvr": "0.25",
+            "b2_2h_conver*log(view)": "0.17",
+            "b3_1h_click": "0.4",
+            "b3_12h_ctcvr": "0.21",
+            "b2_3h_conver*ctcvr": "0.17",
+            "b2_1d_click": "0.16",
+            "b2_3h_ctcvr": "0.2",
+            "b3_12h_conver*log(view)": "0.4",
+            "b2_1h_ctcvr": "0.22",
+            "b2_6h_cvr": "0.25",
+            "b3_1h_conver": "0.19",
+            "b3_1h_conver*ctcvr": "0.15",
+            "b3_3h_ctr": "0.43",
+            "b3_1d_conver": "0.26",
+            "b3_today_conver*log(view)": "0.44",
+            "b2_yesterday_click": "0.07",
+            "b2_3h_conver*log(view)": "0.19",
+            "b3_7d_cvr": "0.23",
+            "b2_yesterday_conver*ctcvr": "0.11",
+            "b3_1h_ctr": "0.31",
+            "b2_12h_conver*log(view)": "0.23",
+            "b2_today_cvr": "0.26",
+            "b2_2h_ctr": "0.15",
+            "b3_3d_conver*ctcvr": "0.33",
+            "b2_7d_conver*log(view)": "0.22",
+            "b2_today_conver": "0.27",
+            "b3_today_conver": "0.43",
+            "b2_2h_click": "0.12",
+            "b2_12h_conver*ctcvr": "0.22",
+            "b2_12h_ctcvr": "0.22",
+            "b3_6h_conver": "0.34",
+            "b3_6h_ctcvr": "0.22",
+            "b2_3d_conver*log(view)": "0.25",
+            "b3_3d_ctr": "0.62",
+            "b2_6h_click": "0.23",
+            "b2_6h_conver*log(view)": "0.2",
+            "b2_yesterday_conver": "0.07",
+            "b2_1h_conver*log(view)": "0.16",
+            "b3_1h_cvr": "0.21",
+            "b2_today_ctr": "0.35000000000000003",
+            "b3_2h_ctcvr": "0.19",
+            "b2_1h_conver": "0.16",
+            "b2_1d_cvr": "0.24",
+            "b2_yesterday_ctr": "0.31",
+            "b3_today_cvr": "0.22",
+            "b3_3h_click": "0.45",
+            "b2_1d_conver": "0.24",
+            "b2_7d_conver*ctcvr": "0.22",
+            "b2_7d_click": "0.22",
+            "b2_3d_click": "0.22",
+            "b3_3h_conver": "0.26",
+            "b3_12h_ctr": "0.54",
+            "b3_2h_conver*ctcvr": "0.16",
+            "b3_7d_conver": "0.36",
+            "cpa": "0.04",
+            "b3_7d_conver*ctcvr": "0.37",
+            "b2_7d_conver": "0.22",
+            "b3_7d_ctcvr": "0.23",
+            "b3_12h_conver": "0.37",
+            "b2_1d_ctcvr": "0.22",
+            "b3_today_ctcvr": "0.22",
+            "b3_3d_cvr": "0.23",
+            "b2_1d_ctr": "0.34",
+            "b3_yesterday_click": "0.13",
+            "b3_2h_cvr": "0.22",
+            "b2_7d_ctcvr": "0.44",
+            "b3_today_ctr": "0.52",
+            "b2_yesterday_conver*log(view)": "0.11",
+            "b3_12h_cvr": "0.22",
+            "b3_3h_cvr": "0.22",
+            "b2_6h_ctr": "0.37",
+            "b2_6h_conver": "0.19",
+            "b2_7d_ctr": "0.36",
+            "b2_today_click": "0.35000000000000003",
+            "b2_3h_conver": "0.19",
+            "b3_3d_click": "0.43",
+            "hour_19": "0.1",
+            "b3_6h_conver*ctcvr": "0.24"
+        },
+        "score": 0.034843246685341,
+        "adverid": "6",
+        "scoreMap": {
+            "ctcvrScore": 6.700624362565577E-4,
+            "cpm": 90.0,
+            "cpa": 52.0
+        },
+        "cid": 2966
+    },
+    {
+        "metafeaturemap": {
+            "alg_cid_feature_cid_action": {
+                "ad_click_3d": "77599",
+                "ad_view_6h": "180588",
+                "ad_click_7d": "172323",
+                "ad_click_14d": "172323",
+                "ad_view_2h": "63351",
+                "ad_conversion_yesterday": "1176",
+                "ad_conversion_3h": "150",
+                "ad_click_today": "14417",
+                "ad_click_3h": "3929",
+                "ad_income_3d": "197220",
+                "ad_income_3h": "9000",
+                "ad_income_7d": "411840",
+                "ad_conversion_12h": "556",
+                "ad_view_5h": "150551",
+                "ad_view_1d": "553981",
+                "ad_view_today": "330191",
+                "ad_click_4h": "5255",
+                "ad_view_1h": "31793",
+                "ad_click_yesterday": "27230",
+                "ad_conversion_4h": "195",
+                "ad_view_14d": "4002927",
+                "ad_view_yesterday": "639158",
+                "ad_income_4h": "11700",
+                "ad_income_14d": "411840",
+                "ad_income_yesterday": "70560",
+                "ad_click_5h": "6596",
+                "ad_click_1d": "23691",
+                "ad_view_4h": "122822",
+                "ad_income_today": "33420",
+                "ad_conversion_5h": "259",
+                "ad_conversion_1d": "971",
+                "ad_income_1h": "3120",
+                "ad_conversion_1h": "52",
+                "ad_click_1h": "1249",
+                "ad_conversion_14d": "6864",
+                "ad_income_5h": "15540",
+                "ad_income_1d": "58260",
+                "ad_conversion_6h": "300",
+                "ad_click_12h": "14411",
+                "ad_click_6h": "7912",
+                "ad_view_12h": "330139",
+                "ad_view_3h": "94346",
+                "ad_conversion_today": "557",
+                "ad_conversion_2h": "104",
+                "ad_income_2h": "6240",
+                "ad_click_2h": "2570",
+                "ad_conversion_7d": "6864",
+                "ad_conversion_3d": "3287",
+                "ad_income_6h": "18000",
+                "ad_view_7d": "4002902",
+                "ad_view_3d": "1803647",
+                "ad_income_12h": "33360"
+            },
+            "alg_vid_feature_basic_info": {
+                "gmt_create_timestamp": "1721408779146",
+                "bit_rate": "117000",
+                "size": "4781793",
+                "recommend_status": "-6",
+                "width": "360",
+                "title": "各位退休的同学,请听!",
+                "total_time": "326",
+                "height": "480"
+            },
+            "alg_cid_feature_basic_info": {
+                "cidtitle": "0元学书法",
+                "cidposition_id": "1",
+                "adcode": "AD_17205895270641147",
+                "weight": "10000",
+                "cidcode": "CREATIVE_17205895272341865",
+                "adid": "2946",
+                "cidpattern": "0",
+                "adname": "859-240709B2-x1x2",
+                "adverid": "14",
+                "cpa": "60",
+                "targeting_conversion": "10002",
+                "advercode": "ADA_17024592091601405",
+                "advername": "千尺-书法-自营",
+                "cid": "3024"
+            },
+            "alg_cid_feature_adver_action": {
+                "ad_click_3d": "87370",
+                "ad_view_6h": "212463",
+                "ad_click_7d": "189213",
+                "ad_click_14d": "189213",
+                "ad_view_2h": "73387",
+                "ad_conversion_yesterday": "1230",
+                "ad_conversion_3h": "159",
+                "ad_click_today": "20679",
+                "ad_click_3h": "5395",
+                "ad_income_3d": "202720",
+                "ad_income_3h": "9479",
+                "ad_income_7d": "432901",
+                "ad_conversion_12h": "649",
+                "ad_view_5h": "181417",
+                "ad_view_1d": "623942",
+                "ad_view_today": "414880",
+                "ad_click_4h": "7278",
+                "ad_view_1h": "35778",
+                "ad_click_yesterday": "31403",
+                "ad_conversion_4h": "211",
+                "ad_view_14d": "4272043",
+                "ad_view_yesterday": "688542",
+                "ad_income_4h": "12569",
+                "ad_income_14d": "432901",
+                "ad_income_yesterday": "73486",
+                "ad_click_5h": "9139",
+                "ad_click_1d": "30768",
+                "ad_view_4h": "147400",
+                "ad_income_today": "39112",
+                "ad_conversion_5h": "266",
+                "ad_conversion_1d": "1023",
+                "ad_income_1h": "2680",
+                "ad_conversion_1h": "45",
+                "ad_click_1h": "1696",
+                "ad_conversion_14d": "7238",
+                "ad_income_5h": "15815",
+                "ad_income_1d": "60934",
+                "ad_conversion_6h": "330",
+                "ad_click_12h": "20213",
+                "ad_click_6h": "10802",
+                "ad_view_12h": "410275",
+                "ad_view_3h": "110754",
+                "ad_conversion_today": "657",
+                "ad_conversion_2h": "104",
+                "ad_income_2h": "6196",
+                "ad_click_2h": "3525",
+                "ad_conversion_7d": "7238",
+                "ad_conversion_3d": "3393",
+                "ad_income_6h": "19655",
+                "ad_view_7d": "4272008",
+                "ad_view_3d": "1917229",
+                "ad_income_12h": "38667"
+            }
+        },
+        "allfeature": {
+            "b2_2h_ctcvr": "0.11",
+            "b2_6h_ctcvr": "0.12",
+            "b2_12h_conver": "0.25",
+            "b3_yesterday_cvr": "0.12",
+            "b3_yesterday_conver*ctcvr": "0.23",
+            "b3_6h_cvr": "0.22",
+            "b2_12h_click": "0.56",
+            "b2_3h_ctr": "0.39",
+            "b2_12h_cvr": "0.22",
+            "b2_today_conver*ctcvr": "0.26",
+            "b2_7d_cvr": "0.24",
+            "b2_2h_conver*ctcvr": "0.17",
+            "b3_7d_conver*log(view)": "0.73",
+            "b3_3h_conver*ctcvr": "0.19",
+            "b3_yesterday_conver": "0.29",
+            "b3_3h_ctcvr": "0.14",
+            "b3_1h_ctcvr": "0.19",
+            "b2_2h_conver": "0.19",
+            "b3_yesterday_conver*log(view)": "0.37",
+            "b3_12h_click": "0.74",
+            "b3_2h_click": "0.55",
+            "b3_6h_click": "0.67",
+            "b3_6h_conver*log(view)": "0.37",
+            "cid_3024": "0.1",
+            "b2_1h_click": "0.22",
+            "b3_yesterday_ctr": "0.02",
+            "b3_2h_conver": "0.28",
+            "b3_3d_conver*log(view)": "0.53",
+            "b2_3h_cvr": "0.2",
+            "b2_12h_ctr": "0.38",
+            "b2_6h_conver*ctcvr": "0.2",
+            "b3_1d_click": "0.72",
+            "b3_1h_conver*log(view)": "0.28",
+            "b2_1h_ctr": "0.34",
+            "b2_yesterday_ctcvr": "0.1",
+            "b2_today_conver*log(view)": "0.35000000000000003",
+            "b3_2h_ctr": "0.05",
+            "dayofweek_2": "0.1",
+            "b3_3h_conver*log(view)": "0.31",
+            "b3_1d_conver*ctcvr": "0.31",
+            "b2_3d_conver*ctcvr": "0.3",
+            "ctitle_vtitle_similarity": "0.19",
+            "adverid_14": "0.1",
+            "b2_3d_cvr": "0.24",
+            "b3_1d_conver*log(view)": "0.38",
+            "b2_1h_cvr": "0.19",
+            "b3_1d_cvr": "0.23",
+            "b2_today_ctcvr": "0.13",
+            "b2_yesterday_cvr": "0.1",
+            "b3_3d_ctcvr": "0.22",
+            "b3_today_conver*ctcvr": "0.36",
+            "b3_12h_conver*ctcvr": "0.31",
+            "b3_1d_ctcvr": "0.18",
+            "b2_3d_ctcvr": "0.2",
+            "b2_1h_conver*ctcvr": "0.16",
+            "b3_3d_conver": "0.53",
+            "b2_1d_conver*log(view)": "0.29",
+            "b2_3h_click": "0.32",
+            "b3_6h_ctr": "0.13",
+            "b2_3d_ctr": "0.02",
+            "b2_1d_conver*ctcvr": "0.29",
+            "b2_3d_conver": "0.3",
+            "b3_today_click": "0.71",
+            "b3_yesterday_ctcvr": "0.1",
+            "b3_7d_ctr": "0.02",
+            "b3_7d_click": "1.0",
+            "b3_2h_conver*log(view)": "0.29",
+            "b3_1d_ctr": "0.02",
+            "b2_2h_cvr": "0.21",
+            "b2_2h_conver*log(view)": "0.2",
+            "b3_1h_click": "0.5",
+            "b3_12h_ctcvr": "0.11",
+            "b2_3h_conver*ctcvr": "0.18",
+            "b2_1d_click": "0.36",
+            "b2_3h_ctcvr": "0.1",
+            "b3_12h_conver*log(view)": "0.52",
+            "b2_1h_ctcvr": "0.07",
+            "b2_6h_cvr": "0.21",
+            "b3_1h_conver": "0.24",
+            "b3_1h_conver*ctcvr": "0.22",
+            "b3_3h_ctr": "0.06",
+            "b3_1d_conver": "0.37",
+            "b3_today_conver*log(view)": "0.52",
+            "b2_yesterday_click": "0.16",
+            "b2_3h_conver*log(view)": "0.21",
+            "b3_7d_cvr": "0.23",
+            "b2_yesterday_conver*ctcvr": "0.22",
+            "b3_1h_ctr": "0.04",
+            "b2_12h_conver*log(view)": "0.25",
+            "b2_today_cvr": "0.24",
+            "b2_2h_ctr": "0.36",
+            "b3_3d_conver*ctcvr": "0.39",
+            "b2_7d_conver*log(view)": "0.3",
+            "b2_today_conver": "0.32",
+            "b3_today_conver": "0.5",
+            "b2_2h_click": "0.27",
+            "b2_12h_conver*ctcvr": "0.23",
+            "b2_12h_ctcvr": "0.13",
+            "b3_6h_conver": "0.37",
+            "b3_6h_ctcvr": "0.13",
+            "b2_3d_conver*log(view)": "0.3",
+            "b3_3d_ctr": "0.02",
+            "b2_6h_click": "0.41000000000000003",
+            "b2_6h_conver*log(view)": "0.26",
+            "b2_yesterday_conver": "0.12",
+            "b2_1h_conver*log(view)": "0.19",
+            "b3_1h_cvr": "0.24",
+            "b2_today_ctr": "0.39",
+            "b3_2h_ctcvr": "0.17",
+            "b2_1h_conver": "0.17",
+            "b2_1d_cvr": "0.22",
+            "b2_yesterday_ctr": "0.02",
+            "b3_today_cvr": "0.22",
+            "b3_3h_click": "0.6",
+            "b2_1d_conver": "0.29",
+            "b2_7d_conver*ctcvr": "0.3",
+            "b2_7d_click": "0.22",
+            "b2_3d_click": "0.28",
+            "b3_3h_conver": "0.29",
+            "b3_12h_ctr": "0.05",
+            "b3_2h_conver*ctcvr": "0.18",
+            "b3_7d_conver": "0.73",
+            "cpa": "0.09",
+            "b3_7d_conver*ctcvr": "0.54",
+            "b2_7d_conver": "0.3",
+            "b3_7d_ctcvr": "0.13",
+            "b3_12h_conver": "0.47000000000000003",
+            "b2_1d_ctcvr": "0.13",
+            "b3_today_ctcvr": "0.11",
+            "b3_3d_cvr": "0.23",
+            "b2_1d_ctr": "0.36",
+            "b3_yesterday_click": "0.38",
+            "b3_2h_cvr": "0.22",
+            "b2_7d_ctcvr": "0.14",
+            "b3_today_ctr": "0.06",
+            "b2_yesterday_conver*log(view)": "0.2",
+            "b3_12h_cvr": "0.22",
+            "b3_3h_cvr": "0.22",
+            "b2_6h_ctr": "0.46",
+            "b2_6h_conver": "0.23",
+            "b2_7d_ctr": "0.02",
+            "b2_today_click": "0.54",
+            "b2_3h_conver": "0.21",
+            "b3_3d_click": "0.85",
+            "hour_19": "0.1",
+            "b3_6h_conver*ctcvr": "0.25"
+        },
+        "score": 0.04019114188849926,
+        "adverid": "14",
+        "scoreMap": {
+            "ctcvrScore": 6.69852364808321E-4,
+            "cpm": 90.0,
+            "cpa": 60.0
+        },
+        "cid": 3024
+    },
+    {
+        "metafeaturemap": {
+            "alg_cid_feature_cid_action": {
+                "ad_click_3d": "0",
+                "ad_view_6h": "0",
+                "ad_click_7d": "2762",
+                "ad_click_14d": "2765",
+                "ad_view_2h": "0",
+                "ad_conversion_yesterday": "0",
+                "ad_conversion_3h": "0",
+                "ad_click_today": "0",
+                "ad_click_3h": "0",
+                "ad_income_3d": "0",
+                "ad_income_3h": "0",
+                "ad_income_7d": "5175",
+                "ad_conversion_12h": "0",
+                "ad_view_5h": "0",
+                "ad_view_1d": "0",
+                "ad_view_today": "0",
+                "ad_click_4h": "0",
+                "ad_view_1h": "0",
+                "ad_click_yesterday": "0",
+                "ad_conversion_4h": "0",
+                "ad_view_14d": "44304",
+                "ad_view_yesterday": "0",
+                "ad_income_4h": "0",
+                "ad_income_14d": "5175",
+                "ad_income_yesterday": "0",
+                "ad_click_5h": "0",
+                "ad_click_1d": "0",
+                "ad_view_4h": "0",
+                "ad_income_today": "0",
+                "ad_conversion_5h": "0",
+                "ad_conversion_1d": "0",
+                "ad_income_1h": "0",
+                "ad_conversion_1h": "0",
+                "ad_click_1h": "0",
+                "ad_conversion_14d": "345",
+                "ad_income_5h": "0",
+                "ad_income_1d": "0",
+                "ad_conversion_6h": "0",
+                "ad_click_12h": "0",
+                "ad_click_6h": "0",
+                "ad_view_12h": "0",
+                "ad_view_3h": "0",
+                "ad_conversion_today": "0",
+                "ad_conversion_2h": "0",
+                "ad_income_2h": "0",
+                "ad_click_2h": "0",
+                "ad_conversion_7d": "345",
+                "ad_conversion_3d": "0",
+                "ad_income_6h": "0",
+                "ad_view_7d": "44291",
+                "ad_view_3d": "0",
+                "ad_income_12h": "0"
+            },
+            "alg_vid_feature_basic_info": {
+                "gmt_create_timestamp": "1721408779146",
+                "bit_rate": "117000",
+                "size": "4781793",
+                "recommend_status": "-6",
+                "width": "360",
+                "title": "各位退休的同学,请听!",
+                "total_time": "326",
+                "height": "480"
+            },
+            "alg_cid_feature_basic_info": {
+                "cidtitle": "0元学中医养生",
+                "cidposition_id": "1",
+                "adcode": "AD_17210975189101743",
+                "weight": "1",
+                "cidcode": "CREATIVE_17210975191521244",
+                "adid": "3076",
+                "cidpattern": "0",
+                "adname": "素材5Ai-问答-企微/链接3-提速2ci",
+                "adverid": "94",
+                "cpa": "15",
+                "targeting_conversion": "10004",
+                "advercode": "ADA_17192161341501872",
+                "advername": "中谷-中医-2户",
+                "cid": "3163"
+            },
+            "alg_cid_feature_adver_action": {
+                "ad_click_3d": "78413",
+                "ad_view_6h": "191386",
+                "ad_click_7d": "163017",
+                "ad_click_14d": "163017",
+                "ad_view_2h": "64848",
+                "ad_conversion_yesterday": "8134",
+                "ad_conversion_3h": "1256",
+                "ad_click_today": "25768",
+                "ad_click_3h": "6110",
+                "ad_income_3d": "208268",
+                "ad_income_3h": "15720",
+                "ad_income_7d": "442383",
+                "ad_conversion_12h": "5430",
+                "ad_view_5h": "161303",
+                "ad_view_1d": "559125",
+                "ad_view_today": "383163",
+                "ad_click_4h": "8491",
+                "ad_view_1h": "31825",
+                "ad_click_yesterday": "38315",
+                "ad_conversion_4h": "1777",
+                "ad_view_14d": "2435324",
+                "ad_view_yesterday": "572204",
+                "ad_income_4h": "22242",
+                "ad_income_14d": "442383",
+                "ad_income_yesterday": "101875",
+                "ad_click_5h": "10744",
+                "ad_click_1d": "37078",
+                "ad_view_4h": "130752",
+                "ad_income_today": "68019",
+                "ad_conversion_5h": "2280",
+                "ad_conversion_1d": "7809",
+                "ad_income_1h": "5131",
+                "ad_conversion_1h": "410",
+                "ad_click_1h": "2027",
+                "ad_conversion_14d": "33089",
+                "ad_income_5h": "28542",
+                "ad_income_1d": "97786",
+                "ad_conversion_6h": "2747",
+                "ad_click_12h": "25764",
+                "ad_click_6h": "12923",
+                "ad_view_12h": "383107",
+                "ad_view_3h": "97612",
+                "ad_conversion_today": "5431",
+                "ad_conversion_2h": "827",
+                "ad_income_2h": "10349",
+                "ad_click_2h": "4071",
+                "ad_conversion_7d": "33089",
+                "ad_conversion_3d": "16419",
+                "ad_income_6h": "34387",
+                "ad_view_7d": "2435316",
+                "ad_view_3d": "1172709",
+                "ad_income_12h": "68007"
+            }
+        },
+        "allfeature": {
+            "cid_3163": "0.1",
+            "b2_2h_ctcvr": "0.92",
+            "b2_6h_ctcvr": "0.91",
+            "b2_12h_conver": "0.9500000000000001",
+            "b2_12h_click": "0.7000000000000001",
+            "b2_3h_ctr": "0.85",
+            "b2_12h_cvr": "0.96",
+            "b2_today_conver*ctcvr": "0.92",
+            "b2_7d_cvr": "0.9400000000000001",
+            "b2_2h_conver*ctcvr": "0.9400000000000001",
+            "b3_7d_conver*log(view)": "0.12",
+            "b2_2h_conver": "0.86",
+            "b2_1h_click": "0.3",
+            "b2_3h_cvr": "0.9500000000000001",
+            "b2_12h_ctr": "0.91",
+            "b2_6h_conver*ctcvr": "0.9400000000000001",
+            "b2_1h_ctr": "0.89",
+            "b2_yesterday_ctcvr": "0.5700000000000001",
+            "b2_today_conver*log(view)": "0.93",
+            "dayofweek_2": "0.1",
+            "b2_3d_conver*ctcvr": "0.96",
+            "ctitle_vtitle_similarity": "0.41000000000000003",
+            "b2_3d_cvr": "0.92",
+            "b2_1h_cvr": "0.96",
+            "b2_today_ctcvr": "0.92",
+            "b2_yesterday_cvr": "0.43",
+            "b2_3d_ctcvr": "0.9400000000000001",
+            "b2_1h_conver*ctcvr": "0.9500000000000001",
+            "b2_1d_conver*log(view)": "0.9500000000000001",
+            "b2_3h_click": "0.4",
+            "b2_3d_ctr": "0.93",
+            "b2_1d_conver*ctcvr": "0.9400000000000001",
+            "b2_3d_conver": "0.71",
+            "b3_7d_ctr": "0.9500000000000001",
+            "b3_7d_click": "0.07",
+            "b2_2h_cvr": "0.92",
+            "b2_2h_conver*log(view)": "0.93",
+            "b2_3h_conver*ctcvr": "0.9400000000000001",
+            "b2_1d_click": "0.49",
+            "b2_3h_ctcvr": "0.92",
+            "b2_1h_ctcvr": "0.93",
+            "b2_6h_cvr": "0.9400000000000001",
+            "b2_yesterday_click": "0.19",
+            "b2_3h_conver*log(view)": "0.93",
+            "b3_7d_cvr": "0.66",
+            "b2_yesterday_conver*ctcvr": "0.63",
+            "b2_12h_conver*log(view)": "0.9400000000000001",
+            "b2_today_cvr": "0.93",
+            "b2_2h_ctr": "0.86",
+            "b2_7d_conver*log(view)": "0.61",
+            "b2_today_conver": "0.92",
+            "b2_2h_click": "0.35000000000000003",
+            "b2_12h_conver*ctcvr": "0.9500000000000001",
+            "b2_12h_ctcvr": "0.92",
+            "b2_3d_conver*log(view)": "0.67",
+            "b2_6h_click": "0.5",
+            "b2_6h_conver*log(view)": "0.9500000000000001",
+            "b2_yesterday_conver": "0.35000000000000003",
+            "b2_1h_conver*log(view)": "0.9",
+            "b2_today_ctr": "0.87",
+            "b2_1h_conver": "0.78",
+            "b2_1d_cvr": "0.9500000000000001",
+            "b2_yesterday_ctr": "0.53",
+            "b2_1d_conver": "0.93",
+            "b2_7d_conver*ctcvr": "0.96",
+            "b2_7d_click": "0.22",
+            "b2_3d_click": "0.26",
+            "b3_7d_conver": "0.13",
+            "cpa": "0.02",
+            "b3_7d_conver*ctcvr": "0.23",
+            "b2_7d_conver": "0.61",
+            "b3_7d_ctcvr": "0.79",
+            "b2_1d_ctcvr": "0.96",
+            "b2_1d_ctr": "0.92",
+            "adverid_94": "0.1",
+            "b2_7d_ctcvr": "0.9400000000000001",
+            "b2_yesterday_conver*log(view)": "0.63",
+            "b2_6h_ctr": "0.87",
+            "b2_6h_conver": "0.87",
+            "b2_7d_ctr": "0.93",
+            "b2_today_click": "0.66",
+            "b2_3h_conver": "0.89",
+            "hour_19": "0.1"
+        },
+        "score": 0.064519545994699,
+        "adverid": "94",
+        "scoreMap": {
+            "ctcvrScore": 0.004301303066313267,
+            "cpm": 90.0,
+            "cpa": 15.0
+        },
+        "cid": 3163
+    },
+    {
+        "metafeaturemap": {
+            "alg_cid_feature_cid_action": {
+                "ad_click_3d": "12260",
+                "ad_view_6h": "25782",
+                "ad_click_7d": "25704",
+                "ad_click_14d": "25704",
+                "ad_view_2h": "8894",
+                "ad_conversion_yesterday": "0",
+                "ad_conversion_3h": "0",
+                "ad_click_today": "2756",
+                "ad_click_3h": "782",
+                "ad_income_3d": "0",
+                "ad_income_3h": "0",
+                "ad_income_7d": "0",
+                "ad_conversion_12h": "0",
+                "ad_view_5h": "21449",
+                "ad_view_1d": "76019",
+                "ad_view_today": "47114",
+                "ad_click_4h": "1023",
+                "ad_view_1h": "4478",
+                "ad_click_yesterday": "3919",
+                "ad_conversion_4h": "0",
+                "ad_view_14d": "437105",
+                "ad_view_yesterday": "67395",
+                "ad_income_4h": "0",
+                "ad_income_14d": "0",
+                "ad_income_yesterday": "0",
+                "ad_click_5h": "1268",
+                "ad_click_1d": "4341",
+                "ad_view_4h": "17435",
+                "ad_income_today": "0",
+                "ad_conversion_5h": "0",
+                "ad_conversion_1d": "0",
+                "ad_income_1h": "0",
+                "ad_conversion_1h": "0",
+                "ad_click_1h": "259",
+                "ad_conversion_14d": "0",
+                "ad_income_5h": "0",
+                "ad_income_1d": "0",
+                "ad_conversion_6h": "0",
+                "ad_click_12h": "2755",
+                "ad_click_6h": "1522",
+                "ad_view_12h": "47108",
+                "ad_view_3h": "13380",
+                "ad_conversion_today": "0",
+                "ad_conversion_2h": "0",
+                "ad_income_2h": "0",
+                "ad_click_2h": "492",
+                "ad_conversion_7d": "0",
+                "ad_conversion_3d": "0",
+                "ad_income_6h": "0",
+                "ad_view_7d": "437101",
+                "ad_view_3d": "209806",
+                "ad_income_12h": "0"
+            },
+            "alg_vid_feature_basic_info": {
+                "gmt_create_timestamp": "1721408779146",
+                "bit_rate": "117000",
+                "size": "4781793",
+                "recommend_status": "-6",
+                "width": "360",
+                "title": "各位退休的同学,请听!",
+                "total_time": "326",
+                "height": "480"
+            },
+            "alg_cid_feature_basic_info": {
+                "cidtitle": "学习中医养生知识",
+                "cidposition_id": "1",
+                "adcode": "AD_17224932996651758",
+                "weight": "350",
+                "cidcode": "CREATIVE_17224933003231308",
+                "adid": "3430",
+                "cidpattern": "0",
+                "adname": "广告5未提速",
+                "adverid": "119",
+                "cpa": "1",
+                "targeting_conversion": "10002",
+                "advercode": "ADA_17217040182651937",
+                "advername": "河南多开网络科技有限公司",
+                "cid": "3595"
+            },
+            "alg_cid_feature_adver_action": {
+                "ad_click_3d": "74364",
+                "ad_view_6h": "159608",
+                "ad_click_7d": "154608",
+                "ad_click_14d": "154608",
+                "ad_view_2h": "54300",
+                "ad_conversion_yesterday": "0",
+                "ad_conversion_3h": "0",
+                "ad_click_today": "18160",
+                "ad_click_3h": "4364",
+                "ad_income_3d": "0",
+                "ad_income_3h": "0",
+                "ad_income_7d": "0",
+                "ad_conversion_12h": "0",
+                "ad_view_5h": "134313",
+                "ad_view_1d": "467321",
+                "ad_view_today": "319805",
+                "ad_click_4h": "5926",
+                "ad_view_1h": "26701",
+                "ad_click_yesterday": "23446",
+                "ad_conversion_4h": "0",
+                "ad_view_14d": "2713316",
+                "ad_view_yesterday": "417985",
+                "ad_income_4h": "0",
+                "ad_income_14d": "0",
+                "ad_income_yesterday": "0",
+                "ad_click_5h": "7518",
+                "ad_click_1d": "25910",
+                "ad_view_4h": "109237",
+                "ad_income_today": "0",
+                "ad_conversion_5h": "0",
+                "ad_conversion_1d": "0",
+                "ad_income_1h": "0",
+                "ad_conversion_1h": "0",
+                "ad_click_1h": "1388",
+                "ad_conversion_14d": "0",
+                "ad_income_5h": "0",
+                "ad_income_1d": "0",
+                "ad_conversion_6h": "0",
+                "ad_click_12h": "18155",
+                "ad_click_6h": "9058",
+                "ad_view_12h": "319773",
+                "ad_view_3h": "81812",
+                "ad_conversion_today": "0",
+                "ad_conversion_2h": "0",
+                "ad_income_2h": "0",
+                "ad_click_2h": "2863",
+                "ad_conversion_7d": "0",
+                "ad_conversion_3d": "0",
+                "ad_income_6h": "0",
+                "ad_view_7d": "2713307",
+                "ad_view_3d": "1312412",
+                "ad_income_12h": "0"
+            }
+        },
+        "allfeature": {
+            "b2_12h_click": "0.53",
+            "b2_3h_ctr": "0.64",
+            "b3_12h_click": "0.27",
+            "b3_2h_click": "0.17",
+            "b3_6h_click": "0.22",
+            "b2_1h_click": "0.19",
+            "b3_yesterday_ctr": "0.54",
+            "b2_12h_ctr": "0.77",
+            "b3_1d_click": "0.23",
+            "b2_1h_ctr": "0.62",
+            "b3_2h_ctr": "0.8200000000000001",
+            "dayofweek_2": "0.1",
+            "ctitle_vtitle_similarity": "0.19",
+            "b2_3h_click": "0.28",
+            "b3_6h_ctr": "0.9",
+            "b2_3d_ctr": "0.8200000000000001",
+            "b3_today_click": "0.3",
+            "b3_7d_ctr": "0.9400000000000001",
+            "b3_7d_click": "0.26",
+            "b3_1d_ctr": "0.89",
+            "b3_1h_click": "0.15",
+            "b2_1d_click": "0.27",
+            "b3_3h_ctr": "0.89",
+            "b2_yesterday_click": "0.14",
+            "b3_1h_ctr": "0.9",
+            "b2_2h_ctr": "0.63",
+            "b2_2h_click": "0.23",
+            "b3_3d_ctr": "0.93",
+            "b2_6h_click": "0.35000000000000003",
+            "b2_today_ctr": "0.74",
+            "b2_yesterday_ctr": "0.48",
+            "b3_3h_click": "0.18",
+            "b2_7d_click": "0.22",
+            "b2_3d_click": "0.26",
+            "b3_12h_ctr": "0.93",
+            "adverid_119": "0.1",
+            "cpa": "0.01",
+            "cid_3595": "0.1",
+            "b2_1d_ctr": "0.75",
+            "b3_yesterday_click": "0.18",
+            "b3_today_ctr": "0.9",
+            "b2_6h_ctr": "0.75",
+            "b2_7d_ctr": "0.85",
+            "b2_today_click": "0.5",
+            "b3_3d_click": "0.24",
+            "hour_19": "0.1"
+        },
+        "score": 0.1,
+        "adverid": "119",
+        "scoreMap": {
+            "ctcvrScore": 3.954506973968819E-5,
+            "cpm": 100.0,
+            "cpa": 13.0
+        },
+        "cid": 3595
+    }
+]

+ 179 - 0
recommend-model-produce/src/main/scala/com/tzld/piaoquan/recommend/model/pred_01_xgb_ad_20240813.scala

@@ -0,0 +1,179 @@
+package com.tzld.piaoquan.recommend.model
+
+import ml.dmlc.xgboost4j.scala.spark.{XGBoostClassificationModel, XGBoostClassifier}
+import org.apache.commons.lang.math.NumberUtils
+import org.apache.commons.lang3.StringUtils
+import org.apache.hadoop.io.compress.GzipCodec
+import org.apache.spark.ml.feature.VectorAssembler
+import org.apache.spark.rdd.RDD
+import org.apache.spark.sql.types.DataTypes
+import org.apache.spark.sql.{Dataset, Row, SparkSession}
+import com.alibaba.fastjson.{JSON, JSONArray}
+import java.util
+import scala.collection.mutable.ArrayBuffer
+import scala.io.Source
+import scala.collection.mutable
+object pred_01_xgb_ad_20240813{
+  def main(args: Array[String]): Unit = {
+    val spark = SparkSession
+      .builder()
+      .appName(this.getClass.getName)
+      .getOrCreate()
+    val sc = spark.sparkContext
+
+    val param = ParamUtils.parseArgs(args)
+    val featureFile = param.getOrElse("featureFile", "20240703_ad_feature_name.txt")
+    val savePath = param.getOrElse("savePath", "/dw/recommend/model/34_ad_predict_data/")
+    val featureFilter = param.getOrElse("featureFilter", "XXXXXX").split(",")
+    val repartition = param.getOrElse("repartition", "20").toInt
+    val modelPath = param.getOrElse("modelPath", "/dw/recommend/model/35_ad_model/model_xgb")
+
+    val loader = getClass.getClassLoader
+    val resourceUrl = loader.getResource(featureFile)
+    val content =
+      if (resourceUrl != null) {
+        val content = Source.fromURL(resourceUrl).getLines().mkString("\n")
+        Source.fromURL(resourceUrl).close()
+        content
+      } else {
+        ""
+      }
+    println(content)
+
+    val features = content.split("\n")
+      .map(r => r.replace(" ", "").replaceAll("\n", ""))
+      .filter(r => r.nonEmpty || !featureFilter.contains(r))
+    println("features.size=" + features.length)
+
+    var fields = Array(
+      DataTypes.createStructField("label", DataTypes.IntegerType, true)
+    ) ++ features.map(f => DataTypes.createStructField(f, DataTypes.DoubleType, true))
+
+    fields = fields ++ Array(
+      DataTypes.createStructField("logKey", DataTypes.StringType, true)
+    )
+    val schema = DataTypes.createStructType(fields)
+    val vectorAssembler = new VectorAssembler().setInputCols(features).setOutputCol("features")
+
+    val model = XGBoostClassificationModel.load(modelPath)
+    model.setMissing(0.0f).setFeaturesCol("features")
+
+
+
+    val source = Source.fromResource("pred_file.json")
+    val jsonString = try source.mkString finally source.close()
+    val jsonArray: JSONArray = JSON.parseArray(jsonString)
+    val inputData = new ArrayBuffer[String]()
+    for (i <- 0 until jsonArray.size()) {
+      val jsonObject = jsonArray.getJSONObject(i)
+      val allFeature = jsonObject.getJSONObject("allfeature")
+      val featureMap = mutable.Map[String, String]()
+
+      // 遍历 allFeature 中的键值对
+      val iterator = allFeature.keySet().iterator()
+      while (iterator.hasNext) {
+        val key = iterator.next()
+        val value = allFeature.getString(key) // 将值转换为字符串
+        featureMap.put(key, value)
+      }
+      val tmp = "0" + "\t" + featureMap.map(r => r._1 + ":" + r._2).mkString("\t")
+      inputData += tmp
+    }
+
+    val testData = createData4Ad(
+      sc.parallelize(inputData),
+      features
+    )
+
+    val testDataSet = spark.createDataFrame(testData, schema)
+    val testDataSetTrans = vectorAssembler.transform(testDataSet).select("features", "label", "logKey")
+    val predictions = model.transform(testDataSetTrans)
+
+    val saveData = predictions.select("label", "rawPrediction", "probability", "logKey").rdd
+      .map(r => {
+        (r.get(0), r.get(1), r.get(2), r.get(3)).productIterator.mkString("\t")
+      })
+    val hdfsPath = savePath
+    if (hdfsPath.nonEmpty && hdfsPath.startsWith("/dw/recommend/model/")) {
+      println("删除路径并开始数据写入:" + hdfsPath)
+      MyHdfsUtils.delete_hdfs_path(hdfsPath)
+      saveData.repartition(1).saveAsTextFile(hdfsPath, classOf[GzipCodec])
+    } else {
+      println("路径不合法,无法写入:" + hdfsPath)
+    }
+
+  }
+
+
+  def createData4Ad(data: RDD[String], features: Array[String]): RDD[Row] = {
+    data.map(r => {
+//      val rList = r.split("\t")
+//      val label = rList(0).toInt
+//      val featureMap = scala.collection.mutable.Map[String, Double]()
+//      var cid = -1
+//      rList.drop(1).foreach(kv =>{
+//        val kv_ = kv.split(":")
+//        if (kv_(0).startsWith("cid_")){
+//          cid = kv_(0).split("_")(1).toInt
+//        }else{
+//          featureMap.put(kv_(0), kv_(1).toDouble)
+//        }
+//      })
+//      val v: Array[Any] = new Array[Any](features.length + 1)
+//      v(0) = label
+////      v(1) = cid
+//      for (i <- 0 until features.length) {
+//        v(i + 1) = featureMap.getOrElse(r, 0.0D)
+//      }
+//      Row(v: _*)
+val line: Array[String] = StringUtils.split(r, '\t')
+      val label: Int = NumberUtils.toInt(line(0))
+      val map: util.Map[String, Double] = new util.HashMap[String, Double]
+      var cid = "-1"
+      for (i <- 1 until line.length) {
+        val fv: Array[String] = StringUtils.split(line(i), ':')
+        map.put(fv(0), NumberUtils.toDouble(fv(1), 0.0))
+        if(fv(0).startsWith("cid_")){
+          cid = fv(0).split("_")(1)
+        }
+      }
+
+      val v: Array[Any] = new Array[Any](features.length + 2)
+      v(0) = label
+      for (i <- 0 until features.length) {
+        v(i + 1) = map.getOrDefault(features(i), 0.0d)
+      }
+      v(features.length + 1) = cid
+      Row(v: _*)
+    })
+  }
+}
+
+
+
+//rabit_timeout -> -1
+//scale_pos_weight -> 1.0
+//seed -> 0
+//handle_invalid -> error
+//features_col -> features
+//label_col -> label
+//num_workers -> 1
+//subsample -> 0.8
+//max_depth -> 5
+//probability_col -> probability
+//raw_prediction_col -> rawPrediction
+//tree_limit -> 0
+//dmlc_worker_connect_retry -> 5
+//train_test_ratio -> 1.0
+//use_external_memory -> false
+//objective -> binary:logistic
+//eval_metric -> auc
+//num_round -> 1000
+//missing -> 0.0
+//rabit_ring_reduce_threshold -> 32768
+//tracker_conf -> TrackerConf(0,python,,)
+//eta -> 0.009999999776482582
+//colsample_bytree -> 0.8
+//allow_non_zero_for_missing -> false
+//nthread -> 8
+//prediction_col -> prediction