Python 3에서 Keras를 사용할 때 ValueError

피터 오군 진미

이 코드를 Python (버전 3.7.4)에서 실행했는데 ValueError가 발생했습니다. 코드는 다음과 같습니다.

import numpy
import pandas
from keras.models import Sequential
from keras.layers import Dense
from keras.wrappers.scikit_learn import KerasClassifier
from sklearn.model_selection import cross_val_score
from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import StratifiedKFold
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import Pipeline

seed = 7
numpy.random.seed(seed)

dataframe = pandas.read_csv("sonar.all-data.csv", header=None)
dataset = dataframe.values

X = dataset[:,0:60].astype(float)
Y = dataset[:,60]

encoder = LabelEncoder()
encoder.fit(Y)
encoded_Y = encoder.transform(Y)

def create_baseline():
    model = Sequential()
    model.add(Dense(60, input_dim=60, kernel_initializer='normal', activation='relu'))
    model.add(Dense(1, kernel_initializer='normal', activation='sigmoid'))
    model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
    return model

estimator = KerasClassifier(build_fn=create_baseline, epochs=100, batch_size=5, verbose=0)
kfold = StratifiedKFold(n_splits=10, shuffle=True, random_state=seed)
results = cross_val_score(estimator, X, encoded_Y, cv=kfold)
print("Baseline: %.2f%% (%.2f%%)" % (results.mean()*100, results.std()*100))

이것은 오류입니다.

ValueError                                Traceback (most recent call last)
<ipython-input-14-cbcbbcf75cec> in <module>
      2 estimator = KerasClassifier(build_fn=create_baseline, epochs=100, batch_size=5, verbose=0)
      3 kfold = StratifiedKFold(n_splits=10, shuffle=True, random_state=seed)
----> 4 results = cross_val_score(estimator, X, encoded_Y, cv=kfold)
      5 print("Baseline: %.2f%% (%.2f%%)" % (results.mean()*100, results.std()*100))

C:\ProgramData\Anaconda3\lib\site-packages\sklearn\model_selection\_validation.py in cross_val_score(estimator, X, y, groups, scoring, cv, n_jobs, verbose, fit_params, pre_dispatch, error_score)
    387                                 fit_params=fit_params,
    388                                 pre_dispatch=pre_dispatch,
--> 389                                 error_score=error_score)
    390     return cv_results['test_score']
    391 

C:\ProgramData\Anaconda3\lib\site-packages\sklearn\model_selection\_validation.py in cross_validate(estimator, X, y, groups, scoring, cv, n_jobs, verbose, fit_params, pre_dispatch, return_train_score, return_estimator, error_score)
    229             return_times=True, return_estimator=return_estimator,
    230             error_score=error_score)
--> 231         for train, test in cv.split(X, y, groups))
    232 
    233     zipped_scores = list(zip(*scores))

C:\ProgramData\Anaconda3\lib\site-packages\joblib\parallel.py in __call__(self, iterable)
    919             # remaining jobs.
    920             self._iterating = False
--> 921             if self.dispatch_one_batch(iterator):
    922                 self._iterating = self._original_iterator is not None
    923 

C:\ProgramData\Anaconda3\lib\site-packages\joblib\parallel.py in dispatch_one_batch(self, iterator)
    757                 return False
    758             else:
--> 759                 self._dispatch(tasks)
    760                 return True
    761 

C:\ProgramData\Anaconda3\lib\site-packages\joblib\parallel.py in _dispatch(self, batch)
    714         with self._lock:
    715             job_idx = len(self._jobs)
--> 716             job = self._backend.apply_async(batch, callback=cb)
    717             # A job can complete so quickly than its callback is
    718             # called before we get here, causing self._jobs to

C:\ProgramData\Anaconda3\lib\site-packages\joblib\_parallel_backends.py in apply_async(self, func, callback)
    180     def apply_async(self, func, callback=None):
    181         """Schedule a func to be run"""
--> 182         result = ImmediateResult(func)
    183         if callback:
    184             callback(result)

C:\ProgramData\Anaconda3\lib\site-packages\joblib\_parallel_backends.py in __init__(self, batch)
    547         # Don't delay the application, to avoid keeping the input
    548         # arguments in memory
--> 549         self.results = batch()
    550 
    551     def get(self):

C:\ProgramData\Anaconda3\lib\site-packages\joblib\parallel.py in __call__(self)
    223         with parallel_backend(self._backend, n_jobs=self._n_jobs):
    224             return [func(*args, **kwargs)
--> 225                     for func, args, kwargs in self.items]
    226 
    227     def __len__(self):

C:\ProgramData\Anaconda3\lib\site-packages\joblib\parallel.py in <listcomp>(.0)
    223         with parallel_backend(self._backend, n_jobs=self._n_jobs):
    224             return [func(*args, **kwargs)
--> 225                     for func, args, kwargs in self.items]
    226 
    227     def __len__(self):

