Comments (2)
Hello @fkiraly,
I have discussed this issue with @rtavenar: it is not a bug and it corresponds to the documentation (which we will make clearer).
The functions taking 3D arrays as inputs are the functions: cdist_*
For example in the docstring of the function cdist_dtw
, there is the input parameter:
dataset1 : array-like
A dataset of time series
Functions of the form cdist_*
can also accept 1D or 2D arrays when they use:
dataset1 = to_time_series_dataset(dataset1)
The other metric functions usually take 2D arrays as inputs.
For example, in the docstring of the function lcss
, there is the input parameter:
s1
A time series.
By default time series should be 2D arrays, some metric functions also accept 1D arrays when they use:
s1 = to_time_series(s1)
To make it cleared, I will specify in the docstrings of the functions the possible shapes of the input arrays in the PR #486.
For example:
s1 : array-like, shape=(sz1, d) or (sz1,)
A time series. If shape is (sz1,), the time series is assumed to be univariate.
Or:
dataset1 : array-like, shape=(n_ts, sz, d) or (n_ts, sz) or (sz,)
A dataset of time series. If shape is (n_ts, sz), the dataset is composed of univariate time series.
If shape is (sz,), the dataset is a composed of a unique univariate time series.
from tslearn.
I see, thanks for clarifying. The lack of specificity in the docstrings did cause some headache and trial-and-error on our side...
I would suggest in the docstrings to state clearly, in all 3 cases (1D, 2D, 3D), which index corresponds to instance index, time index, variable index.
Feel free to close this issue then.
PS: if I were to design the interface, I would add a default upcast to 3D to every distance function, and have only one single interface point. For deprecation period, you can add 3D to the 2D functions and a warning.
Why: simpler for the user to learn just one generic interface, simpler to maintain and test (just loop over the entire list of distances)
from tslearn.
Related Issues (20)
- pip install opencv-python
- TypeError when using TimeSeriesKMeans from kmeans_plusplus requiring sample_weight argument HOT 1
- 0.6.0 fails to import when pytorch is not installed with ModuleNotFoundError: No module named 'torch'
- Scalers inverse_trasnsform() function HOT 2
- UCR_UEA_datasets().list_datasets() return KEY error
- Compute SoftDTWLossPyTorch with normalization option and time series of different lengths HOT 1
- TimeSeriesKMeans with custom metric HOT 1
- [BUG] `cdist_soft_dtw_normalized` fails unexpectedly when time series panels have different number of instances HOT 3
- Can neural prophet use soft-dtw loss function? HOT 4
- Cluster Centers are not updating after assigning init HOT 1
- How to use to_time_series_dataset with a multidimensional dataset HOT 1
- Got a message "NoneType has no atribute 'values'" when trying to extract the shapelets HOT 5
- N-dimensional features issue in the method HOT 2
- Columns and DataType Not Explicitly Set on line 552 of cast.py
- LearningShapelets implmentation for imbalanced dataset in the params providing class_weights and loss will be helpful HOT 1
- [BUG] `silhouette_score` crashed with large dataset HOT 2
- lcss similarity is returns unity for all timeseries HOT 1
- Global alignment kernel returns NaN for all timeseries HOT 1
- How to scale cluster centers back in the original scale HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tslearn.