如何使用 ID3 决策树对一个数据集做出决策

时间:2021-04-18 23:57:13

标签: artificial-intelligence decision-tree

我正在实施一项计划,要求用户提供他们的症状(是否发烧、咳嗽、呼吸问题),以检查他们是否需要进行 COVID 测试。

我实现了我的 id3 决策树,使用了 csv 文件中的一些数据集

现在我希望该程序能够提示用户输入他们的症状(是否发烧、咳嗽、呼吸问题),并告诉他们一些信息

我的代码附在下面,问题是当我运行它时,出现错误msg,我想是因为我的txt文件中只有一个数据集

pandas.errors.EmptyDataError: No columns to parse from file

请问我该如何修复它,或者他们是仅针对一个数据做出决策的更好方法吗?

谢谢!

fever = input("Do you have a fever? (Yes or No) ")
cough = input("Do you cough? (Yes or No) ")
breathing_issue = input("Do you have short breating or other breathing issues? (Yes or No) ")
infected = "Yes"
test_sample = fever + "," + cough + "," + breathing_issue + "," +infected
f = open("test.txt", "w")
f.write(test_sample)
# convert to .csv
test_df = pd.read_csv(r'/Users/xxxx/xxxx/xxxx/test.txt', header=None, delim_whitespace=True)
train_df.columns = ['fever', 'cough', 'breating-issue', 'infected']
pd.set_option("display.max_columns", 500) # Load all columns

1 个答案:

答案 0 :(得分:0)

发生这种情况的原因是第 7-9 行读取了一个空数据帧。这是一个演示错误的最小可重现示例:

import pandas as pd

with open("test.txt", "w") as _fh:
  _fh.write("yes,no,yes,no")

df = pd.read_csv("test.txt")
print(df)

输出:

Empty DataFrame
Columns: [yes, no, yes.1, no.1]
Index: []

要获得非空 DataFrame,列需要名称或需要使用可选参数 header=None 调用 pd.read_csv。这是一个写入列名的版本:

import pandas as pd

with open("test.txt", "w") as _fh:
  _fh.write("fever,cough,breathing_issues,infected\n")
  _fh.write("yes,no,yes,no")

df = pd.read_csv("test.txt")
print(df)

输出:

  fever cough breathing_issues infected
0   yes    no              yes       no
相关问题