matlab에 1x81 셀 배열이 있습니다.matlab 셀 어레이를 파이썬으로 가져 오기 scikit-learn
각 셀은 30x30 매트릭스의 복식입니다.
모양 (81,30,30)으로 파이썬 (scikit-learn에서 사용하기 위해)에 저장하고 싶습니다.
여기 몇 가지 질문을 읽고 코드를 작성했지만 성공하지는 못했습니다.
matlab에 1x81 셀 배열이 있습니다.matlab 셀 어레이를 파이썬으로 가져 오기 scikit-learn
각 셀은 30x30 매트릭스의 복식입니다.
모양 (81,30,30)으로 파이썬 (scikit-learn에서 사용하기 위해)에 저장하고 싶습니다.
여기 몇 가지 질문을 읽고 코드를 작성했지만 성공하지는 못했습니다.
scipy.io.loadmat
을 사용하면됩니다. 그러나 포맷의 차이점 때문에주의해야합니다.
from scipy import io
import numpy as np
C = io.loadmat('test.mat')
print type(C)
print C.keys()
출력 :
그래서<type 'dict'>
['C', '__version__', '__header__', '__globals__']
당신이 scipy
이 무리에게 우리가 정말 필요하지 않은 추가 정보를 inlcuding 것을 볼 수 있지만, 우리는 당신의 세포를 볼 수 있습니다 C.
C = C['C']
print type(C)
출력 :
<type 'numpy.ndarray'>
오카 y는 Matlab의 Cell을 사용합니다.
print C.shape
으로 출력한다 :
(1, 81)
꽤 괜찮 아니라, 처리의 비트와 함께 우리는 당신이 원하는 방식으로 얻을 수 있습니다.
C = np.squeeze(C)
X = np.empty((C.shape[0], C[0].shape[0], C[0].shape[1]))
for i in xrange(X.shape[0]):
X[i] = C[i]
print X.shape
출력 :
(81, 30, 30)
짜잔, 우리는 numpy
배열에서 셀을 가지고있다. 전방 경고와 마찬가지로 일반적으로 scikit-learn
은 3D 배열이 아닌 2D 배열을 입력으로 사용합니다.
감사합니다 - 완벽하게 작동합니다! 각 단계를 통해 설명해 주셔서 감사합니다. – browser
세포 배열을 매트릭스로 바꿔야합니다. https://stackoverflow.com/questions/37620330/import-tensor-with-mat-format-to-tensorflow – GameOfThrows
나는이 다른 질문을 살펴볼 것을 제안합니다. 너무 : http://stackoverflow.com/questions/1761419/numpy-equivalent-of-matlabs-cell-array – Eskapp