最近因工作需要,需要将决策树生成的图在html上展示,给专业的人员用来做修改。有几个坑,现在记录下。
再尝试了R的rpart,scikit-learn的decision tree之后,发现效果都跟业务要求有差距,因此决定自己用python3写决策树算法,因而很自然的用了matplotlib来做决策树的图像化。同时,flask是一种轻量级的web应用,很简便。所以最后问题就是怎么把matplotlib生成的图上传到页面上。
1. 安装matplotlib
在本机mac上安装matplotlib很方便,pip就行,但是在服务器linux上安装时,提示我linux上缺少freetype,libpng,在研究了半天之后,找到了解决方法。
安装freetypewget http://download.savannah.gnu.org/releases/freetype/freetype-2.4.10.tar.gz
tar zxvf freetype-2.4.10.tar.gz
cd freetype-2.4.10/
./configure
make
sudo make install
安装libpng:sudo yum install libpng-devel
在安装完上述包之后,再用pip install就好。
2.基本框架
需要的包:import matplotlib
matplotlib.use('Agg') #不出现画图的框
from flask import Flask
app = Flask(__name__)
from i