1-机器学习-数据预处理

一、导入库

import numpy as np
import pandas as np

二、导入数据集

dataset=pd.read_csv('Data.csv')#见参考文献的第二个网址
#将特征和因变量分开
X=dataset.iloc[:,:-1].values #.iloc通过制定索引来对dataframe进行切片
Y=dataset.iloc[:,3].values

三、处理丢失数据

# 使用sklearn.preprocessing的IMputer来处理
from sklearn.preprocessing import Imputer
imputer=Imputer(missing_values='NaN',strategy="mean",axis=0)#取均值来代替缺失值
imputer=imputer.fit(X[:,1:3])
X[:,1:3]=imputer.transform(X[:,1:3])

四、分类数据编码

from sklearn.preprocessing import LabelEncoder,OneHotEncoder
labelencoder_X=LabelEncoder()
X[:,0]=labelencoder_X.fit_transform(X[:,0])
'''将X[:,0]看做一个集和,去除多余的元素,得到标签值[France,Germany,Spain],然后用各个元素的在标签数组中的索引值替换X[:,0]中元素的对应值,[France,Spain,Germany,Spain,Germany,France,Spain,France,Germany,France]
即为[0,2,1,2,1,0,2,0,1,0]
''' 

# 创建哑变量
# 想对第一列虚拟数据进行编码处理,所以我们设定 categorical_features 中的 index=0
onehotencoder=OneHotEncoder(categorical_features=[0])
X=onehotencoder.fit_transform(X).toarray()
labelencoder_Y=LabelEncoder()
Y=labelencoder_Y.fit_transform(Y)

五、划分测试集和训练集

from sklearn.cross_validation import train_test_split
X_train,X_test,Y_train,Y_test=train_test_split(X,Y,test_size=0.2,random_state=0)

六、特征缩放

#对数据进行标准化
from sklearn.preprocessing import StandardScaler
sc_X=StandardScaler()
X_train=sc_X.fit_transform(X_train)
X_test=sc_X.fit_transform(X_test)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值