question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[BUG] HiveCote output

See original GitHub issue

Describe the bug Fitting hive-cote model gives unrecognizable number outputs and doesn’t finish executing, even on a small dataset.

To Reproduce Run fit with a small dataset (mine is 500x10), I interrupted after 30 hours on this small dataset.

>from sktime.classification.hybrid import HIVECOTEV1

>hive = HIVECOTEV1()
>hive.fit(X_train_small, y_train_small)

1.4102227687835693
1.4351227283477783
1.4401609897613525
1.455118179321289
1.4720587730407715
1.4735655784606934
1.5098981857299805
1.5518741607666016
1.5618183612823486
1.6083710193634033
1.6144781112670898
1.656531572341919
1.694200038909912
1.8179378509521484
1.1604790687561035
1.2566297054290771
1.267608404159546
1.2775826454162598
1.2984962463378906
1.6186723709106445
1.684495449066162
1.1329700946807861
1.162933588027954
1.1708612442016602
1.1918137073516846
1.2217142581939697
1.2486572265625
1.2994804382324219
1.3000919818878174
1.3204693794250488
1.3333721160888672
1.424189805984497
1.4730608463287354
1.5324997901916504
1.6767830848693848
2.2469911575317383
1.10504150390625
1.1977901458740234
1.2267138957977295
1.2467164993286133
1.250666618347168
1.3663420677185059
1.3813018798828125
1.1080362796783447
1.119640827178955
1.2005653381347656
1.2197377681732178
1.2207260131835938
1.2436511516571045
1.2863152027130127
1.1598975658416748
1.173907995223999
1.182831048965454
1.223266363143921
1.2944936752319336
1.3483796119689941
1.3493454456329346
1.225809097290039
1.2561888694763184
1.2595922946929932
1.2845253944396973
1.3055100440979004
1.306506633758545
1.3862872123718262
1.4042775630950928
1.4251701831817627
1.8021807670593262
1.153918981552124
1.1748120784759521
1.1948018074035645
1.2117547988891602
1.2277166843414307
1.2336978912353516
1.2676081657409668
1.267608880996704
1.271592140197754
1.146115779876709
1.2246768474578857
1.2275745868682861
1.2276766300201416
1.2586297988891602
1.2646138668060303
1.312474250793457
1.1439476013183594
1.2127492427825928
1.2346980571746826
1.2396836280822754
1.2486522197723389
1.248659372329712
1.2735872268676758
1.2815752029418945
1.0818612575531006
1.2257189750671387
1.2336993217468262
1.2556405067443848
1.2866203784942627
1.2915489673614502
1.3842966556549072
1.4561092853546143
4.397695541381836
4.439384460449219
4.521897077560425
1.4102232456207275
1.4172465801239014
1.4710273742675781
1.5079617500305176
1.5219314098358154
1.5228848457336426
1.5463685989379883
1.5488560199737549
1.5538420677185059
1.5658457279205322
1.5777888298034668
1.0661485195159912
1.0791501998901367
1.1140198707580566
1.1509478092193604
1.1888630390167236
1.1957767009735107
1.2287139892578125
1.2297098636627197
1.2337005138397217
1.2407174110412598
1.27756667137146
1.2776179313659668
1.2795777320861816
1.2805571556091309
1.1738529205322266
1.207770824432373
1.2187480926513672
1.2227346897125244
1.2317297458648682
1.2686076164245605
1.2725942134857178
1.283567190170288
1.288553237915039
1.2236785888671875
1.250654935836792
1.2656142711639404
1.2686102390289307
1.2745912075042725
1.2925684452056885
1.3703694343566895
1.141946792602539
1.1509218215942383
1.1798830032348633
1.217745065689087
1.2371776103973389
1.2376549243927002
1.2377171516418457
1.2726309299468994
1.295534610748291
1.298499345779419
1.205770492553711
1.2506554126739502
1.2636210918426514
1.2875206470489502
1.297529935836792
1.1938278675079346
1.1987836360931396
1.2456707954406738
1.246654748916626
1.260629653930664
1.2665889263153076
1.2766263484954834
1.2795774936676025
1.2795794010162354
1.1908149719238281
1.191812515258789
1.2007882595062256
1.2057664394378662
1.2562260627746582
1.2586488723754883
1.259627103805542
1.2735936641693115
1.2835674285888672
1.1528823375701904
1.16489577293396
1.2047667503356934
1.2137830257415771
1.2206969261169434
1.2227301597595215
1.276543378829956
1.3703701496124268
1.154890537261963
1.1579084396362305
1.169846773147583
1.2337028980255127
1.2346899509429932
1.23968505859375
1.2566413879394531
1.2586708068847656
1.1200060844421387
1.1329705715179443
1.1868271827697754
1.2107627391815186
1.2247257232666016
1.2307095527648926
1.2386882305145264
1.2456769943237305
1.7991812229156494
1.8540723323822021
2.4433372020721436
1.5897419452667236
1.642646312713623
1.7273809909820557
2.219067096710205
1.108036756515503
1.1898179054260254
1.1987824440002441
1.206784963607788
1.2157487869262695
1.2247209548950195
1.2386524677276611
1.2634143829345703
1.3773200511932373
1.3872885704040527
1.3922829627990723
1.164886713027954
1.254988193511963
1.2556400299072266
1.2715990543365479
1.3055362701416016
1.3185110092163086
1.3523328304290771
1.3623898029327393
1.0801029205322266
1.1274166107177734
1.191850185394287
1.2496368885040283
1.265561580657959
1.3234786987304688
1.3713512420654297
1.3812839984893799
1.3863086700439453
1.3932538032531738
1.4052231311798096
1.13299560546875
1.2047674655914307
1.2396745681762695
1.2576580047607422
1.3164677619934082
1.36539888381958
1.453104019165039
1.4697601795196533
1.680494785308838
1.1129837036132812
1.1220283508300781
1.1429426670074463
1.18086576461792
1.190821886062622
1.1928248405456543
1.201784610748291
1.2247192859649658
1.2257499694824219
1.2277185916900635
1.3833296298980713
1.458068609237671
1.5454039573669434
2.000641107559204
1.1140172481536865
1.231666088104248
1.3254904747009277
1.360323190689087
1.4071955680847168
1.5943021774291992
1.6433846950531006
1.928835391998291
---------------------------------------------------------------------------
KeyboardInterrupt                         Traceback (most recent call last)
<timed exec> in <module>

