雏菊英语怎么说

Python012

雏菊英语怎么说,第1张

雏菊英文:daisy 、marguerite

1、daisy 

读音:英 ['deɪzi]   美 ['deɪzi]    

释义:n. 雏菊;菊科植物;<俚>极好的东西;[大写]黛西(女子名)

例句:I prefer the daisy and the knapweed in particular.

我特别喜欢雏菊和矢车菊。

2、marguerite

读音:英 [ˌmɑ:gəˈri:t]   美 [ˌmɑ:rgəˈri:t]

释义:n.雏菊

例句:Keep everything beautiful around you, say, to keep a marguerite in a jam jar.

经常让你视野中的某些事物保持美丽,即使它只是插在一个果酱瓶中的一朵雏菊花。

扩展资料:

类似花英文

1、knapweed

读音:英 ['næpwi:d]   美 ['næpˌwi:d]

释义:n.黑矢车菊,矢车菊

例句:Main compositions: Lavender extract, Knapweed, Sage, Coral powder. 

主要成份:熏衣草精华、矢车菊、鼠尾草、珊瑚粉末。

2、lavender 读音:英 [ˈlævəndə(r)]   美 [ˈlævəndɚ]

释义:n.熏衣草淡紫色 adj.淡紫色的 vt.用熏衣草熏

复数: lavenders

例句:Lavender thrives in poor soil.

薰衣草在贫瘠的土壤中茁壮生长。

3、sage 读音:英 [seɪdʒ]  美 [seɪdʒ]    

释义:n. 圣人;哲人  n. 鼠尾草;蒿属植物

adj. 贤明的;明智的

例句:Sage has been known to symbolize strength for thousands of years.

鼠尾草千百年来被当作强有力的象征。

生态学涉及多元统计方法,特别是排序和聚类,都是明确或不明确地基于所有可能对象或者变量之间的比较。这些比较通常采用关联测度(association

meansures)(常称为系数或者指数)的形式,不管是样方还是变量之间的比较都是基于他们组成的矩阵,因此选择合适的关联测度非常重要。

在任何分析之前,需要问下面这些问题:

在两个对象中同一值为零,在这两个对象中可能蕴含的意义不同,但零值增加了对象的相似性。就物种数据而言,两个样方中都没有一个物种可能有不同的解释:不适合生存或者还没有迁徙到此地?因此物种存在的信息比物种缺失的信息更有意义。依据双零问题也可以区分两类关联测度:视双零为相似的依据(同其他值)的为对称系数,反之为非对称系数。在大部分情况下,应该优先选择非对称系数,除非可以确定引起双缺失的原因相同,例如在已知物种组成群落或生态同质区域内的控制实验。

这里可能比较难理解,简单来说就是两个样方都出现0值,但是造成0值的原因可能不一样,所以需要优先考虑非对称系数(除非可以确定引起0值的原因相同)

变量可以是定性变量(名义的或分类的,二元的或多级的),也可以是半定量变量(序数的)或定量变量(离散的或连续的)。所以类型的变量均存在关联系数,其中大部分可以归为两类:二元变量的关联系数(二元系数,指被分析的变量是0-1的二元数据,并非关联测度数值为0-1的数据)和定量变量的关联系数(以下简称为数量系数)

在Q模式分析中,我们需要用到6个程序包:stats(安装基础程序时已经载入)、vegan、ade4、adespatial、cluster和FD等等。

在R中,所有的相似测度方阵可以转化为相异测度方阵,距离方阵(R里面属于"dist"类对象)对角线的值(每个对象与自身的距离)均为0

定量的物种数据通常需要使用非对称的距离测度。在物种数据分析方面,常用的系数有Bray-Curtis相异系数、弦(chord)距离、Hellinger距离和卡方距离。

在R中实现:

当可用的仅仅是二元(有-无)物种数据,或多度的数据不适用,或包含不确定的定量数据时,可使用有-无(0-1)数据进行分析。

关联矩阵一般作为中间实体,很少用于直接研究。然而,如果对象不多,直接展示关联矩阵也很有用,能够将数据的主要特征可视化。

建议使用coldiss()函数可视化相异矩阵。coldiss()函数会使用一个能重新排列矩阵的函数order.single()(属于gclus包),该函数可以根据对象之间的距离沿着对角线重新将对象排位。但是必须先安装gclus包。

在未转化的相异矩阵中,数量多的物种之间的多度差异与数量少的物种之间的多度差异有同等权重。

这些案例均是处理物种数据,Doubs样带具有强烈的生态梯度特征(例如氧含量和硝酸盐浓度)。Doubs样带的环境背景很清楚,可以假设在特定的某一段河流,物种的缺失可能是某种相同的原因造成的,因此可以计算对称系数的关联矩阵。

