前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SAS逻辑回归logistic在对鲍鱼年龄识别中的应用可视化

SAS逻辑回归logistic在对鲍鱼年龄识别中的应用可视化

作者头像
拓端
发布2023-12-21 14:03:42
1130
发布2023-12-21 14:03:42
举报
文章被收录于专栏:拓端tecdat拓端tecdat

引言

鲍鱼是一种原始的海洋贝类,单壳软体动物,只有半面外壳,壳坚厚,扁而宽。是我国著名的海产八珍之一,味道清新,肉质鲜嫩,不仅美味佳肴,而且有治病功用,可治阴虚内热、废墟咳嗽等症。鲍鱼外形呈有螺旋形,结构有单个外壳、吸盘上足、触角等构成。鲍鱼还有极高的应该价值,、鲍鱼含有丰富的蛋白质,还有较多的钙、铁和维生素A等营养元素。

随着社会的进步,人们物质生活的日益丰富,人类对食物的要求越来越高。鲍鱼是中国传统的名贵食材,四大海味之首,鲍鱼的肉很好吃,自古以来人们都非常喜欢食用。但它的自然产量较小,远远不能满足需要,所以人们都想办法养殖它,目前在日本已对鲍鱼的养殖做了很多工作。我国在这方面也进行了一些工作,为鲍鱼养殖建立了一定的条件。

由于人工饲养的鲍鱼与野生的鲍鱼的个头有所不同,野生鲍鱼的个头明显大于人工饲养的,且鲍鱼种类繁多,且鲍鱼的肉质受年龄的影响较大。所以,我们需要一种简单快速的分类方法,通过对鲍鱼的性别、重量、直径、高度等生理特征分析,将鲍鱼以年龄分离开来,满足商家对鲍鱼的分类包装销售,以满足不同人群对不同种类鲍鱼的需求。

鲍鱼数据集与预处理

鲍鱼数据集查看文末了解数据免费获取方式是鲍鱼的各方面生理特征与它们年龄之间的一个关系。其中,我们可以由它的“年轮”得出其年龄。鲍鱼的属性信息如表1所示。

由于鲍鱼年龄从一岁到二十九岁,即目标向量元素过多,会由于两个相邻年龄里面属性相近,而易导致分类错误。所以,在数据预处理阶段,我们按鲍鱼的年龄段进行分类,即以四个年龄为一个年龄段(共七个年龄段)。鲍鱼的性别方面,幼鲍对应1,雄性对应2,雌性对应3。

基本理论

Logistic regression (逻辑回归)是当前业界比较常用的机器学习方法,用于估计某种事物的可能性。比如某用户购买某商品的可 能性,某病人患有某种疾病的可能性,以及某广告被用户点击的可能性等。(注意这里是:“可能性”,而非数学上的“概率”,logisitc回归的结果并非 数学定义中的概率值,不可以直接当做概率值来用。该结果往往用于和其他特征值加权求和,而非直接相乘) 。

逻辑回归其实仅为在线性回归的基础上,套用了一个逻辑函数,但也就由于这个逻辑函数,逻辑回归成为了机器学习领域一颗耀眼的明星,更是计算广告学的核心。对于多元逻辑回归,可用如下公式似合分类,其中公式(4)的变换,将在逻辑回归模型参数估计时,化简公式带来很多益处,y={0,1}为分类结果。

算法以及步骤

Regression问题的常规步骤为:

  1. 寻找h函数(即hypothesis);
  2. 构造J函数(损失函数);
  3. 想办法使得J函数最小并求得回归参数(θ)

Logistic回归虽然名字里带“回归”,但是它实际上是一种分类方法,主要用于两分类问题(即输出只有两种,分别代表两个类别),所以利用了Logistic函数(或称为Sigmoid函数),函数形式为:

Sigmoid 函数在有个很漂亮的“S”形,如下图所示(引自维基百科):

逻辑回归在识别鲍鱼年龄中的应用

我们现在用SAS自带的逻辑回归函数对鲍鱼的数据进行操作。鲍鱼数据70%作为训练集,15%作为验证集,15%作为测试集,然后进行训练。

将来自abalone.csv的数据加载到SAS中,并根据下表分配变量名称和格式。

Name

Data Type

Description

Sex

Categorical

M, F, and I (infant)

Length

Numeric (continuous) mm

Longest shell measurement

Diameter

Numeric (continuous) mm

perpendicular to length

Height

Numeric (continuous) mm

with meat in shell

WT_Whole

Numeric (continuous) grams

whole abalone

WT_Shuck

Numeric (continuous) grams

weight of meat

WT_Vscra

Numeric (continuous) grams

gut weight (after bleeding)

WT_Shell

Numeric (continuous) grams

after being dried

Rings

Numeric (integer)

+1.5 gives the age in years

读取数据

代码语言:javascript
复制
**data**  abalone;

infile "J:\abalone.csv" DSD delimiter=','

使用 PROC CORR 对各个变量的相关性进行探索。

代码语言:javascript
复制
**proc** **corr** data=abalone nomiss

这是鲍鱼尺寸和重量的一般描述性概述。很容易注意到,与雌性或雄性相比,幼体具有最小的长度、直径和高度。

01

02

03

04

然后使用逻辑回归对数据进行分析,得到如下的结果:

代码语言:javascript
复制
**proc** **glm** data=abalone;

通过二元逻辑斯蒂回归,雌性被低估,而雄性被高估。

最后使用模型我们可以预测样本性别:

总结与分析

本次对鲍鱼年龄进行识别分类的实验中,由于鲍鱼年龄从1至29岁不等,所以造成分类的困难度增大。所以,在对数据进行训练之前,先把鲍鱼的年龄按年龄段分。虽然现在只有4个年龄段,但是,每个年龄段中相差较大的两个年龄之间它们的属性相差很大,所以造成分类的错误率增大,最终造成整体的正确率较低,而且不容易更正。

参考文献 (References)

[1] Jiawei Han, Micheline Kamber. 数据挖掘概念与技术. 北京: 机械工业出版社, 2007.3

[2] Pang-Ning Tan, Michael Steinbach, Vipin Kumar. Introduction to Data Mining. 北京:机械工业出版社, 2009.9

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-12-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 拓端数据部落 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 鲍鱼数据集与预处理
  • 基本理论
  • 算法以及步骤
  • 逻辑回归在识别鲍鱼年龄中的应用
  • 总结与分析
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档