C:\ProgramData\Anaconda3\lib\site-packages\sklearn\model_selection\_validation.py in _fit_and_score(estimator, X, y, scorer, train, test, verbose, parameters, fit_params, return_train_score, return_parameters, return_n_test_samples, return_times, return_estimator, error_score)
    512             estimator.fit(X_train, **fit_params)
    513         else:
--> 514             estimator.fit(X_train, y_train, **fit_params)
    515 
    516     except Exception as e:

C:\ProgramData\Anaconda3\lib\site-packages\keras\wrappers\scikit_learn.py in fit(self, x, y, sample_weight, **kwargs)
    207         if sample_weight is not None:
    208             kwargs['sample_weight'] = sample_weight
--> 209         return super(KerasClassifier, self).fit(x, y, **kwargs)
    210 
    211     def predict(self, x, **kwargs):

C:\ProgramData\Anaconda3\lib\site-packages\keras\wrappers\scikit_learn.py in fit(self, x, y, **kwargs)
    149         fit_args.update(kwargs)
    150 
--> 151         history = self.model.fit(x, y, **fit_args)
    152 
    153         return history

C:\ProgramData\Anaconda3\lib\site-packages\keras\engine\training.py in fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, validation_freq, max_queue_size, workers, use_multiprocessing, **kwargs)
   1152             sample_weight=sample_weight,
   1153             class_weight=class_weight,
-> 1154             batch_size=batch_size)
   1155 
   1156         # Prepare validation data.

C:\ProgramData\Anaconda3\lib\site-packages\keras\engine\training.py in _standardize_user_data(self, x, y, sample_weight, class_weight, check_array_lengths, batch_size)
    619                 feed_output_shapes,
    620                 check_batch_axis=False,  # Don't enforce the batch size.
--> 621                 exception_prefix='target')
    622 
    623             # Generate sample-wise weight values given the `sample_weight` and

C:\ProgramData\Anaconda3\lib\site-packages\keras\engine\training_utils.py in standardize_input_data(data, names, shapes, check_batch_axis, exception_prefix)
    143                             ': expected ' + names[i] + ' to have shape ' +
    144                             str(shape) + ' but got array with shape ' +
--> 145                             str(data_shape))
    146     return data
    147 

ValueError: Error when checking target: expected dense_8 to have shape (1,) but got array with shape (2,)

Jupyter 노트북에서 다음 버전을 사용하고 있습니다.

tensorflow : 2.0.0 (백엔드)

numpy : 1.16.4

판다 : 0.24.2

어려움 : 2.3.1

scikit-learn : 0.21.2

이 오류를 수정하기위한 제안 / 해결 방법에 감사드립니다. 귀하의 답변을 기대해 주셔서 감사합니다.

엠 렘라

타겟에 두 개의 고유 라벨 (예 : 1과 0)이 있는지 확인하세요. 그렇다면 binary_crossentropy이진 분류 문제이기 때문에 손실을로 변경하십시오 (메트릭에 따라 accuracy).

categorical_crossentropysparse_categorical_crossentropy멀티 클래스 분류 문제를 처리하기위한 것입니다. 다음 은 멋진 튜토리얼입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Python Pygame : 객체에서 python.draw.rect를 사용할 때 오류 발생

분류에서Dev

ChangeNotifier에서 notifyListeners를 사용할 때?

분류에서Dev

Python에서 multiprocessing.Array를 사용할 때 OSError (Errno 9)

분류에서Dev

RapidMiner Studio의 Python 프로세서 실행에서 Pandas DataFrame을 반환 할 때 ValueError

분류에서Dev

boto3를 사용하여 S3 버킷에서 파일을 다운로드 할 때 ValueError?

분류에서Dev

VueJS에서 Typescript를 사용할 때 TypeError

분류에서Dev

Python : OSError : [Errno -9985] Raspberry PI 3B +에서 Snowboy 및 SpeechRecognition을 사용할 때 장치를 사용할 수 없음

분류에서Dev

Python에서 argparse를 사용할 때의 혼란

분류에서Dev

Sklearn 파이프 라인에서 ColumnTransformer ()를 사용할 때 ValueError-GloveVectorizer에 대해 Spacy의 사용자 정의 클래스 사용

분류에서Dev

ValueError : tf.data.Dataset.from_tensor_slices를 사용할 때 직사각형이 아닌 Python 시퀀스를 Tensor로 변환 할 수 없습니다.

분류에서Dev

신경망에 Python의 Keras를 사용할 때 유형 오류

분류에서Dev

ffmpeg에 배관 할 때 python3에서 stdout.write를 사용하는 방법은 무엇입니까?

분류에서Dev

Keras에서 vae.fit을 사용할 때 ValueError

분류에서Dev