对双零有明确解释的定量数据,欧氏距离是对称距离测度的最佳选择。注意欧氏距离的值没有上限,但受变量纲量影响较大,所以前面我们的数据转化就派上用场了。

此处用标准化后的环境因子变量(env)计算样方的欧氏距离。先剔除dfs变量(离源头距离),因为它属于空间变量而非环境因子变量。同样使用coldiss()函数可视化距离矩阵。

注意:可以利用scale()函数对环境变量进行快速标准化

相异矩阵的热图很合适快速比较,例如,可以同时绘制基于物种多度和基于环境因子的Hellinger距离图,为了便于比较,两个图均选择等数量的分级

欧氏距离理所应当然可以用于计算基于地理坐标变量的地理距离矩阵。

地理坐标可以是一维或者二维的直角坐标系(笛卡儿坐标),其单位也可以多种多样(例如cm、m、km属于相同投影带的UTM坐标)。如果是球体系统坐标(经纬度),在计算欧氏距离之前必须先转化。SoDA程序包内geoXY()函数可以完成球坐标系统的专业。需要注意的是,标准化数据会改变两个维度的比率,因此一般地理坐标(x-y)不应该标准化(如果需要可以标准化)

对于二元数据,最简单的对称相似测度是"简单匹配系数S1",对于每组样方,S1是 双1的数量加上双0的数量除以变量数

Gower相似系数当作一种对称指数;当数据框内一个变量被当做一个因子时,最简单的匹配规则被应用,即如果一个因子在两个对象中有相同的水平,表示该对象对相似指数为1,反之为0。Gower相异指数可以利用cluster程序包内daisy()函数计算。应避免使用vegdist()函数计算Gower相异系数,因此该函数只适用与定量数据和有-无数据计算,对多级变量并不适用。

只要每个变量给予合适的定义,daisy()函数就可以处理混合变量的数据。当数据中存在缺失值时,该函数会自动排除与含有缺失值样方对的计算。

FD程序包里gowdis()函数是计算Gower相似系数最完善的函数,可以计算混合变量(包括非对称的二元变量)的距离,也可以像daisy()函数一样设置变量的权重和处理缺失值。

如何对混合型数据做聚类分析

利用聚类分析,我们可以很容易地看清数据集中样本的分布情况。以往介绍聚类分析的文章中通常只介绍如何处理连续型变量,这些文字并没有过多地介绍如何处理混合型数据(如同时包含连续型变量、名义型变量和顺序型变量的数据)。本文将利用 Gower 距离、PAM(partitioning around medoids)算法和轮廓系数来介绍如何对混合型数据做聚类分析。

R语言

本文主要分为三个部分:

距离计算

聚类算法的选择

聚类个数的选择

为了介绍方便,本文直接使用 ISLR 包中的 College 数据集。该数据集包含了自 1995 年以来美国大学的 777 条数据,其中主要有以下几个变量:

连续型变量

录取率

学费

新生数量

分类型变量

公立或私立院校

是否为高水平院校,即所有新生中毕业于排名前 10% 高中的新生数量占比是否大于 50%

本文中涉及到的R包有:

In [3]:

set.seed(1680) # 设置随机种子,使得本文结果具有可重现性

library(dplyr)

library(ISLR)

library(cluster)

library(Rtsne)

library(ggplot2)

Attaching package: ‘dplyr’

The following objects are masked from ‘package:stats’:

filter, lag

The following objects are masked from ‘package:base’:

intersect, setdiff, setequal, union

构建聚类模型之前,我们需要做一些数据清洗工作:

录取率等于录取人数除以总申请人数

判断某个学校是否为高水平院校,需要根据该学校的所有新生中毕业于排名前 10% 高中的新生数量占比是否大于 50% 来决定

In [5]:

college_clean <- College %>%

mutate(name = row.names(.),

accept_rate = Accept/Apps,

isElite = cut(Top10perc,

breaks = c(0, 50, 100),

labels = c("Not Elite", "Elite"),

include.lowest = TRUE)) %>%

mutate(isElite = factor(isElite)) %>%

select(name, accept_rate, Outstate, Enroll,

Grad.Rate, Private, isElite)

glimpse(college_clean)

Observations: 777

Variables: 7

$ name(chr) "Abilene Christian University", "Adelphi University", "...

$ accept_rate (dbl) 0.7421687, 0.8801464, 0.7682073, 0.8369305, 0.7564767, ...

$ Outstate(dbl) 7440, 12280, 11250, 12960, 7560, 13500, 13290, 13868, 1...

$ Enroll (dbl) 721, 512, 336, 137, 55, 158, 103, 489, 227, 172, 472, 4...

