我正在发现xarray
和sklearn_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。我认为这可能有用。
谢谢大家!