我在一个google colab环境中,试图训练一个tensorflow决策森林。我加载了我的数据集,如下所示:dataset_df = pd.read_csv("/content/drive/MyDrive/Medical_Error_Test_Data-_1_.csv")
我继续取出NaN值:labels =dataset_df.keys() for label in labels: dataset_df[label] = dataset_df[label].fillna(0)
然后将所有标签转换为整数:for label in labels: classes.append(dataset_df[label].unique().tolist()) print(f"Label classes: {classes}") for classs,label in zip(classes,labels): dataset_df[label] = dataset_df[label].map(classs.index)
其中类以空列表开始
然后,我将数据集拆分为训练集和测试集:def split_dataset(dataset,test_ratio=0.30):“将一个Pandas框架拆分为两个。”test_indices = np.random.rand(len(dataset))< test_ratio返回dataset[~test_indices],dataset[test_indices] train_ds_pd,test_ds_pd = split_dataset(dataset_df)
最后,我尝试将其转换为tf数据集:train_ds = tfdf.keras.pd_dataframe_to_tf_dataset(train_ds_pd, label=label)
这里的标签是'Sub System',当我打印train_ds的键列表时,它会显示出来。当我尝试将其用作标签时,我得到了这个错误:KeyError:“在axis中找不到'Sub System']”我已经尝试了键集中的所有其他标签,它们都给予这个错误。
有没有人看到我做错了什么?
我试图把我的框架转换成数据集,我得到一个错误,
1条答案
按热度按时间4sup72z81#
我遇到了同样的问题。它通过重命名列来修复,这样里面就没有空格了。tensorflow数据集半自动地用“_"替换空格,但它在声明label时不知何故中断了。所以只要重命名label列,这样它就没有空格了
字符串