微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

调整图黄砖模型-python

如何解决调整图黄砖模型-python

我正在尝试调整黄色砖块图形上的轴限制。但是,我似乎无法调整它。我可以更改轴标签标题,但不能更改限制。如果我不使用 visualizer.show() 渲染图形,它会起作用,但随后我会丢失标签标题、图例等。

from sklearn.linear_model import RidgeClassifier
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import OrdinalEncoder,LabelEncoder
from yellowbrick.classifier import ROCAUC
from yellowbrick.datasets import load_game
import matplotlib.pyplot as plt

X,y = load_game()

X = OrdinalEncoder().fit_transform(X)
y = LabelEncoder().fit_transform(y)

fig,ax = plt.subplots()
ax.set_xlim([-0.05,1.0])
ax.set_ylim([0.0,1.05])

X_train,X_test,y_train,y_test = train_test_split(X,y,random_state=42)

fig,ax = plt.subplots(figsize = (10,6))

model = RidgeClassifier()
visualizer = ROCAUC(model,classes=["win","loss","draw"],ax = ax)

visualizer.fit(X_train,y_train)       
visualizer.score(X_test,y_test)        
visualizer.show()                       

解决方法

您可以尝试调用 visualizer.show() 方法,然后访问底层 matplotlib 轴来更改限制,而不是调用 visualizer.finalize() 方法。您还覆盖了 ax,这对您也没有任何好处。

这是完整的代码示例:

from sklearn.linear_model import RidgeClassifier
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import OrdinalEncoder,LabelEncoder
from yellowbrick.classifier import ROCAUC
from yellowbrick.datasets import load_game
import matplotlib.pyplot as plt

X,y = load_game()

X = OrdinalEncoder().fit_transform(X)
y = LabelEncoder().fit_transform(y)

X_train,X_test,y_train,y_test = train_test_split(X,y,random_state=42)

fig,ax = plt.subplots(figsize = (10,6))

model = RidgeClassifier()
visualizer = ROCAUC(model,classes=["win","loss","draw"],ax=ax)

visualizer.fit(X_train,y_train)       
visualizer.score(X_test,y_test)        
visualizer.finalize()   
ax.set_xlim([-0.05,1.0])
ax.set_ylim([0.0,1.05])

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。