r_stuio回归函数的程序包是哪个?

Python020

r_stuio回归函数的程序包是哪个?,第1张

1、线性模型~回归分析:【包】:stats 【函数】:lm(formula, data, ...)逐步回归:step(lm(formula, data, ...))回归诊断:influence.measure(lm(formula, data, ...))多重共线性:kappa(XX,exact=T), eigen(XX)自相关检验:一阶:dwtest(y~x) 多阶:bgtest(y~x,order=2,type=”Chisq”)【备注】:1)stats包里的lm()可做多元线形模型,anova.mlm()比较多个多元线形模型,manova()做多元方差分析(MANOVA)。2)sn包的msn.mle()和 and mst.mle()可拟合多元偏正态和偏t分布模型。3)pls包提供偏最小二乘回归(PLSR)和主成分回归;4)ppls包可做惩罚偏最小二乘回归;5)dr包提供降维回归方法,如:片逆回归法(Sliced Inverse Regression)、片平均方差估计(sliced average variance estimation)。6)plsgenomics包做基于偏最小二乘回归的基因组分析。7)relaimpo包可评估回归参数的相对重要性。2、logistic回归:【包】:stats 【函数】:glm(formula, family=gaussian,data, ...)注:familybinomial(link = "logit") gaussian(link = "identity") Gamma(link = "inverse") inverse.gaussian(link = "1/mu^2") poisson(link = "log") quasi(link = "identity", variance = "constant") quasibinomial(link = "logit") quasipoisson(link = "log")

3、无监督分类~决策树:【包】:rpart 【函数】:rpart(formula,data, method="class",control=ct,parms=list(prior=c(p,1-p),split="information"))

rpart.plot(fit,branch=1,branch.type=2,type=1,extra=102,shadow.col=”gray”,box.col=”green”,

split.cex=1.2,main=”Kyphosis决策树”) #提供了复杂度损失修剪的修剪方法

printcp(fit):告诉分裂到哪一层,CP,nsplit,rel,error,交叉验证的估计误差(xerror),标准误差(xstd)

prune(fit,cp=fit$cptable[which.min(fit$cptable[,"xerror"]),"CP"]):剪枝函数

【备注】:1)CRAN的 MachineLearning任务列表有对树方法的细节描述。

2)分类树也常常是重要的多元方法,rpart包正是这样的包,

3)rpart.permutation包还可以做rpart()模型的置换(permutation)检验。

4)TWIX包的树可以外部剪枝。

5)hier.part包分割多元数据集的方差。

6)mvpart包可做多元回归树,

7)party包实现了递归分割(recursive partitioning),

8)rrp包实现了随机递归分割。

9)caret包可做分类和回归训练,进而caretLSF包实现了并行处理。

10)kknn包的k-近 邻法可用于回归,也可用于分类。

4、支持向量机:

【包】:e1071,kernlab

【函数】:svm(x_train,y_train,type="C-classification",cost=10,kernel="radial",probability=TRUE,scale=FALSE)

svp=ksvm(x,y,type="C-svc",kernel="rbf",kpar=list(sigma=1),C=1)

5、无监督分类~聚类分析:

【包】:stats

【函数】:系统聚类:hclust(d,method=”complete”,members=NULL)

快速聚类:kmeans(x,centers,iter.max=10,nstart=1,algorithm=“Hartigan-Wong”)

距离函数:dist(x,method=”euclidean”,diag=FALSE,upper=FALSE,p=2)

【备注】:1)CRAN的Cluster任务列表全面的综述了R实现的聚类方法。

2)stats里提供等级聚类hclust()和k-均值聚类kmeans()。

3)cluster包里有大量的聚类和可视化技 术,

4)clv包里则有一些聚类确认程序

5)e1071包的classAgreement()可计算Rand index比较两种分类结果

6)Trimmed k-means聚类分析可由trimcluster包实现,

7)聚类融合方法(Cluster Ensembles)由clue包实现,

8)clusterSim包能帮助选择最佳的聚类,

9)hybridHclust包提供一些混合聚类方法。

10)energy包里有基于E统计量的距离测度函数edist()和等级聚类方法hclust.energy()。

11)LLAhclust包提供基于似然(likelihood linkage)方法的聚类,也有评定聚类结果的指标。

