'safe'에 따라 dtype ( 'float64')에서 dtype ( 'int32')로 배열 데이터를 캐스팅 할 수 없습니다.

'Weight'(float), 'Gender'(0 또는 1 (int)), 'Height'(float), 'Metabolism'(0,1,2,3 (int)) 열이 6 개있는 데이터 세트가 있습니다. , 'Psychology'(0,1,2,3,4,5,6 (int)) 예측해야하는 열은 'Age'(int)입니다. sklearn의 VotingClassifier로해야합니다. 원-핫 인코딩을 적용한 후이 방법으로 데이터를 분할했습니다.

X_train, X_test, y_train, y_test = train_test_split(X_hot, y, test_size=0.25, random_state=1)

이 4 가지 알고리즘을 분류기에 사용합니다.

gbm = GradientBoostingRegressor(loss='huber',n_estimators=5000,max_features="sqrt",subsample=0.9)
gbm.fit(X = X_train,y = np.log1p(y_train))

ada = AdaBoostClassifier(n_estimators=2000)
ada.fit(X = X_train,y = y_train)

log_reg = LogisticRegression()
log_reg.fit(X_train, y_train)

그리고 knn도. 자,이 부분은 완벽하게 작동합니다

from sklearn.ensemble import VotingClassifier
estimators=[('knn', knn_best), ('ada', ada), ('log_reg', log_reg), ('gbm', gbm)]
new_ensemble = VotingClassifier(estimators, voting='hard')
new_ensemble.fit(X_train, y_train)

아래 부분은 오류를 보여주는 부분입니다.

y_pred = new_ensemble.predict(X_test)

나는 모든 것을 X_train, X_test, y_train, y_test에서 float로 변환하려고 시도했지만 아무것도 변경하지 않았습니다. 모든 것을 int로 변경했지만 동일한 오류가 발생합니다. 그 라인에 오류가 표시되는 이유는 무엇입니까? 정말 혼란 스러워요.

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-37-86a04c2ceff1> in <module>
----> 1 y_pred = new_ensemble.predict(X_test)

~\AppData\Roaming\Python\Python37\site-packages\sklearn\ensemble\voting_classifier.py in predict(self, X)
    237                 lambda x: np.argmax(
    238                     np.bincount(x, weights=self._weights_not_none)),
--> 239                 axis=1, arr=predictions)
    240 
    241         maj = self.le_.inverse_transform(maj)

~\Anaconda3\lib\site-packages\numpy\lib\shape_base.py in apply_along_axis(func1d, axis, arr, *args, **kwargs)
    378     except StopIteration:
    379         raise ValueError('Cannot apply_along_axis when any iteration dimensions are 0')
--> 380     res = asanyarray(func1d(inarr_view[ind0], *args, **kwargs))
    381 
    382     # build a buffer for storing evaluations of func1d.

~\AppData\Roaming\Python\Python37\site-packages\sklearn\ensemble\voting_classifier.py in <lambda>(x)
    236             maj = np.apply_along_axis(
    237                 lambda x: np.argmax(
--> 238                     np.bincount(x, weights=self._weights_not_none)),
    239                 axis=1, arr=predictions)
    240 

TypeError: Cannot cast array data from dtype('float64') to dtype('int32') according to the rule 'safe'
CrazyElf

사용 매개 변수에 시도 '부드러운'= 투표 에 대한 VotingClassifier . 내가 가진 생각 투표 = '하드' 가 기대 라벨의 정수 모든 모델에서,하지만 일부 얻는다 회귀 변수에서 부동 소수점 값을 . '소프트'를 사용하면 모델 결과를 확률로 취하고 확률은 물론 실수입니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

cut 함수 : 'safe'규칙에 따라 dtype ( 'float64')에서 dtype ( '<U32')으로 배열 데이터를 캐스팅 할 수 없습니다.

분류에서Dev

python gensim : 인덱스 배열에 정수가 아닌 dtype (float64)이 있습니다.

