一、数据集 二、特征工程

一、数据集

数据集分为测试集训练集

1.学习阶段可用数据集

sklearn,kaggle,UCI

Scikit-learn工具介绍

python语言的机器学习工具,包含许多知名的机器学习算法的实现,文档完善,容易上手,丰富的API.

scikit-learn包含的内容

classification(分类),Regression(回归),Clustering(聚合),

数据集的划分

获取到数据之后,不能用全部的数据去训练模型,要留下一些数据进行模型评估。

机器学习一般的数据集会划分为两个部分:

1.训练数据:用于训练,构建模型。

2.测试数据:在模型检验时使用,用于评估模型是否有效。  一般20%~30%的数据用于测试

数据集划分API

这里导入的为   from sklearn.model_selection import train_test_split,在调用方法的时候就可以省略sklearn.model_selection前缀而直接调用train_test_split

二、特征工程

1.介绍

特征工程是使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程。会直接影响机器学习的效果。

sklearn 特征工程

pandas 数据清洗、数据处理

2.特征提取/抽取

机器学习算法 - 统计方法 - 数学公式

如文本 -> 数值,转化成数值后才可以使用算法继续进行。

特征提取概念:将任意数据,如文本或图像,转换为可用于机器学习的数字特征,也叫做特征值化。

注: 特征值化是为了计算机更好地去理解数据,如字典特征提取(特征离散化),文本特征提取,图像特征提取(深度学习)。

2.1 特征提取API

2.2 字典特征提取  类别 -> one-hot编码

sparse=true,默认为转化为稀疏矩阵,不想稀疏矩阵形式就传入false

如:

vector ---  数学:向量    物理:矢量

矩阵matrix  在计算机中用二维 数组存储

向量vector  在计算机中用一位数组存储

2.3 文本特征提取

方法一:

把单词作为特征

途中该方法有一个参数stop_words=[],这个参数是给stop_words传一个列表,列表里放一些不需要提取特征值的词,在特征值化时就会自动忽略掉。

中文不会被自动分开成单个的词,一句话会被当成一个特征名字(目标值)。

这时就需要进行切分操作,将一整句话分成词。这时候需要导入jieba工具包,通过jieba.cut方法对文本进行分词。分词后jieba.cut会返回一个生成器类型的对象,这时候需要将其强转为list类型,最后用 " ".join()将文本分好的词用空格(" ")隔开。打印结果如下图。

练习,对大段话进行分词并特征提取

可以看到分词成功并且成功提取特征值,上图中打印的特征值数组中,最后一行第五个元素为5,则代表特征名字中第五个词出现了五次。


方法二:TfidfVectorizer ----TF-IDF文本特征提取

上面方法一的特征提取方法,提取出了特征名字的出现次数,但是这对文本分类并没有太大的帮助,对分类来说,最需要找到的是关键词。

关键词:在某一个类别的文章中,出现的次数很多,在其它类别的文章中出现的次数很少

tf-idf文本特征提取主要思想:

公式

API

练习

data_final中,值越大的元素对应的词,对于文本越重要。更具有分类意义

3.特征预处理

3.1什么是特征预处理

通过一些转换函数将特征数据转换成更加适合算法模型的特征数据过程

特征与处理包含:

数值型数据的无量纲化

(1)归一化

(2)标准化

3.2 特征预处理API

为什么需要归一化/标准化?

3.2.1 归一化

(1)公式

如上图的特征值1,第一行90,经过归一化之后:

x' = (90-60)/(90-60) = 1,x'' = 1*(1-0) + 0 = 1,故归一化之后90-->1,这样就缩小了特征值之间的差距。

(2)API

(3)数据计算

归一化公式是根据数据集中最大值最小值,来进行计算的,如果数据集中的最大值最小值出现异常值,会直接影响到最后的归一计算结果。所以这种方法鲁棒性较差,只适合传统精确小数据场景。

3.2.1 标准化

(1)定义

通过对原始数据进行变换把数据交换到均值为0,标准差为1范围内。

(2)公式

对于归一化来说:如果出现异常点,影响了最大值和最小值,那么结果显然会发生改变

