机器学习之数据预处理

在这里插入图片描述
在这里插入图片描述

一. 导入需要的库
例如,科学计算的NumPy、数据处理的Pandas。画图的包matplotlib。
二. 导入数据集
使用pandas.read_csv读取csv文件。使用其他的方法读取不同类型的文档。
三. 处理数据的缺失值
我们可以使用缺失数据那一列的均值,或者是中位数、众数来进行替换,如何数据量大的情况下,也可以视情况来进行缺失数据的删除。
四. 特征归一化
样本的不同的特征之间的值可能会有较大的差距,所以为了确保模型的准确度,不能直接进行输入,可以将所有的特征值进行缩放到固定的区间内。例如0-1之间等。使用sklearn中的preprocessing中的StandardScalar类。
五.分类数据转换
将特征值中的分类数据进行LabelEncode转化,在进行OnehotEncode进行0-1虚拟变量转换。
六. 数据集划分
数据预处理完成后,进行数据集划分,将数据集按照一定的比例划分训练集和测试集。使用sklearn中train_test_split()方法。

代码:

import numpy as np
import pandas as pd
from sklearn.preprocessing import Imputer
from sklearn.preprocessing import LabelEncoder,OneHotEncoder,StandardScaler
from sklearn.model_selection import train_test_split

数据导入

data = pd.read_csv(‘Data.csv’,encoding=“utf-8”)
X = data.iloc[ : , : -1]
Y = data.iloc[ : , -1]

缺失值处理

imputer = Imputer( missing_values= ‘NaN’, strategy= ‘mean’ , axis = 0)
imputer = imputer.fit_transform(X[ : , 1:3])

分类数据转化

labelencoder_x = LabelEncoder()
X[ : , 0] = labelencoder_x.fit_transform(X[ : ,0])
onehot = OneHotEncoder(categorical_features=[0])
X = onehot.fit_transform(X).toarray()

labelencoder_y = LabelEncoder()
Y = labelencoder_y.fit_transform(Y)

特征缩放

sc_X = StandardScaler()
X = sc_X.fit_transform(X)

数据集划分

X_train,X_test,Y_train,Y_test = train_test_split(X,Y,test_size=0.2,random_state=0)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值