首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用ID3决策树对一个数据集进行决策

如何使用ID3决策树对一个数据集进行决策
EN

Stack Overflow用户
提问于 2021-04-19 07:57:13
回答 1查看 63关注 0票数 0

我正在实施一个程序,询问用户的症状(是否发烧,咳嗽,呼吸问题),以检查他们是否需要冠状病毒检测。

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

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

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

代码语言:javascript
运行
复制
pandas.errors.EmptyDataError: No columns to parse from file

我可以问一下,我如何解决它,或者他们是一个更好的方法来决定只有一个数据?

谢谢!

代码语言:javascript
运行
复制
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
EN

回答 1

Stack Overflow用户

发布于 2021-04-19 21:36:23

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

代码语言:javascript
运行
复制
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)

输出:

代码语言:javascript
运行
复制
Empty DataFrame
Columns: [yes, no, yes.1, no.1]
Index: []

要获得非空的DataFrame,要么列需要名称,要么需要使用可选参数header=None调用pd.read_csv。以下是列名的编写版本:

代码语言:javascript
运行
复制
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)

输出:

代码语言:javascript
运行
复制
  fever cough breathing_issues infected
0   yes    no              yes       no
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67154508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档