python机器学习(七)决策树(下) 特征工程、字典特征、文本特征、决策树算法API、可视化、解决回归问题

这篇具有很好参考价值的文章主要介绍了python机器学习(七)决策树(下) 特征工程、字典特征、文本特征、决策树算法API、可视化、解决回归问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

决策树算法

特征工程-特征提取

特征提取就是将任意数据转换为可用于机器学习的数字特征。计算机无法直接识别字符串,将字符串转换为机器可以读懂的数字特征,才能让计算机理解该字符串(特征)表达的意义。
主要分为:字典特征提取(特征离散化)、文本特征提取(文章中特征词汇出现的频次)。

字典特征提取

对类别数据进行转换。
计算机不能够识别直接传入的城市、温度数据,需要转换为0,1的编码才能够被计算机所识别。
python机器学习(七)决策树(下) 特征工程、字典特征、文本特征、决策树算法API、可视化、解决回归问题,python机器学习,机器学习,算法,python
用代码实现就为:
python机器学习(七)决策树(下) 特征工程、字典特征、文本特征、决策树算法API、可视化、解决回归问题,python机器学习,机器学习,算法,python

字典特征提取API
sklearn.feature_extraction.DictVectorizer(sparse=Ture,...)
DictVectorizer.fit_transform(X),X:字典或者包含字典的迭代器返回值,返回sparse矩阵
DictVectorizer.get_feature_names()返回类别名称

python机器学习(七)决策树(下) 特征工程、字典特征、文本特征、决策树算法API、可视化、解决回归问题,python机器学习,机器学习,算法,python
当数据量比较大的时候,使用sparse矩阵能更好的显示特征数据,更加的直观,没有显示0数据,更加节省内存。

文本特征提取

对文本数据进行特征值化,一篇文章中每个词语出现的频次。

文本特征提取API
sklearn.feature_extraction.text.CountVectorizer(stop_words=[])
返回词频矩阵。
CountVectorizer.fit_transform(X)
X:文本或者包含文本字符串的可迭代对象
返回值:返回sparse矩阵
CountVectorizer.get_feature_names()返回值:单词列表
英文文本特征提取实现

需求:体现以下段落的词汇出现的频次

[“Life is a never - ending road”,“I walk,walk,keep walking.”]

注意:
1.文本特征提取没有sparse参数,只能以默认的sparse矩阵接收
2.单个的字母,如I,a都不会统计
3.通过stop_words指定停用词

python机器学习(七)决策树(下) 特征工程、字典特征、文本特征、决策树算法API、可视化、解决回归问题,python机器学习,机器学习,算法,python

中文文本特征提取实现

需求:体现以下段落的词汇出现的频次

data = [‘这一次相遇’,‘美得彻骨,美得震颤,美得孤绝,美得惊艳。’]

python机器学习(七)决策树(下) 特征工程、字典特征、文本特征、决策树算法API、可视化、解决回归问题,python机器学习,机器学习,算法,python
需求:体现以下文本的词汇出现的频次
python机器学习(七)决策树(下) 特征工程、字典特征、文本特征、决策树算法API、可视化、解决回归问题,python机器学习,机器学习,算法,python
把文章中的词汇统一提取出来,去掉重复值后放到一个列表里,矩阵里显示的是每个词汇在每一行中出现的次数。根据词汇出现的多少可以把 文章归纳为跟词汇相关的文章。

Tf-idf文本特征提取

TF-IDF的主要思想是:如果某个词语或短语在一篇文章中出现的概率高,并且在其他文章中很少出现,则认为此词或短语具有很好的类别区分能力,适合用来分类。
TF-IDF的作用:用于评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。

Tf-idf文本特征提取公式: t f i d f i , j = t f i , j ∗ i d f i tfidf_{i,j}=tf_{i,j}*idf_i tfidfi,j=tfi,jidfi
词频(term frequency ,tf):指的是某一个给定的词语在该文件中出现的频率
逆向文档频率(inverse document frequency ,idf):是一个词语普遍重要性的度量。某一个特定词语的idf,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取以10为底的对数得到。

比如一篇文章由1000个字,而房地产出现了500次,房地产在该文章中出现的频率tf为:500/1000=0.5;房地产在1000份文件中出现过,文件的总数量为1000000,idf: l o g 1000000 / 1000 = 3 log1000000/1000=3 log1000000/1000=3;tf-idf就为0.5*3=1.5。
不单单看某个词汇在某一篇文章中出现的次数(频率),还需要看它在整个文件集中出现的次数。

