Changeset 6878 for branches/GeneralizedQAP/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification
- Timestamp:
- 10/05/11 21:55:55 (13 years ago)
- Location:
- branches/GeneralizedQAP
- Files:
-
- 2 deleted
- 12 edited
- 2 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/GeneralizedQAP
- Property svn:ignore
-
old new 1 *.docstates 2 *.psess 1 3 *.resharper 2 4 *.suo 5 *.vsp 3 6 Google.ProtocolBuffers-0.9.1.dll 7 HeuristicLab 3.3.5.1.ReSharper.user 8 HeuristicLab 3.3.6.0.ReSharper.user 4 9 HeuristicLab.4.5.resharper.user 5 10 HeuristicLab.resharper.user … … 8 13 _ReSharper.HeuristicLab 9 14 _ReSharper.HeuristicLab 3.3 15 _ReSharper.HeuristicLab.ExtLibs 16 bin 10 17 protoc.exe 11 HeuristicLab 3.3.5.1.ReSharper.user 12 *.psess 13 *.vsp 14 *.docstates 18 HeuristicLab.ExtLibs.6.0.ReSharper.user
-
- Property svn:mergeinfo changed
- Property svn:ignore
-
branches/GeneralizedQAP/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4
- Property svn:ignore
-
old new 4 4 obj 5 5 *.vs10x 6 Plugin.cs
-
- Property svn:ignore
-
branches/GeneralizedQAP/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification-3.4.csproj
r5809 r6878 41 41 <DebugType>full</DebugType> 42 42 <Optimize>false</Optimize> 43 <OutputPath> bin\Debug\</OutputPath>43 <OutputPath>$(SolutionDir)\bin\</OutputPath> 44 44 <DefineConstants>DEBUG;TRACE</DefineConstants> 45 45 <ErrorReport>prompt</ErrorReport> … … 50 50 <DebugType>pdbonly</DebugType> 51 51 <Optimize>true</Optimize> 52 <OutputPath> bin\Release\</OutputPath>52 <OutputPath>$(SolutionDir)\bin\</OutputPath> 53 53 <DefineConstants>TRACE</DefineConstants> 54 54 <ErrorReport>prompt</ErrorReport> … … 58 58 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' "> 59 59 <DebugSymbols>true</DebugSymbols> 60 <OutputPath> bin\x64\Debug\</OutputPath>60 <OutputPath>$(SolutionDir)\bin\</OutputPath> 61 61 <DefineConstants>DEBUG;TRACE</DefineConstants> 62 62 <DebugType>full</DebugType> … … 66 66 </PropertyGroup> 67 67 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' "> 68 <OutputPath> bin\x64\Release\</OutputPath>68 <OutputPath>$(SolutionDir)\bin\</OutputPath> 69 69 <DefineConstants>TRACE</DefineConstants> 70 70 <Optimize>true</Optimize> … … 76 76 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> 77 77 <DebugSymbols>true</DebugSymbols> 78 <OutputPath> bin\x86\Debug\</OutputPath>78 <OutputPath>$(SolutionDir)\bin\</OutputPath> 79 79 <DefineConstants>DEBUG;TRACE</DefineConstants> 80 80 <DebugType>full</DebugType> … … 84 84 </PropertyGroup> 85 85 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> 86 <OutputPath> bin\x86\Release\</OutputPath>86 <OutputPath>$(SolutionDir)\bin\</OutputPath> 87 87 <DefineConstants>TRACE</DefineConstants> 88 88 <Optimize>true</Optimize> … … 93 93 </PropertyGroup> 94 94 <ItemGroup> 95 <Reference Include="ALGLIB-3.1.0, Version=3.1.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 96 <HintPath>..\..\bin\ALGLIB-3.1.0.dll</HintPath> 97 </Reference> 95 98 <Reference Include="System" /> 96 99 <Reference Include="System.Core"> … … 110 113 <Compile Include="Interfaces\ISymbolicDiscriminantFunctionClassificationModel.cs" /> 111 114 <Compile Include="MultiObjective\SymbolicClassificationMultiObjectiveValidationBestSolutionAnalyzer.cs" /> 115 <Compile Include="Plugin.cs" /> 112 116 <Compile Include="SingleObjective\SymbolicClassificationSingleObjectiveBoundedMeanSquaredErrorEvaluator.cs" /> 113 117 <Compile Include="SingleObjective\SymbolicClassificationSingleObjectiveOverfittingAnalyzer.cs" /> … … 134 138 </Compile> 135 139 <None Include="HeuristicLab.snk" /> 136 <None Include="HeuristicLabProblemsDataAnalysisSymbolicClassificationPlugin.cs.frame" /> 137 <None Include="Properties\AssemblyInfo.frame" /> 138 <Compile Include="HeuristicLabProblemsDataAnalysisSymbolicClassificationPlugin.cs" /> 140 <None Include="Plugin.cs.frame" /> 141 <None Include="Properties\AssemblyInfo.cs.frame" /> 139 142 <Compile Include="Interfaces\ISymbolicClassificationEvaluator.cs" /> 140 143 <Compile Include="Interfaces\ISymbolicClassificationMultiObjectiveEvaluator.cs" /> … … 146 149 <Project>{887425B4-4348-49ED-A457-B7D2C26DDBF9}</Project> 147 150 <Name>HeuristicLab.Analysis-3.3</Name> 151 <Private>False</Private> 148 152 </ProjectReference> 149 153 <ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj"> 150 154 <Project>{958B43BC-CC5C-4FA2-8628-2B3B01D890B6}</Project> 151 155 <Name>HeuristicLab.Collections-3.3</Name> 156 <Private>False</Private> 152 157 </ProjectReference> 153 158 <ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj"> 154 159 <Project>{A9AD58B9-3EF9-4CC1-97E5-8D909039FF5C}</Project> 155 160 <Name>HeuristicLab.Common-3.3</Name> 161 <Private>False</Private> 156 162 </ProjectReference> 157 163 <ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj"> 158 164 <Project>{C36BD924-A541-4A00-AFA8-41701378DDC5}</Project> 159 165 <Name>HeuristicLab.Core-3.3</Name> 166 <Private>False</Private> 160 167 </ProjectReference> 161 168 <ProjectReference Include="..\..\HeuristicLab.Data\3.3\HeuristicLab.Data-3.3.csproj"> 162 169 <Project>{BBAB9DF5-5EF3-4BA8-ADE9-B36E82114937}</Project> 163 170 <Name>HeuristicLab.Data-3.3</Name> 171 <Private>False</Private> 164 172 </ProjectReference> 165 173 <ProjectReference Include="..\..\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding\3.4\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.csproj"> 166 174 <Project>{06D4A186-9319-48A0-BADE-A2058D462EEA}</Project> 167 175 <Name>HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4</Name> 168 </ProjectReference> 169 <ProjectReference Include="..\..\HeuristicLab.ExtLibs\HeuristicLab.ALGLIB\3.1.0\ALGLIB-3.1.0\ALGLIB-3.1.0.csproj"> 170 <Project>{FC841674-62A7-4055-BE91-E41944B6C606}</Project> 171 <Name>ALGLIB-3.1.0</Name> 172 </ProjectReference> 173 <ProjectReference Include="..\..\HeuristicLab.ExtLibs\HeuristicLab.ALGLIB\3.1.0\HeuristicLab.ALGLIB-3.1.0\HeuristicLab.ALGLIB-3.1.0.csproj"> 174 <Project>{DE69A359-A5B8-4D3D-BA8D-D5780D7F96D6}</Project> 175 <Name>HeuristicLab.ALGLIB-3.1.0 %28HeuristicLab.ExtLibs\HeuristicLab.ALGLIB\HeuristicLab.ALGLIB-3.1.0\HeuristicLab.ALGLIB-3.1.0%29</Name> 176 <Private>False</Private> 176 177 </ProjectReference> 177 178 <ProjectReference Include="..\..\HeuristicLab.Operators\3.3\HeuristicLab.Operators-3.3.csproj"> 178 179 <Project>{23DA7FF4-D5B8-41B6-AA96-F0561D24F3EE}</Project> 179 180 <Name>HeuristicLab.Operators-3.3</Name> 181 <Private>False</Private> 180 182 </ProjectReference> 181 183 <ProjectReference Include="..\..\HeuristicLab.Optimization\3.3\HeuristicLab.Optimization-3.3.csproj"> 182 184 <Project>{14AB8D24-25BC-400C-A846-4627AA945192}</Project> 183 185 <Name>HeuristicLab.Optimization-3.3</Name> 186 <Private>False</Private> 184 187 </ProjectReference> 185 188 <ProjectReference Include="..\..\HeuristicLab.Parameters\3.3\HeuristicLab.Parameters-3.3.csproj"> 186 189 <Project>{56F9106A-079F-4C61-92F6-86A84C2D84B7}</Project> 187 190 <Name>HeuristicLab.Parameters-3.3</Name> 191 <Private>False</Private> 188 192 </ProjectReference> 189 193 <ProjectReference Include="..\..\HeuristicLab.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj"> 190 194 <Project>{102BC7D3-0EF9-439C-8F6D-96FF0FDB8E1B}</Project> 191 195 <Name>HeuristicLab.Persistence-3.3</Name> 196 <Private>False</Private> 192 197 </ProjectReference> 193 198 <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj"> 194 199 <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project> 195 200 <Name>HeuristicLab.PluginInfrastructure-3.3</Name> 201 <Private>False</Private> 196 202 </ProjectReference> 197 203 <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis.Symbolic\3.4\HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj"> 198 204 <Project>{3D28463F-EC96-4D82-AFEE-38BE91A0CA00}</Project> 199 205 <Name>HeuristicLab.Problems.DataAnalysis.Symbolic-3.4</Name> 206 <Private>False</Private> 200 207 </ProjectReference> 201 208 <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis\3.4\HeuristicLab.Problems.DataAnalysis-3.4.csproj"> 202 209 <Project>{DF87C13E-A889-46FF-8153-66DCAA8C5674}</Project> 203 210 <Name>HeuristicLab.Problems.DataAnalysis-3.4</Name> 211 <Private>False</Private> 204 212 </ProjectReference> 205 213 </ItemGroup> … … 237 245 238 246 call PreBuildEvent.cmd 239 SubWCRev "%25ProjectDir%25\" "%25ProjectDir%25\HeuristicLabProblemsDataAnalysisSymbolicClassificationPlugin.cs.frame" "%25ProjectDir%25\HeuristicLabProblemsDataAnalysisSymbolicClassificationPlugin.cs"</PreBuildEvent>247 </PreBuildEvent> 240 248 </PropertyGroup> 241 249 </Project> -
branches/GeneralizedQAP/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/MultiObjective/SymbolicClassificationMultiObjectiveMeanSquaredErrorTreeSizeEvaluator.cs
r5942 r6878 54 54 public static double[] Calculate(ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, ISymbolicExpressionTree solution, double lowerEstimationLimit, double upperEstimationLimit, IClassificationProblemData problemData, IEnumerable<int> rows) { 55 55 IEnumerable<double> estimatedValues = interpreter.GetSymbolicExpressionTreeValues(solution, problemData.Dataset, rows); 56 IEnumerable<double> originalValues = problemData.Dataset.Get EnumeratedVariableValues(problemData.TargetVariable, rows);56 IEnumerable<double> originalValues = problemData.Dataset.GetDoubleValues(problemData.TargetVariable, rows); 57 57 IEnumerable<double> boundedEstimationValues = estimatedValues.LimitToRange(lowerEstimationLimit, upperEstimationLimit); 58 58 OnlineCalculatorError errorState; -
branches/GeneralizedQAP/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/MultiObjective/SymbolicClassificationMultiObjectivePearsonRSquaredTreeSizeEvaluator.cs
r5942 r6878 33 33 public static double[] Calculate(ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, ISymbolicExpressionTree solution, double lowerEstimationLimit, double upperEstimationLimit, IClassificationProblemData problemData, IEnumerable<int> rows) { 34 34 IEnumerable<double> estimatedValues = interpreter.GetSymbolicExpressionTreeValues(solution, problemData.Dataset, rows); 35 IEnumerable<double> originalValues = problemData.Dataset.Get EnumeratedVariableValues(problemData.TargetVariable, rows);35 IEnumerable<double> originalValues = problemData.Dataset.GetDoubleValues(problemData.TargetVariable, rows); 36 36 OnlineCalculatorError errorState; 37 37 double r2 = OnlinePearsonsRSquaredCalculator.Calculate(estimatedValues, originalValues, out errorState); -
branches/GeneralizedQAP/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/MultiObjective/SymbolicClassificationMultiObjectiveProblem.cs
r5854 r6878 62 62 MaximumSymbolicExpressionTreeLength.Value = InitialMaximumTreeLength; 63 63 64 SymbolicExpressionTreeGrammarParameter.ValueChanged += (o, e) => ConfigureGrammarSymbols(); 65 66 ConfigureGrammarSymbols(); 64 67 InitializeOperators(); 65 68 UpdateEstimationLimits(); 69 } 70 71 private void ConfigureGrammarSymbols() { 72 var grammar = SymbolicExpressionTreeGrammar as TypeCoherentExpressionGrammar; 73 if (grammar != null) grammar.ConfigureAsDefaultClassificationGrammar(); 66 74 } 67 75 … … 73 81 74 82 private void UpdateEstimationLimits() { 75 if (ProblemData.Training Partition.Start < ProblemData.TrainingPartition.End) {76 var targetValues = ProblemData.Dataset.Get VariableValues(ProblemData.TargetVariable, ProblemData.TrainingPartition.Start, ProblemData.TrainingPartition.End);83 if (ProblemData.TrainingIndizes.Any()) { 84 var targetValues = ProblemData.Dataset.GetDoubleValues(ProblemData.TargetVariable, ProblemData.TrainingIndizes).ToList(); 77 85 var mean = targetValues.Average(); 78 86 var range = targetValues.Max() - targetValues.Min(); 79 87 EstimationLimits.Upper = mean + PunishmentFactor * range; 80 88 EstimationLimits.Lower = mean - PunishmentFactor * range; 89 } else { 90 EstimationLimits.Upper = double.MaxValue; 91 EstimationLimits.Lower = double.MinValue; 81 92 } 82 93 } -
branches/GeneralizedQAP/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/SingleObjective/SymbolicClassificationSingleObjectiveBoundedMeanSquaredErrorEvaluator.cs
r5906 r6878 54 54 public static double Calculate(ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, ISymbolicExpressionTree solution, double lowerEstimationLimit, double upperEstimationLimit, IClassificationProblemData problemData, IEnumerable<int> rows) { 55 55 IEnumerable<double> estimatedValues = interpreter.GetSymbolicExpressionTreeValues(solution, problemData.Dataset, rows); 56 IEnumerable<double> originalValues = problemData.Dataset.Get EnumeratedVariableValues(problemData.TargetVariable, rows);56 IEnumerable<double> originalValues = problemData.Dataset.GetDoubleValues(problemData.TargetVariable, rows); 57 57 IEnumerable<double> boundedEstimationValues = estimatedValues.LimitToRange(lowerEstimationLimit, upperEstimationLimit); 58 58 -
branches/GeneralizedQAP/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/SingleObjective/SymbolicClassificationSingleObjectiveMeanSquaredErrorEvaluator.cs
r5942 r6878 54 54 public static double Calculate(ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, ISymbolicExpressionTree solution, double lowerEstimationLimit, double upperEstimationLimit, IClassificationProblemData problemData, IEnumerable<int> rows) { 55 55 IEnumerable<double> estimatedValues = interpreter.GetSymbolicExpressionTreeValues(solution, problemData.Dataset, rows); 56 IEnumerable<double> originalValues = problemData.Dataset.Get EnumeratedVariableValues(problemData.TargetVariable, rows);56 IEnumerable<double> originalValues = problemData.Dataset.GetDoubleValues(problemData.TargetVariable, rows); 57 57 IEnumerable<double> boundedEstimationValues = estimatedValues.LimitToRange(lowerEstimationLimit, upperEstimationLimit); 58 58 OnlineCalculatorError errorState; -
branches/GeneralizedQAP/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/SingleObjective/SymbolicClassificationSingleObjectiveOverfittingAnalyzer.cs
r5907 r6878 76 76 public override IOperation Apply() { 77 77 double[] trainingQuality = QualityParameter.ActualValue.Select(x => x.Value).ToArray(); 78 var problemData = ProblemDataParameter.ActualValue; 79 var evaluator = EvaluatorParameter.ActualValue; 78 80 // evaluate on validation partition 79 81 IEnumerable<int> rows = GenerateRowsToEvaluate(); 80 82 if (!rows.Any()) return base.Apply(); 81 82 IExecutionContext childContext = (IExecutionContext)ExecutionContext.CreateChildOperation(EvaluatorParameter.ActualValue);83 double[] validationQuality = (from tree in SymbolicExpressionTree84 select EvaluatorParameter.ActualValue.Evaluate(childContext, tree, ProblemDataParameter.ActualValue, rows))85 83 IExecutionContext childContext = (IExecutionContext)ExecutionContext.CreateChildOperation(evaluator); 84 double[] validationQuality = SymbolicExpressionTree 85 .AsParallel() 86 .Select(t => evaluator.Evaluate(childContext, t, problemData, rows)) 87 .ToArray(); 86 88 double r = 0.0; 87 89 try { -
branches/GeneralizedQAP/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/SingleObjective/SymbolicClassificationSingleObjectivePearsonRSquaredEvaluator.cs
r5942 r6878 54 54 public static double Calculate(ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, ISymbolicExpressionTree solution, double lowerEstimationLimit, double upperEstimationLimit, IClassificationProblemData problemData, IEnumerable<int> rows) { 55 55 IEnumerable<double> estimatedValues = interpreter.GetSymbolicExpressionTreeValues(solution, problemData.Dataset, rows); 56 IEnumerable<double> originalValues = problemData.Dataset.Get EnumeratedVariableValues(problemData.TargetVariable, rows);56 IEnumerable<double> originalValues = problemData.Dataset.GetDoubleValues(problemData.TargetVariable, rows); 57 57 OnlineCalculatorError errorState; 58 58 double r2 = OnlinePearsonsRSquaredCalculator.Calculate(estimatedValues, originalValues, out errorState); -
branches/GeneralizedQAP/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/SingleObjective/SymbolicClassificationSingleObjectiveProblem.cs
r5854 r6878 60 60 MaximumSymbolicExpressionTreeLength.Value = InitialMaximumTreeLength; 61 61 62 SymbolicExpressionTreeGrammarParameter.ValueChanged += (o, e) => ConfigureGrammarSymbols(); 63 64 ConfigureGrammarSymbols(); 62 65 InitializeOperators(); 63 66 UpdateEstimationLimits(); 67 } 68 69 private void ConfigureGrammarSymbols() { 70 var grammar = SymbolicExpressionTreeGrammar as TypeCoherentExpressionGrammar; 71 if (grammar != null) grammar.ConfigureAsDefaultClassificationGrammar(); 64 72 } 65 73 … … 72 80 73 81 private void UpdateEstimationLimits() { 74 if (ProblemData.Training Partition.Start < ProblemData.TrainingPartition.End) {75 var targetValues = ProblemData.Dataset.Get VariableValues(ProblemData.TargetVariable, ProblemData.TrainingPartition.Start, ProblemData.TrainingPartition.End);82 if (ProblemData.TrainingIndizes.Any()) { 83 var targetValues = ProblemData.Dataset.GetDoubleValues(ProblemData.TargetVariable, ProblemData.TrainingIndizes).ToList(); 76 84 var mean = targetValues.Average(); 77 85 var range = targetValues.Max() - targetValues.Min(); 78 86 EstimationLimits.Upper = mean + PunishmentFactor * range; 79 87 EstimationLimits.Lower = mean - PunishmentFactor * range; 88 } else { 89 EstimationLimits.Upper = double.MaxValue; 90 EstimationLimits.Lower = double.MinValue; 80 91 } 81 92 } -
branches/GeneralizedQAP/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/SymbolicDiscriminantFunctionClassificationModel.cs
r6604 r6878 127 127 var rows = problemData.TrainingIndizes; 128 128 var estimatedValues = model.Interpreter.GetSymbolicExpressionTreeValues(model.SymbolicExpressionTree, dataset, rows); 129 var targetValues = dataset.Get EnumeratedVariableValues(targetVariable, rows);129 var targetValues = dataset.GetDoubleValues(targetVariable, rows); 130 130 double alpha; 131 131 double beta; … … 140 140 if (startNode.GetSubtree(0).Symbol is Addition) { 141 141 var addNode = startNode.GetSubtree(0); 142 if (addNode.Subtree sCount == 2 && addNode.GetSubtree(0).Symbol is Multiplication && addNode.GetSubtree(1).Symbol is Constant) {142 if (addNode.SubtreeCount == 2 && addNode.GetSubtree(0).Symbol is Multiplication && addNode.GetSubtree(1).Symbol is Constant) { 143 143 alphaTreeNode = addNode.GetSubtree(1) as ConstantTreeNode; 144 144 var mulNode = addNode.GetSubtree(0); 145 if (mulNode.Subtree sCount == 2 && mulNode.GetSubtree(1).Symbol is Constant) {145 if (mulNode.SubtreeCount == 2 && mulNode.GetSubtree(1).Symbol is Constant) { 146 146 betaTreeNode = mulNode.GetSubtree(1) as ConstantTreeNode; 147 147 }
Note: See TracChangeset
for help on using the changeset viewer.