吴裕雄--天生自然 人工智能机器学习实战代码:线性判断分析LINEARDISCRIMINANTANALYSIS...
import numpy as np import matplotlib.pyplot as pltfrom matplotlib import cm from mpl_toolkits.mplot3d import Axes3D from sklearn.model_selection import train_test_split from sklearn import datasets, linear_model,discriminant_analysisdef load_data():# 使用 scikit-learn 自带的 iris 数据集iris=datasets.load_iris()X_train=iris.datay_train=iris.targetreturn train_test_split(X_train, y_train,test_size=0.25,random_state=0,stratify=y_train)#线性判断分析LinearDiscriminantAnalysis def test_LinearDiscriminantAnalysis(*data):X_train,X_test,y_train,y_test=datalda = discriminant_analysis.LinearDiscriminantAnalysis()lda.fit(X_train, y_train)print('Coefficients:%s, intercept %s'%(lda.coef_,lda.intercept_))print('Score: %.2f' % lda.score(X_test, y_test))# 产生用于分类的数据集 X_train,X_test,y_train,y_test=load_data() # 调用 test_LinearDiscriminantAnalysis test_LinearDiscriminantAnalysis(X_train,X_test,y_train,y_test)
def plot_LDA(converted_X,y):'''绘制经过 LDA 转换后的数据:param converted_X: 经过 LDA转换后的样本集:param y: 样本集的标记'''fig=plt.figure()ax=Axes3D(fig)colors='rgb'markers='o*s'for target,color,marker in zip([0,1,2],colors,markers):pos=(y==target).ravel()X=converted_X[pos,:]ax.scatter(X[:,0], X[:,1], X[:,2],color=color,marker=marker,label="Label %d"%target)ax.legend(loc="best")fig.suptitle("Iris After LDA")plt.show()def run_plot_LDA():'''执行 plot_LDA 。其中数据集来自于 load_data() 函数'''X_train,X_test,y_train,y_test=load_data()X=np.vstack((X_train,X_test))Y=np.vstack((y_train.reshape(y_train.size,1),y_test.reshape(y_test.size,1)))lda = discriminant_analysis.LinearDiscriminantAnalysis()lda.fit(X, Y)converted_X=np.dot(X,np.transpose(lda.coef_))+lda.intercept_plot_LDA(converted_X,Y)# 调用 run_plot_LDA run_plot_LDA()
def test_LinearDiscriminantAnalysis_solver(*data):'''测试 LinearDiscriminantAnalysis 的预测性能随 solver 参数的影响'''X_train,X_test,y_train,y_test=datasolvers=['svd','lsqr','eigen']for solver in solvers:if(solver=='svd'):lda = discriminant_analysis.LinearDiscriminantAnalysis(solver=solver)else:lda = discriminant_analysis.LinearDiscriminantAnalysis(solver=solver,shrinkage=None)lda.fit(X_train, y_train)print('Score at solver=%s: %.2f' %(solver, lda.score(X_test, y_test)))# 调用 test_LinearDiscriminantAnalysis_solver test_LinearDiscriminantAnalysis_solver(X_train,X_test,y_train,y_test)
def test_LinearDiscriminantAnalysis_shrinkage(*data):'''测试 LinearDiscriminantAnalysis 的预测性能随 shrinkage 参数的影响'''X_train,X_test,y_train,y_test=datashrinkages=np.linspace(0.0,1.0,num=20)scores=[]for shrinkage in shrinkages:lda = discriminant_analysis.LinearDiscriminantAnalysis(solver='lsqr',shrinkage=shrinkage)lda.fit(X_train, y_train)scores.append(lda.score(X_test, y_test))## 绘图fig=plt.figure()ax=fig.add_subplot(1,1,1)ax.plot(shrinkages,scores)ax.set_xlabel(r"shrinkage")ax.set_ylabel(r"score")ax.set_ylim(0,1.05)ax.set_title("LinearDiscriminantAnalysis")plt.show() # 调用 test_LinearDiscr test_LinearDiscriminantAnalysis_shrinkage(X_train,X_test,y_train,y_test)
转载于:https://www.cnblogs.com/tszr/p/11177949.html
吴裕雄--天生自然 人工智能机器学习实战代码:线性判断分析LINEARDISCRIMINANTANALYSIS...相关推荐
- python预测疾病_吴裕雄--天生自然python机器学习:使用Logistic回归从疝气病症预测病马的死亡率...
,除了部分指标主观和难以测量外,该数据还存在一个问题,数据集中有 30%的值是缺失的.下面将首先介绍如何处理数据集中的数据缺失问题,然 后 再 利 用 Logistic回 归 和随机梯度上升算法来预测 ...
- mysql 查询 系统字段 自然日_吴裕雄--天生自然python数据清洗与数据可视化:MYSQL、MongoDB数据库连接与查询、爬取天猫连衣裙数据保存到MongoDB...
本博文使用的数据库是MySQL和MongoDB数据库.安装MySQL可以参照我的这篇博文:https://www.cnblogs.com/tszr/p/12112777.html 其中操作Mysql使 ...
- python电商爬虫源码_吴裕雄--天生自然PYTHON爬虫:爬取某一大型电商网站的商品数据...
由于这里的目标是获取整个自由行的产品列表,因此还需要获取出发站点的列表,从不同的城市出发,会有不用的产品. 返回自由行的首页,单击搜索框左侧的出发站点,如下图: 切换到Headers界面: 可以看到此 ...
- 吴裕雄--天生自然 中医研究学习:入门
中医学是研究人体生理病理,疾病诊断与防治以及摄生康复的一门医学科学,至今已有数千年的历史.中医学是"以中医药理论与实践经验为主体,研究人类生命活动中医学中健康与疾病转化规律及其预防.诊断.治 ...
- 吴裕雄--天生自然 高等数学学习:无穷级数
转载于:https://www.cnblogs.com/tszr/p/11171448.html
- 吴裕雄--天生自然 JAVASCRIPT开发学习:DOM EventListener
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 吴裕雄--天生自然 高等数学学习:高阶偏导数
转载于:https://www.cnblogs.com/tszr/p/11165379.html
- 吴裕雄--天生自然 JAVASCRIPT开发学习:(String) 对象
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 吴裕雄--天生自然 PYTHON3开发学习:输入和输出
str = input("请输入:"); print ("你输入的内容是: ", str) # 打开一个文件 f = open("/tmp/foo.t ...
最新文章
- IT十八掌作业_java基础第六天_接口与适配器模式、多态、内部类
- Windows server 2008R2 DHCP服务器
- different color in Chrome Development Tool
- Matlab制作朱利表
- Spring+SpringMVC+maven使用@aspectJ添加切面
- 如何编辑SDE数据(转自ESRI中国社区)
- 作曲大师2019破解版|作曲大师音乐梦想家2019破解版下载 v2019.9(附安装破解图文教程)
- 恶意软件清理助手1.94使用后的问题
- 我这些年对游戏外挂辅助开发的一些心得和体会
- 放大电路中的反馈-反馈的基本概念及判断方法
- OpenCV学习笔记03:缩放裁剪图像与调整图像色调
- python制作自己的专属二维码
- 基于thinkphp5的开源cms
- ImageMagick将多张图片拼接成一张图片_爱剪辑如何把图片制作成视频
- pyecharts 世界地图国家中英文对照表
- c语言实验心得100字,实验心得100字_100个面试常见经典问题_100个面试问题和答案...
- 百度地图和百度飞桨招聘CV算法实习生
- php怎样获取当前时间,php中获取当前时间的函数
- 几种图像变换 刚体变换 仿射变换 投影变换
- Freeline - Android平台上的秒级编译方案
热门文章
- golang json 读写配置文件
- webpack基础概念
- selendroid之inspector
- Delphi xe7 android实现透明度可以调整的对话框
- oracle sqlplus 常用命令大全
- ndarray.shape[]返回值的意义
- java 优雅退出_java – 优雅地退出应用程序?
- 图解classloader加载class的流程及自定义ClassLoader
- C++ vector的内部实现原理及基本用法
- dataset中获取图像的名字_GDAL与OpenCV的图像像素读取格式互相转换