用数据框的unique函数就能得到所有的工作情况。

adult["Work-Class"]。unique()

输出结果如下:

array(['State-gov', 'Self-emp-not-inc', ' Private','Federal-gov', 'Local-gov', '?', 'Self-emp-inc',' Without-pay',

' Never-worked', nan], dtype=object)

数据集部分数据缺失,但不会影响这里的计算。

对于Adult数据集,我们可以创建LongHours(时长)特征,用它来表示一个人每周工作时间是否多于40小时。这样就把连续值(Hours-per-week,每周工作时长)转换为类别型特征。

adult["LongHours"] = adult["Hours-per-week"] > 40

选择好的分类算法也可以提升数据挖掘应用的效果,但是通过选用好的特征来达到同样的目的。

3。2 特征选择

通常特征数量很多,但是我们只想选用其中一部分。有如下几个原因:

降低复杂度:随着特征数量的增加,很多数据挖掘算法需要更多的时间和资源。减少特征数量,是提高算法运行速度,减少资源使用的好办法。

降低噪音:增加额外特征并不总会提升算法的表现。额外特征可能扰乱算法的正常工作,这些额外特征间的相关性和模式没有实际应用价值(这种情况在小数据集上很常见)。只选择合适的特征有助于减少出现没有实际意义的相关性的几率。

增加模型可读性:根据成千上万个特征创建的模型来解答一个问题,对计算机来说很容易,但模型对我们自己来说就晦涩无比。因此,使用更少的特征,创建我们自己可以理解的模型,就很有必要。

有些分类算法确实很强壮,能够处理噪音问题,特征再多也不在话下,但是选用干净的数据,选取更具描述性的特征,对算法效果提升很有帮助。文献综述

在开展数据挖掘工作前,有些基础测试我们要做,比如确保特征值是不同的。如果特征值都相同,就跟没提供什么信息一样,挖掘就失去了意义。

Scikit-learn中的VarianceThreshold转换器可用来删除特征值的方差达不到最低标准的特征。下面通过代码来讲下它的用法,首先用numpy创建一个简单的矩阵。

import numpy as np 

X = np。arange(30)。reshape((10, 3))

上述矩阵包含0到29,共30个数字,分为3列10行。可以把它看成一个有10个个体、3个特征的数据集。

上一篇:VRP城市包裹配送智能优化算法研究
下一篇:大学生消费习惯分析的二手物品交易平台的设计和实践

python基于决策树算法的球赛预测

网络常见故障的分类诊斷【2055字】

Python船联网传感器感知模块研究与实现

python关联规则算法Apriori算法应用

Python网络爬虫设计与实现

粗糙集的特征选择及其分...

图像处理的水果分类系统设计+MATLAB程序

空间小目标红外特性分析

全球各國生育率排名2023,...

玛曼塔处女座21年9月感情运势【字数855】

国内外混合碳四利用研究现状

《围城》人物描写中修辞手法的翻译研究

浅析中學生思想道德教育...

通常情况下房屋买卖合同何时生效

AT89C52单片机的教室照明能控设计+电路图

十二星座更優秀的星座排...

浅谈肖像雕塑眼睛的表现