Tf-idf文本特征提取api
sklearn.feature_extraction.text.TfidfVectorizer

python机器学习(七)决策树(下) 特征工程、字典特征、文本特征、决策树算法API、可视化、解决回归问题,python机器学习,机器学习,算法,python
python机器学习(七)决策树(下) 特征工程、字典特征、文本特征、决策树算法API、可视化、解决回归问题,python机器学习,机器学习,算法,python
得到的是计算之后的tfidf的结果,没有文件集就是以行来进行分割的,以列表作为文件集,把每一行作为一个文件来进行处理。通过判断tfidf的大小来将某个词汇作为分割的重要词汇。

决策树算法API

分类API

sklearn.tree.DecisionTreeClassifier 决策树的分类算法器
 - criterion:设置树的类型
 - entropy:基于信息熵,也就是ID3算法,实际结果与C4.5相差不大
 - gini:默认参数,相当于基尼系数。CART算法是基于基尼系数做属性划分的,
所以criterion=gini时,实际上执行的是CART算法。
 - splitter:在构造树时,选择属性特征的原则,可以是best或random。默认是best,
 - best代表在所有的特征中选择最好的,random代表在部分特征中选择最好的。
 - max_depth:决策树的最大深度,可以控制决策树的深度来防止决策树过拟合。
 - min_samples_split:当节点的样本数小于min_samples_split时,不再继续分裂,默认值为2
 - min_samples_leaf:叶子节点需要的最小样本数。如果某叶子节点的数目小于这个阈值,则会和
兄弟节点一起被剪枝。可以为intfloat类型。
 - min_leaf_nodes:最大叶子节点数。int类型,默认情况下无需设置,特征不多时,无需设置。
特征比较多时,可以通过该属性防止过拟合。
案例:泰坦尼克号乘客生存预测

需求:读取以下数据,预测生存率

train.csv 是训练数据集,包含特征信息和存活与否的标签;
test.csv 是测试数据集,只包含特征信息。
PassengerId:乘客编号;Survived:是否幸存;Pclass:船票等级;Name:姓名;Sex:性别;Age:年龄;
SibSp:亲戚数量(兄妹 配偶);Parch:亲戚数量(父母 子女);Ticket:船票号码;Fare:船票价格;Cabin:船舱;

python机器学习(七)决策树(下) 特征工程、字典特征、文本特征、决策树算法API、可视化、解决回归问题,python机器学习,机器学习,算法,python
python机器学习(七)决策树(下) 特征工程、字典特征、文本特征、决策树算法API、可视化、解决回归问题,python机器学习,机器学习,算法,python
python机器学习(七)决策树(下) 特征工程、字典特征、文本特征、决策树算法API、可视化、解决回归问题,python机器学习,机器学习,算法,python
python机器学习(七)决策树(下) 特征工程、字典特征、文本特征、决策树算法API、可视化、解决回归问题,python机器学习,机器学习,算法,python

通过对字段的分析进行处理,注意纯数字类型可以以均值进行替换,字符串类型的缺失值太大就直接删掉,缺失值比较少的话就用占比比较多的来填充,特征选择尽量与标签有关系的特征,将特征中的文本转换为对应的数值,最终进行训练模型,然后进行K折交叉验证。

决策树可视化

安装graphviz工具,下载地址:http://www.graphviz.org/download/
将graphviz添加到环境变量PATH中,然后通过pip install graphviz 安装graphviz库

python机器学习(七)决策树(下) 特征工程、字典特征、文本特征、决策树算法API、可视化、解决回归问题,python机器学习,机器学习,算法,python
生成的图片比较大,可以保存为pdf文件,效果如下
python机器学习(七)决策树(下) 特征工程、字典特征、文本特征、决策树算法API、可视化、解决回归问题,python机器学习,机器学习,算法,python

决策树解决回归问题

决策树基于ID3、C4.5、CART算法,回归问题是基于CART算法实现的,基尼系数。
导入boston房价的数据,以及决策树的回归问题接口,接下来要调用数据接口,获取数据集,然后获取特征名称、特征集、得到训练集和测试集的特征和标签,然后进行训练和预测。
python机器学习(七)决策树(下) 特征工程、字典特征、文本特征、决策树算法API、可视化、解决回归问题,python机器学习,机器学习,算法,python文章来源地址https://www.toymoban.com/news/detail-633614.html