Expected behavior An understandable output and a sense of progress, e.g. passing a verbose=True argument.

Further details: I checked the code of the class too, but I don’t understand where the outputs come from, since its simply fitting 4 different algos (Shapelettransform, TimeSeriesForest, RISE, cBOSS) and saving the weights. I can’t see when the code terminates.

Versions sklearn: 0.23.1

from sktime import show_versions; show_versions()

System:
    python: 3.8.5 
executable: C:\Users\
   machine: Windows-10

Python dependencies:
          pip: 21.0.1
   setuptools: 50.3.0.post20201006
      sklearn: 0.23.1
       sktime: 0.5.3
  statsmodels: 0.12.2
        numpy: 1.19.5
        scipy: 1.4.1
       Cython: 0.29.21
       pandas: 1.0.5
   matplotlib: 3.2.2
       joblib: 0.17.0
        numba: 0.52.0
     pmdarima: None
      tsfresh: None

Thanks for the great repo!

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:7 (3 by maintainers)

github_iconTop GitHub Comments

2reactions
MatthewMiddlehurstcommented, Feb 13, 2021

Yeah that really should not have been outside contrib! I have made a number of fixes and additions to the HC1 class. I’m happy to keep it where it is with these changes.

I have included a verbose setting to give periodic progress updates as suggested, as well as a n_jobs parameter to make use of multiple threads where applicable (mainly the cross-validation). There was a recursive call to fit embarrassingly, so it should no longer take 30 hours (or forever) to fit.

Unit testing remains an issue, I have set it up so you can alter the parameters of each individual classifier which should help, but I think its going to be a costly one even with that. Any suggestions welcome here or on the PR.

1reaction
mloningcommented, Feb 12, 2021

Thanks @TonyBagnall for the quick reply!

@MJimitater if you’re interested in looking into this to find out what has gone wrong, that’d be much appreciated too!

Read more comments on GitHub >

github_iconTop Results From Across the Web

HIVE-COTE 2.0: a new meta ensemble for time series ...
We propose a new version of HIVE-COTE that is significantly more accurate than all four current state-of-the-art algorithms. We call this ...
Read more >
Time Series Classification with HIVE-COTE - ACM Digital Library
A recent experimental evaluation assessed 19 time series classification (TSC) algorithms and found that one was significantly more accurate than all others: ...
Read more >
HIVE-COTE 2.0: a new meta ensemble for time series ...
ABSTRACT. The Hierarchical Vote Collective of Transformation-based Ensem- bles (HIVE-COTE) is a heterogeneous meta ensemble for time series classification.
Read more >
HIVE-COTE: The Hierarchical Vote Collective of ...
We find that Flat-COTE is significantly more accurate than both deep learning approaches on 85 datasets. These results are impressive, but Flat-COTE is...
Read more >
Python implementation of HIVE-COTE modules - GitHub
A unified framework for machine learning with time series - Python implementation of HIVE-COTE modules · sktime/sktime.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found