$ Grad.Rate (dbl) 60, 56, 54, 59, 15, 55, 63, 73, 80, 52, 73, 76, 74, 68,...

$ Private (fctr) Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes,...

$ isElite (fctr) Not Elite, Not Elite, Not Elite, Elite, Not Elite, Not...

距离计算

聚类分析的第一步是定义样本之间距离的度量方法,最常用的距离度量方法是欧式距离。然而欧氏距离只适用于连续型变量,所以本文将采用另外一种距离度量方法—— Gower 距离。

Gower 距离

Gower 距离的定义非常简单。首先每个类型的变量都有特殊的距离度量方法,而且该方法会将变量标准化到[0,1]之间。接下来,利用加权线性组合的方法来计算最终的距离矩阵。不同类型变量的计算方法如下所示:

连续型变量:利用归一化的曼哈顿距离

顺序型变量:首先将变量按顺序排列,然后利用经过特殊调整的曼哈顿距离

名义型变量:首先将包含 k 个类别的变量转换成 k 个 0-1 变量,然后利用 Dice 系数做进一步的计算

优点:通俗易懂且计算方便

缺点:非常容易受无标准化的连续型变量异常值影响,所以数据转换过程必不可少;该方法需要耗费较大的内存

利用 daisy 函数,我们只需要一行代码就可以计算出 Gower 距离。需要注意的是,由于新生入学人数是右偏变量,我们需要对其做对数转换。daisy 函数内置了对数转换的功能,你可以调用帮助文档来获取更多的参数说明。

In [6]:

# Remove college name before clustering

gower_dist <- daisy(college_clean[, -1],

metric = "gower",

type = list(logratio = 3))

# Check attributes to ensure the correct methods are being used

# (I = interval, N = nominal)

# Note that despite logratio being called,

# the type remains coded as "I"

summary(gower_dist)

Out[6]:

301476 dissimilarities, summarized :

Min. 1st Qu.Median Mean 3rd Qu. Max.

0.0018601 0.1034400 0.2358700 0.2314500 0.3271400 0.7773500

Metric : mixed Types = I, I, I, I, N, N

Number of objects : 777

此外,我们可以通过观察最相似和最不相似的样本来判断该度量方法的合理性。本案例中,圣托马斯大学和约翰卡罗尔大学最相似,而俄克拉荷马科技和艺术大学和哈佛大学差异最大。

In [7]:

gower_mat <- as.matrix(gower_dist)

# Output most similar pair

college_clean[

which(gower_mat == min(gower_mat[gower_mat != min(gower_mat)]),

arr.ind = TRUE)[1, ], ]

Out[7]:

In [8]:

# Output most dissimilar pair

college_clean[

which(gower_mat == max(gower_mat[gower_mat != max(gower_mat)]),

arr.ind = TRUE)[1, ], ]

Out[8]:

聚类算法的选择

现在我们已经计算好样本间的距离矩阵,接下来需要选择一个合适的聚类算法,本文采用 PAM(partioniong around medoids)算法来构建模型:

PAM 算法的主要步骤:

随机选择 k 个数据点,并将其设为簇中心点

遍历所有样本点,并将样本点归入最近的簇中

对每个簇而言,找出与簇内其他点距离之和最小的点,并将其设为新的簇中心点

重复第2步,直到收敛

该算法和 K-means 算法非常相似。事实上,除了中心点的计算方法不同外,其他步骤都完全一致 。

优点:简单易懂且不易受异常值所影响

缺点:算法时间复杂度为 O(n2)O(n2)

聚类个数的选择

我们将利用轮廓系数来确定最佳的聚类个数,轮廓系数是一个用于衡量聚类离散度的内部指标,该指标的取值范围是[-1,1],其数值越大越好。通过比较不同聚类个数下轮廓系数的大小,我们可以看出当聚类个数为 3 时,聚类效果最好。

In [9]:

# Calculate silhouette width for many k using PAM

sil_width <- c(NA)

for(i in 2:10){

pam_fit <- pam(gower_dist,

diss = TRUE,

k = i)

sil_width[i] <- pam_fit$silinfo$avg.width

}

# Plot sihouette width (higher is better)

plot(1:10, sil_width,

xlab = "Number of clusters",

ylab = "Silhouette Width")

lines(1:10, sil_width)

聚类结果解释

描述统计量

聚类完毕后,我们可以调用 summary 函数来查看每个簇的汇总信息。从这些汇总信息中我们可以看出:簇1主要是中等学费且学生规模较小的私立非顶尖院校,簇2主要是高收费、低录取率且高毕业率的私立顶尖院校,而簇3则是低学费、低毕业率且学生规模较大的公立非顶尖院校。

In [18]:

pam_fit <- pam(gower_dist, diss = TRUE, k = 3)

