private void btn_Train_Click(object sender, EventArgs e) { //return;//暂时不支持训练集回测 long len = long.Parse(this.txt_DataLength.Text); int deep = int.Parse(this.txt_LearnDeep.Text); ExpectList <TimeSerialData> el = new ExpectReader().ReadHistory <TimeSerialData>(long.Parse(this.txt_BegExpect.Text), len + deep + 1); //MLDataFactory mldf = new MLDataFactory(ExpectList.getExpectList(el)); DataCategroyType = (Type)this.ddl_categryFunc.SelectedValue; MLType = (Type)this.ddl_MLFunc.SelectedValue; MLDataCategoryFactoryClass mldf = (MLDataCategoryFactoryClass)ClassOperateTool.getInstanceByType(DataCategroyType); mldf.Init(ExpectList.getExpectList(el)); for (int i = 0; i < 10; i++) { //MLInstances<int, int> TrainSet = mldf.getAllSpecColRoundLabelAndFeatures(i,deep, chkb_AllUseShift.Checked ? 1 : 0); MLInstances <int, int> TrainSet = mldf.getCategoryData(i, deep, chkb_AllUseShift.Checked ? 1 : 0); MachineLearnClass <int, int> SelectFunc = (MachineLearnClass <int, int>)ClassOperateTool.getInstanceByType(MLType);//获取机器学习类型 SelectFunc.OnTrainFinished += OnTrainFinished; SelectFunc.OnPeriodEvent += OnPeriodEvent; SelectFunc.OnSaveEvent += SaveData; SelectFunc.GroupId = i; SelectFunc.FillTrainData(TrainSet); SelectFunc.InitTrain(); SelectFunc.TrainIterorCnt = int.Parse(txt_IteratCnt.Text); SelectFuncs.Add(SelectFunc); this.txt_begT.Text = DateTime.Now.ToLongTimeString(); this.Cursor = Cursors.WaitCursor; RunningThread = new Thread(SelectFunc.Train); RunningThread.Start(); ThreadCnt++; } }
public bool FillTrainData(List <List <FeatureT> > FeatureData, List <LabelT> LabelData) { if (TrainData == null) { TrainData = new MLInstances <LabelT, FeatureT>(); } try { if (FeatureData.Count != LabelData.Count) { return(false); } if (FeatureData.Count == 0 || LabelData.Count == 0) { return(false); } MLInstances <LabelT, FeatureT> _TrainData = new MLInstances <LabelT, FeatureT>(); for (int i = 0; i < FeatureData.Count; i++) { _TrainData.Add(new MLInstance <LabelT, FeatureT>(LabelData[i], FeatureData[i])); } FillTrainData(_TrainData); } catch (Exception ce) { return(false); } return(true); }
public MLInstances <int, int> getAllSpecColRoundLabelAndFeatures(int col, int Deep, int AllowUseShift) { MLInstances <int, int> ret = new MLInstances <int, int>(); for (int i = Deep + 1; i < Data.Count; i++) { ret.Add(getSpecRowRoundLabelFeatures(i, col, Deep, AllowUseShift)); } return(ret); }
public bool FillTrainData(MLInstances <LabelT, FeatureT> _TrainData) { TrainData = _TrainData; return(true); }