我正在使用鲍鱼数据集(https://archive.ics.uci.edu/ml/datasets/Abalone),它具有某些鲍鱼的数据,并具有性别,直径,长度和体重等特征。 我希望能够使用直径,长度和体重特征来预测性别,即男性,女性和婴儿(您以为是2019年)。
我目前正在这样做,所以我只是将0,F替换为1,将I替换为2,将I替换为2。据我了解,这是一种密集编码,从我所做的工作来看,它工作得很好。但是我想使用一种叫做“一键编码”的东西,我已经尝试了多种方法,但是我一直在遇到尺寸错误,并且找不到任何资源。
我当前的方法:
abalone_dataframe = pd.read_csv("abalone.csv")
abalone_dataframe.dropna()
abalone_dataframe = abalone_dataframe.reindex(np.random.permutation(abalone_dataframe.index))
#Male 0, Female 1, Infant 2
mapping = {"M" : 0, "F" : 1, "I" : 2}
abalone_dataframe = abalone_dataframe.replace({"sex" : mapping})
abalone_dataframe
如何做到这一点,所以我使用一键编码而不是密集映射?
答案 0 :(得分:0)
尝试
from sklearn.preprocessing import OneHotEncoder
sex_label = abalone_dataframe['sex'].values
sex_label_onehot = OneHotEncoder(sparse=False).fit_transform(sex_label .reshape(-1,1))