pam_results <- college_clean %>%

dplyr::select(-name) %>%

mutate(cluster = pam_fit$clustering) %>%

group_by(cluster) %>%

do(the_summary = summary(.))

print(pam_results$the_summary)

[[1]]

accept_rateOutstate Enroll Grad.Rate Private

Min. :0.3283 Min. : 2340 Min. : 35.0 Min. : 15.00 No : 0

1st Qu.:0.7225 1st Qu.: 8842 1st Qu.: 194.8 1st Qu.: 56.00 Yes:500

Median :0.8004 Median :10905 Median : 308.0 Median : 67.50

Mean :0.7820 Mean :11200 Mean : 418.6 Mean : 66.97

3rd Qu.:0.8581 3rd Qu.:13240 3rd Qu.: 484.8 3rd Qu.: 78.25

Max. :1.0000 Max. :21700 Max. :4615.0 Max. :118.00

isElite cluster

Not Elite:500 Min. :1

Elite: 0 1st Qu.:1

Median :1

Mean :1

3rd Qu.:1

Max. :1

[[2]]

accept_rateOutstate Enroll Grad.Rate Private

Min. :0.1545 Min. : 5224 Min. : 137.0 Min. : 54.00 No : 4

1st Qu.:0.4135 1st Qu.:13850 1st Qu.: 391.0 1st Qu.: 77.00 Yes:65

Median :0.5329 Median :17238 Median : 601.0 Median : 89.00

Mean :0.5392 Mean :16225 Mean : 882.5 Mean : 84.78

3rd Qu.:0.6988 3rd Qu.:18590 3rd Qu.:1191.0 3rd Qu.: 94.00

Max. :0.9605 Max. :20100 Max. :4893.0 Max. :100.00

isElite cluster

Not Elite: 0 Min. :2

Elite:69 1st Qu.:2

Median :2

Mean :2

3rd Qu.:2

Max. :2

[[3]]

accept_rateOutstate Enroll Grad.Rate Private

Min. :0.3746 Min. : 2580 Min. : 153 Min. : 10.00 No :208

1st Qu.:0.6423 1st Qu.: 5295 1st Qu.: 694 1st Qu.: 46.00 Yes: 0

Median :0.7458 Median : 6598 Median :1302 Median : 54.50

Mean :0.7315 Mean : 6698 Mean :1615 Mean : 55.42

3rd Qu.:0.8368 3rd Qu.: 7748 3rd Qu.:2184 3rd Qu.: 65.00

Max. :1.0000 Max. :15516 Max. :6392 Max. :100.00

isElite cluster

Not Elite:199 Min. :3

Elite: 9 1st Qu.:3

Median :3

Mean :3

3rd Qu.:3

Max. :3

PAM 算法的另一个优点是各个簇的中心点是实际的样本点。从聚类结果中我们可以看出,圣弗朗西斯大学是簇1 的中心点,巴朗德学院是簇2 的中心点,而密歇根州州立大学河谷大学是簇3 的中心点。

In [19]:

college_clean[pam_fit$medoids, ]

Out[19]:

可视化方法

t-SNE 是一种降维方法,它可以在保留聚类结构的前提下,将多维信息压缩到二维或三维空间中。借助t-SNE我们可以将 PAM 算法的聚类结果绘制出来,有趣的是私立顶尖院校和公立非顶尖院校这两个簇中间存在一个小聚类簇。

In [22]:

tsne_obj <- Rtsne(gower_dist, is_distance = TRUE)

tsne_data <- tsne_obj$Y %>%

data.frame() %>%

setNames(c("X", "Y")) %>%

mutate(cluster = factor(pam_fit$clustering),

name = college_clean$name)

ggplot(aes(x = X, y = Y), data = tsne_data) +

geom_point(aes(color = cluster))

进一步探究可以发现,这一小簇主要包含一些竞争力较强的公立院校,比如弗吉尼亚大学和加州大学伯克利分校。虽然无法通过轮廓系数指标来证明多分一类是合理的,但是这 13 所院校的确显著不同于其他三个簇的院校。

In [25]:

tsne_data %>%

filter(X >15 &X <25,

Y >-15 &Y <-10) %>%

left_join(college_clean, by = "name") %>%

collect %>%

.[["name"]]

Out[25]:

‘Kansas State University’

‘North Carolina State University at Raleigh’

‘Pennsylvania State Univ. Main Campus’

‘SUNY at Buffalo’

‘Texas A&M Univ. at College Station’

‘University of Georgia’

‘University of Kansas’

‘University of Maryland at College Park’

‘University of Minnesota Twin Cities’

‘University of Missouri at Columbia’

‘University of Tennessee at Knoxville’

‘University of Texas at Austin’