数据抽取oracle_【跟我学】特征抽取算法与应用

如果您对数据挖掘和数据统计分析感兴趣,又对Python和R等语言不熟悉,那您可以参考本文的“特征抽取算法”示例,在Oracle数据库或者数据仓库中,利用SQL来实现数据挖掘和数据统计分析算法。

在数据挖掘的过程中,过多的信息会减低挖掘的有效性。一些数据属性对于模型的建立和测试并没有意义而且这些属性可能会降低模型的质量和准确率。不相关的属性增加了数据的噪声进而影响了模型的准确性。在模型的建立和评价的过程中,噪声数据的存在增加了模型的生成时间和系统资源的消耗。

比如,在图像压缩算法中,经常会用到奇异值分解(SVG)1技术提取图像特征,如下图当奇异值个数为5时虽有明显噪声,但已经基本能表达图像特征了。(大家可以估算下奇异值为12和奇异值为5时的图片文件大小)。

62cd93698516ed03eb311c49c0ac4200.png

通常在数据挖掘的预处理阶段,为了最小化噪声、相关性和高维度,需要一些形式的降维处理。特征选择和特征提取是降维的两种形式,Oracle对这两个名字的解释如下:

Feature selection(特征选择): Selecting the most relevant attributes选择最相关的属性

Feature extraction(特征抽取): Combining attributes into a new reduced set of features将属性合并成一个新的简化功能集

在Oracle数据挖掘算法中特征选择(Feature Selection)、特征提取(Feature Extraction)和属性重要性(Attribute Importance)是三个非常重要的概念。

特征选择和属性重要性Feature Selection and Attribute Importance

找到最重要的业务因子是一些数据挖掘的项目的目标,例如找到产生信用卡风险的最主要特征因子。Oracle的数据挖掘支持属性重要性Attribute Importance算法,在预测目标的时候根据属性的重要性进行等级rank排序。属性重要性(AI)算法不进行特征选择,所有的待测因子predictors都继续保留在模型中;而在特征选择(FS)算法中,rank后低于某个阀值的“属性”会从模型中被移除掉。

特征选择在预测模型(predictive modeling)中作为预处理的步骤用于提升效率。当oracle数据库 Automatic Data Preparation开启的情况下(ODM 自动按照算法执行所需的数据转换)。

Oracle在决策树和朴素贝叶斯算法中实现了特征选择作为“优化算法”,广义线性模型(Generalized Linear Model)在预处理步骤中可以通过配置实现特征选择。

Oracle数据挖掘算法不支持在属性重要性(Attribute Importance)中进行评价scoring操作。Oracle数据挖掘算法使用最小描述长度算法(Minimum Description Length)作为属性重要性(Attribute Importance)的实现。

特征提取Feature Extraction

与上面提到的特征选择不同,特征抽取是属性减少的过程,选择并保留最重要的属性。特征抽取实际上是转换了这些属性,这些被转换的属性(特征)是原始属性的线性组合。

特征抽取的处理过程产生出小而丰富的属性集合。最大的特征数可以是用户指定或由算法决定,默认情况下是算法决定。

在特征抽取后的数据基础上的建立的模型质量是比较高的,因为经过特征抽取的数据更少更有意义。特征抽取将多维度的数据映射成小维度(降维),使之更易于进行数据可视化。

特征抽取算法的应用场景包括:潜在语义分析、数据压缩、数据分解和投影以及模式识别。特征抽取可以用于加速监督学习的速度和有效性。特征抽取也可以被用于文档集的主题抽取,每个主题是一组词的组合。

Oracle特征抽取挖掘算法支持scoring操作。作为非监督挖掘函数,特征抽取不需要目标数据集。 

Oracle数据挖掘算法DataMining包含的特征抽取算法有:(11.2时仅有NMF)

非负矩阵 Non-Negative Matrix Factorization (NMF).

奇异值分解 Singular Value Decomposition (SVD)

主成分分析 Principal Component Analysis (PCA)

显性语义分析Explicit Semantic Analysis (ESA).

模型参数解释

模型名、函数名、算法名的关系如下:

8b0c964f63ea81baa4aed5de5b62afac.png

在Oracle自制数据仓库ADW的SQL NoteBook中,有个Attribute Importance的示例程序。比较简单,在此不做展开,本文主要讲解Feature Extraction算法在ADW中的应用。

在ADW SQL Notebook中的核心脚本如下:

BEGIN

  DBMS_DATA_MINING.CREATE_MODEL(

     MODEL_NAME   => 'AI_NMF_OUTPUT',

     MINING_FUNCTION=> DBMS_DATA_MINING.FEATURE_EXTRACTION,

     DATA_TABLE_NAME=> 'SUPPLEMENTARY_DEMOGRAPHICS3_V',

     CASE_ID_COLUMN_NAME => 'CUST_ID',

     SETTINGS_TABLE_NAME => 'NMF_Mode_Settings');

END;

ec17886bdd68d604640a222bceacf6b0.png

其中NMF_Mode_Settings是算法的参数表,通过此参数表修改Feature Extraction算法中的默认值。比如,当您需要修改SVDS_SCORING_MODE这个参数时,可以按照如下配置示例。

BEGIN

  EXECUTE IMMEDIATE 'CREATE TABLE NMF_Mode_Settings (setting_name VARCHAR2(30),setting_value VARCHAR2(4000))';

  --EXECUTE IMMEDIATE 'INSERT INTO SVG_Mode_Settings (setting_name, setting_value) VALUES (''SVDS_SCORING_MODE'', ''SVDS_SCORING_PCA'')'; 

--INSERT INTO SVG_Mode_Settings (setting_name, setting_value) VALUES (DBMS_DATA_MINING.ALGO_NAME, DBMS_DATA_MINING.ALGO_SUPPORT_VECTOR_MACHINES);

  --DBMS_OUTPUT.PUT_LINE ('Created model build settings table: NMF_Mode_Settings ');

END;

参数表中可以不指定任何参数,算法自带默认值。关于具体默认值可参考本文附录。

计算结果会存到用户视图中,可以在SQL Notebook中查看:

SELECT * FROM all_mining_model_views WHERE model_name = 'AI_NMF_OUTPUT' ORDER BY view_name。

9b70dc073537abe6dae8df9fb09a232c.png

如果采用SVG算法,生成的结果视图为:

849ff5696f41536dc09bce8d1f00b4ea.png

结果中包含算法定义,参数值表,属性相关性等内容,您可以直接写SQL语句查询结果。其中,特征矩阵H存储在上图第一条记录DM$VEAI_NMF_OUTPUT视图中。解读特征矩阵比较简单,本文不做赘述。

参考文档

1、Oracle Data Mining 12.2 算法说明 https://docs.oracle.com/en/database/oracle/oracle-database/12.2/dmprg/model-detail-views.html#GUID-58E2B8C6-0329-43B2-9CDE-7F3B34E6B304 

2、Oracle Data Mining 18算法说明 https://docs.oracle.com/en/database/oracle/oracle-database/18/arpls/DBMS_DATA_MINING.html#GUID-409BAB5C-3D02-4495-A68C-F117033C555B

扫描下方QR Code即刻预约ADW演示

3e8778daab2b326777cb2b81fa68b7f0.png

 编辑:殷海英

fa3738115b31b5574fc817b0b2afe800.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值