본문 바로가기
연구 노트/R Python

ValueError: Failed to convert a NumPy array to a Tensor (Unsupported object type float).

by Dr. STEAM 2021. 11. 17.
반응형

에러:

>>> df.loc[df['Vis'] <= 100, "flag"] = "1"
>>> df.loc[df['Vis'] > 100, "flag"] = "2"

>>> (중략)

>>> d = df.values

>>> (중략)

>>> history=classifier.fit(X_train, y_train, batch_size = 5, epochs = 300, validation_data=(X_test, y_test))
ValueError: Failed to convert a NumPy array to a Tensor (Unsupported object type float).

 

원인:

데이터가 float 뿐만 아니라 object가 섞여 있다. 

numpy 는 오로지 숫자만 취급한다. pandas는 섞여 있어도 된다. 

따라서, 데이터 전처리 시, 이미 df['Vis'] 를 0, 1로 바꾸고 number로 변환시킨 후, 데이터를 불러서 처리해야 한다. 

 

 

해결:

아래와 같이 문장 수정 후 성공

>>> df.loc[df['Vis'] <= 100, "flag"] = pd.to_numeric(1)
>>> df.loc[df['Vis'] > 100, "flag"] = pd.to_numeric(0)

 

 

728x90
반응형