0

我有一个包含所有数值数据的数据集(乳腺癌检测),并将数据集划分为 X(包含所有特征)和 y(输出类)。将数据分成训练集和测试集后,我面临着一个关于应用特征缩放的问题。在应用特征缩放时我得到一个值错误:无法将字符串转换为浮点数:'?'。虽然我已经替换了'?' 以前是-9999。

X=df.iloc[:,:-1].values
y=df.iloc[:,-1].values

#现在将数据分为训练数据和测试数据。

from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.25,random_state=0)

#替换“?” 与-9999。

df=df.replace('?',-9999)
from sklearn.preprocessing import LabelEncoder

#在y上应用标签编码。

le = LabelEncoder()
y = le.fit_transform(y)
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder
ct = ColumnTransformer(transformers=[('encoder', OneHotEncoder(), [0])], remainder='passthrough')
X = np.array(ct.fit_transform(X))
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_train[:, 1:] = sc.fit_transform(X_train[:, 1:])
X_test[:, 1:] = sc.transform(X_test[:, 1:])

#在此之后我得到值错误。那么我怎样才能确保'?没有保留在数据中,还是有任何分类编码要做?

4

0 回答 0