Skip to content
This repository has been archived by the owner on Aug 13, 2024. It is now read-only.

learnedModel.LearningHistory empty #40

Closed
martinpfannemueller opened this issue Aug 3, 2018 · 2 comments
Closed

learnedModel.LearningHistory empty #40

martinpfannemueller opened this issue Aug 3, 2018 · 2 comments
Assignees

Comments

@martinpfannemueller
Copy link

I have the problem that I get an InvalidOperationException in line 604 of Commands.cs:
GlobalState.logInfo.logLine("Termination reason: " + learnedModel.LearningHistory.Last().terminationReason);

The reason for that is that learnedModel.LearningHistory is empty. What could be the reason for this? In general this might also be something which could be checked instead of crashing. Thanks a lot for any idea!

@ChristianKaltenecker
Copy link
Collaborator

Hey,

Could you please provide further details? For instance, the automation script containing the commands for SPL Conqueror, the variability model and the measurement file would be useful for us to reproduce your problem.

And yes, as soon as we find the reason, we would implement a further check.

@ChristianKaltenecker
Copy link
Collaborator

ChristianKaltenecker commented Aug 6, 2018

Hey,

Thank you for your scripts. I was able to reproduce your situation.

The problem are the values of your NFP called 'mMatchedDeadlines'. By default, we compute the error of the models found by multiple linear regression relatively.
The formula is as follows: (predictedNFPValue - realNFPValue) / realNFPValue * 100
Since 'mMatchedDeadlines' has sometimes the value '0', the formula above (realNFPValue = 0) will evaluate to 'Infinity'.
We will definitely add a check for this case.

  • To solve the problem, you can change from relative to absolute error computation by adding lossFunction ABSOLUTE to the machine-learning settings.
  • Another solution could be to increment all values of 'mMatchedDeadlines' by 1 and use relative error computation (if you want to stick with the relative error calculation).

You can try both solutions and stick with the better one.

Feel free to contact us if you face further problems with SPL Conqueror.

This issue will remain opened until the check is implemented.

@ChristianKaltenecker ChristianKaltenecker self-assigned this Aug 6, 2018
bauer-martin pushed a commit to bauer-martin/SPLConqueror that referenced this issue Jun 25, 2019
Former-commit-id: a943697c91bd14ebb11b84a26519d40c4cee77f9
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants