【发布时间】:2020-10-26 18:03:40
【问题描述】:
我正在使用 Sci-kit Learn 构建逻辑回归模型。我的数据主要由 float 和 int 类型组成,除了 datetime64[ns] 的日期列(它的类型是第一个对象,然后我使用转换它
df['date'] = pd.to_datetime(df['date'],infer_datetime_format=True)
我确实拆分了我的数据以进行训练和测试,并且在尝试使用 logr.fit(X,Y) 拟合模型时出现以下错误:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-15-18dd45102c66> in <module>
----> 1 logr.fit(X,Y)
/opt/anaconda3/lib/python3.7/site-packages/sklearn/linear_model/_logistic.py in fit(self, X, y, sample_weight)
1342 X, y = self._validate_data(X, y, accept_sparse='csr', dtype=_dtype,
1343 order="C",
-> 1344 accept_large_sparse=solver != 'liblinear')
1345 check_classification_targets(y)
1346 self.classes_ = np.unique(y)
/opt/anaconda3/lib/python3.7/site-packages/sklearn/base.py in _validate_data(self, X, y, reset, validate_separately, **check_params)
430 y = check_array(y, **check_y_params)
431 else:
--> 432 X, y = check_X_y(X, y, **check_params)
433 out = X, y
434
/opt/anaconda3/lib/python3.7/site-packages/sklearn/utils/validation.py in inner_f(*args, **kwargs)
71 FutureWarning)
72 kwargs.update({k: arg for k, arg in zip(sig.parameters, args)})
---> 73 return f(**kwargs)
74 return inner_f
75
/opt/anaconda3/lib/python3.7/site-packages/sklearn/utils/validation.py in check_X_y(X, y, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, multi_output, ensure_min_samples, ensure_min_features, y_numeric, estimator)
801 ensure_min_samples=ensure_min_samples,
802 ensure_min_features=ensure_min_features,
--> 803 estimator=estimator)
804 if multi_output:
805 y = check_array(y, accept_sparse='csr', force_all_finite=True,
/opt/anaconda3/lib/python3.7/site-packages/sklearn/utils/validation.py in inner_f(*args, **kwargs)
71 FutureWarning)
72 kwargs.update({k: arg for k, arg in zip(sig.parameters, args)})
---> 73 return f(**kwargs)
74 return inner_f
75
/opt/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, estimator)
532
533 if all(isinstance(dtype, np.dtype) for dtype in dtypes_orig):
--> 534 dtype_orig = np.result_type(*dtypes_orig)
535
536 if dtype_numeric:
<__array_function__ internals> in result_type(*args, **kwargs)
TypeError: invalid type promotion.
我无法理解此错误所指的内容。但是从研究中,我发现它可能与日期类型有关,但在错误中没有发现任何特别指出日期的错误。 有什么想法吗?
【问题讨论】:
标签: python pandas scikit-learn