你好,我已经尝试了几个小时,但就是无法使其工作。我已经导入了必要的包,并将我的csv文件分配给了变量X。
我的csv文件有一列,包含从0到9的数字。我希望创建另一个csv文件,包含10列的0和1作为目标集。我尝试使用sklearn的LabelEncoder和OneHotEncoder,但没有成功。
谢谢阅读和提前感谢任何帮助。
回答:
如果它在一个csv文件中,你可以按以下方式使用Pandas包
import pandas as pd #导入包
df = pd.read_csv(path) #df是一个包含csv文件数据框的变量
ydf = pd.get_dummies(df['label']) #'label'是csv中你想要进行独热编码的列标题
如果它是一个numpy数组,你可以尝试以下方式
所以你可以对你的numpy数组这样做
vector = np.arange(no_of_different_labels)# 将标签转换为独热表示
y_train_one_hot = (vector == y_train).astype(np.float)# 确保你的y_train大小为(m,1),而不是(m,),以便广播工作
从这个链接获取