• 机器学习(一)数据的预处理


    一、导入标准库(Python)

    1. import numpy as np --数据分析库
    2. import matplotlib.pyplot as plt --绘图库
    3. import pandas as pd --数据集导入

    二、导入数据集

            1.读取文件

    dataset = pd.read_csv('Data.csv')    --读取数据集合(csv文件)

            2.创建矩阵

    1. x = dataset.iloc[:,:-1].values --自变量
    2. --iloc表示取数据(行,列) 所有行和除最后一列外的数据
    3. y = dataset.iloc[:,:3].values --因变量
    1. --[]内数据的表示
    2. --[x:y,a] x->起始位置,y->终止位置,a->需要处理的数据的位置

    三、处理缺失数据

            这里使用的策略是使用当列的平均值代替缺失数据,此外常用的还有中位数,众数等方法

    1. from sklearn.preprocessing import Imputer --导入缺失数据处理类
    2. imputer = Imputer(missing_values='NaN',strategy = 'mean',axis=0)
    3. --参数含义:缺失数据,采用策略,作用对象为行/列
    4. imputer = imputer.fit(x[:,1:3]) --数据拟合
    5. x[:,1:3] = imputer.transform(x[:,1:3])

    四、分类数据

            将不同的类别转换为有意义的数值(例如利用bool、string)

    1. from sklearn.preprocessing import LabelEncoder --标签编码器,转义为数字
    2. labelencoder_X = LabelEncoder(); --创建对象
    3. x[:,0] = labelencoder_X.fit_transform(x[:,0]) --拟合+转换

            虚拟编码:将标签转变为编码,使其没有顺序区别

    1. --需要和上面的转换代码混合使用
    2. from sklearn.preprocessing import OneHotEncoder --引入工具
    3. onehotencoder = OneHotEncoder(categorical_features = [0]) --处理数据集的列号
    4. x = onehotencoder.fit_transform(x).toarry()

    五、训练集和测试集

    1. from sklearn.model_selection import train_test_split --引入工具
    2. x_train,x_test,y_trian,y_test = train_test_split(x,y,test_size=0.2,random_state = 0)
    3. --参数:需要划分的数据,测试集比重(一般为0.2-0.25),训练集比重(一般不单独赋值),随机数生成方式
    4. --训练集的自变量、因变量 / 测试集的自变量、因变量

    六、特征缩放

            ①用于解决欧氏距离遍历数量级差距过大的问题(若差距过大则会出现由数量关系中的某一组数据主导关系的存在)

                    欧氏距离:(斜线公式)

            ②加速决策树的收敛

            如何进行特征缩放

            1.标准化

                             mean--平均值        StanderDeviation--标准方差

                             x会得到一个平均值为0,标准方差为1的分布

            2.正常化

                             0-1区间内的等比缩小

            3.进行缩放

    1. from sklearn.preprocessing import standerScaler --导入工具
    2. sc_x = standardScaler() --类对象
    3. x_train = sc_x.fit_transform(x_train) --拟合+转换
    4. x_test = sc_x.transform(x_test) --已经拟合过了,直接转换

    七、数据预处理标准模板

            一般的数据预处理很少用到缺失数据、分类数据,一般使用以下几步

                    ①读取数据

                    ②测试集和训练集分割

                    ③特征缩放(部分情况需要使用)

  • 相关阅读:
    云通信接口更新迭代——SUBMAIL API V4正式上线
    删除.log后缀bat脚本
    20221201今天的世界发生了什么
    springboot+jsp高校学院校园网站
    十八、Linux任务调度crond和at
    Android学习笔记 55. 重新认识Android studio开发工具之项目目录结构
    摩尔信使MThings提供丰富的组态控件
    手把手教你如何扩展(破解)mybatisplus的sql生成 | 京东云技术团队
    阿里云10M公网收费价格表(一年和1个月报价)
    SpringCloud 框架以及各组件总结
  • 原文地址:https://blog.csdn.net/weixin_37878740/article/details/126222629