机器学习一百天 数据预处理
机器学习一百天中文版地址
https://github.com/MLEveryday/100-Days-Of-ML-Code
机器学习一百天英文版地址
https://github.com/Avik-Jain/100-Days-Of-ML-Code
本章是第一天内容的笔记,作记录学习之用
第一天的内容——数据预处理
第一步:导入需要的库 NumPy和Pandas
NumPy:包含数学计算函数
Pandas:用于导入和管理数据集
#导入库
import numpy as np
import pandas as pd
第二步是导入数据集
数据集的格式通常为**.csv**。csv是以文本形式保存表格数据,在电脑中可以用Excel软件打开。在代码中使用Pandas中的read_csv
方法读取本地文件
#导入数据集
dataset = pd.read_csv('Data.csv')#读取csv文件
X = dataset.iloc[:,:-1].values #.iloc[行,列] 选取[-1,0]
Y = dataset.iloc[:,3].values #:表示全部行或者列,[a]表示第a行或者列
#Pandas 读取文件时候,注意文件的存储路径不能带有中文,否则读取可能出错。
#.iloc:根据标签的所在位置,从0开始计数,选取列
X
第三步是处理丢失的数据
一般情况下,我们得到的数据很少是完整的,为了不降低机器学习的性能,需要处理数据,一般使用整列的平均值或者中间值替换丢失的数据。使用sklearn.preprocessing
库中的Imputer
类完成
#处理丢失的数据
from sklearn.preprocessing import Imputer
imputer = Imputer(missing_values = 'NaN',strategy = 'mean',axis = 0)
imputer = imputer.fit(X[:,1:3])#用数据拟合fit x 的前两列
X[:,1:3] = imputer.transform(X[:,1:3]) #计算缺失数据
'''missing_values:缺失值,可以为整数或NaN(缺失值numpy.nan用字符串‘NaN’表示)
默认为NaN
strategy:替换策略,字符串,默认用均值‘mean’替换
①若为mean时,用特征列的均值替换
②若为median时,用特征列的中位数替换
③若为most_frequent时,用特征列的众数替换
axis:指定轴数,默认axis=0代表列,axis=1代表行'''
X
第四步是解析分类数据
分类数据指的是含有标签值而不是数字值的变量。取值范围通常是固定的。“yes”和“no”不能用于模型的数学计算,所以需要解析成为数字。使用sklearn.preprocessing
库中导入LabelRncoder
类实现
# 解析分类数据
from sklearn.preprocessing import LabelEncoder,OneHotEncoder
#LabelEncoder:把字符串类型的数据转化为整型.
#OneHotEncoder :特征用一个二进制数字来表示
labelencoder_X = LabelEncoder()
X[:,0] = labelencoder_X.fit_transform(X[:,0])
X
#创建虚拟变量
onehotencoder = OneHotEncoder(categorical_features = [0])
X = onehotencoder.fit_transform(X).toarray()
labelencoder_Y= LabelEncoder()
Y = labelencoder_Y.fit_transform(Y)
第五步是拆分数据集
拆分为训练集合以及测试集合,训练集合是用来训练模型,测试集合是用来验证模型,二者比例一般为8:2。使用sklearn.crossvalidation
中的train_test_split()
方法
#拆分数据集为训练集合测试集合
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)
#test_size:样本占比,如果是整数的话就是样本的数量
#random_state:是随机数的种子。
X_train
第六步是特征缩放
大部分模型算法使用两点间的欧氏距离函数表示,单此特惠佐能在幅度、单位和范围姿态问题上变化很大。在距离计算中,高幅度的特征比低幅度特征权重更大。可用特征标准化或者Z值归一化解决。使用sklearn.preprocessing
库中的StandardScalar
类
# 特征量化,缩放
from sklearn.preprocessing import StandardScaler
sc_X = StandardScaler()
X_train = sc_X.fit_transform(X_train)#fit_transform()的作用就是先拟合数据,然后转化它将其转化为标准形式
X_test = sc_X.transform(X_test)#tranform()的作用是通过找中心和缩放等实现标准化
X_train
机器学习一百天 数据预处理相关推荐
- 回归素材(part9)--PYTHON机器学习手册-从数据预处理到深度学习
学习笔记,仅供参考,有错必纠 PYTHON机器学习手册-从数据预处理到深度学习 通过正则化减少方差 我们可以使用岭回归或者Lasso回归,介绍回归模型的方差.
- 机器学习模型的数据预处理和可视化
本文为 AI 研习社编译的技术博客,原标题 : Data Pre-processing and Visualization for Machine Learning Models 作者 |* Nata ...
- 「机器学习速成」数据预处理,特征工程,良好特征的特点
https://www.toutiao.com/a6703863693408469516/ 大家好,今天我们学习[机器学习速成]之 数据预处理,特征工程,良好特征的特点 我们 马上学三点 , 特征工程 ...
- scikit-learn机器学习八 (数据预处理)
sk-learn机器学习之特征工程和数据预处理 特征工程和数据预处理的重要性 数据无量纲化 归一化 标准化 处理缺失值 分类特征处理:编码,哑变量 标签处理(LabelEncoder) 特征处理(Or ...
- 深入浅出python机器学习_9.1_数据预处理_sklearn.preprocessing.StandardScaler MinMaxScaler RobustScaler Normalizer
# 使用StandardScaler进行数据预处理import numpyimport matplotlib.pyplot as pltfrom sklearn.datasets import mak ...
- 机器学习中的数据预处理(sklearn preprocessing)
Standardization即标准化,尽量将数据转化为均值为零,方差为一的数据,形如标准正态分布(高斯分布).实际中我们会忽略数据的分布情况,仅仅是通过改变均值来集中数据,然后将非连续特征除以他们的 ...
- 阅读宋立恒《AI制胜:机器学习极简入门》第2章:机器学习中的数据预处理
文章目录 一.数据预处理的重要性和原则 二.数据预处理方法介绍 (一)数据预处理案例--标准化.归一化.二值化 1.标准化.归一化.二值化 2.范例程序 (二)数据预处理案例--缺失值补全.标签化 1 ...
- 机器学习与数据挖掘——数据预处理
如果有兴趣了解更多相关内容,欢迎来我的个人网站看看:瞳孔空间 一:关于数据预处理 在工程实践中,我们得到的数据会存在有缺失值.重复值等,在使用之前需要进行数据预处理.数据预处理没有标准的流程,通常针对 ...
- 【机器学习】Scikit-Learn数据预处理文档翻译+笔记记录 - 1
翻译本文档,系统学习以下数据的预处理方式. 原文档地址:https://scikit-learn.org/stable/modules/preprocessing.html#preprocessing ...
最新文章
- ZooKeeper 如何保证数据一致性
- 告诉服务器端当前请求的意图
- php实战https请求,用php发https请求
- 仿简书、淘宝等等App的View弹出效果
- JAVA学习笔记_五JAVA开发中的WEB前端技术
- PHP操作Memcache实例介绍
- 今晚8点直播(内含福利)丨 Oracle RAC集群安装部署
- Flutter布局锦囊---圆框的表单字段
- 【汇编语言】开发过程
- 177. Python语言 的 Flask框架项目 之 发布房源 模块的开发
- Pattern Recognition and Machine Learning(模式识别与机器学习)第一章导读
- 波形和函数发生器(Waveform and Function Generator)
- QQ连连看外挂--基于LAScript
- 分享到微信微博QQ空间JS代码大全
- 网络 DNS 解析与CDN加速
- 使用Yomail的时候出现的错误解决方案
- 中国传统色的魅力|这8组中国风传统颜色你一定要收藏
- C++ 开源密码库之OpenSSL的使用
- 计算机结构化面试万能套话,结构化面试30句万能套话拯救你.pdf
- 【黑灰产犯罪研究】涉物联网犯罪
热门文章
- 学生成绩字典、获取最高分科目分数python_实例:找出分数最高的学生
- php 汉王云名片_风吹雨名片互赞系统PHP程序
- python实现淘宝客服自动回复语_Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例...
- 用System中System.setOut()方法修改输出方式
- 静电除尘器工作原理应用实训教学QY-HJGC03
- 微信小店二次开发_怎么吧微信小店装修的更好看
- 问题 C: 小写转大写
- 商场触摸互动广告机有哪些功能
- 我的世界热力膨胀JAVA_我的世界1.12-1.6.4热力膨胀 Thermal Expansion Mod下载
- 2021年机修钳工(中级)考试内容及机修钳工(中级)考试总结