美文网首页
ML坚持之路_Day1

ML坚持之路_Day1

作者: Freyr_sau | 来源:发表于2018-08-05 21:47 被阅读0次

    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

          本文链接:https://www.haomeiwen.com/subject/ydjivftx.html