数据预处理是进行数据分析的第一步,如何获取干净的数据是分析效果的前提。

今天学习了几个数据预处理的入门级方法,做笔记啦!工具:python.sklearn

1、行归一化/正则化Normalizer

使每一行的平方和为1,常用于文本分类和聚类中

z=pd.DataFrame({"a":[2.,1.,6.],"b":[3.,0,2.]})

1 from sklearn.preprocessing importNormalizer2 Normalizer().fit_transform(z)3 #等价的sklearn函数调用三步

4 a=Normalizer()#函数实例化

5 a.fit(z)#模型拟合

6 a.transform(z)#转换

z

归一化后为

2、列归一化/标准化/无量纲化Standardscaler

该方法要求数据近似为高斯分布,标准化后数据均值为0,方差为1

1 from sklearn.preprocessing importStandardScaler2 StandardScaler().fit_transform(z)

3、区间缩放/极差变化/无量纲化

将数据映射到[0,1]区间,但新数据加入时,会影响最大/最小值,进而需重新定义,对设计距离度量的机器学习方法不适用

#区间缩放/极差变换/无量纲化

from sklearn.preprocessing importMinMaxScaler

MinMaxScaler().fit_transform(z)

4、特征二值化

设定一个阈值,大于阈值的为1,小于等于阈值的为0,。可用于二元分类问题中目标向量的处理

#特征二值化

from sklearn.preprocessing importBinarizer

Binarizer(threshold=1).fit_transform(z)#阈值设为1

5、独热编码

分类器常默认数据是连续的有序的,但很多特征是离散的。因此,将所有离散特征的不同取值作为单独一列,1表示离散特征为此列值,0表示离散特征不为此列值

#独热编码

z3=pd.DataFrame({"a":["男","女","男","女"],"b":["大一","大二","大三","大一"]})from sklearn.preprocessing importOneHotEncoder

enc=OneHotEncoder(categories="auto")

enc.fit(z3)

ans=enc.transform([["男","大一"]]).toarray()#toarray()转化为可显示的数组形式

OneHotEncoder(categories="auto").fit_transform(z3).toarray()

