Changeset 13928 for branches/HeuristicLab.Algorithms.DataAnalysis.Glmnet/3.4/ElasticNetLinearRegression.cs
- Timestamp:
- 06/20/16 16:38:54 (8 years ago)
- Location:
- branches/HeuristicLab.Algorithms.DataAnalysis.Glmnet/3.4
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Algorithms.DataAnalysis.Glmnet/3.4
-
Property
svn:ignore
set to
.vs
bin
*.user
obj
Plugin.cs
-
Property
svn:ignore
set to
-
branches/HeuristicLab.Algorithms.DataAnalysis.Glmnet/3.4/ElasticNetLinearRegression.cs
r13927 r13928 58 58 var nCoeff = coeff.GetLength(1); 59 59 var dataRows = new DataRow[nCoeff]; 60 var allowedVars = Problem.ProblemData.AllowedInputVariables.ToArray(); 60 61 for (int i = 0; i < nCoeff; i++) { 61 var coeffId = string.Format("c_{0}", i); 62 dataRows[i] = new DataRow(coeffId, coeffId, Enumerable.Range(0, nLambdas).Select(r => coeff[r, i]).ToArray()); 62 var coeffId = allowedVars[i]; 63 var path = Enumerable.Range(0, nLambdas).Select(r => coeff[r, i]).ToArray(); 64 dataRows[i] = new DataRow(coeffId, coeffId, path); 63 65 coeffTable.Rows.Add(dataRows[i]); 64 66 } … … 68 70 var rsqTable = new DataTable("R-Squared", "Path of R² values over different lambda values"); 69 71 rsqTable.Rows.Add(new DataRow("R-Squared", "Path of R² values over different lambda values", rsq)); 70 Results.Add(new Result(rsqTable.Name, rsqTable.Description, coeffTable)); 71 } 72 73 // private static void TestTower() { 74 // var prov = new HeuristicLab.Problems.Instances.DataAnalysis.RegressionRealWorldInstanceProvider(); 75 // var towerDesc = prov.GetDataDescriptors().Where(dd => dd.Name.Contains("Tower")).Single(); 76 // try { 77 // var problemData = prov.LoadData(towerDesc); 78 // 79 // double[] lambda; 80 // double[] rsq; 81 // double[,] coeff; 82 // double[] intercept; 83 // RunElasticNetLinearRegression(problemData, 0.5, out lambda, out rsq, out coeff, out intercept); 84 // 85 // for (int i = 0; i < rsq.Length; i++) { 86 // Console.WriteLine(rsq[i]); 87 // } 88 // 89 // double rsq0; 90 // CreateElasticNetLinearRegressionSolution(problemData, 0.5, lambda.Skip(20).First(), out rsq0); 91 // 92 // CreateElasticNetLinearRegressionSolution(problemData, 0.5, lambda.Skip(20).Take(10).ToArray(), out rsq); 93 // 94 // 95 // } 96 // catch (Exception e) { 97 // } 98 // } 72 Results.Add(new Result(rsqTable.Name, rsqTable.Description, rsqTable)); 73 } 99 74 100 75 public static double[] CreateElasticNetLinearRegressionSolution(IRegressionProblemData problemData, double penalty, double lambda,
Note: See TracChangeset
for help on using the changeset viewer.