到了这里,关于python机器学习(七)决策树(下) 特征工程、字典特征、文本特征、决策树算法API、可视化、解决回归问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python 机器学习入门 - - 决策树算法学习笔记

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 ChatGPT一问世就给整个社会带来巨大的震撼和冲击,不禁让人惊叹现在AI的强大,我们好像离通用人工智能更近一步。在过去十几年人工智能领域的蓬勃发展中,扮演着主导地位的算法基本都是神经网络和

    2023年04月08日
    浏览(36)
  • 机器学习强基计划9-2:图解字典学习KSVD算法(附Python实战)

    机器学习强基计划聚焦深度和广度,加深对机器学习模型的理解与应用。“深”在详细推导算法模型背后的数学原理;“广”在分析多个机器学习模型:决策树、支持向量机、贝叶斯与马尔科夫决策、强化学习等。强基计划实现从理论到实践的全面覆盖,由本人亲自从底层编

    2024年02月11日
    浏览(42)
  • 【机器学习】Decision Tree 决策树算法详解 + Python代码实战

    决策树即通过一步步决策得到最终结果的树 如下图所示,如果要判断一个人在家庭里的身份,我们可以先判断ta年龄是否大于15,如果是,则说明ta是爷爷或奶奶或妈妈,如果不是,则再判断ta是否为男性,如果是,则ta是儿子,否则ta是女儿。 这就是一个决策树的基本流程。

    2024年01月23日
    浏览(42)
  • python机器学习决策树和SVM向量机算法实现红酒分类

    经典的红酒分类数据集是指UCI机器学习库中的Wine数据集。该数据集包含178个样本,每个样本有13个特征,可以用于分类任务。 具体每个字段的含义如下: alcohol:酒精含量百分比 malic_acid:苹果酸含量(克/升) ash:灰分含量(克/升) alcalinity_of_ash:灰分碱度(以mEq/L为单位)

    2024年02月08日
    浏览(32)
  • 机器学习基础之《特征工程(2)—特征工程介绍、特征抽取》

    一、什么是特征工程 机器学习领域的大神Andrew Ng(吴恩达)老师说“Coming up with features is difficult, time-consuming, requires expert knowledge. “Applied machine learning” is basically feature engineering. ” 注:业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已

    2024年02月13日
    浏览(29)
  • 机器学习 C4.5算法原理 + 决策树分裂详解(离散属性+连续属性) 附python代码

    一.C4.5算法的简介: C4.5并不是单单一个算法而是 一套算法 ,主要用于对机器学习和数据挖掘中的分类问题。它是一种有监督的学习,也就是说对于该算法我们需要 先给它们提供一个数据集 ,这个数据集包含多个实例,每个实例都包含多个属性,该实例用这些属性描述, 根

    2024年02月08日
    浏览(49)
  • 机器学习重要内容:特征工程之特征抽取

    目录 1、简介 2、⭐为什么需要特征工程 3、特征抽取 3.1、简介 3.2、特征提取主要内容 3.3、字典特征提取 3.4、\\\"one-hot\\\"编码 3.5、文本特征提取 3.5.1、英文文本 3.5.2、结巴分词 3.5.3、中文文本 3.5.4、Tf-idf ⭐所属专栏:人工智能 文中提到的代码如有需要可以私信我发给你噢😊 特

    2024年02月12日
    浏览(33)
  • 机器学习:特征工程之特征预处理

    目录 特征预处理 1、简述 2、内容 3、归一化 3.1、鲁棒性 3.2、存在的问题 4、标准化 ⭐所属专栏:人工智能 文中提到的代码如有需要可以私信我发给你😊 什么是特征预处理:scikit-learn的解释: provides several common utility functions and transformer classes to change raw feature vectors into a r

    2024年02月12日
    浏览(42)
  • 机器学习特征工程学习笔记(一)

            机器学习特征工程是指在机器学习任务中对原始数据进行转换、提取和选择,以创建更有效、更具有表征能力的特征的过程。良好的特征工程可以显著提升模型的性能,并帮助解决数据中存在的各种问题。         以下是一些常见的机器学习特征工程技术:

    2024年02月11日
    浏览(35)
  • 机器学习基础之《特征工程(4)—特征降维》

    一、什么是特征降维 降维是指在某些限定条件下,降低随机变量(特征)个数,得到一组“不相关”主变量的过程 1、降维 降低维度 ndarry     维数:嵌套的层数     0维:标量,具体的数0 1 2 3...     1维:向量     2维:矩阵     3维:多个二维数组嵌套     n维:继续嵌套

    2024年02月13日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包