Giter Club home page Giter Club logo

lss-tools's Introduction

Build Status

lss tools

Tools to parse and analyze LiveSplit .lss files. At the moment it supports only command, deviation

Contributions welcome! See the contributing guide for guidelines.

deviation

Calculates standard deviation on each segment history to figure out which splits are the least consistent. You can specify lower bound on the attempt id, so that you can not account for very old segment times.

$ ./main.py deviation --help
usage: lss.py deviation [-h] [--comparison {GameTime,RealTime}]
                        [--minattemptid MINATTEMPTID]
                        [--zscore-cutoff ZSCORE_CUTOFF]
                        splits_file

positional arguments:
  splits_file           The .lss splits file to analyze

optional arguments:
  -h, --help            show this help message and exit
  --comparison {GameTime,RealTime}
                        Time comparison to analyze. Default: GameTime
  --minattemptid MINATTEMPTID
                        Minimum attempt id to analyze. Drops data from
                        attempts below this id.
  --zscore-cutoff ZSCORE_CUTOFF
                        Z-Score outside of which to drop outliers.

deviation example: 4 mask shards

In example-splits/4ms.lss, we find that attempt 171 is the beginning of a recent set of attempts:

<Attempt id="170" started="11/15/2020 05:53:01" />
<Attempt id="171" started="12/22/2020 14:35:54" />

So, we are interested in how inconsistent we have been since then:

# keep outliers:
$ ./main.py deviation ./example-splits/4ms.lss --minattemptid 171 | head -n 4
Mean           Median         Deviation      Gold           Gold Z-Score   Split Name
00:00:29.240   00:00:26.357   00:00:06.687   00:00:25.320   -0.59          Aspid Arena
00:00:36.560   00:00:34.905   00:00:05.799   00:00:33.533   -0.52          Grub 1
00:01:20.848   00:01:23.652   00:00:05.703   00:01:13.138   -1.35          Mawlek


# remove outliers:
$ ./main.py deviation ./example-splits/4ms.lss --minattemptid 171 --zscore-cutoff 3
Mean           Median         Deviation      Gold           Gold Z-Score   Split Name
00:00:29.240   00:00:26.357   00:00:06.687   00:00:25.320   -0.59          Aspid Arena
00:01:20.848   00:01:23.652   00:00:05.703   00:01:13.138   -1.35          Mawlek
00:00:32.208   00:00:30.440   00:00:03.983   00:00:29.934   -0.57          Grub 2
00:00:27.295   00:00:27.315   00:00:03.245   00:00:22.603   -1.45          Grub 5
00:01:01.773   00:01:02.115   00:00:02.565   00:00:58.392   -1.32          Gruz Mother
00:00:51.717   00:00:51.971   00:00:02.285   00:00:48.696   -1.32          Grub 3
00:00:37.165   00:00:37.335   00:00:01.425   00:00:35.038   -1.49          Shard 2
00:01:12.335   00:01:12.369   00:00:01.330   00:01:09.817   -1.89          Dirtmouth
00:00:20.408   00:00:20.129   00:00:00.998   00:00:18.911   -1.5           Grub 4
00:00:48.470   00:00:48.472   00:00:00.742   00:00:46.491   -2.67          Shard 3
00:00:35.071   00:00:34.858   00:00:00.614   00:00:33.533   -2.5           Grub 1
00:00:21.781   00:00:21.635   00:00:00.610   00:00:19.863   -3.14 !!!      Shard 4
00:00:10.054   00:00:09.914   00:00:00.455   00:00:09.449   -1.33          Shard 1

This tells us that, when we do segment practice, we should focus on Aspid Arena* and Mawlek. When we keep outliers, we also find Grub 1 to be very inconsistent. When we remove outliers beyond z-score 3, we find Grub 2 much more inconsistent.

A low Gold Z-Score means that we usually perform pretty close to our gold. When given --zscore-cutoff 3, we are also warned that our gold for Shard 4 is an outlier. We may wish to keep this in mind when comparing to golds, or even consider removing the gold there.

*In these splits, Aspid Arena includes a hazard respawn after the acid grub. Missing the respawn loses a lot of time.

deviation example: all skills

We will use --minattemptid 38 to remove 3 months of rust:

<Attempt id="37" started="09/12/2020 18:11:17" />
<Attempt id="38" started="12/22/2020 22:18:00" />

Finding outlier golds:

$ ./main.py deviation ./example-splits/allskills.lss --minattemptid 38 --zscore-cutoff 3
Mean           Median         Deviation      Gold           Gold Z-Score   Split Name
# ...
00:02:22.272   00:02:22.084   00:00:06.771   00:01:59.263   -3.4  !!!      Great Slash

deviation caveat

โš  If you have recently added splits in the middle of other splits, be sure minattemptid is after that point

lss-tools's People

Contributors

blakeharriman avatar slaurent22 avatar

Stargazers

 avatar

Watchers

 avatar

lss-tools's Issues

Add filters to view run history more customisable

The code currently has --minattemptid support, but no "runs since date" or "last N runs" support, which would be very helpful to analyse performance variables in specific timespans.

"since ", "last N runs", and "in timespan" are immediate options I can see being very practical

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.