12)fpc包里有基于Mahalanobis距离的聚类。

13)clustvarsel包有多种基于模型的聚类。

14)模糊聚类(fuzzy clustering)可在cluster包和hopach包里实现。

15)Kohonen包提供用于高维谱(spectra)或模式(pattern)的有监督和无监督的SOM算法。

16)clusterGeneration包帮助模拟聚类。

17)CRAN的Environmetrics任务列表里也有相关的聚类算法的综述。

18)mclust包实现了基于模型的聚类,

19)MFDA包实现了功能数据的基于模型的聚类。

本文重点是展示如何用Matlab来进行聚类分析。如果有需要解答的问题请留言,笔者会尽其所能地回答。

内容

展示如何使用MATLAB进行聚类分析

生成随机二维分布图形,三个中心

K均值聚类

分层聚类

重新调用K均值法

将分类的结果展示出来

运用高斯混合分布模型进行聚类分析

通过AIC准则寻找最优的分类数

展示如何使用MATLAB进行聚类分析

分别运用分层聚类、K均值聚类以及高斯混合模型来进行分析,然后比较三者的结果

生成随机二维分布图形,三个中心

% 使用高斯分布(正态分布)

% 随机生成3个中心以及标准差

s = rng(5,'v5normal')

mu = round((rand(3,2)-0.5)*19)+1

sigma = round(rand(3,2)*40)/10+1

X = [mvnrnd(mu(1,:),sigma(1,:),200)...

mvnrnd(mu(2,:),sigma(2,:),300)...

mvnrnd(mu(3,:),sigma(3,:),400)]

% 作图

P1 = figureclf

scatter(X(:,1),X(:,2),10,'ro')

title('研究样本散点分布图')

K均值聚类

% 距离用传统欧式距离,分成两类

[cidx2,cmeans2,sumd2,D2] = kmeans(X,2,'dist','sqEuclidean')

P2 = figureclf

[silh2,h2] = silhouette(X,cidx2,'sqeuclidean')

从轮廓图上面看,第二类结果比较好,但是第一类有部分数据表现不佳。有相当部分的点落在0.8以下。

分层聚类

eucD = pdist(X,'euclidean')

clustTreeEuc = linkage(eucD,'average')

cophenet(clustTreeEuc,eucD)

P3 = figureclf

[h,nodes] = dendrogram(clustTreeEuc,20)

set(gca,'TickDir','out','TickLength',[.002 0],'XTickLabel',[])

可以选择dendrogram显示的结点数目,这里选择20 。结果显示可能可以分成三类

重新调用K均值法

改为分成三类

[cidx3,cmeans3,sumd3,D3] = kmeans(X,3,'dist','sqEuclidean')

P4 = figureclf

[silh3,h3] = silhouette(X,cidx3,'sqeuclidean')

图上看,比前面的结果略有改善。

将分类的结果展示出来

P5 = figureclf

ptsymb = {'bo','ro','go',',mo','c+'}

MarkFace = {[0 0 1],[.8 0 0],[0 .5 0]}

hold on

for i =1:3

clust = find(cidx3 == i)

plot(X(clust,1),X(clust,2),ptsymb{i},'MarkerSize',3,'MarkerFace',MarkFace{i},'MarkerEdgeColor','black')

plot(cmeans3(i,1),cmeans3(i,2),ptsymb{i},'MarkerSize',10,'MarkerFace',MarkFace{i})

end

hold off

运用高斯混合分布模型进行聚类分析

分别用分布图、热能图和概率图展示结果 等高线

% 等高线

options = statset('Display','off')

gm = gmdistribution.fit(X,3,'Options',options)

P6 = figureclf

scatter(X(:,1),X(:,2),10,'ro')

hold on

ezcontour(@(x,y) pdf(gm,[x,y]),[-15 15],[-15 10])

hold off

P7 = figureclf

scatter(X(:,1),X(:,2),10,'ro')

hold on

ezsurf(@(x,y) pdf(gm,[x,y]),[-15 15],[-15 10])

hold off

view(33,24)

热能图

cluster1 = (cidx3 == 1)

cluster3 = (cidx3 == 2)

% 通过观察,K均值方法的第二类是gm的第三类

cluster2 = (cidx3 == 3)

% 计算分类概率

P = posterior(gm,X)

