[英]issues storing and extracting arrays in numpy file
但是,在嘗試提取數組並使用它時,嘗試將其存儲在numpy文件中,並收到一條錯誤消息,即嘗試將數組應用於序列。
這是兩個數組,不確定是哪個引起了問題。
X = [[1,2,3],[4,5,6],[7,8,9]]
y = [0,1,2,3,4,5,6....]
嘗試檢索它並使用它獲取值時:
X: array(list[1,2,3],list[4,5,6],list[7,8,9])
y = array([0,1,2,3,4,5...])
這是代碼:
vectors = np.array(X)
labels = np.array(y)
在檢索t-sne的工作時
visualisations = TSNE(n_components=2).fit_transform(X,y)
我收到以下錯誤:
ValueError Traceback (most recent call last)
<ipython-input-11-244f99341167> in <module>()
----> 1 visualisations = TSNE(n_components=2).fit_transform(X,y)
C:\ProgramData\Anaconda3\lib\site-packages\sklearn\manifold\t_sne.py in fit_transform(self, X, y)
856 Embedding of the training data in low-dimensional space.
857 """
--> 858 embedding = self._fit(X)
859 self.embedding_ = embedding
860 return self.embedding_
C:\ProgramData\Anaconda3\lib\site-packages\sklearn\manifold\t_sne.py in _fit(self, X, skip_num_points)
658 else:
659 X = check_array(X, accept_sparse=['csr', 'csc', 'coo'],
--> 660 dtype=[np.float32, np.float64])
661 if self.method == 'barnes_hut' and self.n_components > 3:
662 raise ValueError("'n_components' should be inferior to 4 for the "
C:\ProgramData\Anaconda3\lib\site-packages\sklearn\utils\validation.py in check_array(array, accept_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, warn_on_dtype, estimator)
431 force_all_finite)
432 else:
--> 433 array = np.array(array, dtype=dtype, order=order, copy=copy)
434
435 if ensure_2d:
ValueError: setting an array element with a sequence.
假設我對您的理解正確,則需要將第一組包裝在列表中。 像這樣的東西:
import numpy as np
#X = [[1,2,3],[4,5,6],[7,8,9]]
#y = [0,1,2,3,4,5,6, 7, 8, 9]
X = np.array([[1,2,3],[4,5,6],[7,8,9]])
y = np.array([0,1,2,3,4,5, 6, 7, 8, 9])
array(list[1,2,3],list[4,5,6],list[7,8,9])
是一維對象dtype數組。 從那得到
[[1,2,3],[4,5,6],[7,8,9]]
需要超過np.array([[1,2,3],[4,5,6],[7,8,9]])
; 列表元素的大小必須有所不同,或者您必須初始化對象數組並將列表值復制到其中。
無論如何, fit_transform
無法處理這種數組。 它需要一個二維數字dtype。 注意check_array
函數的參數。
如果X
所有列表元素大小都相同,則
X = np.stack(X)
應該把它變成一個二維數字數組。
我懷疑X
是保存之前的1d對象數組類型。 save/load
本身不應將2維數字數組轉換為對象1。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.