public override void Init(IRepository repository, IEnumerable <string> releases) { base.Init(repository, releases); double dd = repository.SelectionDSL() .Commits().TillRevision(PredictionRelease) .Modifications().InCommits() .CodeBlocks().InModifications().CalculateDefectDensity(PredictionRelease); context.SetCommits(null, PredictionRelease); regression = new LinearRegression(); foreach (var file in GetFilesInRevision(PredictionRelease)) { double ddForFile = repository.SelectionDSL() .Commits().TillRevision(PredictionRelease) .Files().IdIs(file.ID) .Modifications().InCommits().InFiles() .CodeBlocks().InModifications().CalculateDefectDensity(PredictionRelease); if (ddForFile >= dd) { context.SetFiles(e => e.IdIs(file.ID)); regression.AddTrainingData( GetPredictorValuesFor(context)[0], NumberOfFixedDefectsForFile(file.ID) ); } } regression.Train(); }
public override void Init(IRepository repository, IEnumerable<string> releases) { base.Init(repository, releases); double dd = repository.SelectionDSL() .Commits().TillRevision(PredictionRelease) .Modifications().InCommits() .CodeBlocks().InModifications().CalculateDefectDensity(PredictionRelease); context.SetCommits(null, PredictionRelease); regression = new LinearRegression(); foreach (var file in GetFilesInRevision(PredictionRelease)) { double ddForFile = repository.SelectionDSL() .Commits().TillRevision(PredictionRelease) .Files().IdIs(file.ID) .Modifications().InCommits().InFiles() .CodeBlocks().InModifications().CalculateDefectDensity(PredictionRelease); if (ddForFile >= dd) { context.SetFiles(e => e.IdIs(file.ID)); regression.AddTrainingData( GetPredictorValuesFor(context)[0], NumberOfFixedDefectsForFile(file.ID) ); } } regression.Train(); }