鸢尾植物分析报告表格怎么写(鸢尾花资料介绍)
1.鸢尾鲜切花成本构成分析
鸢尾的成本可从以下几个方面来核算,第一,种球成本,指从批发商处购买或直接从国外引进种球所需的费用;第二,贮藏运输成本,指生产前的种球贮藏和生产后切花鸢尾的贮藏、运输所花费的费用;第三,栽培成本,指生产过程中的整地、施肥、灌溉、除草、支撑、病虫害防治等管理措施而花费的费用;第四,出花率及出花品质也是成本分析的一个重要因素,成功的生产者,特级切花可达40%,一级切花达45%,二级切花达10%,等外级切花为5%。
2.鸢尾的市场价格
根据目前大中城市鲜花批发市场情况,切花鸢尾价格大致如下:50~70厘米的特级切花,商品价为25元/扎(10枝为1扎);40~50厘米的一级切花,商品价为20元/扎。25~40厘米的二级切花,商品价为15元/扎,等外级的切花,商品价为10元/扎。
3.鸢尾的流通环节
鸢尾切花从生产成品转入消费者手中需经过以下环节:首先从公司或农户运输到上海、昆明、广州、北京、武汉、成都、大连等大中城市的大型鲜花批发市场,然后,从这些批发市场流通至各级批发商,再经过批发商转至各花卉零售商,最后到消费者手中。
4.利润分析
根据以上的成本分析及市场价格情况,以1000个鸢尾种球为例作一简单的利润分析。1000个鸢尾种球,其中特级切花出花率达40%,为40扎,价值1000元,一级切花出花率达45%,为45扎,价值900元,二级切花出花率达10%,为10扎,价值150元,等外级切花出花率为5%,为5扎,价值50元,估计总收入为2100元。而1000个种球花费的成本则大致估计如下:种球成本为1000元左右,贮藏运输成本估计为200元,栽培成本为500元。因此,1000个鸢尾种球生产收入估计达到400元。从表3看,以亚热带露地栽培蓝魔(BlueMagic)类为例,每公顷地可栽植种球135万个,估算利润达54万元/公顷,相当可观。
5.市场风险分析
以上的利润分析建立在成功的栽培管理,稳定的市场价格和销售市场的基础上。事实上,在实际生产销售过程中肯定有一定的风险。首先是成功的栽培管理技术,这是切花生产的基础。从种球的处理栽植到灌溉、施肥、除草及病虫害防治,特别是出花期时间的控制,任何一个环节的疏漏都导致品质下降及供花时间的不准而造成切花商品价值的下降。对元旦、春节、情人节供花的鸢尾切花品种供花时间尤其重要。其次,由于销售市场瞬息万变,大环境的任何变化都会影响切花生产。作为鸢尾切花生产者应与大中城市批发商建立长期的供需关系,进行订单生产,避免不必要的经济损失。
案例:鸢尾花分类预测数据分析 - 描述性分析目的:了解案例背景,数据情况,准备特征,为探索性分析做准备工作
特征
特征描述
标签
标签描述
三种鸢尾花:山鸢尾,变色鸢尾花,维吉尼亚鸢尾
四个特征:[0,1,2,3]
每2个特征组合,画一张散点图
(4*3)/(2*1)=6,6种组合:
[[0,1],[0,2],[0,3],[1,2],[1,3],[2,3]]
先用前两列特征组合画图,看效果
循环绘制所有6种特征组合
06 决策树 - 案例一 - 鸢尾花数据分类、卡方检验这次案例还是使用鸢尾花数据分类的数据。
数据路径: /datas/iris.data
数据格式:
数据解释:
1、引入头文件
feature_selection 是做特征选择的包
feature_selection 中的方法 SelectKBest ,帮助我们选择K个最优的特征
feature_selection 中的方法 chi2-卡方检验 ,表示使用 chi2 的方法帮助我们在 SelectKBest 中选择最优的K个最优特征。
2、防中文乱码、去警告、读取数据
总样本数目:150;特征属性数目:4
x=data[list(range(4))]
取得样本前四列特殊数据 '花萼长度', '花萼宽度', '花瓣长度', '花瓣宽度'
iris_class = 'Iris-setosa', 'Iris-versicolor', 'Iris-virginica'
y=pd.Categorical(data[4]).codes#把Y转换成分类型的0,1,2
将目标的三种分类转换成0,1,2
PS: 在之前的例子中: 04 分类算法 - Logistic回归 - 信贷审批案例 ,我们自己写过一个分类的算法对部分特征进行哑编码操作: parseRecord(record) ,其实pandas自己也集成了这个转换算法: pd.Categorical(data[4]).codes ,可以把y直接转换成0,1,2。
以上是数据预处理的步骤,和之前的例子类似。
3、数据分割(训练数据和测试数据)
训练数据集样本数目:120, 测试数据集样本数目:30
注意: 这个demo中的案例在这一步还没有做 KFold-K折交叉验证 。当前步骤的主要内容是对数据进行划分。K折就要生成K个互斥的子集。 KFold 的工作就是帮助我们划分子集的,划分完后我们将子集扔进建模即可。 02 分类算法 - Logistic案例 中提及过K折交叉验证的内容。
4、数据标准化和数据归一化的区别
思考: 行数据和列数据,哪个服从正态分布?显然,列数据是特征,和样本一样都服从正态分布。所以数据标准化和归一化的对象是列。
数据标准化:
StandardScaler (基于特征矩阵的列,将属性值转换至服从正态分布)
标准化是依照特征矩阵的列处理数据,其通过求z-score: z-score=(x-μ)/σ 的方法,将样本的特征值转换到同一量纲下。z-score是N(0,1)正态分布,即标准正态分布。
常用与基于正态分布的算法,比如回归。
PS:在 04 回归算法 - 最小二乘线性回归案例 中对 ss = StandardScaler() 数据标准化操作进行了深入分析。
数据归一化:
MinMaxScaler (区间缩放,基于最大最小值,将数据转换到0,1区间上的)
提升模型收敛速度,提升模型精度。
常见用于神经网络。
Normalizer (基于矩阵的行,将样本向量转换为单位向量)
其目的在于样本向量在点乘运算或其他核函数计算相似性时,拥有统一的标准。
常见用于文本分类和聚类、logistic回归中也会使用,有效防止过拟合。
原始数据各个特征属性的调整最小值:
[-1.19444444 -0.83333333 -0.18965517 -0.04166667]
原始数据各个特征属性的缩放数据值:
[ 0.27777778 0.41666667 0.17241379 0.41666667]
5、特征选择:
特征选择:从已有的特征中选择出影响目标值最大的特征属性
特征选择是一个transform的过程
常用方法:
{ 分类:F统计量、卡方系数,互信息mutual_info_classif
{ 连续:皮尔逊相关系数 F统计量 互信息mutual_info_classif
这里介绍一种特征选择方法: K方检验 SelectKBest
补充知识:K方检验
ch2 = SelectKBest(chi2,k=3) 这步操作本质是一个Transformer的步骤。Transformer的概念参考 05 回归算法 - 多项式扩展、管道Pipeline 。
K方检验的本质是:判断两个特征之间的关联程度。
看下面两个样本:
1、男女性别和是否会化妆的关联性是很强的:
2、男女性别和是否出门带口罩的关联性不强:
但大部分属性对结果的关联性我们很难用常识去判断,所以我们可以首先假设样本的特征和目标无关。
假设性别和是否会化妆无关。 因此我们设男人中化妆的比例为55%,男人中不化妆的比例是45%
根据实际情况进行计算:( 列联表 )
(20-55) 2 /55 + (90-55) 2 /55 + (80-45) 2 /45 + (10-45) 2 /45
结果越大,说明性别和是否会化妆的关联程度越大,当数值较大时我们可以说拒绝原假设,即原假设错误,真实情况下性别和是否会化妆有很大的影响。 (越大越拒绝)
如果结果越小,说明假设正确,我们称之为不拒绝原假设。
注意: K方统计用于离散的特征,对连续的特征无效。
对类别判断影响最大的三个特征属性分布是:
[ True False True True]
[0 2 3]
这里False的属性就是K方检验分数最小的那个,如果只取3个特征,False对应的那个特征就会被丢弃。
6、模型的构建、训练、预测:
准确率:96.67%
Score: 0.966666666667
Classes: [0 1 2]
7、画图:
用聚类分析鸢尾花数据
数据集用的是iris也就是一个记录鸢尾属植物品种的样本集,数据集中一共包含了150条记录,每个样本的包含它的萼片长度和宽度,花瓣的长度和宽度以及这个样本所属的具体品种。每个品种的样本量为50条。
因为要使用knn包进行聚类分析,则将列Species置为空,将此数据集作为测试数据集
第一种方法:层次聚类
层次聚类首先将每个样本单独作为一类,然后将不同类之间距离最近的进行合并,合并后重新计算类间距离。这个过程一直持续到将所有样本归为一类为止。
method表示计算哪种距离。method的取值有:
euclidean 欧几里德距离,就是平方再开方。
maximum 切比雪夫距离
manhattan 绝对值距离
canberra Lance 距离
minkowski 明科夫斯基距离,使用时要指定p值
binary 定性变量距离
从图中可以看到颜色越深表示样本间距离越近,大致上可以区分出三到四个区块,其样本之间比较接近。
然后使用hclust函数(d=dist,即样本间的距离矩阵,method为计算类间距离的方法),建立聚类模型,结果存clustemodel变量中,其中ward参数是将类间距离计算方法设置为离差平方和法。使用plot(clustemodel)可以绘制出聚类树图。如果我们希望将类别设为3类,可以使用cutree函数提取每个样本所属的类别。
最后我们来观察真实地类别和聚类之间的差别
发现virginica类错分了23个样本
最后我们计算3个组的中心点即实心圆,空心圆表示不同样本的位置
层次聚类的特点是:基于距离矩阵进行聚类,不需要原始数据,可用于不同形状的聚类,但它对于异常点非常敏感,对于数据规模较小的数据比较合适,否则计算量会很大,聚类后切分数组可根据业务知识,也可根据聚类树图的特点
第二种方法:K-means聚类
K均值聚类又称为动态聚类,它的计算方法较为简单,也不需要输入距离矩阵。首先要指定聚类的分类个数N,随机取N个样本作为初始类的中心,计算各样本与类中心的距离并进行归类,所有样本划分完成后重新计算类中心,重复这个过程直到类中心不再变化。
在R中使用kmeans函数进行K均值聚类,centers参数用来设置分类个数,nstart参数用来设置取随机初始中心的次数,其默认值为1,但取较多的次数可以改善聚类效果。clustemodel1$cluster可以用来提取每个样本所属的类别。
使用K均值聚类时需要注意,只有在类的平均值被定义的情况下才能使用,还要求事先给出分类个数。一种方法是先用层次聚类以决定个数,再用K均值聚类加以改进。或者以轮廓系数来判断分类个数。改善聚类的方法还包括对原始数据进行变换,如对数据进行降维后再实施聚类。