public override void Compute() { string TraceID = (string)Workspace.Load("TraceID"); PDG pdg = (PDG)Workspace.Load("PDG"); REngine engine = new REngine(_config.RScriptPath.Absolute); RScript script = new HITSScript(TraceID, pdg, _config); HITSResult results = (HITSResult)engine.Execute(script); Workspace.Store("Hubs", results.Hubs); Workspace.Store("Authorities", results.Authorities); }
/// <summary> /// Imports script results /// </summary> /// <param name="result">RScriptResults object</param> /// <returns>Script results</returns> public override object ImportResults(RScriptResult result) { IEnumerable <double> authorities = Generics.ImportDoubles(_authorityFile, false); IEnumerable <double> hubs = Generics.ImportDoubles(_hubFile, false); IEnumerable <string> map = Generics.ImportStrings(_mappingFile); HITSResult results = new HITSResult(); for (int i = 0; i < map.Count(); i++) { results.Hubs.AddLink(_traceID, map.ElementAt(i), hubs.ElementAt(i)); results.Authorities.AddLink(_traceID, map.ElementAt(i), authorities.ElementAt(i)); } return(results); }
public void BinaryTest() { string authorityFile = traceRoot + ".HITS.binary.ranks.authorities"; string hubFile = traceRoot + ".HITS.binary.ranks.hubs"; TLSimilarityMatrix oracleAuthority = WebMiningTestUtils.GenerateOracle(authorityFile, mapFile); TLSimilarityMatrix oracleHub = WebMiningTestUtils.GenerateOracle(hubFile, mapFile); PDG pdg = WebMiningTestUtils.GeneratePDG(traceFile, rawMethods); Console.WriteLine("Executing script..."); REngine engine = new REngine(Settings.Default.RScriptEXE); RScript script = new HITSScript("trace", pdg, new HITSConfig { Epsilon = epsilon, Weight = WebMiningWeightEnum.Binary, } ); HITSResult results = (HITSResult)engine.Execute(script); WebMiningTestUtils.CompareResults(oracleAuthority, results.Authorities, rawMethods); WebMiningTestUtils.CompareResults(oracleHub, results.Hubs, rawMethods); }