Giter Site home page Giter Site logo

kerschke / flacco Goto Github PK

View Code? Open in Web Editor NEW
58.0 58.0 8.0 1.98 MB

Feature-Based Landscape Analysis of Continuous and Constrained Optimization Problems

Home Page: http://kerschke.github.io/flacco/

License: Other

R 99.84% CSS 0.16%
exploratory-landscape-analysis gui optimization r r-package

flacco's People

Contributors

dagefoerde avatar hansterc avatar kerschke avatar mllg avatar the-other-one avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

flacco's Issues

Error due to infinite values (L-BFGS-B)

Check, how it is possible that L-BFGS-B wants to use infinite values:

Error in optim(as.numeric(par), fn, method = opt.algo, control = opt.algo.control,  :    L-BFGS-B needs finite values of "fn"

Running Time

Measure running time (and eventually also memory usage) for the computation of a feature group.

Testing

We should try to include even more tests.
@Dagefoerde could you have a look at it?

Latin Hyper-Cube malfunction?

I am trying to use FLACCO to characterise neural network error surfaces. I got the CRAN version of the library, and I get the following error when attempting to create an initial sample with a latin hypercube:

X = createInitialSample(n.obs = 1000, control=list(init_sample.type = "lhs", init_sample.lower = -5, init_sample.upper = 5), dim = calcDim(irisArch))

The result is:

Error in loadNamespace(name) : there is no package called โ€˜lhsโ€™

The issue arises only with lhs. The random option works fine. However, if I understand Mersmann's paper correctly, latin hypercube is not really optional.

Installing as R package

Hi,
First i really appreciate your work.
When installing as a R package as mentioned in the READ_ME, the functions for computing features are not found. In the NAMESPACE file, i checked that they are not exported.
Do we need extra packages that are not mentioned?

I would appreciate if you could tell me exactly how i can make it work

Thank you

required package

In the required package, it should be added the packages:

  • expm => for the gcm features
  • mda => for the ela_level features
  • e1071
  • numDeriv

When installing flacco as a package, they are not mention as required. But during the run it may crash if these packages are not installed.

Improve usage of feature computation

Function names should be more intuitive and useful, e.g. calculateConvexityFeatures instead of calculateConvexity. I plan to do the following changes.

Cell Mapping:
(1) calculateAngle --> calculateAngleFeatures
(2) calculateCellConvexity --> calculateCellConvexityFeatures
(3) calculateGradientHomogeneity --> calculateGradientHomogeneityFeatures

ELA:
(1) calculateConvexity --> calculateConvexityFeatures
(2) calculateCurvature --> calculateCurvatureFeatures
(3) calculateLevelset --> calculateLevelsetFeatures
(4) calculateLocalSearch --> calculateLocalSearchFeatures
(5) calculateMetaModel --> calculateMetaModelFeatures
(6) calculateDistribution --> calculateDistributionFeatures

Misc:
(1) calculateBasics --> calculateBasicFeatures
(2) calculateDispersion --> calculateDispersionFeatures
(3) calculateLinModCoefficients --> calculateLinearModelFeatures
(4) calculateNearestBetter --> calculateNearestBetterFeatures
(5) calculatePCA --> calculatePrincipalComponentFeatures

Re-write GCM

So far, the GCM and barrier tree functions are just a 1-to-1 translation from matlab to R.
However, the source code is difficult to read/understand and needs to be modularized.

Re-initiate mda in levelset feats

In the current implementation of the levelset features, mda was replaced by rpart due to a bug in mda, which resulted in frequent crashes of mda.
Since the author(s) of mda apparently fixed that bug (with version 0.4-7), I can re-initiate the original implementation of the levelset features.

coverall skips majority of tests

@mllg: I know that this is not related to any of your packages, but do you have any idea, why coverall skips the majority of my tests? Actually, it appears as if it is only running test_check("flacco", filter = "^base") although it should also run tests for other filters.

library(testthat)

# test general stuff:
test_check("flacco", filter = "^base")

# if (identical(Sys.getenv("TRAVIS"), "true") || identical(Sys.getenv("R_EXPENSIVE_TEST_OK"), "true")) {
  test_check("flacco", filter = "^plot")
# }

and

library(testthat)

# test features:
# if (identical(Sys.getenv("TRAVIS"), "true") || identical(Sys.getenv("R_EXPENSIVE_TEST_OK"), "true")) {
  test_check("flacco", filter = "^cm")
  test_check("flacco", filter = "^ela")
  test_check("flacco", filter = "^gcm")
  test_check("flacco", filter = "^ic")
  test_check("flacco", filter = "^misc")
  test_check("flacco", filter = "calculateFeatures")
# }

I was already guessing that it might be caused by the if-check prior to these tests (although it used to work until the beginning of February) - but comments around that if-clause do not help either :-/

numDeriv does not respect constraints

Within the "ela_curv" feature set, we make use of the numDeriv package to compute the gradient and hessian of a function. Unfortunately, the function numDeriv:::genD, which is called within numDeriv::hessian, does not care about a function's constraints.
Thus, the estimation of the gradient and hessian need to be re-implemented.

ic.eps.max scaling

Unlike ic.eps.s and ic.eps.ratio, ic.eps.max is not log10-ed. This results in poor feature scaling.
I'd suggest to add a logarithm here to make them more consistent.

Compare:

Problems with coveralls and codecov

Trying to run coveralls or codecov results in an error:

> coveralls()
Error in eval(expr, envir, enclos) : Object 'boundary' not found

> codecov()
Error in eval(expr, envir, enclos) : Object 'boundary' not found

As long as this error occurs, we can't really test anymore :-/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.