网易首页 > 网易号 > 正文 申请入驻

机器学习模型可视化:基于sklearn和Matplotlib的库scikit-plot

0
分享至

scikit-learn (sklearn)是Python环境下常见的机器学习库,包含了常见的分类、回归和聚类算法。在训练模型之后,常见的操作是对模型进行可视化,则需要使用Matplotlib进行展示。

scikit-plot是一个基于sklearnMatplotlib的库,主要的功能是对训练好的模型进行可视化,功能比较简单易懂。

https://scikit-plot.readthedocs.io
pip install scikit-plot
功能1:评估指标可视化
  • scikitplot.metrics.plot_confusion_matrix快速展示模型预测结果和标签计算得到的混淆矩阵。

import scikitplot as skplt
rf = RandomForestClassifier()
rf = rf.fit(X_train, y_train)
y_pred = rf.predict(X_test)

skplt.metrics.plot_confusion_matrix(y_test, y_pred, normalize=True)
plt.show()

  • scikitplot.metrics.plot_roc快速展示模型预测的每个类别的ROC曲线。

import scikitplot as skplt
nb = GaussianNB()
nb = nb.fit(X_train, y_train)
y_probas = nb.predict_proba(X_test)

skplt.metrics.plot_roc(y_test, y_probas)
plt.show()

  • scikitplot.metrics.plot_ks_statistic从标签和分数/概率生成 KS 统计图。

import scikitplot as skplt
lr = LogisticRegression()
lr = lr.fit(X_train, y_train)
y_probas = lr.predict_proba(X_test)

skplt.metrics.plot_ks_statistic(y_test, y_probas)
plt.show()

  • scikitplot.metrics.plot_precision_recall从标签和概率生成PR曲线

import scikitplot as skplt
nb = GaussianNB()
nb.fit(X_train, y_train)
y_probas = nb.predict_proba(X_test)

skplt.metrics.plot_precision_recall(y_test, y_probas)
plt.show()

  • scikitplot.metrics.plot_silhouette对聚类结果进行silhouette analysis分析

import scikitplot as skplt
kmeans = KMeans(n_clusters=4, random_state=1)
cluster_labels = kmeans.fit_predict(X)

skplt.metrics.plot_silhouette(X, cluster_labels)
plt.show()

  • scikitplot.metrics.plot_calibration_curve绘制分类器的矫正曲线

import scikitplot as skplt
rf = RandomForestClassifier()
lr = LogisticRegression()
nb = GaussianNB()
svm = LinearSVC()
rf_probas = rf.fit(X_train, y_train).predict_proba(X_test)
lr_probas = lr.fit(X_train, y_train).predict_proba(X_test)
nb_probas = nb.fit(X_train, y_train).predict_proba(X_test)
svm_scores = svm.fit(X_train, y_train).decision_function(X_test)
probas_list = [rf_probas, lr_probas, nb_probas, svm_scores]
clf_names = ['Random Forest', 'Logistic Regression',
'Gaussian Naive Bayes', 'Support Vector Machine']

skplt.metrics.plot_calibration_curve(y_test,
probas_list,
clf_names)
plt.show()
功能2:模型可视化

  • scikitplot.estimators.plot_learning_curve生成不同训练样本下的训练和测试学习曲线图。

import scikitplot as skplt
rf = RandomForestClassifier()

skplt.estimators.plot_learning_curve(rf, X, y)
plt.show()

  • scikitplot.estimators.plot_feature_importances可视化特征重要性。

import scikitplot as skplt
rf = RandomForestClassifier()
rf.fit(X, y)

skplt.estimators.plot_feature_importances(
rf, feature_names=['petal length', 'petal width',
'sepal length', 'sepal width'])
plt.show()
功能3:聚类可视化

scikitplot.cluster.plot_elbow_curve展示聚类的肘步图。

import scikitplot as skplt
kmeans = KMeans(random_state=1)

skplt.cluster.plot_elbow_curve(kmeans, cluster_ranges=range(1, 30))
plt.show()
功能4:降维可视化

  • scikitplot.decomposition.plot_pca_component_variance绘制 PCA 分量的解释方差比。

import scikitplot as skplt
pca = PCA(random_state=1)
pca.fit(X)

skplt.decomposition.plot_pca_component_variance(pca)
>plt.show()

  • scikitplot.decomposition.plot_pca_2d_projection绘制PCA降维之后的散点图。

import scikitplot as skplt
pca = PCA(random_state=1)
pca.fit(X)

skplt.decomposition.plot_pca_2d_projection(pca, X, y)
plt.show()

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
华为鸿蒙超越iOS成中国第二大操作系统

华为鸿蒙超越iOS成中国第二大操作系统

南方都市报
2024-06-14 12:25:05
中央连开9次会议商讨,华国锋主席职位去留问题,陈云提议让贤

中央连开9次会议商讨,华国锋主席职位去留问题,陈云提议让贤

博古文史
2024-06-16 11:30:03
张云逸军衔是大将,为何会被中央特批,享受元帅级别待遇?