P8 = figureclf

plot3(X(cluster1,1),X(cluster1,2),P(cluster1,1),'r.')

grid onhold on

plot3(X(cluster2,1),X(cluster2,2),P(cluster2,2),'bo')

plot3(X(cluster3,1),X(cluster3,2),P(cluster3,3),'g*')

legend('第 1 类','第 2 类','第 3 类','Location','NW')

clrmap = jet(80)colormap(clrmap(9:72,:))

ylabel(colorbar,'Component 1 Posterior Probability')

view(-45,20)

% 第三类点部分概率值较低,可能需要其他数据来进行分析。

% 概率图

P9 = figureclf

[~,order] = sort(P(:,1))

plot(1:size(X,1),P(order,1),'r-',1:size(X,1),P(order,2),'b-',1:size(X,1),P(order,3),'y-')

legend({'Cluster 1 Score' 'Cluster 2 Score' 'Cluster 3 Score'},'location','NW')

ylabel('Cluster Membership Score')

xlabel('Point Ranking')

通过AIC准则寻找最优的分类数

高斯混合模型法的最大好处是给出分类好坏的标准

AIC = zeros(1,4)

NlogL = AIC

GM = cell(1,4)

for k = 1:4

GM{k} = gmdistribution.fit(X,k)

AIC(k)= GM{k}.AIC

NlogL(k) = GM{k}.NlogL

end

[minAIC,numComponents] = min(AIC)

按AIC准则给出的最优分类数为: 3 对应的AIC值为: 8647.63

后记

(1)pluskid指出K均值算法的初值对结果很重要,但是在运行时还没有发现类似的结果。也许Mathworks对该算法进行过优化。有时间会仔细研究下代码,将结果放上来。

转载仅供参考,版权属于原作者

Windows使用过程中大家都知道,利用Windows键+R键调出“运行”对话框后,可以输入相关的程序名称就可以运行程序了。习惯中,大家都认为只有输入的文件类型为EXE或COM的才可以运行,其实在Windows还有一种用得非常多的可执行程序类型,那就是MSC,

devmgmt.msc:设备管理器程序,当需要更改硬件设置或升级硬件驱动程序的时候就可以运行它,可以直接打开“设备管理器”对话框,管理计算机中的硬件设备,且用这种方法打开显然比在“系统属性”对话框中打开方便多了。

dfrg.msc:磁盘碎片整理程序,磁盘上的碎片多了影响计算机的性能,所以这个命令用的比较多,它可以整理各个分区中的碎片。和依次点击“开始-所有程序-附件-系统工具-磁盘碎片整理程序”所完成的效果一样。

compmgmt.msc:计算机管理程序(图1),可以对本机的“共享文件夹”、“用户”、“硬件”以及后台服务进行管理。

diskmgmt.msc:磁盘管理程序,可以为分区更改“驱动器名和路径”(图2),有些时候重装系统后会发现分区名称变了,或光驱的名称跑到硬盘分区的前面去了,这时硬盘管理程序就可以派上用场了。

gpedit.msc:组策略,可以进行“计算机配置”和“用户配置”(图3),对操作系统熟练后,且此命令会比较多,初学者可以打开看看以熟悉其中的项目,在不清楚具体功能的情况下不建议随意更改设置,以免损坏系统。

注:1.上面所提到的程序名称,在实际输入时扩展名.msc不能省略,从Windows 2000开始,Windows中引进了“Microsoft 通用管理文档”类型的程序,即扩展名为.msc的程序,是可以直接运行的。

2.以上命令均在Windows XP Pro + SP2系统下测试运行通过。

小提示:以上只是列出了我们平时会用的比较多的几个程序,其实象这样的程序还很多,可以在Windows的搜索中以关键字“*.msc”(不包括外侧引号)搜索,你会发现有很多很实用的程序,找到后双击就可以运行它,如果你觉得哪一个小程序你会经常用到的话,还可以在桌面上创建它的快捷方式,这样要运行的时候就会很方便了。

Nslookup-------IP地址侦测器

explorer-------打开资源管理器

logoff---------注销命令

tsshutdn-------60秒倒计时关机命令

lusrmgr.msc----本机用户和组

services.msc---本地服务设置

oobe/msoobe /a----检查XP是否激活

