2020.3.3
也不知道为什么突然就到三月份了我才开始继续写这个毕设,我哭了。
开始今天的python相关性分析:
1.要进行29个点云属性指标与森林结构参数的相关性分析
- 使用Python进行Pearson、Spearman、Kendall相关系数的计算
- 使用R的leaps package进行参数提取
- 这一步主要是方便之后的模型建立的参数选取,后续模型应该是选择的偏最小二乘和支持向量机(基于高斯核的)
上码:
plt.figure(figsize=(15,12))
corr = height.corr().abs()
mask = np.zeros_like(corr)
mask[np.triu_indices_from(mask)] = True
with sns.axes_style("white"):ax = sns.heatmap(corr, mask=mask, square=True,annot=True,linewidths=.3)
得到一个这样的图:
一个Pearson相关性的热力图
其他的相关性系数类似:
corr = height.corr('spearman').abs()
corr = height.corr('kendall').abs()
然后混到一起,只要一个29个点云属性参数对一个Height森林结构参数的三种相关系数图即可,但是我想要横着放的,害,等我琢磨一下转置。
虽然转置了,但是word放进去啥也看不见嗝。。还是用直方图比较好
然后做成了Excel里面更丑的格式emm就不放出来了,有毒。
怎么毕设越看越水,难道要去非洲援旱了吗。。。
接着做了一个Leaps and Bounds的分析,就是直接用R leaps package进行的一个最优子集(多元线性回归计算),网上找了一张很好的图:
来源:Improved leaps and bounds variable selection algorithm based on principal component analysis
上代码:
library(leaps)
m <- read.csv('10.Modeling/Height.csv')
x <- as.matrix(m[,2:30])
y <- as.matrix(m[,1])
bestmods <- regsubsets(x,y,nbest = 1)
summary(bestmods,all.best=TRUE,matrix=TRUE,matrix.logical=FALSE,df=NULL)
coef(bestmods,1,vcov=FALSE)
emm我好像在之前的那个文章里面写过了,但是最后还是放弃这个方法了,不过问题不大。
然后进行一波无脑分析。