我正在使用 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 我不明白这个错误指向什么。但是从研究中,我发现它可能与日期类型有关,但在错误中没有发现任何特别指出日期的错误。任何想法?
1 回答
一只名叫tom的猫
TA贡献1906条经验 获得超3个赞
使用以下方法转换日期后:
df['date'] = pd.to_datetime(df['date'],infer_datetime_format=True)
我应用了以下声明:
df['date']=df['date'].apply(lambda x: x.toordinal())
它工作得很好。
添加回答
举报
0/150
提交
取消