对于标准化来说:如果出现异常点,由于有一定的数据量,少量的异常点对平均值的影响并不大,从而方差/标准差改变较小。

(3)API

(4)练习

这里使用的数据集和上面归一化的数据是一样的

标准化应用场景:在已有样本足够多的情况下比较稳定,适合现代嘈杂大数据场景

4.特征降维

4.1 降维 - 降低维度

指在某些限定条件下,降低随机变量(特征)个数,得到一组不相关主变量的过程

正常我们所认为的维度:

如ndarray : 0维->标量, 1维->向量, 2维->矩阵......以此类推。

降维并不是将我们认为的维度进行降低(如3维降到2维,2维降到1维),而是针对二维数组来说的,将二维数组作为处理对象,进行降维操作,即降低随机变量(特征)的个数,即降低列数。


相关特征(correlated feature):

如相对湿度与降雨量之间的相关

正因为在进行训练的时候,我们都是使用特征进行学习。如果特征本身存在问题或者特征值间相关性较强,对于算法学习预测会影响较大。

4.2 降维的两种方式

(1)特征选择

(2)主要成分分析(可以理解为一种特征提取的方式)

4.3 什么是特征选择

4.3.1 定义

数据中包含冗余或相关变量(或称特征、属性、指标等),旨在从原有特征中找出主要特征。

4.3.2 方法

1、Filter(过滤式)

(1)方差选择法:低方差特征过滤

特征方差小:某个特征大多样本的值比较相近

特征方差大:某个特征很多样本的值都有差别

如果想区分鸟的种类,那么是否有爪子,嘴,翅膀,这种特征是每个鸟都具有的,用于区分的话效果不大,这种低方差特征就可以过滤掉

API

varianceThreshold()方法传入一个临界值参数threshold,当方差低于该临界值是,就将该特征删除

数据计算

(2)相关系数 - 衡量特征与特征之间的相关性(相关程度)

皮尔逊相关系数(Person Correlation Coefficient),反映变量之间相关关系密切程度的统计指标。

特征间相关性越高,说明特征值越相近,便没有必要都作为重要数据去进行统计计算,需要对相关系数高的特征进行一些处理

公式

最终计算出结果为0.9942,即广告费与月平均销售额之间的相关系数,可以得到结论是广告投入费与月平均销售额之间有高度的正相关关系。

特点

API

使用pearsonr(x, y)方法来计算相关系数。x,y为要进行计算相关性的两个特征

return:会返回两个数,第一个数为相关系数,第二个数为p-value

r1显示pe_ratio和pb_ratio两个特征呈负相关,但是数值很小,相关性极小。

r2显示revenue和total_expense两个特征呈正相关,且线性相关性很大。

如果特征与特征之间相关性很高(三种处理方法):

1.选取其中一个作为代表

2.加权求和作为一个新的特征

3.主成分分析

4.3 主成分分析

目标:应用PCA实现特征的降维

定义:

高维数据转化为低维数据的过程,在此过程中可能会舍弃原有数据、创造新的变量

作用:

是数据维数压缩,尽可能降低原数据的维数(复杂度),损失少量信息

应用:

回归分析或聚类分析当中

API

参数n_components如果是整数,即为我们要降维后要保留的特征数,即降维后的目标维数。如果是小数(0<n_components<1),代表满足最低的主成分方差累计贡献率。可以理解为降维后的特征,至少要能表示原数据n_components的特征。降维去掉的列数(特征/主成分)越多,且n_components越接近于1,则表示这个降维算法越好,因为去掉很多列,却仍能不失真,仍能表示出原数据的极大部分特征。

数据计算1

n_components为整数
n_components为整数
n_components为小数
n_components为小数

可以看到,传入0.95和2的降维输出一样,可以看出PCA算法效果很好,由4列降为2列,仍能保证降维后的数据能至少表示出原数据95%的信息,损失很小。

数据计算2 - 探究用户对物品类别的喜好细分

将多个数据表进行合并,找到要探究的特征间的关系,而后进行降维操作

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容