diff --git a/eda/esmm/Model_pipline/feature_engineering.py b/eda/esmm/Model_pipline/feature_engineering.py
index 8d76051a1483860faa28aeee3311215eb6a7a1c5..184c9d55209b9f5e1dd5de666eb670537ed447d3 100644
--- a/eda/esmm/Model_pipline/feature_engineering.py
+++ b/eda/esmm/Model_pipline/feature_engineering.py
@@ -76,32 +76,38 @@ def con_sql(db,sql):
     return df
 
 
-def train_yingshe(x):
-    tmp = (x[0], float(x[1]), float(x[2]), app_list_func(x[3], app_list_map), app_list_func(x[4], leve2_map),
-                   app_list_func(x[5], leve3_map), app_list_func(x[6], leve2_map), app_list_func(x[7], leve2_map),
-                   app_list_func(x[8], leve2_map), app_list_func(x[9], leve2_map), app_list_func(x[10], leve2_map),
-                   app_list_func(x[11], leve2_map), app_list_func(x[12], leve2_map),
-                   [value_map[x[0]], value_map[x[13]], value_map[x[14]], value_map[x[15]], value_map[x[16]],
-                    value_map[x[17]], value_map[x[18]], value_map[x[19]], value_map[x[20]], value_map[x[21]],
-                    value_map[x[22]], value_map[x[23]], value_map[x[24]], value_map[x[25]], value_map[x[26]]])
+def train_yingshe(y):
+    tmp = []
+    for x in y:
+        i = (x[0], float(x[1]), float(x[2]), app_list_func(x[3], app_list_map), app_list_func(x[4], leve2_map),
+                       app_list_func(x[5], leve3_map), app_list_func(x[6], leve2_map), app_list_func(x[7], leve2_map),
+                       app_list_func(x[8], leve2_map), app_list_func(x[9], leve2_map), app_list_func(x[10], leve2_map),
+                       app_list_func(x[11], leve2_map), app_list_func(x[12], leve2_map),
+                       [value_map[x[0]], value_map[x[13]], value_map[x[14]], value_map[x[15]], value_map[x[16]],
+                        value_map[x[17]], value_map[x[18]], value_map[x[19]], value_map[x[20]], value_map[x[21]],
+                        value_map[x[22]], value_map[x[23]], value_map[x[24]], value_map[x[25]], value_map[x[26]]])
+        tmp.append(i)
     return tmp
 
-def pre_yingshe(x):
-    tmp = (x[0], float(x[1]), float(x[2]), x[3], x[4], x[5],
-     app_list_func(x[6], app_list_map), app_list_func(x[7], leve2_map),
-     app_list_func(x[8], leve3_map), app_list_func(x[9], leve2_map),
-     app_list_func(x[10], leve2_map), app_list_func(x[11], leve2_map),
-     app_list_func(x[12], leve2_map), app_list_func(x[13], leve2_map),
-     app_list_func(x[14], leve2_map), app_list_func(x[15], leve2_map),
-     [value_map.get(validate_date, 1), value_map.get(x[16], 2),
-      value_map.get(x[17], 3), value_map.get(x[18], 4),
-      value_map.get(x[19], 5), value_map.get(x[20], 6),
-      value_map.get(x[21], 7), value_map.get(x[22], 8),
-      value_map.get(x[23], 9), value_map.get(x[24], 10),
-      value_map.get(x[25], 11), value_map.get(x[26], 12),
-      value_map.get(x[27], 13), value_map.get(x[28], 14),
-      value_map.get(x[29], 15)
-      ])
+def pre_yingshe(y):
+    tmp = []
+    for x in y:
+        i = (x[0], float(x[1]), float(x[2]), x[3], x[4], x[5],
+         app_list_func(x[6], app_list_map), app_list_func(x[7], leve2_map),
+         app_list_func(x[8], leve3_map), app_list_func(x[9], leve2_map),
+         app_list_func(x[10], leve2_map), app_list_func(x[11], leve2_map),
+         app_list_func(x[12], leve2_map), app_list_func(x[13], leve2_map),
+         app_list_func(x[14], leve2_map), app_list_func(x[15], leve2_map),
+         [value_map.get(validate_date, 1), value_map.get(x[16], 2),
+          value_map.get(x[17], 3), value_map.get(x[18], 4),
+          value_map.get(x[19], 5), value_map.get(x[20], 6),
+          value_map.get(x[21], 7), value_map.get(x[22], 8),
+          value_map.get(x[23], 9), value_map.get(x[24], 10),
+          value_map.get(x[25], 11), value_map.get(x[26], 12),
+          value_map.get(x[27], 13), value_map.get(x[28], 14),
+          value_map.get(x[29], 15)
+          ])
+        tmp.append(i)
     return tmp
 
 def feature_engineer():