Fisher就是找一个线L使得组内方差小,组间距离大。即找一个直线使得d最大。

####################################1、判别分析,线性判别:2、分层抽样

#install.packages('MASS')
library(MASS)
#install.packages('sampling')
library(sampling)#抽样时使用
?iris#了解该数据集
#把iris重新赋值,并加入分类标记和行号标记
i<-iris#为了书写方便
i$lv<-as.numeric(i$Species)#把最后一列变成数值型变量
i$lv<-as.factor(i$lv) #转成因子
i$id<-c(1:150)#添加变量id
#进行分层抽样,每个类别随机抽出10个作为预测集,剩下的作为训练集
i.s<-strata(data=i,stratanames="lv",size=c(10,10,10),method="srswor",description=F)
i.train<-i[!(i$id %in% i.s$ID_unit),]#%in%在此处表示i与i.s中标号相同的点。1 %in% 1
i.predict<-i[(i$id %in% i.s$ID_unit),]
#拟合线性判别lda
fit<-lda(lv~.-id-Species,data=i.train)
#预测训练集和预测集
Y<-predict(fit,i.train)
YN<-predict(fit,i.predict)
#查看拟合情况
table(Y$class,i.train$lv)
table(YN$class,i.predict$lv)
#非线性规划
fit2<-qda(lv~.-id-Species,data=i.train)

R语言与概率统计(四) 判别分析(分类)的更多相关文章

  1. R语言与概率统计(二) 假设检验

    > ####################5.2 > X<-c(159, 280, 101, 212, 224, 379, 179, 264, + 222, 362, 168, 2 ...

  2. R语言结合概率统计的体系分析---数字特征

    现在有一个人,如何对这个人怎么识别这个人?那么就对其存在的特征进行提取,比如,提取其身高,其相貌,其年龄,分析这些特征,从而确定了,这个人就是这个人,我们绝不会认错. 同理,对数据进行分析,也是提取出 ...

  3. R语言与概率统计(一) 描述性统计分析

      #查看已安装的包,查看已载入的包,查看包的介绍 ########例题3.1 #向量的输入方法 w<-c(75.0, 64.0, 47.4, 66.9, 62.2, 62.2, 58.7, 6 ...

  4. R语言与概率统计(六) 主成分分析 因子分析

    超高维度分析,N*P的矩阵,N为样本个数,P为指标,N<<P PCA:抓住对y对重要的影响因素 主要有三种:PCA,因子分析,回归方程+惩罚函数(如LASSO) 为了降维,用更少的变量解决 ...

  5. R语言与概率统计(五) 聚类分析

    #########################################0808聚类分析 X<-data.frame( x1=c(2959.19, 2459.77, 1495.63, ...

  6. R语言与概率统计(三) 多元统计分析(下)广义线性回归

    广义线性回归 > life<-data.frame( + X1=c(2.5, 173, 119, 10, 502, 4, 14.4, 2, 40, 6.6, + 21.4, 2.8, 2. ...

  7. R语言与概率统计(三) 多元统计分析(中)

    模型修正 #但是,回归分析通常很难一步到位,需要不断修正模型 ###############################6.9通过牙膏销量模型学习模型修正 toothpaste<-data. ...

  8. R语言与概率统计(三) 多元统计分析(上)

    > #############6.2一元线性回归分析 > x<-c(0.10,0.11,0.12,0.13,0.14,0.15,0.16,0.17,0.18,0.20,0.21,0. ...

  9. R语言︱数据分组统计函数族——apply族用法与心得

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 笔者寄语:apply族功能强大,实用,可以代替 ...

随机推荐

  1. HDU - 3506 Monkey Party

    HDU - 3506 思路: 平行四边形不等式优化dp 这不就是石子归并(雾 代码: #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma G ...

  2. bat 获取当前目录的父目录

    bat 获取当前目录的父目录 @echo off echo batchfile=%0 echo full=%~f0 setlocal for %%d in (%~dp0.) do set Direct ...

  3. 浅谈矩阵变换——Matrix

    矩阵变换在图形学上经常用到.基本的常用矩阵变换操作包括平移.缩放.旋转.斜切. 每种变换都对应一个变换矩阵,通过矩阵乘法,可以把多个变换矩阵相乘得到复合变换矩阵. 矩阵乘法不支持交换律,因此不同的变换 ...

  4. Ubuntu 18.04实现实时显示网速

    1.添加源 sudo add-apt-repository ppa:fossfreedom/indicator-sysmonitor 2.更新源 sudo apt-get update 3.安装sys ...

  5. python中的pyc和pyo文件和__pyc__文件夹

    一.命令生成 pyc 文件 *.py:源码文件,由 Python 程序解释. *.pyc:源码经编译后生成的二进制字节码(Bytecode)文件. *.pyo:优化编译后的程序,也是二进制字节码文件. ...

  6. Qt 模型/视图结构

    MVC是一种与用户界面相关的设计模式.通过使用此模型,可以有效地分离数据和用户界面.MVC设计模式包含三要素:表示数据的模型(Model).表示用户界面的视图(View)和定义了用户在界面上的操作控制 ...

  7. Homebrew是什么?怎么关闭自动更新?

    Homebrew是MacOS 的软件包管理器. 通过它可以安装.卸载.更新.查看.搜索任何想要安装的软件.如:git, node等. 安装Homebrew /usr/bin/ruby -e " ...

  8. php+文件夹上传实例

    核心原理: 该项目核心就是文件分块上传.前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题. * 如何分片: * 如何合成一个文件: * 中断了从哪个分片开 ...

  9. luogu 4047 [JSOI2010]部落划分 最小生成树

    最小生成树或者二分都行,但是最小生成树会好写一些~ Code: #include <bits/stdc++.h> #define ll long long #define N 100000 ...

  10. Hdu Bomb(数位DP)

    Bomb Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) Total Submiss ...