private static bool TrainModel(KeywordPredictorFileMapping mapping) { IKeywordPredictor predictor = mapping.KeywordPredictorType.GetMethod("GetGlobalModel").Invoke(null, null) as IKeywordPredictor; var keywordData = new FileSystemDataSource().LoadKeywordTrainingExamples(); var X = KeywordPredictorTrainingUtils.GenerateKeywordTrainingData(keywordData); var Y = KeywordPredictorTrainingUtils.GenerateKeywordTargetData(keywordData); predictor.Train(X, Y); AnsEncoderStream stream; try { stream = new AnsEncoderStream( new FileStream(mapping.DefaultFileLocation, FileMode.Create, FileAccess.Write), 1048576, 4096); } catch (IOException) { return(false); } using (stream) { bool res = predictor.Save(stream); stream.Flush(); return(res); } }
public void Init() { WriteInitialFiles(); Src = new FileSystemDataSource() { KeywordDataFilePath = KeywordDataFilePath, MechanicQueryFilePath = MechanicQueryFilePath }; }
public override void PerformFunction(MySqlDataManipulator manipulator) { //Convert all MechanicQueries to RepairJobEntries FileSystemDataSource dataSource = new FileSystemDataSource(); List <MechanicQuery> queries = dataSource.LoadMechanicQueries(); List <RepairJobEntry> toWrite = new List <RepairJobEntry>(); foreach (MechanicQuery query in queries) { RepairJobEntry toAdd = new RepairJobEntry() { Make = query.Make, Model = query.Model, Complaint = query.Complaint, Problem = query.Problem, JobId = "Unknown", Year = -1 }; toWrite.Add(toAdd); } //Write all RepairJobEntries to the specified file StreamWriter fileWriter = new StreamWriter(FilePath); //This is a CLI for devs, so no worries if this goes wonky fileWriter.WriteLine('['); foreach (RepairJobEntry entry in toWrite) { string entryJson = JsonDataObjectUtil <RepairJobEntry> .ConvertObject(entry); fileWriter.WriteLine(entryJson); } fileWriter.WriteLine(']'); fileWriter.Close(); }