无法散列的类型:使用sklearn_xarray Splitter()时出现“ DataArray”错误

时间:2020-10-29 09:21:08

标签: python scikit-learn python-xarray

我正在发现xarraysklearn_xarray Python库,但我不知道如何使用Splitter()函数。我正在研究DataArray(包含在sklearn_xarray库中):

import numpy as np
from sklearn_xarray.preprocessing import Splitter
from sklearn_xarray.datasets import load_wisdm_dataarray

X = load_wisdm_dataarray()

DataArray包含原始加速度计数据和WISDM活动预测数据集,其中包含36个不同主题的步行,慢跑,上楼,下楼,坐着和站着的活动:

print(X)

<xarray.DataArray (sample: 1098204, axis: 3)>
array([[-0.6946377 , 12.680544  ,  0.50395286],
       [ 5.012288  , 11.264028  ,  0.95342433],
       [ 4.903325  , 10.882658  , -0.08172209],
       ...,
       [ 9.08      , -1.38      ,  1.69      ],
       [ 9.        , -1.46      ,  1.73      ],
       [ 8.88      , -1.33      ,  1.61      ]])
Coordinates:
    subject   (sample) int64 33 33 33 33 33 33 33 33 ... 19 19 19 19 19 19 19 19
    activity  (sample) object 'Jogging' 'Jogging' ... 'Sitting' 'Sitting'
  * sample    (sample) datetime64[ns] 1970-01-01 ... 1970-01-01T15:15:10.150000
  * axis      (axis) <U1 'x' 'y' 'z'

在使用某些机器学习算法预测活动之前,我想通过使用Splitter()中的sklearn_xarray函数对数据进行一些预处理。但是,出现此错误:

Splitter(new_dim="timepoint",new_len=30,groupby=["subject","activity"]).fit_transform(X)

TypeError: unhashable type: 'DataArray'

我一直在尝试更改Splitter()函数的参数,但是没有任何变化,我仍然遇到此错误。有人知道如何解决吗?

此外,该示例来自sklearn_xarray文档here。我认为这可能有用。

谢谢大家!

0 个答案:

没有答案