1.特征抽取

①字典特征抽取

from sklearn.feature_extraction import DictVectorizer
def dictvec():list=[{'city':'北京','temperature':100},{'city':'上海','temperature':80},{'city':'广州','temperature':20}]dict=DictVectorizer()  //这里有个参数 如果不想输出为sparse矩阵可以dict=DictVectorizer(sparse=False)进行输出为数组的形式data=dict.fit_transform(list)print(data)

返回的数据格式:sparse矩阵

就是下面这个数组的描述 有值的描述((0,1)就表示在下面的数组中第0行第1列的值为1表示代表为“北京”)

②文本特征抽取

统计文本出现次数

可以用于文本分类 情感分析

这个对单个字符没有进行统计

对于英文不需要进行数据提前处理,但是**中文需要提前进行分词处理**(jieba分词)

```
from sklearn.feature_extraction.text import CountVectorizer,TfidfVectorizer
def countvec():list=["life is short,i like python","life is too long,i dislike python"]cv=CountVectorizer()data=cv.fit_transform(list)print(cv.get_feature_names())print(data.toarray())
```

中文分词处理

主要是利用jieba

```
import jieba
def cutwords(list1):result=[]for words in list1:word=jieba.cut(words)word_list=list(word)result.append(' '.join(word_list))return result
```

TF-IDF方法

如果一个词在一篇文章中出现频率较高,而在别的文章中出现频率不高 那这些词可以很好的用来分类

tf:term frequency 词的频率

idf:inverse document frequency 逆文档频率 log(总文档数量/该词出现的文档数量)

重要性程度:tf*idf

```
from sklearn.feature_extraction.text import CountVectorizer,TfidfVectorizer
def tfidfvec():list=["我爱场景,是的","这里是华南理工大学外语调频台","我是张海玲代号小饼干","小明硕士毕业于中国科学院计算所,后在日本京都大学深造"]result_list=cutwords(list) # 分词之后的结果# print(result_list)tf = TfidfVectorizer() data = tf.fit_transform(result_list) # 将分词之后的结果输入到transform中print(tf.get_feature_names())print(data.toarray())
```

2.特征预处理

通过一些数学方法将数据转成算法需要的数据

数值型数据:

1.归一化(不太常用)、2.标准化(比较常用)、3.缺失值

**缩放目的:使得一个特征对最终结果不会造成较大的影响**

归一化

通过对原始数据进行变换把数据映射到默认0到1之间
$$
x'=(x-min)/max-min 
$$

$$
x''=x'*(mx-mi)+mi
$$

x''为最终归一化的结果,max表示一列中最大的数,min表示一列中最小的数,mx表示想映射的区间的最大值,mi表示想映射区间的最小值

归一化的**目的**:**使得一个特征对最终结果不会造成较大的影响**

比如有一个特征的值都是较大的数,如果直接用原始数据进行算法计算的话,会造成这些较大的数对最终结果产生较大的影响

缺点:在特定场景下最大值和最小值是变化的,而且最大值和最小值很容易受**异常点**的影响。鲁棒性较差,只适合传统精确小数据场景

```
from sklearn.preprocessing import MinMaxScaler
'''
归一化处理
这里输入的数据是二维数组
多个特征的数据
'''
def mn():mn=MinMaxScaler()data=mn.fit_transform([[90,2,10,40],[60,4,15,45],[75,3,13,46]])print(data)
```

标准化

通过对原始数据进行变换将数据变换到均值为0,标准差为1的范围内:(转换后的数据 每个特征的平均值都为0,标准差都为1)

$$
x'=(x-mean)/\sigma
$$
mean为平均值 
$$
\sigma为标准差,var为方差  var=\frac{(x1-mean)^2+(x2-mean)^2+....}{n(每个特征的样本数)}
$$
异常点对平均值影响不大(具有一定的数据量,少量的异常点对平均值影响不大)

方差考量数据的稳定性(如果数据比较集中 方差比较小;如果数据比较分散,方差比较大)

```
from sklearn.preprocessing import StandardScaler
def stand():stand=StandardScaler()data = stand.fit_transform([[90, 2, 10, 40], [60, 4, 15, 45], [75, 3, 13, 46]])print(data)
```

缺失值

删除:当缺失值过多建议直接放弃整行或者整列             
插补 :可以通过缺失值每行或没列的平均值、中位数进行填充

