机器学习一百天中文版地址

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

机器学习一百天 数据预处理相关推荐

  1. 回归素材(part9)--PYTHON机器学习手册-从数据预处理到深度学习

    学习笔记,仅供参考,有错必纠 PYTHON机器学习手册-从数据预处理到深度学习 通过正则化减少方差 我们可以使用岭回归或者Lasso回归,介绍回归模型的方差.

  2. 机器学习模型的数据预处理和可视化

    本文为 AI 研习社编译的技术博客,原标题 : Data Pre-processing and Visualization for Machine Learning Models 作者 |* Nata ...

  3. 「机器学习速成」数据预处理,特征工程,良好特征的特点

    https://www.toutiao.com/a6703863693408469516/ 大家好,今天我们学习[机器学习速成]之 数据预处理,特征工程,良好特征的特点 我们 马上学三点 , 特征工程 ...

  4. scikit-learn机器学习八 (数据预处理)

    sk-learn机器学习之特征工程和数据预处理 特征工程和数据预处理的重要性 数据无量纲化 归一化 标准化 处理缺失值 分类特征处理:编码,哑变量 标签处理(LabelEncoder) 特征处理(Or ...

  5. 深入浅出python机器学习_9.1_数据预处理_sklearn.preprocessing.StandardScaler MinMaxScaler RobustScaler Normalizer

    # 使用StandardScaler进行数据预处理import numpyimport matplotlib.pyplot as pltfrom sklearn.datasets import mak ...

  6. 机器学习中的数据预处理(sklearn preprocessing)

    Standardization即标准化,尽量将数据转化为均值为零,方差为一的数据,形如标准正态分布(高斯分布).实际中我们会忽略数据的分布情况,仅仅是通过改变均值来集中数据,然后将非连续特征除以他们的 ...

  7. 阅读宋立恒《AI制胜:机器学习极简入门》第2章:机器学习中的数据预处理

    文章目录 一.数据预处理的重要性和原则 二.数据预处理方法介绍 (一)数据预处理案例--标准化.归一化.二值化 1.标准化.归一化.二值化 2.范例程序 (二)数据预处理案例--缺失值补全.标签化 1 ...

  8. 机器学习与数据挖掘——数据预处理

    如果有兴趣了解更多相关内容,欢迎来我的个人网站看看:瞳孔空间 一:关于数据预处理 在工程实践中,我们得到的数据会存在有缺失值.重复值等,在使用之前需要进行数据预处理.数据预处理没有标准的流程,通常针对 ...

  9. 【机器学习】Scikit-Learn数据预处理文档翻译+笔记记录 - 1

    翻译本文档,系统学习以下数据的预处理方式. 原文档地址:https://scikit-learn.org/stable/modules/preprocessing.html#preprocessing ...

最新文章

  1. ZooKeeper 如何保证数据一致性
  2. 告诉服务器端当前请求的意图
  3. php实战https请求,用php发https请求
  4. 仿简书、淘宝等等App的View弹出效果
  5. JAVA学习笔记_五JAVA开发中的WEB前端技术
  6. PHP操作Memcache实例介绍
  7. 今晚8点直播(内含福利)丨 Oracle RAC集群安装部署
  8. Flutter布局锦囊---圆框的表单字段
  9. 【汇编语言】开发过程
  10. 177. Python语言 的 Flask框架项目 之 发布房源 模块的开发
  11. Pattern Recognition and Machine Learning(模式识别与机器学习)第一章导读
  12. 波形和函数发生器(Waveform and Function Generator)
  13. QQ连连看外挂--基于LAScript
  14. 分享到微信微博QQ空间JS代码大全
  15. 网络 DNS 解析与CDN加速
  16. 使用Yomail的时候出现的错误解决方案
  17. 中国传统色的魅力|这8组中国风传统颜色你一定要收藏
  18. C++ 开源密码库之OpenSSL的使用
  19. 计算机结构化面试万能套话,结构化面试30句万能套话拯救你.pdf
  20. 【黑灰产犯罪研究】涉物联网犯罪

热门文章

  1. 学生成绩字典、获取最高分科目分数python_实例:找出分数最高的学生
  2. php 汉王云名片_风吹雨名片互赞系统PHP程序
  3. python实现淘宝客服自动回复语_Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例...
  4. 用System中System.setOut()方法修改输出方式
  5. 静电除尘器工作原理应用实训教学QY-HJGC03
  6. 微信小店二次开发_怎么吧微信小店装修的更好看
  7. 问题 C: 小写转大写
  8. 商场触摸互动广告机有哪些功能
  9. 我的世界热力膨胀JAVA_我的世界1.12-1.6.4热力膨胀 Thermal Expansion Mod下载
  10. 2021年机修钳工(中级)考试内容及机修钳工(中级)考试总结