def plot_contour(self):
"""
Function constructs contour lines
"""
self.scatter.remove_contours()
if self.contours_enabled:
is_tree = type(self.learner) in [RandomForestLearner, TreeLearner]
# tree does not need smoothing
contour = Contour(
self.xv, self.yv, self.probabilities_grid
if is_tree else self.blur_grid(self.probabilities_grid))
contour_lines = contour.contours(
np.hstack(
(np.arange(0.5, 0, - self.contour_step)[::-1],
np.arange(0.5 + self.contour_step, 1, self.contour_step))))
# we want to have contour for 0.5
series = []
count = 0
for key, value in contour_lines.items():
for line in value:
if (len(line) > self.degree and
type(self.learner) not in
[RandomForestLearner, TreeLearner]):
# if less than degree interpolation fails
tck, u = splprep(
[list(x) for x in zip(*reversed(line))],
s=0.001, k=self.degree,
per=(len(line)
if np.allclose(line[0], line[-1])
else 0))
new_int = np.arange(0, 1.01, 0.01)
interpol_line = np.array(splev(new_int, tck)).T.tolist()
else:
interpol_line = line
series.append(dict(data=self.labeled(interpol_line, count),
color=self.contour_color,
type="spline",
lineWidth=0.5,
showInLegend=False,
marker=dict(enabled=False),
name="%g" % round(key, 2),
enableMouseTracking=False
))
count += 1
self.scatter.add_series(series)
self.scatter.redraw_series()
owpolynomialclassification.py 文件源码
python
阅读 21
收藏 0
点赞 0
评论 0
评论列表
文章目录