notepad--------打开记事本

cleanmgr-------垃圾整理

net start messenger----开始信使服务

compmgmt.msc---计算机管理

net stop messenger-----停止信使服务

conf-----------启动netmeeting

dvdplay--------DVD播放器

charmap--------启动字符映射表

diskmgmt.msc---磁盘管理实用程序

calc-----------启动计算器

dfrg.msc-------磁盘碎片整理程序

chkdsk.exe-----Chkdsk磁盘检查

devmgmt.msc--- 设备管理器

regsvr32/u*.dll----停止dll文件运行

drwtsn32------ 系统医生

rononce -p ----15秒关机

dxdiag---------检查DirectX信息

regedt32-------注册表编辑器

Msconfig.exe---系统配置实用程序

rsop.msc-------组策略结果集

mem.exe--------显示内存使用情况

regedit.exe----注册表

winchat--------XP自带局域网聊天

progman--------程序管理器

winmsd---------系统信息

perfmon.msc----计算机性能监测程序

winver---------检查Windows版本

sfc/scannow-----扫描错误并复原

taskmgr-----任务管理器(2000/xp/2003

winver---------检查Windows版本

wmimgmt.msc----打开windows管理体系结构(WMI)

wupdmgr--------windows更新程序

write----------写字板

winmsd---------系统信息

wiaacmgr-------扫描仪和照相机向导

winchat--------XP自带局域网聊天

mem.exe--------显示内存使用情况

Msconfig.exe---系统配置实用程序

mplayer2-------简易widnows mediaplayer

mspaint--------画图板

mstsc----------远程桌面连接

mplayer2-------媒体播放机

magnify--------放大镜实用程序

mmc------------打开控制台

mobsync--------同步命令

dxdiag---------检查DirectX信息

drwtsn32------ 系统医生

devmgmt.msc--- 设备管理器

dfrg.msc-------磁盘碎片整理程序

diskmgmt.msc---磁盘管理实用程序

dcomcnfg-------打开系统组件服务

ddeshare-------打开DDE共享设置

dvdplay--------DVD播放器

net stop messenger-----停止信使服务

net start messenger----开始信使服务

notepad--------打开记事本

nslookup-------网络管理的工具向导

ntbackup-------系统备份和还原

narrator-------屏幕“讲述人”

ntmsmgr.msc----移动存储管理器

ntmsoprq.msc---移动存储管理员操作请求

netstat -an----(TC)命令检查接口

syncapp--------创建一个公文包

sysedit--------系统配置编辑器

sigverif-------文件签名验证程序

sndrec32-------录音机

shrpubw--------创建共享文件夹

secpol.msc-----本地安全策略

syskey--------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码

services.msc---本地服务设置

Sndvol32-------音量控制程序

sfc.exe--------系统文件检查器

sfc /scannow---windows文件保护

tsshutdn-------60秒倒计时关机命令

tourstart------xp简介(安装完成后出现的漫游xp程序)

taskmgr--------任务管理器

eventvwr-------事件查看器

eudcedit-------造字程序

explorer-------打开资源管理器

packager-------对象包装程序

perfmon.msc----计算机性能监测程序

progman--------程序管理器

regedit.exe----注册表

rsop.msc-------组策略结果集

regedt32-------注册表编辑器

rononce -p ----15秒关机

regsvr32 /u *.dll----停止dll文件运行

regsvr32 /u zipfldr.dll------取消ZIP支持

cmd.exe--------CMD命令提示符

chkdsk.exe-----Chkdsk磁盘检查

certmgr.msc----证书管理实用程序

calc-----------启动计算器

charmap--------启动字符映射表

cliconfg-------SQL SERVER 客户端网络实用程序

Clipbrd--------剪贴板查看器

conf-----------启动netmeeting

compmgmt.msc---计算机管理

cleanmgr-------垃圾整理

ciadv.msc------索引服务程序

osk------------打开屏幕键盘

odbcad32-------ODBC数据源管理器

oobe/msoobe /a----检查XP是否激活

lusrmgr.msc----本机用户和组

logoff---------注销命令

iexpress-------木马捆绑工具,系统自带

Nslookup-------IP地址侦测器

fsmgmt.msc-----共享文件夹管理器

utilman--------辅助工具管理器

gpedit.msc-----组策略