Databricks 查看图片
Databricks View Image
我在 Databricks 中 运行 这个但是决策树图像不会显示。
%pip install pydot
%pip install pydotplus
# Load libraries
from sklearn.tree import DecisionTreeClassifier
from sklearn import datasets
from IPython.display import Image
from sklearn import tree
import pydotplus
# Load data
iris = datasets.load_iris()
X = iris.data
y = iris.target
# Create DOT data
dot_data = tree.export_graphviz(clf, out_file=None,
feature_names=iris.feature_names,
class_names=iris.target_names)
# Draw graph
graph = pydotplus.graph_from_dot_data(dot_data)
# Show graph
Image(graph.create_png())
我只收到这条消息(没有视觉效果):
Out[4]: <IPython.core.display.Image object>
我被难住了。想法?
Databricks 的文档最差,此时他们的示例不起作用,所以我不得不使用 PIL 和 Matplotlib 提出自己的解决方案。
以下是我在 Python 中的 Databricks 中显示图像的方式:
from PIL import Image
import matplotlib.pyplot as plt
def display_image(path, dpi=100):
"""
Description:
Displayes an image
Inputs:
path (str): File path
dpi (int): Your monitor's pixel density
"""
img = Image.open(path)
width, height = img.size
plt.figure(figsize = (width/dpi,height/dpi))
plt.imshow(img, interpolation='nearest', aspect='auto')
我在 Databricks 中 运行 这个但是决策树图像不会显示。
%pip install pydot
%pip install pydotplus
# Load libraries
from sklearn.tree import DecisionTreeClassifier
from sklearn import datasets
from IPython.display import Image
from sklearn import tree
import pydotplus
# Load data
iris = datasets.load_iris()
X = iris.data
y = iris.target
# Create DOT data
dot_data = tree.export_graphviz(clf, out_file=None,
feature_names=iris.feature_names,
class_names=iris.target_names)
# Draw graph
graph = pydotplus.graph_from_dot_data(dot_data)
# Show graph
Image(graph.create_png())
我只收到这条消息(没有视觉效果):
Out[4]: <IPython.core.display.Image object>
我被难住了。想法?
Databricks 的文档最差,此时他们的示例不起作用,所以我不得不使用 PIL 和 Matplotlib 提出自己的解决方案。
以下是我在 Python 中的 Databricks 中显示图像的方式:
from PIL import Image
import matplotlib.pyplot as plt
def display_image(path, dpi=100):
"""
Description:
Displayes an image
Inputs:
path (str): File path
dpi (int): Your monitor's pixel density
"""
img = Image.open(path)
width, height = img.size
plt.figure(figsize = (width/dpi,height/dpi))
plt.imshow(img, interpolation='nearest', aspect='auto')