利用Python进行数据特征处理相关推荐

  1. python画曲线图-利用python绘制数据曲线图的实现

    "在举国上下万众一心.众志成城做好新冠肺炎疫情防控工作的特殊时刻,我们不能亲临主战场,但我们能坚持在大战中坚定信心.不负韶华." 1.爬取新闻保存为json文件,并将绘图所需数据保 ...

  2. 实战教程!利用Python获取数据,并在地图上批量标注

    我们想要在地图上批量标注某一类的大量点位,该怎么操作呢?没有它的坐标数据,就没有办法批量标注.今天给大家介绍下,来自图新地球用户王泽的原创教程--利用Python获取数据,并在地图上批量标注的方法! ...

  3. 利用python进行数据分析学习笔记

    利用python进行数据分析 numpy:数组与向量化计算 pandas pandas读取和写入数据集及文件格式 数据清洗与准备 数据规整:连接.联合和重排列 绘图与可视化 数据聚合与分组操作 时间序 ...

  4. python运行excel高级筛选怎么用_懂点EXCEL就行!教你利用Python做数据筛选(上)...

    前言 Python的数据清洗功能有多厉害,相信不用我说大家都知道了,寥寥几行代码便可以把一份杂乱无章的表格给处理的干干净净.但是python也是不容易入门的,毕竟编程语言要理解和精通也是要花不少功夫的 ...

  5. python数据处理可以做什么菜_厌倦了EXCEL想玩点新花样?教你利用Python做数据筛选(下)...

    前言 回顾一下上次的案例模型,我们知道了只要写3行代码,就可以利用python对EXCEL数据做简单的筛选,说明了python是一门非常简单和实用的数据分析工具.前面学过的这几句简单的语言,不知道你们 ...

  6. python excel筛选统计_懂点EXCEL就行!教你利用Python做数据筛选(上)

    前言 Python的数据清洗功能有多厉害,相信不用我说大家都知道了,寥寥几行代码便可以把一份杂乱无章的表格给处理的干干净净.但是python也是不容易入门的,毕竟编程语言要理解和精通也是要花不少功夫的 ...

  7. python做excel数据条件_懂点EXCEL就行!教你利用Python做数据筛选(上)

    前言 Python的数据清洗功能有多厉害,相信不用我说大家都知道了,寥寥几行代码便可以把一份杂乱无章的表格给处理的干干净净.但是python也是不容易入门的,毕竟编程语言要理解和精通也是要花不少功夫的 ...

  8. python数据逆透视_利用Python实现数据逆透视

    Hello大家好,欢迎来到[统计GO],本公众号定期分享一些好用的数据分析工具,帮助大家花更少的时间学更多的知识. 如果本期内容(使用Python实现逆透视)对您有所帮助,记得及时关注. 背景介绍 今 ...

  9. python怎样显示表格数据匹配_利用Python实现数据匹配(vlookup)

    平时我们经常会制作周报.月报这种Excel操作相同的报表,我们可以使用python的pandas库对其进行自动化.这篇文章就演示了利用python实现使用Excel中的vlookup函数,并将其脚本封 ...

最新文章

  1. 大数据实战项目之海量人脸特征检索解决方案演进
  2. silverlight 跨域文件位置
  3. 字节流练习:图片复制
  4. 轻量级RTSP服务存在的意义
  5. android 上传头像工具类,Android开发中如何实现头像的更换与上传
  6. 7的整除特征 三位一截_茅台酒的合格证有哪些特征和鉴别要点?
  7. 学生成绩管理系统源码
  8. 论文《基于FPGA 的CFAR 设计与实现》复现
  9. display:weston:desktop xdg-shell
  10. Python生成器教程
  11. october cms_October CMS静态页面入门
  12. 基于深度学习的单视图三维重建算法学习路线
  13. JVM内存管理及垃圾回收
  14. 小学计算机课后作业,小学信息技术课后作业设计研究
  15. 五年级上册计算机工作总结,五年级上册信息技术教学工作总结
  16. java异常捕获_java之异常捕获
  17. 关于setTimeout多次点击会多次执行方法导致运行速度加快的问题
  18. Media Player Classic - HC 源代码分析 14:PIN连接过程中推模式和拉模式区别
  19. element日历组件只显示月和日,把年份隐藏掉
  20. 6种提高客户满意度的方法

热门文章

  1. 定位mp4文件没有声音或杂音问题的分析与总结
  2. 互斥锁的使用(CreateMutex等使用)
  3. Qt笔记(五十六)之网页调用Activate控件
  4. java 封装表单数据类型_ActionForm封装字段的数据类型 | 学步园
  5. Bash read命令
  6. 排序(Sort)知识点归纳
  7. php开发mac 系统好吗,做web前后端开发,Mac苹果电脑,是最佳装备吗
  8. LinearLayout(线性布局)的基本使用
  9. 重装战姬显示未连接到服务器,《重装战姬》常见问题FAQ大全 公测常见问题汇总解答...
  10. 使用Hisi图像调试工具