Python Gramian Angular Field错误示例:'ts_size'必须为整数

2024-10-06 07:06:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在运行的正是pyts.image文件在pyts.image documentation中找到。代码如下:

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import ImageGrid
from pyts.image import GramianAngularField

# Parameters
n_samples, n_timestamps = 100, 144

# Toy dataset
rng = np.random.RandomState(41)
X = rng.randn(n_samples, n_timestamps)

# Transform the time series into Gramian Angular Fields
gasf=GramianAngularField(image_size=24, sample_range=(-1, 1), method='summation', overlapping=False)
X_gasf = gasf.fit_transform(X)
gadf = GramianAngularField(image_size=24, method='difference')
X_gadf = gadf.fit_transform(X)

# Show the images for the first time series
fig = plt.figure(figsize=(12, 7))
grid = ImageGrid(fig, 111,
                 nrows_ncols=(1, 2),
                 axes_pad=0.15,
                 share_all=True,
                 cbar_location="right",
                 cbar_mode="single",
                 cbar_size="7%",
                 cbar_pad=0.3,
                 )
images = [X_gasf[0], X_gadf[0]]
titles = ['Gramian Angular Summation Field',
          'Gramian Angular Difference Field']
for image, title, ax in zip(images, titles, grid):
    im = ax.imshow(image, cmap='rainbow', origin='lower')
    ax.set_title(title)
ax.cax.colorbar(im)
ax.cax.toggle_label(True)
plt.show()

但是,当我运行这样的代码时,我得到的错误是:

--------------------------------------------------------------------------- TypeError Traceback (most recent call last) in () 13 # Transform the time series into Gramian Angular Fields 14 gasf=GramianAngularField(image_size=24, sample_range=(-1, 1), method='summation', overlapping=False) ---> 15 X_gasf = gasf.fit_transform(X) 16 gadf = GramianAngularField(image_size=24, method='difference') 17 X_gadf = gadf.fit_transform(X)

c:\python27\lib\site-packages\sklearn\base.pyc in fit_transform(self, X, y, **fit_params) 462 if y is None: 463 # fit method of arity 1 (unsupervised transformation) --> 464 return self.fit(X, **fit_params).transform(X) 465 else: 466 # fit method of arity 2 (supervised transformation)

c:\python27\lib\site-packages\pyts\image\gaf.pyc in transform(self, X) 103 overlapping=self.overlapping 104 ) --> 105 X_paa = paa.fit_transform(X) 106 if self.sample_range is None: 107 X_min, X_max = np.min(X_paa), np.max(X_paa)

c:\python27\lib\site-packages\sklearn\base.pyc in fit_transform(self, X, y, **fit_params) 462 if y is None: 463 # fit method of arity 1 (unsupervised transformation) --> 464 return self.fit(X, **fit_params).transform(X) 465 else: 466 # fit method of arity 2 (supervised transformation)

c:\python27\lib\site-packages\pyts\approximation\paa.pyc in transform(self, X) 93 else: 94 start, end, n_timestamps_new = segmentation( ---> 95 n_timestamps, window_size, self.overlapping, output_size 96 ) 97 X_paa = _paa(X, n_samples, n_timestamps,

c:\python27\lib\site-packages\pyts\utils\utils.pyc in segmentation(ts_size, window_size, overlapping, n_segments) 38 """ 39 if not isinstance(ts_size, (int, np.integer)): ---> 40 raise TypeError("'ts_size' must be an integer.") 41 if not ts_size >= 2: 42 raise ValueError("'ts_size' must be an integer greater than or equal "

TypeError: 'ts_size' must be an integer.

这是文档中的一个示例pyts.image文件是pyts==0.8.0。我用ipython运行。这个例子应该运行的错误是什么?在


Tags: inimageselfsizenptransformmethodfit