Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 Scikit学习-值错误:数组包含NaN或无穷大_Python 2.7_Machine Learning_Scikit Learn_Random Forest - Fatal编程技术网

Python 2.7 Scikit学习-值错误:数组包含NaN或无穷大

Python 2.7 Scikit学习-值错误:数组包含NaN或无穷大,python-2.7,machine-learning,scikit-learn,random-forest,Python 2.7,Machine Learning,Scikit Learn,Random Forest,我的数据集中没有NAN,我已经彻底检查过了。为什么我在尝试适合我的分类器时总是出现这个错误?数据集中的一些数字相当大,有些小数点会超出10个小数点,但我不认为这会导致错误。我在下面包括了一些熊猫数据帧信息以及错误本身。有什么想法吗 <class 'pandas.core.frame.DataFrame'> DatetimeIndex: 6244 entries, 1985-02-06 00:00:00 to 2009-11-05 00:00:00 Data columns (tota

我的数据集中没有NAN,我已经彻底检查过了。为什么我在尝试适合我的分类器时总是出现这个错误?数据集中的一些数字相当大,有些小数点会超出10个小数点,但我不认为这会导致错误。我在下面包括了一些熊猫数据帧信息以及错误本身。有什么想法吗

<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 6244 entries, 1985-02-06 00:00:00 to 2009-11-05 00:00:00
Data columns (total 86 columns):

dtypes: float64(86)



clf = RandomForestClassifier(n_estimators=100,min_samples_split=4)
clf.fit(train, train_target)



---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-150-fa4acb362bc6> in <module>()
      1 clf = RandomForestClassifier(n_estimators=100,min_samples_split=4)
----> 2 clf.fit(train, train_target)
      3 clf.score(test, test_target)

C:\Anaconda\lib\site-packages\sklearn\ensemble\forest.pyc in fit(self, X, y, sample_weight)
    255         # Convert data
    256         X, = check_arrays(X, dtype=DTYPE, sparse_format="dense",
--> 257                           check_ccontiguous=True)
    258 
    259         # Remap output

C:\Anaconda\lib\site-packages\sklearn\utils\validation.pyc in check_arrays(*arrays, **options)
    231                 else:
    232                     array = np.asarray(array, dtype=dtype)
--> 233                 _assert_all_finite(array)
    234 
    235         if copy and array is array_orig:

C:\Anaconda\lib\site-packages\sklearn\utils\validation.pyc in _assert_all_finite(X)
     25     if (X.dtype.char in np.typecodes['AllFloat'] and not np.isfinite(X.sum())
     26             and not np.isfinite(X).all()):
---> 27         raise ValueError("Array contains NaN or infinity.")
     28 
     29 

ValueError: Array contains NaN or infinity.

日期时间索引:6244条条目,1985-02-06 00:00:00至2009-11-05 00:00:00
数据列(共86列):
数据类型:float64(86)
clf=RandomForestClassifier(n_估计器=100,最小样本数_分割=4)
clf.配合(训练、训练目标)
---------------------------------------------------------------------------
ValueError回溯(最近一次调用上次)
在()
1 clf=RandomForestClassifier(n_估计值=100,最小样本数=4)
---->2级配合(训练、训练目标)
3 clf分数(测试、测试目标)
C:\Anaconda\lib\site packages\sklearn\employee\forest.pyc适合(自身、X、y、样本重量)
255#转换数据
256 X,=检查数组(X,dtype=dtype,稀疏格式=“密集”,
-->257检查(连续=正确)
258
259#重新映射输出
检查数组(*数组,**选项)中的C:\Anaconda\lib\site packages\sklearn\utils\validation.pyc
231其他:
232数组=np.asarray(数组,dtype=dtype)
-->233断言所有有限(数组)
234
235如果复制和数组是数组源:
C:\Anaconda\lib\site packages\sklearn\utils\validation.pyc in\u assert\u all\u finite(X)
25如果(np.typecode['AllFloat']中的X.dtype.char而不是np.isfinite(X.sum())
26而不是np.isfinite(X.all()):
--->27 raise VALUERROR(“数组包含NaN或无穷大”)
28
29
ValueError:数组包含NaN或无穷大。

您是否尝试过使用
X=np.asarray(train)
运行这些检查?@larsmans谢谢,我只需要将功能转换为浮动。