当前位置: 首页 > news >正文

网站建设收费标准方案免费b站推广网站2023

网站建设收费标准方案,免费b站推广网站2023,赣州哪里可以做网站,网页布局方式Pycharm生成决策树Pycharm生成文字化的决策树实现生成决策树图安装Graphviz并配置环境变量解决中文乱码部分解决保存为pdf文件保存为图片红酒数据集下载地址:https://archive.ics.uci.edu/ml/datasets/Wine Pycharm生成文字化的决策树 以下代码在jupyter中可以直接…

Pycharm生成决策树

  • Pycharm生成文字化的决策树
  • 实现生成决策树图
    • 安装Graphviz并配置环境变量
  • 解决中文乱码
    • 部分解决
    • 保存为pdf文件
    • 保存为图片

红酒数据集下载地址:https://archive.ics.uci.edu/ml/datasets/Wine

Pycharm生成文字化的决策树

以下代码在jupyter中可以直接生成,但是在Pyharm中生成的结果是用文字形式表示的树模型。

import pandas as pd
from sklearn import tree
from sklearn.model_selection import  train_test_split
import graphviz#[178 rows x 14 columns]  1~13都是特征列 0列才是标签
wine = pd.read_table('F:\Temp\img\wine.data',sep = ',',header=None)
# 将列名修改为中文
names = ['类型','酒精','苹果酸','灰','灰的碱度','镁','总酚类化合物','类黄酮','Nonflavanoid酚类','原花青素','颜色强度' ,'色调','稀释葡萄酒的OD280/OD315','脯氨酸']
wine.columns = namesXtrain, Xtest, Ytrain, Ytest = train_test_split(wine.iloc[:,1:],wine.iloc[:,0],test_size=0.3)clf = tree.DecisionTreeClassifier(criterion="entropy")
clf = clf.fit(Xtrain,Ytrain)
score = clf.score(Xtest,Ytest)# print(score)# 绘制树
dot_data = tree.export_graphviz(clf,feature_names=names[1:],             # 特征名class_names=["琴酒","雪莉","贝尔摩德"], # 为三个类别起个名(可随意)filled=True,rounded=True)graph = graphviz.Source(dot_data)
print(graph)     		# 直接打印
graph.save('tree.dot')  # 保存为文件

实现生成决策树图

import pandas as pd
import numpy as np
from sklearn import tree
from sklearn.model_selection import  train_test_split
import pydotplus
from IPython.display import Image#[178 rows x 14 columns]  1~13都是特征列 0列才是标签
wine = pd.read_table('F:\Temp\img\wine.data',sep = ',',header=None)
# 将列名修改为中文
names = ['类型','酒精','苹果酸','灰','灰的碱度','镁','总酚类化合物','类黄酮','Nonflavanoid酚类','原花青素','颜色强度' ,'色调','稀释葡萄酒的OD280/OD315','脯氨酸']
wine.columns = namesXtrain, Xtest, Ytrain, Ytest = train_test_split(wine.iloc[:,1:],wine.iloc[:,0],test_size=0.3)clf = tree.DecisionTreeClassifier(criterion="entropy")
clf = clf.fit(Xtrain,Ytrain)
score = clf.score(Xtest,Ytest)# print(score)# 绘制树
dot_data = tree.export_graphviz(clf,feature_names=names[1:],             # 特征名class_names=["琴酒","雪莉","贝尔摩德"], # 为三个类别起个名(可随意)filled=True,rounded=True)graph = pydotplus.graph_from_dot_data(dot_data)
img = Image(graph.create_png())
graph.write_png('F:\Temp\img\wine.png')

一般来说,没有安装Graphviz,或者没有配置环境变量的,都会报这么一个错:

GraphViz’s executables not found

安装Graphviz并配置环境变量

第一步,安装。除了路径,其他的全都默认
Graphviz下载地址:http://www.graphviz.org/download/
在这里插入图片描述
第二步,配置环境变量(将安装路径的路径添加到系统变量里的Path中)
在这里插入图片描述
我是手工在环境变量中添加了bin路径,但有的人喜欢运行这个语句。

import os
os.environ["PATH"] += os.pathsep + r'D:\Programming Software\Pycharm\GraphViz\bin'

第三步,检查。进入cmd界面,输入dot -version 或 dot -V 。如出现版本信息就说明成功了。

到了现在,就可以去执行刚才的代码了,然后就可以去对应路径中查看新生成的决策树了,只不过有中文乱码。
如果运行之后还是报 GraphViz’s executables not found 错,那就重启电脑。我也出现过这种情况,前三步都没问题,但就是报错。

解决中文乱码

部分解决

运行之后,控制台报警告,但这些警告都是黑体,我还是能接受的。
参考博客:https://blog.csdn.net/yeshang_lady/article/details/120220778

import pandas as pd
import numpy as np
from sklearn import tree
from sklearn.datasets import load_wine
from sklearn.model_selection import  train_test_split
import graphviz
import pydotplus
from IPython.display import Image#[178 rows x 14 columns]  1~13都是特征列 0列才是标签
wine = pd.read_table('../../DataSet/01 决策树/wine.data',sep = ',',header=None)
# 将列名修改为中文
names = ['类型','酒精','苹果酸','灰','灰的碱度','镁','总酚类化合物','类黄酮','Nonflavanoid酚类','原花青素','颜色强度' ,'色调','稀释葡萄酒的OD280/OD315','脯氨酸']
wine.columns = namesXtrain, Xtest, Ytrain, Ytest = train_test_split(wine.iloc[:,1:],wine.iloc[:,0],test_size=0.3)clf = tree.DecisionTreeClassifier(criterion="entropy")
clf = clf.fit(Xtrain,Ytrain)
score = clf.score(Xtest,Ytest)# print(score)# 绘制树
dot_data = tree.export_graphviz(clf,feature_names=names[1:],             # 特征名class_names=["琴酒","雪莉","贝尔摩德"], # 为三个类别起个名(可随意)filled=True,rounded=True)graph=pydotplus.graph_from_dot_data(dot_data)
#在原有的可视化代码后面添加如下代码,人为修改每个节点的fontname属性值
for node in graph.get_nodes():node.set_fontname(lambda x:'SimHei')
Image(graph.create_png())
graph.write_png('F:\Temp\img\wine.png')

保存为pdf文件

用了自带的render方法,没用save。感觉像是回到了第一个代码,不过安装Graphviz是真重点。
Microsoft YaHei 这个微软雅黑可以换成其他的,只要自己电脑里有就行。

import pandas as pd
import numpy as np
from sklearn import tree
from sklearn.datasets import load_wine
from sklearn.model_selection import  train_test_split
import graphviz
import pydotplus
from IPython.display import Image#[178 rows x 14 columns]  1~13都是特征列 0列才是标签
wine = pd.read_table('../../DataSet/01 决策树/wine.data',sep = ',',header=None)
# 将列名修改为中文
names = ['类型','酒精','苹果酸','灰','灰的碱度','镁','总酚类化合物','类黄酮','Nonflavanoid酚类','原花青素','颜色强度' ,'色调','稀释葡萄酒的OD280/OD315','脯氨酸']
wine.columns = namesXtrain, Xtest, Ytrain, Ytest = train_test_split(wine.iloc[:,1:],wine.iloc[:,0],test_size=0.3)clf = tree.DecisionTreeClassifier(criterion="entropy")
clf = clf.fit(Xtrain,Ytrain)
score = clf.score(Xtest,Ytest)# print(score)# dot -Tpng tree.dot -o test.png
# 绘制树
dot_data = tree.export_graphviz(clf,feature_names=names[1:],             # 特征名class_names=["琴酒","雪莉","贝尔摩德"], # 为三个类别起个名(可随意)filled=True,rounded=True)graph = graphviz.Source(dot_data.replace('helvetica','"Microsoft YaHei"'), encoding='utf-8')
# 在同级目录下生成两文件,一个无后缀,一个是pdf。而且加了jpg npg 等后缀生成的文件是没法用的
graph.render("tree")   # graph.view() 跟graph.render()类似,只不过自动帮你把pdf打开了

dot -Tpng tree.dot -o test.png        dot -Tpdf tree.txt -o test.pdf
在cmd界面中,可以用这两条指令将文字形式的决策树转为相应文件。
生成文件乱码的,需要改 tree.dot(tree,txt) 文件中的helvetica ,在第二行和第三行,设置为:helvetica=‘想要设置的字体’

在这里插入图片描述
总结一下就是,在安装了Graphviz的前提下。
用第一个代码,将结果保存成一个文件,然后修改文件里的字体属性(上图给了两个修改模本)。最后就是在cmd界面,进入文件所在文件夹,用指令将文字转为图片或转为pdf。
用最后一个代码,运行之后会生成两个文件。一个没有后缀,一个是pdf。pdf可直接打开。

保存为图片

研究出来的一个新玩法。
核心代码是:dot_data.replace(‘helvetica’,’“Microsoft YaHei”’)。也是替换文字属性,在【保存为pdf】那一节中就用过。

import pandas as pd
import numpy as np
from sklearn import tree
from sklearn.datasets import load_wine
from sklearn.model_selection import  train_test_split
import graphviz
import pydotplus
from IPython.display import Image
import codecs#[178 rows x 14 columns]  1~13都是特征列 0列才是标签
wine = pd.read_table('../../DataSet/01 决策树/wine.data',sep = ',',header=None)
# 将列名修改为中文
names = ['类型','酒精','苹果酸','灰','灰的碱度','镁','总酚类化合物','类黄酮','Nonflavanoid酚类','原花青素','颜色强度' ,'色调','稀释葡萄酒的OD280/OD315','脯氨酸']
wine.columns = namesX = wine.iloc[:,1:]
Y = wine.iloc[:,0]
Xtrain, Xtest, Ytrain, Ytest = train_test_split(X,Y,test_size=0.3)clf = tree.DecisionTreeClassifier(criterion="entropy")
clf = clf.fit(Xtrain,Ytrain)
score = clf.score(Xtest,Ytest)# print(score)# 绘制树
dot_data = tree.export_graphviz(clf,feature_names=names[1:],             # 特征名class_names=["琴酒","雪莉","贝尔摩德"], # 为三个类别起个名(可随意)filled=True,rounded=True)graph = pydotplus.graph_from_dot_data(dot_data.replace('helvetica','"Microsoft YaHei"'))
img = Image(graph.create_png())
graph.write_png('F:\Temp\img\wine.png')
http://www.wooajung.com/news/33734.html

相关文章:

  • 公司建设门户网站的意义搜索引擎优化seo优惠
  • 网站建设的开多少税率东莞企业网站设计公司
  • 汽车租赁网站怎么做网络营销推广专员
  • 科技备案企业网站线上推广方案
  • 东莞网站推广渠道有哪些百度贴吧人工客服
  • 网店代运营违法吗seo排名点击器
  • 网站开发工具 哪个好代推广app下载
  • 建设项目水资源论证网站360收录提交
  • 北京服饰网站建设老王搜索引擎入口
  • 企业网站制作找什么人百度指数关键词
  • 网站虚拟交易技术怎么做利用搜索引擎营销成功的案例
  • 坂田网站的建设永久免费linux服务器
  • 北京互联网公司开发的网站微营销是什么
  • 无锡做网站多少钱网络营销环境分析
  • 网站建设网站公司品牌运营中心
  • 建设一个网站要钱吗内容营销案例
  • 网站数据库在空间吗免费的自助建站
  • tp 网站建设源码seo页面优化的方法
  • 买权重网站网站优化资源
  • 搜了网的免费b2b网站口碑营销的例子
  • 网站建设的总体设计思想app推广方案范例
  • wordpress个性登录seo快排
  • 堆龙德庆网站建设拍照搜索百度识图
  • 建设银行网站最近打不开吗优化软件刷排名seo
  • 做旅游网站怎么样5188关键词挖掘工具
  • 武汉网站建设设计百度seo是什么意思呢
  • 企业被网站骗做会员站长工具seo综合查询问题
  • 辽宁建设工程信息网官网新网站是哪个网站推广联盟
  • 易企秀网页制作教程洛阳seo博客
  • 自己如何建立网站免费外链发布