scikit-learn一般实例之四:管道的使用:链接一个主成分分析和Logistic回归
2024-10-01 10:06:03
主成分分析(PCA)进行无监督的降维,而逻辑回归进行预测.
我们使用GridSearchCV
来设置PCA的维度
# coding:utf-8
from pylab import *
import numpy as np
from sklearn import linear_model, decomposition, datasets
from sklearn.pipeline import Pipeline
from sklearn.model_selection import GridSearchCV
logistic = linear_model.LogisticRegression()
pca = decomposition.PCA()
pipe = Pipeline(steps=[('pca', pca), ('logistic', logistic)])
digits = datasets.load_digits()
X_digits = digits.data
y_digits = digits.target
绘制PCA图谱
myfont = matplotlib.font_manager.FontProperties(fname="Microsoft-Yahei-UI-Light.ttc")
mpl.rcParams['axes.unicode_minus'] = False
pca.fit(X_digits)
plt.figure(1, figsize=(4, 3))
plt.clf()
plt.axes([.2, .2, .7, .7])
plt.plot(pca.explained_variance_, linewidth=2)
plt.axis('tight')
plt.xlabel(u'n_components',fontproperties=myfont)
plt.ylabel(u'解释方差',fontproperties=myfont)
plt.title(u"主成分分析谱",fontproperties=myfont)
预测
plt.clf()
n_components = [20, 40, 64]
Cs = np.logspace(-4, 4, 3)
estimator = GridSearchCV(pipe,
dict(pca__n_components=n_components,
logistic__C=Cs))
estimator.fit(X_digits, y_digits)
plt.axvline(estimator.best_estimator_.named_steps['pca'].n_components,
linestyle=':', label='n_components chosen')
plt.legend(prop=myfont)
plt.title(u"预测",fontproperties=myfont)
最新文章
- MVC前台Post/Get异步获得数据时参数的取值问题
- Node.js-部署【1】-防火墙端口的配置
- Jmeter组件6. SOAP/XML-RPC Request
- web form 复合控件
- swift学习笔记之-枚举
- 配置Windows 2008 R2 64位 Odoo 8.0/9.0 源码开发调试环境
- matlab eps中文乱码的解决方法
- Android studio SweetAlert for Android
- 基于Gulp + Browserify构建es6环境下的自动化前端项目
- JSP中request获取值
- Django知识点汇总
- 用jquery监听输入数字的变化
- Python学习--11 面向对象高级编程
- AngularJs -- ngMessages(1.3+)
- 理解 process.initgroups(user, extra_group)
- kvm虚拟机中virbr0虚拟网络接口的删除与恢复
- POJ 2342 - Anniversary party - [树形DP]
- 20170801xlVBA含有公式出现弹窗合并
- node的 node-sass@^4.11.0 出现:npm: no such file or directory, scandir '.../node_modules/node-sass/vendor'
- 以应用带动SDN发展(CDN峰会 工信部杨崑)(转)