분류에서Dev

to_dict ()는 dtype을 int32에서 int64로 변경합니다.

분류에서Dev

KeyError : "[Float64Index ([34.62365962451697, 30.28671076822607, 35.84740876993872], dtype = 'float64')]가 [열]에 없습니다."

분류에서Dev

dtype을 int64에서 int32로 변환

분류에서Dev

TypeError : 0.0을 dtype int32의 EagerTensor로 변환 할 수 없습니다.

분류에서Dev

Panda 열 dtype : float64를 여러 열로 분할

분류에서Dev

TypeError : dtyped [float64] 배열과 [bool] 유형의 스칼라로 'rand_'를 수행 할 수 없습니다.

분류에서Dev

MemoryError : 모양 (287318, 3704243) 및 데이터 유형이 float64 인 배열에 7.74TiB를 할당 할 수 없습니다.

분류에서Dev

MemoryError : 모양 (725000, 277, 76) 및 데이터 유형이 float64 인 배열에 30.4GiB를 할당 할 수 없습니다.

분류에서Dev

df.astype ( 'float64')의 오류없는 실행 후에도 pandas가 객체 dtype을 float64로 변환하지 않습니다.

분류에서Dev

NumPy : dtype float64를 사용하여 np.array에 int64 값을 저장하고 나중에 다시 정수로 변환하는 것이 안전합니까?

분류에서Dev

MemoryError : 모양 (118, 840983) 및 데이터 유형 float64로 배열을 할당 할 수 없습니다.

분류에서Dev

오프셋 된 바이트 배열을 C에서 int32 배열로 캐스팅

분류에서Dev

Numpy의 genfromtxt는 dtype 매개 변수에 따라 다른 구조화 된 데이터를 반환합니다.

분류에서Dev

Tensorflow : ValueError : 정수가 아닌 것으로 예상됩니다. <dtype : 'int32'>를 받았습니다.

분류에서Dev

pandas.Series를 dtype = np.float64를 사용하여 numpy.array로 변환 할 수 없습니다.

분류에서Dev

MemoryError : python에서 word2vec를 사용하는 동안 모양 및 데이터 유형 float32로 배열을 할당 할 수 없습니다.

분류에서Dev

ValueError : 입력에 NaN, 무한대 또는 dtype ( 'float64')에 비해 너무 큰 값이 있습니다. sklearn

분류에서Dev

입력에 무한대 또는 dtype ( 'float64') 오류에 비해 너무 큰 값이 있습니다.

분류에서Dev

ValueError : 입력에 NaN, 무한대 또는 dtype ( 'float64')에 비해 너무 큰 값이 있습니다.

분류에서Dev

sklearn이 np.float32보다 큰 데이터를 가진 데이터 프레임에서 작동하도록 데이터 유형을 float64로 어떻게 변경할 수 있습니까?

분류에서Dev

구글에서 reCAPTCHA에 집행자로이 캐스팅 할 수 없습니다

분류에서Dev

Scikit-learn SequentialFeatureSelector 입력에 NaN, 무한대 또는 dtype ( 'float64')에 비해 너무 큰 값이 포함되어 있습니다. 파이프 라인도

분류에서Dev

ionic2로 배열에서 데이터를 검색 할 수 없습니다.

분류에서Dev

stdClass를 배열로 캐스팅-키에 액세스 할 수 없음

분류에서Dev

깨끗한 데이터 세트 null 등은 [datetime64 [ns]]에서 [float64] 태그로 datetimelike 형식을 지정할 수 없습니다.

분류에서Dev

테이블에 행을 추가하려고 할 때 Int32를 null로 변환 할 수 없습니다.

분류에서Dev

NumberFormatException이에 ResourceController는 정수를 문자열로 캐스팅 할 수 없습니다

