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

逻辑回归具有适合于解决复杂的非线性问题的特点,因此,在这里根据鲍鱼的多个生理特征,如性别、重量、直径等信息,采用逻辑回归的方法,对鲍鱼的年龄进行分类预测,以满足商家对鲍鱼的分类。

由Kaizong Ye,Weilong Zhang撰写

本文先介绍一个简单的逻辑回归,利用SAS软件对鲍鱼数据进行操作。

鲍鱼是一种原始的海洋贝类,单壳软体动物,只有半面外壳,壳坚厚,扁而宽


是我国著名的海产八珍之一,味道清新,肉质鲜嫩,不仅美味佳肴,而且有治病功用,可治阴虚内热、废墟咳嗽等症。

鲍鱼外形呈有螺旋形,结构有单个外壳、吸盘上足、触角等构成。鲍鱼还有极高的应该价值,鲍鱼含有丰富的蛋白质,还有较多的钙、铁和维生素A等营养元素。

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

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


视频

逻辑回归Logistic模型原理和R语言分类预测冠心病风险实例

探索见解

去bilibili观看

探索更多视频

鲍鱼数据集与预处理

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

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

image.png

基本理论

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

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

image.png

算法以及步骤

Regression问题的常规步骤为:

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

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

image.png

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

image.png

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

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


hero-math-of-acos-1136585848.jpg

数据分享|python分类预测职员离职:逻辑回归、梯度提升、随机森林、XGB、CatBoost、LGBM交叉验证可视化

阅读文章


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

NameData TypeDescription
SexCategoricalM, F, and I (infant)
LengthNumeric (continuous) mmLongest shell measurement
DiameterNumeric (continuous) mmperpendicular to length
HeightNumeric (continuous) mmwith meat in shell
WT_WholeNumeric (continuous) gramswhole abalone
WT_ShuckNumeric (continuous) gramsweight of meat
WT_VscraNumeric (continuous) gramsgut weight (after bleeding)
WT_ShellNumeric (continuous) gramsafter being dried
RingsNumeric (integer)+1.5 gives the age in years


随时关注您喜欢的主题


读取数据

**data**  abalone; infile "J:\abalone.csv" DSD delimiter=','
image.png

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

**proc** **corr** data=abalone nomiss
image.png

这是鲍鱼尺寸和重量的一般描述性概述。

很容易注意到,与雌性或雄性相比,幼体具有最小的长度、直径和高度。

image.png

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


**proc** **glm** data=abalone;
image.png
image.png

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

QQ截图20231128144503.png

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

image.png

总结与分析

本次对鲍鱼年龄进行识别分类的实验中,由于鲍鱼年龄从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


可下载资源

关于作者

Kaizong Ye拓端研究室(TRL)的研究员。在此对他对本文所作的贡献表示诚挚感谢,他在上海财经大学完成了统计学专业的硕士学位,专注人工智能领域。擅长Python.Matlab仿真、视觉处理、神经网络、数据分析。

本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。

​非常感谢您阅读本文,如需帮助请联系我们!

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498

关注有关新文章的微信公众号


永远不要错过任何见解。当新文章发表时,我们会通过微信公众号向您推送。

技术干货

最新洞察

This will close in 0 seconds