100天机器学习-1

Day-1

pd.iloc()

用于切分pandas的数据,基于整数位置索引。再通过.values即可返回numpy表示。

1
2
x=data.iloc[:,:-1].values
y=data.iloc[:,3].values

处理缺失值(missing value)

数据集中有些数据的值为NaN。值得一提的是,在numpy中,NaN(Not a Number)属于float类型的。可以使用sklearn.preprocessing中的类Imputer来处理这些缺失值。具体步骤如下:

1
2
3
4
5
6
7
8
from sklearn.preprocessing import Imputer

# 创立一个imputer对象,参数是对缺失值的处理方式
imputer=Imputer(missing_values='NaN',strategy='mean',axis=0)
# fit()方法是用数组x去"训练"imputer对象
imputer=imputer.fit(x[:,1:3])
# transform()是用训练好的对象再对x进行处理
x[:,1:3]=imputer.transform(x[:,1:3])

关于缺失值(missing value)的处理

解析分类数据(encoding categorical data)

分类数据是指不用数字而用标签的变量,比如本例中的“Yes”和“No”。为了方便处理,可以用sklearn.preprocessing模块中的LabelEncoder类把他们转换成数字。

1
2
3
4
5
from sklearn.preprocessing import LabelEncoder,OneHotEncoder

labelencoder_X=LabelEncoder()
# fit()给标签编码,并且返回编码后的值
x[:,0]=labelencoder_X.fit_transform(x[:,0])
-------------End-------------
梦想总是要有的,万一有人有钱呢?