上例,生成["女”,“男”,“大一”,“大三”,“大二”]为列名的4*5的矩阵,

变为

6、缺失值计算

主要是对缺失值的填充

1 z5=pd.DataFrame({"a":[1,5,np.nan],"b":[np.nan,3,5],"c":[1,2,3]})2 from sklearn.impute importSimpleImputer3 SimpleImputer().fit_transform(z5)#默认用均值代替缺失值

4 SimpleImputer(strategy='constant').fit_transform(z5)#参数定义用0来代替缺失值

7、以多项式构建特征

a,b两个特征,则其2次多项式为1,a,b,a^2,b^2,ab

#以多项式构建特征

from sklearn.preprocessing importPolynomialFeatures

p1=PolynomialFeatures(degree=2,include_bias=False,interaction_only=False)#产生特征的平方项和交叉项

p2=p1.fit_transform(z)

p2_df=pd.DataFrame(p2,columns=p1.get_feature_names())#为p2增加列名

p2_df

x0 x1 x0^2 x0 x1 x1^202.0 3.0 4.0 6.0 9.0

1 1.0 0.0 1.0 0.0 0.0

2 6.0 2.0 36.0 12.0 4.0

figthing!

python数据获取及预处理_python数据预处理(入门)相关推荐

  1. 如何用python进行数据预处理_Python数据预处理

    数据预处理是指在对数据进行数据挖掘之前,先对原始数据进行必要的清洗.集成.转换.离散和规约等一系列的处理工作,已达到挖掘算法进行知识获取研究所要求的最低规范和标准.通常数据预处理包括:数据清洗.数据集 ...

  2. python数据预处理_Python数据预处理

    1.缺失值处理 1.1缺失值查看 在Python中直接调用info()方法就会返回每一列的缺失情况. Python中缺失值一般用NaN表示,从用info()方法的结果来看,地区.销量跟销售额这三列是1 ...

  3. python数据预处理_Python数据预处理——缺失值、重复值

    一.缺失值处理 isnull( ) .fillna( ) .dropna( ) (1)查看 缺失 查看数据集缺失,返回每列的缺失个数 df.isnull().sum() 查看某字段有缺失的行 df[d ...

  4. 《对比Excel,轻松学习Python数据分析》读书笔记------数据预处理

    数据预处理 5 数据预处理 5.1 缺失值处理 5.1.1 查看缺失值 Excel Python info() isnull() 5.1.2 删除缺失值所在行 Excel Python 5.1.3 替 ...

  5. python抽样_python数据预处理 :数据抽样解析

    何为数据抽样: 抽样是数据处理的一种基本方法,常常伴随着计算资源不足.获取全部数据困难.时效性要求等情况使用. 抽样方法: 一般有四种方法: 随机抽样 直接从整体数据中等概率抽取n个样本.这种方法优势 ...

  6. python填补缺失值数据驱动代码_python数据预处理之缺失值的各种填补方式

    对于数据挖掘的缺失值的处理,应该是在数据预处理阶段应该首先完成的事,缺失值的处理一般情况下有三种方式: (1)删掉缺失值数据 (2)不对其进行处理 (3)利用插补法对数据进行补充 第一种方式是极为不可 ...

  7. python填补缺失值数据驱动代码_python填补缺失值数据驱动代码_python数据预处理之缺失值的各种填补方式...

    对于数据挖掘的缺失值的处理,应该是在数据预处理阶段应该首先完成的事,缺失值的处理一般情况下有三种方式: (1)删掉缺失值数据 (2)不对其进行处理 (3)利用插补法对数据进行补充 第一种方式是极为不可 ...

  8. Python初探——sklearn库中数据预处理函数fit_transform()和transform()的区别

    敲<Python机器学习及实践>上的code的时候,对于数据预处理中涉及到的fit_transform()函数和transform()函数之间的区别很模糊,查阅了很多资料,这里整理一下: ...

  9. Python 文件操作中的读写模式:open(path, ‘-模式-‘,encoding=‘UTF-8‘)+python读写文件txt +文本数据预处理

    python读写txt文件 文件的打开的两种方式f = open("data.txt","r") #设置文件对象 f.close() #关闭文件#为了方便,避免 ...

最新文章

  1. 再见了,收费的 Navicat!
  2. 信号在PCB传播速度SDRAM布线(sdram布线距离主控的距离)
  3. Linux bash逐行读取文件的方法
  4. 如何更新Postgresql的Jsonb数组
  5. 05CRecordset类
  6. Windows平台下Git服务器搭建
  7. Maven 本地仓库访问私服
  8. webstorm美化_webstorm:求一个黑色背景 好看的webstorm主题?
  9. GPIO_Pin和GPIO_PinSource的大不同
  10. 多个table 相同col 的 设置相同width
  11. SpringBoot+Shiro学习(七):Filter过滤器管理
  12. linux攻防比赛_LINUX 遭到SYN FLOOD攻击 LINUX下SYN攻防战
  13. Hadoop YARN配置参数剖析(5)—Capacity Scheduler相关参数
  14. 正弦信号与噪声信号仿真生成实测信号,自相关分析
  15. kubeedge解决边端keadm join的时候卡住的问题
  16. Apache和Apache Tomcat的区别是什么?
  17. 全天下最经典的句子,2013重现!
  18. 全国省市县三级级联SQL数据库内容
  19. 程序员界的经典笑话,逗乐了
  20. 实验室里的AI激情:腾讯优图的升级修炼之路

热门文章

  1. 没有找到 AUTOBACKUP
  2. 1046. 最后一块石头的重量
  3. 二叉排序树的第k个结点
  4. docker image设置jdk版本_Docker 部署 Spring Boot
  5. java linux driver,JAVA:使用GeckoDriver在Linux上运行Selenium测试:驱动程序不可执行
  6. magento php mysql_Mysql版本过低导致Magento报错的解决方案
  7. vs如何自动生成基本的代码_STM32CubeMX底层配置代码自动代码生成
  8. java数字高低呼唤_记录某电话交换台 5 分钟内接到的呼唤次数,则样本空间 S={0,1,2, … ,n, … }_Java答案_学小易找答案...
  9. ad19电气规则检查_铁路机车操作规则(铁运2012281号)
  10. 互信息python代码_转:标准化互信息NMI计算步骤及其Python实现