>

난 값이 0 인 깨끗한 데이터 세트가 있지만 회귀 분석에서 동일한 오류가 계속 발생합니다. 내 프레임을 new_player_data라고합니다.

모두 찾기를 시도했습니다

list(new_player_data.where(new_player_data.isna()).count() > 0)

반환

[거짓,  그릇된,  그릇된,  그릇된,  그릇된,  거짓]

이백 번. 플로트가 너무 크다고 생각했습니다. 나는 이것을 시도했다 :

for i in new_player_data.columns[:]:
    if new_player_data[i].dtype == float:
        new_player_data[i] = round(new_player_data[i],2)

내가 얻는 것에 상관없이 :

regressor.fit(X_train, y_train)  
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-327-3a664017ddaa> in <module>
----> 1 regressor.fit(X_train, y_train)
/anaconda3/lib/python3.7/site-packages/sklearn/ensemble/forest.py in fit(self, X, y, sample_weight)
    248 
    249         # Validate or convert input data
--> 250         X = check_array(X, accept_sparse="csc", dtype=DTYPE)
    251         y = check_array(y, accept_sparse='csc', ensure_2d=False, dtype=None)
    252         if sample_weight is not None:
/anaconda3/lib/python3.7/site-packages/sklearn/utils/validation.py in check_array(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, warn_on_dtype, estimator)
    571         if force_all_finite:
    572             _assert_all_finite(array,
--> 573                                allow_nan=force_all_finite == 'allow-nan')
    574 
    575     shape_repr = _shape_repr(array.shape)
/anaconda3/lib/python3.7/site-packages/sklearn/utils/validation.py in _assert_all_finite(X, allow_nan)
     54                 not allow_nan and not np.isfinite(X).all()):
     55             type_err = 'infinity' if allow_nan else 'NaN, infinity'
---> 56             raise ValueError(msg_err.format(type_err, X.dtype))
     57 
     58 
ValueError: Input contains NaN, infinity or a value too large for dtype('float32').

여기서 확인할 내용이 있습니까? 총 손실로


  • 답변 # 1

    답변으로 이끈 @gmds에게 감사의 말을 전합니다.

    infs = np.where(np.isinf(new_player_data))
    infs
    out: (array([ 261, 1162, 1190, 1339, 1365, 1451, 1656, 1736, 1878, 1954, 2189,
        2299, 2741, 3137, 3162, 3799, 3821, 3881, 4305]),
     array([ 3, 43, 43,  3, 43, 43, 43, 43, 43, 43, 23, 43,  3, 43, 43, 43,  3,
        23, 43]))
    
    

    그런 다음 교체했습니다

    pd.options.mode.use_inf_as_na = True
    infs = np.where(np.isinf(new_player_data))
    infs
    out: (array([], dtype=int64), array([], dtype=int64))
    
    

    지향적 도움을 주신 gmds에게 감사합니다!

  • 이전 regex - 일치하는 문자열을 포함하지 않는 경우 전체, 여러 줄 패턴과 여러 번 일치
  • 다음 php - MySQL에서 암호화 된 데이터에 대한 검색 필터