(Python 3) 클래스에서 Self를 사용할 때와 사용하지 않을 때, __init__에서 변수를 전달하는 방법

분류에서Dev

PySpark Pandas UDF에서 scikit-learn train_test_split 함수를 사용할 때 ValueError

분류에서Dev

pip 또는 easy_install을 사용하여 패키지를 winpython에 설치할 때 ValueError

분류에서Dev

SQLITE3 및 사전을 사용할 때 Python ValueError

분류에서Dev

정수를 곱할 때 Python ValueError

분류에서Dev

apt.VersionCompare를 사용할 때 "ValueError : _system not initialized"발생

분류에서Dev

Python에서 except를 사용할 때 SyntaxError

분류에서Dev

Android에서 RecyclerView를 사용할 때 NPE

분류에서Dev

Python 3에서`json.dumps`를 사용할 때 빈 줄을 추가하는 방법은 무엇입니까?

분류에서Dev

ValueError : TensorFlow에서 feed_dict를 사용할 때 시퀀스로 배열 요소 설정

분류에서Dev

확립 된 theano 환경에서 keras를 사용할 때 이상한 오류

분류에서Dev

Python에서 Matplotlib.image를 사용할 때 오류

분류에서Dev

Android에서 CheckBox를 사용할 때 NullPointerException

분류에서Dev

Python3 PyCrypto는 긴 메시지를 해독 할 때 Valueerror를 생성합니다.

분류에서Dev

입력에 3 개 이상의 값을 사용하려고 할 때 ValueError

분류에서Dev

'order by'에서 자리 표시자를 사용할 때 Python Sqlite3 실행이 잘못됨

Related 관련 기사

  1. 1

    Python Pygame : 객체에서 python.draw.rect를 사용할 때 오류 발생

  2. 2

    ChangeNotifier에서 notifyListeners를 사용할 때?

  3. 3

    Python에서 multiprocessing.Array를 사용할 때 OSError (Errno 9)

  4. 4

    RapidMiner Studio의 Python 프로세서 실행에서 Pandas DataFrame을 반환 할 때 ValueError

  5. 5

    boto3를 사용하여 S3 버킷에서 파일을 다운로드 할 때 ValueError?

  6. 6

    VueJS에서 Typescript를 사용할 때 TypeError

  7. 7

    Python : OSError : [Errno -9985] Raspberry PI 3B +에서 Snowboy 및 SpeechRecognition을 사용할 때 장치를 사용할 수 없음

  8. 8

    Python에서 argparse를 사용할 때의 혼란

  9. 9

    Sklearn 파이프 라인에서 ColumnTransformer ()를 사용할 때 ValueError-GloveVectorizer에 대해 Spacy의 사용자 정의 클래스 사용

  10. 10

    ValueError : tf.data.Dataset.from_tensor_slices를 사용할 때 직사각형이 아닌 Python 시퀀스를 Tensor로 변환 할 수 없습니다.

  11. 11

    신경망에 Python의 Keras를 사용할 때 유형 오류

  12. 12

    ffmpeg에 배관 할 때 python3에서 stdout.write를 사용하는 방법은 무엇입니까?

  13. 13

    Keras에서 vae.fit을 사용할 때 ValueError

  14. 14

    (Python 3) 클래스에서 Self를 사용할 때와 사용하지 않을 때, __init__에서 변수를 전달하는 방법

  15. 15

    PySpark Pandas UDF에서 scikit-learn train_test_split 함수를 사용할 때 ValueError

  16. 16

    pip 또는 easy_install을 사용하여 패키지를 winpython에 설치할 때 ValueError

  17. 17

    SQLITE3 및 사전을 사용할 때 Python ValueError

  18. 18

    정수를 곱할 때 Python ValueError

  19. 19

    apt.VersionCompare를 사용할 때 "ValueError : _system not initialized"발생

  20. 20

    Python에서 except를 사용할 때 SyntaxError

  21. 21

    Android에서 RecyclerView를 사용할 때 NPE

  22. 22

    Python 3에서`json.dumps`를 사용할 때 빈 줄을 추가하는 방법은 무엇입니까?

  23. 23

    ValueError : TensorFlow에서 feed_dict를 사용할 때 시퀀스로 배열 요소 설정

  24. 24

    확립 된 theano 환경에서 keras를 사용할 때 이상한 오류

  25. 25

    Python에서 Matplotlib.image를 사용할 때 오류

  26. 26

    Android에서 CheckBox를 사용할 때 NullPointerException

  27. 27

    Python3 PyCrypto는 긴 메시지를 해독 할 때 Valueerror를 생성합니다.

  28. 28

    입력에 3 개 이상의 값을 사용하려고 할 때 ValueError

  29. 29

    'order by'에서 자리 표시자를 사용할 때 Python Sqlite3 실행이 잘못됨

뜨겁다태그

보관