ML坚持之路_Day1

Day_1

步骤一 —— 导入必需库

在进行数据分析,需要两个必须常用库 —— pandas 、 Numpy

import numpy as np
import pandas as pd

步骤二 —— 导入数据集

数据集一般为.csv格式,且通常为表格形式。每一行都有对应的数据记录

我们使用pandas中的read_csv的方式来读取数据集的内容,然后可以在Dataframe中分离矩阵和相关和不相关的向量

dataset = pd.read_csv(filepath_or_buffer=" ")
X = dataset.iloc[ : , : -1].values
Y = dataset.iloc[ : , 3].values

步骤三 —— 缺失值处理

关于缺失值(missing value)的处理,在sklearnpreprocessing包中包含了对数据集中缺失值的处理,主要是应用Imputer类进行处理

进行处理的数据集中包含缺失值一般步骤如下:

  1. 使用字符串'nan'来代替数据集中的缺失值;
  2. 将该数据集转换为浮点型便可以得到包含np.nan的数据集;
  3. 使用sklearn.preprocessing.Imputer类来处理使用np.nan对缺失值进行编码过的
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])

步骤四 —— 分类数据编码

分类数据一般包含标签分类值,而不是数据值。可能的变量通常限制在固定数据集中。单纯的变量值不能在数学模型等式中使用,所以我们需要对分类数据编码成数字。

作法: 从sklearn.preprocessing中导入LabelEncoder

from sklearn.preprocessing import LabelEncoder, OneHotEncoder
labelencoder_X = LabelEncoder()
X[ : , 0] = labelencoder_X.fit_transform(X[ : , 0])

再创建一个虚拟变量 (变量dummy化)

dummy variable是用0或1表示某个类别是否出现

onehotencoder = Onehotencoder(categorical_features = [0])
X = onehotencoder.fit_transform(X).toarray()
labelencoder_Y = LabelEncoder() 
Y = labelencoder_Y.fit_transform(Y)

步骤五 —— 将数据集分成 测试集 和 训练集

将数据集分为两个部分,一个训练集,另一个用来测试所建立的模型的表现。

通常分配数据比例为 80/20 。

接下来采用从sklearn.model_selection库中导入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)

注意:原来的cross_validation模块被弃用了,改为支持model_selection这个模块

步骤六 —— 特征缩放 (Feature scaling)

feature scaling(特征缩放)的思想就是将所选特征的value都缩放到一个大致相似的范围

通常来说,大部分机器学习算法都采用欧氏距离来计算两地的距离。特征在不同的量级、单位、排列上的极度不同会产生问题。高量级的数据的欧式距离的计算量会很大。

为使得特征标准化或Z-score统一化,需要导入 sklearn.preprocessing中的StandardScalar

代码如下:

from sklearn.preprocessing import StandardScalar
sc_X = StandardScalar()
X_train = sc_X.fit_transform(X_train)
X_test = sc_X.fit_transform(X_test)

第一天的学习结束啦,开心

本文作者: Keithxodoy
文章为作者一字一句敲出来,整理实在不容易,希望各位转载写明出处
须知:未经允许,不得转载

你可能感兴趣的:(ML坚持之路_Day1)