Exemplo n.º 1
0
        public ActionResult DataPreprocess(DataPreprocessViewModel view)
        {
            //讀檔案路徑
            Users  user = userservice.FindUser(User.Identity.Name);
            string MapPath = filePath + user.Site + "/" + view.ProjectId + "/";
            string path = MapPath + view.ProjectId;
            string file, savePath, corrPath, select;

            if (view.mode == "2") //predict
            {
                file     = path + "_predict.csv";
                savePath = path + "_predict_pre.csv";
                corrPath = "null";
            }
            else
            {
                file     = path + ".csv";
                savePath = path + "_pre.csv";
                corrPath = path + "_corr.csv";
            }

            select = (view.Selected != null) ? String.Join(",", view.Selected.ToArray()) : "null";                                                                //判斷selected是否有值
            //執行預處理
            string arg = $"{pyPath}preprocessing.py {file} {view.abnormal} {view.outlier} {view.fill} {savePath} {corrPath} {"null"} {select.Replace(' ', '_')}"; //字串不可含空白

            callpython.CMD();
            string output = callpython.Execute(arg);

            //無法補值
            string[]       data = output.Split('/');
            DataPreprocess pre  = new DataPreprocess();

            pre.cantfill = data[5];

            //更新執行步驟&時間
            if (view.mode == "1")
            {
                modelservice.DataSplit(view.ProjectId, view.TrainVal, view.ValidVal, view.TestVal); //存train/valid/test
                modelservice.UpdateProcess(view.ProjectId, 2);
            }

            return(RedirectToAction("ChooseModel", "Model", pre));
        }