张云逸军衔是大将,为何会被中央特批,享受元帅级别待遇?

历史龙元阁
2024-06-15 15:36:49
有哪些东西看似很一般却贵的要命?网友:省了一块钱,赔了一套房

有哪些东西看似很一般却贵的要命?网友:省了一块钱,赔了一套房

王二哥老搞笑
2024-06-15 11:54:34
潘玮柏宣云婚后首次合体现身,女方颜值超高不输女星,太抢眼!

潘玮柏宣云婚后首次合体现身,女方颜值超高不输女星,太抢眼!

时尚小玥玥
2024-06-11 18:16:20
“将完全退出集安组织,不再回来”!

“将完全退出集安组织,不再回来”!

占豪
2024-06-14 01:06:17
解放军中将在京突然去世,两女儿定居美国,亲弟弟关联25家公司

解放军中将在京突然去世,两女儿定居美国,亲弟弟关联25家公司

求实者
2024-06-12 14:30:22
谭咏麟病愈后首次公开现身,瘦到青筋毕现感慨声线不好

谭咏麟病愈后首次公开现身,瘦到青筋毕现感慨声线不好

小萝卜天下事
2023-07-21 21:57:53
朴素!王祖蓝现身香港,开五菱宏光迷你款,车高1米6,车价仅6万

朴素!王祖蓝现身香港,开五菱宏光迷你款,车高1米6,车价仅6万

柠檬有娱乐
2024-06-14 15:05:45
决战时刻或来临,字少事大!伊朗:全体伊斯兰国家,时机已经到了

决战时刻或来临,字少事大!伊朗:全体伊斯兰国家,时机已经到了

笔墨V
2024-06-16 00:55:55
普京怕啥来啥,北约志愿飞行员将直接参战:要3个月打败俄空天军

普京怕啥来啥,北约志愿飞行员将直接参战:要3个月打败俄空天军

帅先工场
2024-06-15 16:56:54
沉浸式乘坐高铁优选一等座

沉浸式乘坐高铁优选一等座

悠闲葡萄
2024-06-16 10:15:32
皮耶罗与德国主持人开玩笑:我为自己在06年的进球感到抱歉

皮耶罗与德国主持人开玩笑:我为自己在06年的进球感到抱歉

懂球帝
2024-06-16 10:08:13
土库曼斯坦:比朝鲜还封闭,福利好百姓躺平,跟中国合作过好日子

土库曼斯坦:比朝鲜还封闭,福利好百姓躺平,跟中国合作过好日子

WarOH协虎
2024-06-15 22:55:03
真没必要让武磊再上,海港居然能客场3-0拿下天津,不可思议

真没必要让武磊再上,海港居然能客场3-0拿下天津,不可思议

百里无心
2024-06-16 10:45:53
杨幂涂山红红被修到变形,工作室遭粉丝骂翻:废物!

杨幂涂山红红被修到变形,工作室遭粉丝骂翻:废物!

葫芦哥爱吐槽
2024-06-15 13:21:20
俄杜马主席:一些乌议员已开始讨论普京停火提议

俄杜马主席:一些乌议员已开始讨论普京停火提议

参考消息
2024-06-15 19:12:10
昨天,我把2套房过户给女儿,今天打8通电话喊女友去领证,无人接

昨天,我把2套房过户给女儿,今天打8通电话喊女友去领证,无人接

四象八卦
2024-06-16 16:18:04
放贷者报案,广东云浮实业家被抓

放贷者报案,广东云浮实业家被抓

刘虎和朋友们
2024-06-15 21:10:08
梅西:我以前也进了世界杯决赛,但外界认为不够!

梅西:我以前也进了世界杯决赛,但外界认为不够!

历史第一人梅西
2024-06-16 14:37:14
2024-06-16 18:00:49
机器学习与Python社区
机器学习与Python社区
机器学习算法与Python
2466文章数 10252关注度
往期回顾 全部

科技要闻

iPhone 16会杀死大模型APP吗?

头条要闻

今年上半年尚未结束 已有4名正部级被查

头条要闻

今年上半年尚未结束 已有4名正部级被查

体育要闻

没人永远年轻 但青春如此无敌还是离谱了些

娱乐要闻

上影节红毯:倪妮好松弛,娜扎吸睛

财经要闻

打断妻子多根肋骨 上市公司创始人被公诉

汽车要闻

售17.68万-21.68万元 极狐阿尔法S5正式上市

态度原创

房产
旅游
本地
艺术
时尚

房产要闻

万华对面!海口今年首宗超百亩宅地,重磅挂出!

旅游要闻

@毕业生,江苏这些景区可享免票或优惠

本地新闻

粽情一夏|海河龙舟赛,竟然成了外国人的大party!

艺术要闻

穿越时空的艺术:《马可·波罗》AI沉浸影片探索人类文明

40岁女人的“优雅范”穿搭,夏天学会这么搭,也能美得很轻松

无障碍浏览 进入关怀版