人工智能PPT第4章 数据划分与特征提取.ppt
《人工智能PPT第4章 数据划分与特征提取.ppt》由会员分享,可在线阅读,更多相关《人工智能PPT第4章 数据划分与特征提取.ppt(31页珍藏版)》请在文库网上搜索。
1、第第4 4章章 数据划分与特征提取数据划分与特征提取数据划分数据划分n在机器学在机器学习中,通常将数据集划分中,通常将数据集划分为训练数据数据集和集和测试数据集。数据集。训练数据集用于数据集用于训练数据,数据,构建机器学构建机器学习模型。模型。测试数据集用于数据集用于评估模型估模型是否有效。一般情况,数据集划分比例是否有效。一般情况,数据集划分比例为训练集占集占7080%,而,而测试集占集占2030%。测试数据数据不参与不参与训练,从而,从而较为客客观的的评估模型估模型对于于训练集之外数据的匹配程度。集之外数据的匹配程度。train_test_split()x_train,x_test,y_t
2、rain,y_test=sklearn.model_selection.train_test_split(train_data,train_target,test_size,random_state)参数参数含义含义train_data待划分的样本数据train_target待划分样本数据的结果(标签)test_size测试数据占样本数据的比例,若整数则样本数量。若test_size=0.3,样本数据的30%为测试数据,记入X_test,其余70%数据记入X_train。random_state设置随机数种子,保证每次都是同一个随机数。若为0或不填,每次生成的随机数不同。x_train划分出的
3、训练集数据(特征值)x_test划分出的测试集数据(特征值)y_train划分出的训练集标签(目标值)y_test划分出的测试集标签(目标值)cross_val_score()()K折交叉折交叉验证是指将数据集划分是指将数据集划分为k个大小相似个大小相似的互斥子集,然后每次用(的互斥子集,然后每次用(k-1)个子集的并集)个子集的并集作作为训练集,余下的那个子集作集,余下的那个子集作为测试集,反复集,反复如此如此进行行k次次训练和和测试,返回,返回k个个测试结果的均果的均值。“10次次10折交叉折交叉验证法法”最最为常用,将数据常用,将数据集分成集分成10份,份,轮流将其中流将其中9份作份作为
4、训练数据,数据,1份作份作为测试数据数据进行行试验KFoldnKFold(K折交叉折交叉验证)只是划分数据集。所)只是划分数据集。所谓K折就是将数据集通折就是将数据集通过K次分割,使得所有次分割,使得所有数据既在数据既在训练集出集出现过,又在,又在测试集出集出现过,当然,每次分割中不会有重叠当然,每次分割中不会有重叠,相当于无放回抽相当于无放回抽样。n在在sklearn中中model_slection模模块提供提供KFold函数,函数,语法形式如下所示:法形式如下所示:KFold(n_splits,shuffle,random_state)ShuffleSplitnShuffleSplit是有
5、放回的抽是有放回的抽样,model_slection模模块提供提供ShuffleSplit函数,函数,语法如下所示:法如下所示:nShuffleSplit(n_split,test_size,train_size,random_state)独热编码独热编码l机器学习算法往往无法直接处理文本数据,需要把文本数据转换为数值型数据,独热编码把文本转换为数值,也称One-Hot编码,又称为一位有效编码。lone-hot编码保证了每一个取值只会使得一种状态处于“激活态”,也就是说这N种状态中只有一个状态位值为1,其他状态位都是0。l独热编码具有操作简单,容易理解的优势。但是,独热编码完全割裂了词与词之间
6、的联系,而且在大语料集下,每个向量的长度过大,占据大量内存。举例举例步步骤1.确定确定编码对象:象:中国中国,美国美国,日本日本,美国美国“步步骤2.确定分确定分类变量:中国、美国、日本共量:中国、美国、日本共3种种类别步步骤3.进行特征行特征编码:中国:中国0,美国,美国1,日本,日本2。pandas实现实现pandas的的get_dummies函数函数实现one-hot编码。pandas.get_dummies(data,sparse=False)importpandasaspds=pd.Series(list(abcd)print(s)s1=pd.get_dummies(s,sparse
7、=True)print(s1)dtype:objectabcd01000101002001030001sklearn实现实现Sklearn采用采用OneHotEncoder编码。fromsklearn.preprocessingimportOneHotEncoderenc=OneHotEncoder()enc.fit(0,0,3,1,1,0,0,2,1,1,0,2)#fit编码ans1=enc.transform(0,1,3)#输出稀疏矩出稀疏矩阵ans2=enc.transform(0,1,3).toarray()#输出数出数组格式格式print(稀疏矩稀疏矩阵n,ans1)print(数数
8、组格式格式n,ans2)特征提取特征提取数据往往具有不同的数据类型,如数值型、字符型、布尔型等。但是,机器学习模型只接收数值型和布尔型,需要特征提取进行转化。特征提取又称为特征抽取,是将任意数据(字典、文本或图像)转换为可用于机器学习的数字特征。方 法 说 明feature_extraction.DictVectorizer 将特征值映射列表转换为向量feature_extraction.FeatureHasher特征哈希feature_extraction.text文本相关特征抽取feature_extraction.image图像相关特征抽取feature_extraction.text.
9、CountVectorizer将文本转换为每个词出现次数的向量feature_extraction.text.TfidfVectorizer将文本转换为tfidf 值的向量字典特征提取字典特征提取字字典特征提取是将字典内容典特征提取是将字典内容转化成化成计算机算机可以可以处理的数理的数值。sklearn提供提供DictVectorizer函数函数实现字典特征提取,具体字典特征提取,具体语法如下所示法如下所示:sklearn.feature_extraction.DictVectorizer(sparse=True)字典特征提取字典特征提取fromsklearn.feature_extracti
10、onimportDictVectorizerdefdictvec1():#定定义一个字典列表,表示多个数据一个字典列表,表示多个数据样本本data=city:上海上海,temperature:100,city:北京北京,temperature:60,city:深圳深圳,temperature:30#1、转换器器DictTransform=DictVectorizer()#DictTransform=DictVectorizer(sparse=True)两行代两行代码效果一效果一样#2、调用用fit_transform方法,返回方法,返回sparse矩矩阵data_new=DictTransfo
11、rm.fit_transform(data)print(DictTransform.get_feature_names()print(data_new)returnNoneif_name_=_main_:dictvec1()city=上海上海,city=北京北京,city=深圳深圳,temperature1.0.0.100.0.1.0.60.0.0.1.30.3行表示行表示3个向量,即个向量,即3个个样本。本。4列表示列表示2个特征(个特征(city和温度)的取和温度)的取值。其中,。其中,city共共3个取个取值,取,取值为上海上海,北京北京,深圳深圳,采用,采用onehot编码。第一行中,
12、第一行中,上海上海为真,取真,取值为1,北京北京、深圳深圳为假,取假,取值为0;第二行中,;第二行中,北京北京为真,取真,取值为1,其余,其余为0依次依次类推。推。文本特征提取文本特征提取nCountVectorizer与与TfidfVectorizer是两个特是两个特征数征数值计算的常算的常见方法。方法。nCountVectorizer只考只考虑每种每种词汇在文本中出在文本中出现的的频率率nTfidfVectorizer除了考量某一除了考量某一词汇在当前在当前训练文本中出文本中出现的的频率之外,同率之外,同时关注包含关注包含这个个词汇的其它的其它训练文本数目的倒数。相比之下,文本数目的倒数。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能PPT第4章 数据划分与特征提取 人工智能 PPT 数据 划分 特征 提取