GithubHelp home page GithubHelp logo

netj / 3x Goto Github PK

View Code? Open in Web Editor NEW
21.0 21.0 4.0 10.67 MB

3X — a Workbench for eXecutable eXploratory eXperiments

Home Page: http://netj.github.io/3x/

Shell 54.20% Python 0.73% CoffeeScript 38.25% CSS 1.87% Perl 0.02% Makefile 0.95% HTML 3.98%

3x's People

Contributors

jaericson avatar netj avatar wu46 avatar

Stargazers

 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

3x's Issues

Popover on Hover

Instead of needing to click on an SVG element, show popovers on hover. If a user clicks on an SVG element, do not hide the popover.

This also entails adding invisible, event-handling rectangles for each visible bar in the bar graph to accept the mouseover event. The main purpose of this is to alleviate the problem of zero-height bars that would normally not allow the user to see the popover.

Nominal/Ordinal X-Axis Tick Limit

For bar charts, which show ordinal/nominal values on the x-axis, don't show all of them when there are too many to show because the x-axis labels run into each other. Be able to scale number of ticks according to the width of the screen.

Execute on servers with dedicated job scheduler

Under the current framework, is it possible to send all planned jobs to servers with a dedicated job scheduler? The workflow would likely be as follows:

  1. Plan runs locally (through cross product interface).
  2. Send and schedule jobs on the remote server.
    --- Completely disconnect from server, since large jobs will require at least a week to complete. It is not reasonable to require a consistent connection over that time period. ---
  3. Re-establish a connection and sync results.

Default Chart for Quantitative/Quantitative

Right now, if you have a bar chart selected and plot a quantitative variables vs. another quantitative variable, the x quantitative variable is plotted as a nominal variable. Instead, switch the chart type to a scatterplot and force the user to explicit select bar chart if they want this quant-to-nominal transformation to happen. This is simply the best default to show 2 quantitative variables in a chart.

Bars out of Whack

When adding additional series, bars seem to be offset in a strange manner.

Aborted run

Hello,

I've been running an experiment that takes approx. 4 hours to execute and produces approx. 90000 output lines.
When the experiment is finished, it is shown as Aborted and not as Complete. Looking in the run overview, I can see that 5 of the experiment outputs produce the error "cat: write error: Broken pipe".
I wonder how I can overcome this error and if it is caused by 3x or by my OS (Ubuntu Server 12.04).

Restrict Additional Y Variables to Same Unit

In the drop-down that shows additional variables that can be plotted beyond the initial variables for the x-axis and y-axis, filter out ratio variables that don't have the same unit as the y-axis variable. Make sure unitless variables are able to be plotted on the same chart (whose units might be denoted by "" or undefined).

Basic reproducibility features

It would be incredible useful to have some additional run information recorded to ensure results are reproducible. Sumatra, does a good job at deciding which details to log.

In particular, storing the SHA-1 for input and config files would help identify modifications from the first execution to first reproduction attempt. Another feature needed for reproducibility, is storing the git head (if the executable code lives in a git repo).

UI Control to Switch Between Chart Types

Allow a user to switch between chart types when a set of nominal/ratio variables can be displayed with a different type of chart.

For example, if an input variable is mapped to the x-axis, it could either be interpreted as a nominal or a ratio variable. The former would yield a bar chart; the latter would yield a scatterplot.

Enable Origin for Bar Chart

Enable the origin toggle for bar charts and set this as the default so that all bar charts are grounded at 0 by default.

Legend Axis Picker

Remove in-chart series labels in favor of colored dots next to each axis picker that expose a hidden legend when hovered over or clicked.

Update Series Creation Logic

For pivoting (creating series), only allow for nominal output variables or input variables. Input variables selected for the x-axis can be treated as either nominal or ratio. If selected for the y-axis, they are treated as ratio. If a non-axis variable (which means they are at least the 3rd selected variable), they are treated as nominal and can cause additional series to be created.

Support for parameter dependencies

I'm looking for a good tool to benchmark ELKI ( http://elki.dbs.ifi.lmu.de/ ) clustering performance across parameters.

The problem is, that the parameters aren't as nicely uniform as in your examples, and they have strong interdependencies.

The most interesting parameter obviously is the clustering algorithm. Say I'm looking only at k-means and DBSCAN for this example (but there are tons more in ELKI, which is why I could need benchmarking tool support).

  • k-means has the key parameters "kmeans.k" (the number of clusters) and the initialization method. Randomized initialization methods will also have a seed parameter, to fix the random seed.
  • for DBSCAN, the key parameters are the distance function, the radius epsilon (which depends a lot on the distance function), and minPts which interplays with the radius: a larger radius will need a larger minPts.

The big challenge here are the dependencies of the parameters. The most simple one is that the "k" parameter only exists for k-means, whereas for DBSCAN one needs to choose distance function, minPts and epsilon. But then, there are also k-means initialization heuristics that have parameters such as the random seed...

Will 3x be able to handle such complex cases?

Choose Scale Based on Chart, not Variable Type

Right now, we choose either an ordinal or linear scale based on variable types. Instead, decide on a scale based on the chart type, since we'll often times want to use quantitative variables as nominal/ordinal ones.

Filtering Consistency Bug in Axis Picker

If you choose an x and y, the 3rd axis picker will filter only variables with the same unit as the y variable chosen. However, once you select a 3rd variable, the 3rd variable dropdown menu no longer filters, and instead incorrectly shows many variables to choose from.

Grouped Bar Chart for "Identical" Labels

Right now, if the x-axis shows rows from the results table with identical names, there will be a separate label for each name. Instead, we need to use a grouped bar chart, where identically-named rows are only once on the x-axis, with no horizontal space between bars.

cannot have space in input values

3x define input 'algo' 'bubble Sort'
gives an error
input/algo=/bubble Sort: Invalid character in pattern value bubble Sort for algo.

It's quite a restriction to have only alpha numeric characters in the input values, unless I am missing some way to have input values with space/comma.

Enable Log Axis for Bar Charts

Enable logged bars for bar charts, taking into account the same logic (not allowing log if there are values of 0 in the data) that was employed for line/scatterplots.

3x error after assembly failure

3x doesn't take care of the case when it fails the assembly process, and does not report as "Fail" state. 3x remains to report the state as "Running".

Delete past runs

Hello.

I would like to know if there is a way to delete past runs, or re-initialize an experiment. I tried removing the runs from the run/ directory but with no luck.

Thanks,
Michalis

Additional Y Dropdown Logic

Right now, adding additional variables via the dropdown limits only to quantitative variables with the same unit as the y variable. Instead, allow other quantitative variables that will be plotted as nominal variables, as long as that variable has 8 or fewer unique values in the data.

Remove Y2

Remove the Y2 axis from being a possibility in the code logic.

rsync --relative --copy-unsafe-links collision

The files in the upper directory(inside the 3x storage but not in the input or program directories) are not copied using the "rsync". There is a collision between the --relative and --copy-unsafe-links options.

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.