Python KNN-NBA球员
我在关于Dataquest的Python教程中与K近邻一起工作。几个月来一直在研究这些问题,每次都是新的。我已经了解了最后几行代码,但无法找出每次尝试在训练数据上拟合模型时出现以下错误的原因:Python KNN-NBA球员,python,knn,Python,Knn,我在关于Dataquest的Python教程中与K近邻一起工作。几个月来一直在研究这些问题,每次都是新的。我已经了解了最后几行代码,但无法找出每次尝试在训练数据上拟合模型时出现以下错误的原因: --------------------------------------------------------------------------- ValueError Traceback (most recent call last) &
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-59-0e474d4c7797> in <module>()
----> 1 knn.fit(train[x_columns], train[y_column])
C:\Users\aduran\AppData\Local\Continuum\Anaconda3\lib\site-packages\sklearn\neighbors\base.py in fit(self, X, y)
739 """
740 if not isinstance(X, (KDTree, BallTree)):
--> 741 X, y = check_X_y(X, y, "csr", multi_output=True)
742 self._y = y
743 return self._fit(X)
C:\Users\aduran\AppData\Local\Continuum\Anaconda3\lib\site-packages\sklearn\utils\validation.py in check_X_y(X, y, accept_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, multi_output, ensure_min_samples, ensure_min_features, y_numeric, warn_on_dtype, estimator)
519 X = check_array(X, accept_sparse, dtype, order, copy, force_all_finite,
520 ensure_2d, allow_nd, ensure_min_samples,
--> 521 ensure_min_features, warn_on_dtype, estimator)
522 if multi_output:
523 y = check_array(y, 'csr', force_all_finite=True, ensure_2d=False,
C:\Users\aduran\AppData\Local\Continuum\Anaconda3\lib\site-packages\sklearn\utils\validation.py in check_array(array, accept_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, warn_on_dtype, estimator)
405 % (array.ndim, estimator_name))
406 if force_all_finite:
--> 407 _assert_all_finite(array)
408
409 shape_repr = _shape_repr(array.shape)
C:\Users\aduran\AppData\Local\Continuum\Anaconda3\lib\site-packages\sklearn\utils\validation.py in _assert_all_finite(X)
56 and not np.isfinite(X).all()):
57 raise ValueError("Input contains NaN, infinity"
---> 58 " or a value too large for %r." % X.dtype)
59
60
ValueError: Input contains NaN, infinity or a value too large for dtype('float64').
只要加上这一行
nba.fillna(0, inplace=True)
第三行之后,即打印(nba.columns.values)是否检查了错误消息中的要点<代码>值错误:输入包含NaN、无穷大或对数据类型('float64')太大的值。我这样做了,但数据集没有NaN值,操作过程中添加了任何值吗?但是您提供的链接中的数据集确实有
NA
值。例如在x3p.
列中。您为nba_标准化的数据集设置0
s,但不为您提供给fit
函数的nba
数据集设置
nba.fillna(0, inplace=True)