Related 관련 기사

  1. 1

    cut 함수 : 'safe'규칙에 따라 dtype ( 'float64')에서 dtype ( '<U32')으로 배열 데이터를 캐스팅 할 수 없습니다.

  2. 2

    python gensim : 인덱스 배열에 정수가 아닌 dtype (float64)이 있습니다.

  3. 3

    to_dict ()는 dtype을 int32에서 int64로 변경합니다.

  4. 4

    KeyError : "[Float64Index ([34.62365962451697, 30.28671076822607, 35.84740876993872], dtype = 'float64')]가 [열]에 없습니다."

  5. 5

    dtype을 int64에서 int32로 변환

  6. 6

    TypeError : 0.0을 dtype int32의 EagerTensor로 변환 할 수 없습니다.

  7. 7

    Panda 열 dtype : float64를 여러 열로 분할

  8. 8

    TypeError : dtyped [float64] 배열과 [bool] 유형의 스칼라로 'rand_'를 수행 할 수 없습니다.

  9. 9

    MemoryError : 모양 (287318, 3704243) 및 데이터 유형이 float64 인 배열에 7.74TiB를 할당 할 수 없습니다.

  10. 10

    MemoryError : 모양 (725000, 277, 76) 및 데이터 유형이 float64 인 배열에 30.4GiB를 할당 할 수 없습니다.

  11. 11

    df.astype ( 'float64')의 오류없는 실행 후에도 pandas가 객체 dtype을 float64로 변환하지 않습니다.

  12. 12

    NumPy : dtype float64를 사용하여 np.array에 int64 값을 저장하고 나중에 다시 정수로 변환하는 것이 안전합니까?

  13. 13

    MemoryError : 모양 (118, 840983) 및 데이터 유형 float64로 배열을 할당 할 수 없습니다.

  14. 14

    오프셋 된 바이트 배열을 C에서 int32 배열로 캐스팅

  15. 15

    Numpy의 genfromtxt는 dtype 매개 변수에 따라 다른 구조화 된 데이터를 반환합니다.

  16. 16

    Tensorflow : ValueError : 정수가 아닌 것으로 예상됩니다. <dtype : 'int32'>를 받았습니다.

  17. 17

    pandas.Series를 dtype = np.float64를 사용하여 numpy.array로 변환 할 수 없습니다.

  18. 18

    MemoryError : python에서 word2vec를 사용하는 동안 모양 및 데이터 유형 float32로 배열을 할당 할 수 없습니다.

  19. 19

    ValueError : 입력에 NaN, 무한대 또는 dtype ( 'float64')에 비해 너무 큰 값이 있습니다. sklearn

  20. 20

    입력에 무한대 또는 dtype ( 'float64') 오류에 비해 너무 큰 값이 있습니다.

  21. 21

    ValueError : 입력에 NaN, 무한대 또는 dtype ( 'float64')에 비해 너무 큰 값이 있습니다.

  22. 22

    sklearn이 np.float32보다 큰 데이터를 가진 데이터 프레임에서 작동하도록 데이터 유형을 float64로 어떻게 변경할 수 있습니까?

  23. 23

    구글에서 reCAPTCHA에 집행자로이 캐스팅 할 수 없습니다

  24. 24

    Scikit-learn SequentialFeatureSelector 입력에 NaN, 무한대 또는 dtype ( 'float64')에 비해 너무 큰 값이 포함되어 있습니다. 파이프 라인도

  25. 25

    ionic2로 배열에서 데이터를 검색 할 수 없습니다.

  26. 26

    stdClass를 배열로 캐스팅-키에 액세스 할 수 없음

  27. 27

    깨끗한 데이터 세트 null 등은 [datetime64 [ns]]에서 [float64] 태그로 datetimelike 형식을 지정할 수 없습니다.

  28. 28

    테이블에 행을 추가하려고 할 때 Int32를 null로 변환 할 수 없습니다.

  29. 29

    NumberFormatException이에 ResourceController는 정수를 문자열로 캐스팅 할 수 없습니다

뜨겁다태그

보관