admin管理员组文章数量:1581084
最近学机器学习的决策树部分,使用sklearn.tree.export_graphviz()
该函数导出dot格式,但是无法查看dot后缀的文件,需要安装graphviz将dot文件转换为pdf、png格式,电脑是windows10的系统,网上大多都是linux和mac系统。为了以后方便学习,解决办法总结如下:
1.从官网上下载包
网址链接:https://graphviz.gitlab.io/_pages/Download/Download_windows.html
下载任意一个就好,我下载的是第二个压缩包,下载的地址可以任意,我放在了D:\Anaconda\graphviz-2.38
下
2.配置环境变量
计算机–属性–高级系统设置–环境变量–>D:\Anaconda\graphviz-2.38\bin
配置系统变量D:\Anaconda\graphviz-2.38\bin\dot.exe
3.查看是否成功安装
win+R
打开终端,输入dot -version
显示如下则配置成功
决策树程序:
from sklearn.datasets import fetch_20newsgroups
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import classification_report
from sklearn.feature_extraction import DictVectorizer
from sklearn.tree import DecisionTreeClassifier, export_graphviz
import pandas as pd
def decision():
"""
决策树对泰坦尼克号进行生死预测
:return:None
"""
titan = pd.read_csv("http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic.txt")
# 处理数据
x = titan[['pclass', 'age', 'sex']]
y = titan['survived']
# print(x)
# 缺失值处理
x['age'].fillna(x['age'].mean(), inplace=True)
# 先分割数据集到训练集和测试集
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25)
# 进行处理one_hot编码
dict = DictVectorizer(sparse=False)
x_train = dict.fit_transform(x_train.to_dict(orient='records'))
print(dict.get_feature_names())
x_test = dict.transform(x_test.to_dict(orient='records'))
# print(x_test)
# 决策树预测
dec = DecisionTreeClassifier()
dec.fit(x_train, y_train)
# 预测准确率
print("预测准确率:", dec.score(x_test, y_test))
# 导出决策树结构
export_graphviz(dec, out_file="./tree.dot",
feature_names=['年龄', 'pclass=1st', 'pclass=2nd',
'pclass=3rd', '女性', '男性'] )
if __name__ == '__main__':
decision()
程序成功运行,并生成了tree.dot文件
然后在终端上切换到文件路径,输入dot -Tpng tree.dot -o tree.png
则在文件中生成了一个tree.png的照片
说明已经安装成功。
版权声明:本文标题:windows10下安装graphviz的解决办法 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1727874972a1135095.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论