Python----数据预处理代码实例
为方便收藏学习,转载自:https://www.jb51.net/article/158168.htm
本文实例为大家分享了Python数据预处理的具体代码,供大家参考,具体内容如下
1.导入标准库
1
2
3
|
import numpy as np import matplotlib.pyplot as plt import pandas as pd |
2.导入数据集
1
2
3
4
5
|
dataset = pd.read_csv( 'data (1).csv' ) # read_csv:读取csv文件 #创建一个包含所有自变量的矩阵,及因变量的向量 #iloc表示选取数据集的某行某列;逗号之前的表示行,之后的表示列;冒号表示选取全部,没有冒号,则表示选取第几列;values表示选取数据集里的数据。 X = dataset.iloc[:, : - 1 ].values # 选取数据,不选取最后一列。 y = dataset.iloc[:, 3 ].values # 选取数据,选取每行的第3列数据dataset. z = dataset.iloc[:, 0:8] # 选取数据,选取每行的前7列。注意这里不包括第8列。
w = dataset.iloc[:, 8] #选取数据,选取我每行的第8列。和上一行进行相比,这是在取过前7行之后,只取第八列。
上述的意思可以这样考虑,选取数据进行训练,前7列是特征,第8列是标签。
|
3.缺失数据
1
2
3
4
5
|
from sklearn.preprocessing import Imputer #进行数据挖掘及数据分析的标准库,Imputer缺失数据的处理 #Imputer中的参数:missing_values 缺失数据,定义怎样辨认确实数据,默认值:nan ;strategy 策略,补缺值方式 : mean-平均值 , median-中值 , most_frequent-出现次数最多的数 ; axis =0取列 =1取行 imputer = Imputer(missing_values = 'NaN' , strategy = 'mean' , axis = 0 ) imputer = imputer.fit(X[:, 1 : 3 ]) #拟合fit X[:, 1 : 3 ] = imputer.transform(X[:, 1 : 3 ]) |
4.分类数据
1
2
3
4
5
6
7
8
|
from sklearn.preprocessing import LabelEncoder,OneHotEncoder labelencoder_X = LabelEncoder() X[:, 0 ] = labelencoder_X.fit_transform(X[:, 0 ]) onehotencoder = OneHotEncoder(categorical_features = [ 0 ]) X = onehotencoder.fit_transform(X).toarray() #因为Purchased是因变量,Python里面的函数可以将其识别为分类数据,所以只需要LabelEncoder转换为分类数字 labelencoder_y = LabelEncoder() y = labelencoder_y.fit_transform(y) |
5.将数据集分为训练集和测试集
1
2
3
4
5
|
from sklearn.model_selection import train_test_split X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 0.2 ,random_state = 0 ) #X_train(训练集的字变量),X_test(测试集的字变量),y_train(训练集的因变量),y_test(训练集的因变量) #训练集所占的比重0.2~0.25,某些情况也可分配1/3的数据给训练集;train_size训练集所占的比重 #random_state决定随机数生成的方式,随机的将数据分配给训练集和测试集;random_state相同时会得到相同的训练集和测试集 |
6.特征缩放
1
2
3
4
5
|
#特征缩放(两种方式:一:Standardisation(标准化);二:Normalisation(正常化)) from sklearn.preprocessing import StandardScaler sc_X = StandardScaler() X_train = sc_X.fit_transform(X_train) #拟合,对X_train进行缩放 X_test = sc_X.transform(X_test) #sc_X已经被拟合好了,所以对X_test进行缩放时,直接转换X_test |
7.数据预处理模板
(1)导入标准库
(2)导入数据集
(3)缺失和分类很少遇到
(4)将数据集分割为训练集和测试集
(5)特征缩放,大部分情况下不需要,但是某些情况需要特征缩放
以上所述是给大家介绍的Python数据预处理详解整合。
Python----数据预处理代码实例的更多相关文章
- Python数据预处理:机器学习、人工智能通用技术(1)
Python数据预处理:机器学习.人工智能通用技术 白宁超 2018年12月24日17:28:26 摘要:大数据技术与我们日常生活越来越紧密,要做大数据,首要解决数据问题.原始数据存在大量不完整.不 ...
- python data analysis | python数据预处理(基于scikit-learn模块)
原文:http://www.jianshu.com/p/94516a58314d Dataset transformations| 数据转换 Combining estimators|组合学习器 Fe ...
- python数据预处理for knn
机器学习实战 一书中第20页数据预处理,从文本中解析数据的程序. import numpy as np def dataPreProcessing(fileName): with open(fileN ...
- Python数据预处理—归一化,标准化,正则化
关于数据预处理的几个概念 归一化 (Normalization): 属性缩放到一个指定的最大和最小值(通常是1-0)之间,这可以通过preprocessing.MinMaxScaler类实现. 常用的 ...
- Python数据预处理之清及
使用Pandas进行数据预处理 数据清洗中不是每一步都是必须的,按实际需求操作. 内容目录 1.数据的生成与导入 2.数据信息查看 2.1.查看整体数据信息 2.2.查看数据维度.列名称.数据格式 2 ...
- Python数据预处理(sklearn.preprocessing)—归一化(MinMaxScaler),标准化(StandardScaler),正则化(Normalizer, normalize)
关于数据预处理的几个概念 归一化 (Normalization): 属性缩放到一个指定的最大和最小值(通常是1-0)之间,这可以通过preprocessing.MinMaxScaler类实现. 常 ...
- Python数据预处理:使用Dask和Numba并行化加速
如果你善于使用Pandas变换数据.创建特征以及清洗数据等,那么你就能够轻松地使用Dask和Numba并行加速你的工作.单纯从速度上比较,Dask完胜Python,而Numba打败Dask,那么Num ...
- python数据预处理和特性选择后列的映射
我们在用python进行机器学习建模时,首先需要对数据进行预处理然后进行特征工程,在这些过程中,数据的格式可能会发生变化,前几天我遇到过的问题就是: 对数据进行标准化.归一化.方差过滤的时候数据都从D ...
- Python数据预处理—训练集和测试集数据划分
使用sklearn中的函数可以很方便的将数据划分为trainset 和 testset 该函数为sklearn.cross_validation.train_test_split,用法如下: > ...
随机推荐
- java 设计模式 --委派模式
委派模式(Delegate)原理: 类B和类A是两个互相没有任何关系的类,但是B具有和A一模一样的方法和属性:并且调用B中的方法/属性就是调用A中同名的方法和属性. B好像就是一个受A授权委托的中介, ...
- 064_将 Linux 系统中 UID 大于等于 1000 的普通用户都删除
#!/bin/bash#先用 awk 提取所有 uid 大于等于 1000 的普通用户名称#再使用 for 循环逐个将每个用户删除即可 user=$(awk -F: '$3>=1000{prin ...
- P2037 电话号码
题目描述 一串由长长的数字组成的电话号码通常很难记忆.为了方便记忆,有种方法是用单词来方便记忆.例如用“Three Tens”来记忆电话3-10-10-10. 电话号码的标准形式是七位数字,中间用连字 ...
- 《论文翻译》 GIOU
目录 广义交并比-GIOU(回归检测的一种指标和Loss) 注释 1. 摘要 2. 介绍 3. 相关工作 4. 广义交并比 5. GIOU作为目标检测的LOSS 6. 实验结果 7. 个人理解 单词汇 ...
- centos7haproxy+keepalive
1部署keepalived 1.1下载keepalived源码包,并解压# wget http://www.keepalived.org/software/keepalived-1.4.2.tar.g ...
- 贴两个mysql优化的配置文件
MySQL5.7以上my.cnf配置文件配置 低配置服务器配置 [client] #客户端设置 port = 3306 socket = /data/mysql/data/mysql.sock def ...
- Mybatis 向statement传入多个参数
1.一般情况下可以将多个参数放入Map,让Map作为statement的参数 public void update(@Param("fieldMap") Map<String ...
- zabbix(9)iterms(监控项)
一.iterms key 监控项按参数来分有两种:带参数和不带参 按定义来分:zabbix自带和用户自定义 1)Key可以带参数,该参数为一个数组列表,可以同时传递多个参数,Key的格式如下: 既Ke ...
- Cookie的使用(js-cookie插件)
js-cookie 官方文档 里面就详细的介绍了es5怎么引用,以下是ES6以上的用户 一.安装 npm install js-cookie --save 二.引用 import Cookies fr ...
- body-parser 解析post数据
安装 $ npm install body-parser API var bodyPaeser =require('body-parser') bodyParse.raw(option) 将请求体内容 ...