, 나는 오류 ValueError를 얻을 : 설정을 순서를 가지는 배열 요소. 이 오류를 해결하는 방법. 미리 감사드립니다. csr_matrixs '와 레이블을 각각 포함하는 두 개의 배열을 맞추는 방법은 무엇입니까?
from sklearn.datasets import load_svmlight_file
pathToTrainData="/Users/rkasat/Documents/final year project/scripts/Drydata/leaf/train_backup.txt"
X_train,Y_train= load_svmlight_file(pathToTrainData);
X= []
y=[]
for i in range(5):
X.append(X_train[i])
y.append(Y_train[i])
print(type(X[0]),type(y[0]))
from sklearn import svm
clf = svm.SVC(kernel='linear')
clf.fit(X,y)
output:
--------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-41-cd4b481af30a> in <module>()
8 from sklearn import svm
9 clf = svm.SVC(kernel='linear')
---> 10 clf.fit(X,y)
/Users/rkasat/anaconda/lib/python2.7/site-packages/sklearn/svm/base.pyc in fit(self, X, y, sample_weight)
137 "by not using the ``sparse`` parameter")
138
--> 139 X = atleast2d_or_csr(X, dtype=np.float64, order='C')
140 y = self._validate_targets(y)
141
/Users/rkasat/anaconda/lib/python2.7/site-packages/sklearn/utils/validation.pyc in atleast2d_or_csr(X, dtype, order, copy, force_all_finite)
132 """
133 return _atleast2d_or_sparse(X, dtype, order, copy, sparse.csr_matrix,
--> 134 "tocsr", force_all_finite)
135
136
/Users/rkasat/anaconda/lib/python2.7/site-packages/sklearn/utils/validation.pyc in _atleast2d_or_sparse(X, dtype, order, copy, sparse_class, convmethod, force_all_finite)
109 else:
110 X = array2d(X, dtype=dtype, order=order, copy=copy,
--> 111 force_all_finite=force_all_finite)
112 if force_all_finite:
113 _assert_all_finite(X)
/Users/rkasat/anaconda/lib/python2.7/site-packages/sklearn/utils/validation.pyc in array2d(X, dtype, order, copy, force_all_finite)
89 raise TypeError('A sparse matrix was passed, but dense data '
90 'is required. Use X.toarray() to convert to dense.')
---> 91 X_2d = np.asarray(np.atleast_2d(X), dtype=dtype, order=order)
92 if force_all_finite:
93 _assert_all_finite(X_2d)
/Users/rkasat/anaconda/lib/python2.7/site-packages/numpy/core/numeric.pyc in asarray(a, dtype, order)
318
319 """
--> 320 return array(a, dtype, copy=False, order=order)
321
322 def asanyarray(a, dtype=None, order=None):
ValueError: setting an array element with a sequence.
(<class 'scipy.sparse.csr.csr_matrix'>, <type 'numpy.float64'>)
세 번 같은 질문을 왜 어떤 특별한 이유 : 당신이 첫 번째 5 행에 훈련을하려는 경우, 당신은 @tanemaki 이미 입증 된 바와 같이 슬라이스해야합니까? 사람들이 이전에 주석을 달았으므로 실제로 데이터와 코드를 표시하여 디버깅 할 수 있다면 훨씬 더 신뢰할 수있는 대답을 얻을 수 있습니다. – mbatchkarov
나는 대규모 계층 적 텍스트 분류 http://lshtc.iit.demokritos.gr/node/1에서 일하고있다. 특징 벡터의 레이블을 여러 단계로 예측하고 싶습니다. 그래서 레벨 1에서 분류 된 모든 특징 벡터를 하나의 단일 버킷에 넣습니다. 마찬가지로 다른 벡터를 다른 버킷에 넣습니다. 버킷이 있으면 레벨 2에있는 개별 버킷 각각에 대한 교육과 테스트를 할 것입니다. 리프 레벨에 도달하고 실제 라벨을 예측할 때까지이 과정을 계속할 것입니다. – riteshkasat
코드가 너무 복잡해 졌어. 왜 내가 공유하기를 꺼려했는지. 실제 문제에서 벗어났다. – riteshkasat