我有一个数据帧X_train,我要将两个其他数据帧连接到该数据帧。第二个和第三个数据帧是从稀疏矩阵获得的,该稀疏矩阵是由TF-IDF VEctorizer生成的]
q1_train_df = pd.DataFrame.sparse.from_spmatrix(q1_tdidf_train,index=X_train.index,columns=q1_features)
q2_train_df = pd.DataFrame.sparse.from_spmatrix(q2_tdidf_train,index=X_train.index,columns=q2_features)
X_train_final = pd.concat([X_train,q1_train_df,q2_train_df],axis=1)
X_train_final dtypes外观如下
X_train_final.dtypes
cwc_min float64
cwc_max float64
csc_min float64
csc_max float64
ctc_min float64
...
q2_zealand Sparse[float64, 0.0]
q2_zero Sparse[float64, 0.0]
q2_zinc Sparse[float64, 0.0]
q2_zone Sparse[float64, 0.0]
q2_zuckerberg Sparse[float64, 0.0]
Length: 10015, dtype: object
我正在使用XGBoost在此最终数据帧上进行训练,这在尝试拟合数据时引发错误
model.fit( X_train_final,y_train)
ValueError: DataFrame.dtypes for data must be int, float or bool.
Did not expect the data types in fields q1_04, q1_10, q1_100, q
我认为该错误是由于其中存在Sparse [float64,0.0] dtypes引起的。您能帮我一个忙,不能弄清楚如何摆脱这个错误吗?
我有一个数据帧X_train,我要将两个其他数据帧连接到该数据帧。第二个和第三个数据帧是从稀疏矩阵获得的,该稀疏矩阵是由TF-IDF生成的...
我实际上只是遇到了同样的问题。我有一个使用TF-IDF vectorizor生成的列的列表,并且我试图在数据集上使用XGBoost。