摘要:數(shù)據(jù)預(yù)處理分為步第步導(dǎo)入和庫。數(shù)據(jù)可能因為各種原因丟失,為了不降低機器學(xué)習(xí)模型的性能,需要處理數(shù)據(jù)。代碼如下視頻教學(xué)群導(dǎo)入類庫導(dǎo)入數(shù)據(jù)集處理缺失的數(shù)據(jù)編碼分類數(shù)據(jù)切分?jǐn)?shù)據(jù)集成訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)特征縮放
數(shù)據(jù)預(yù)處理分為6步:
第1步:導(dǎo)入NumPy和Pandas庫。NumPy和Pandas是每次都要導(dǎo)入的庫,其中Numpy包含了數(shù)學(xué)計算函數(shù),Pnadas是一個用于導(dǎo)入和管理數(shù)據(jù)集(Data Sets)的類庫。
第2步:導(dǎo)入數(shù)據(jù)集。數(shù)據(jù)集一般都是.csv格式,csv文件以文本形式存儲數(shù)據(jù)。每一行數(shù)據(jù)是一條記錄。我們使用pandas類庫的read_csv方法讀取本地的csv文件作為一個dataframe。然后從datafram中分別創(chuàng)建自變量和因變量的矩陣和向量。
第3步:處理缺失的數(shù)據(jù)。我們得到的數(shù)據(jù)很少是完整的。數(shù)據(jù)可能因為各種原因丟失,為了不降低機器學(xué)習(xí)模型的性能,需要處理數(shù)據(jù)。我們可以用整列的平均值或者中間值替換丟失的數(shù)據(jù)。我們用sklearn.preprocessing庫中的Inputer類完成這項任務(wù)。
第4步:對分類數(shù)據(jù)進(jìn)行編碼。分類數(shù)據(jù)指的是含有標(biāo)簽值而不是數(shù)字值得變量。取值范圍通常是固定的。例如“YES”和“NO”不能用于模型的數(shù)學(xué)計算,所以需要編碼成數(shù)字。為數(shù)顯這一功能,我們從sklearn.preprocessing庫中導(dǎo)入LabelEncoder類。
第5步:拆分?jǐn)?shù)據(jù)集為測試集合和訓(xùn)練集合。把數(shù)據(jù)集拆分成兩個,一個是用來訓(xùn)練模型的訓(xùn)練集合,另一個是用來驗證模型的測試集合。兩種比例一般是80:20。我們導(dǎo)入sklearn.crossvalidation庫中的train_test_split()方法。
第6步:特征縮放。大部分模型算法使用兩點間的歐式近距離表示,但此特征在幅度、單位和范圍姿態(tài)問題上變化很大。在距離計算中,高幅度的特征比低幅度特征權(quán)重大。可用特征標(biāo)準(zhǔn)化或Z值歸一化解決。導(dǎo)入sklearn.preprocessing庫的StandardScalar類。
代碼如下: 視頻教學(xué)QQ群 519970686
1 Step 1: 導(dǎo)入類庫
2
3 import numpy as np
4 import pandas as pd
5
6 Step 2: 導(dǎo)入數(shù)據(jù)集
7 dataset = pd.read_csv("Data.csv")
8 X = dataset.iloc[ : , :-1].values
9 Y = dataset.iloc[ : , 3].values
10
11 Step 3: 處理缺失的數(shù)據(jù)
12 from sklearn.preprocessing import Imputer
13 imputer = Imputer(missing_values = "NaN", strategy = "mean", axis = 0)
14 imputer = imputer.fit(X[ : , 1:3])
15 X[ : , 1:3] = imputer.transform(X[ : , 1:3])
16
17 Step 4:編碼分類數(shù)據(jù)
18 from sklearn.preprocessing import LabelEncoder, OneHotEncoder
19 labelencoder_X = LabelEncoder()
20 X[ : , 0] = labelencoder_X.fit_transform(X[ : , 0])
21 Creating a dummy variable
22
23 onehotencoder = OneHotEncoder(categorical_features = [0])
24 X = onehotencoder.fit_transform(X).toarray()
25 labelencoder_Y = LabelEncoder()
26 Y = labelencoder_Y.fit_transform(Y)
27
28 Step 5: 切分?jǐn)?shù)據(jù)集成訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)
29 from sklearn.cross_validation import train_test_split
30 X_train, X_test, Y_train, Y_test = train_test_split( X , Y , test_size = 0.2, random_state = 0)
31
32 Step 6: 特征縮放
33 from sklearn.preprocessing import StandardScaler
34 sc_X = StandardScaler()
35 X_train = sc_X.fit_transform(X_train)
36 X_test = sc_X.fit_transform(X_test)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/42445.html
摘要:此外,與訓(xùn)練機器學(xué)習(xí)模型的作業(yè)相比,作業(yè)具有不同的執(zhí)行配置文件。此外,還制作了一個界面,以便控制機器學(xué)習(xí)的參數(shù)指定用于訓(xùn)練的數(shù)據(jù)量等。 摘要: 一份機器學(xué)習(xí)過來人的經(jīng)驗清單分享,主要是包含一些關(guān)于構(gòu)建機器學(xué)習(xí)工作流以及Apache Spark應(yīng)該注意的一些事項,希望這個清單能夠幫助那些正在學(xué)習(xí)機器學(xué)習(xí)的相關(guān)人員少走一些彎路,節(jié)約一些時間。 showImg(https://segment...
摘要:在這里我分享下我個人入門機器學(xué)習(xí)的經(jīng)歷,希望能對大家能有所幫助。相關(guān)學(xué)習(xí)鏈接,,入門后的體驗在入門了機器學(xué)習(xí)之后,在實際工作中,絕大多數(shù)的情況下你并不需要去創(chuàng)造一個新的算法。 機器學(xué)習(xí)在很多眼里就是香餑餑,因為機器學(xué)習(xí)相關(guān)的崗位在當(dāng)前市場待遇不錯,但同時機器學(xué)習(xí)在很多人面前又是一座大山,因為發(fā)現(xiàn)它太難學(xué)了。在這里我分享下我個人入門機器學(xué)習(xí)的經(jīng)歷,希望能對大家能有所幫助。 PS:這篇文章...
閱讀 1297·2021-11-22 09:34
閱讀 2162·2021-10-08 10:18
閱讀 1724·2021-09-29 09:35
閱讀 2453·2019-08-29 17:20
閱讀 2137·2019-08-29 15:36
閱讀 3398·2019-08-29 13:52
閱讀 775·2019-08-29 12:29
閱讀 1183·2019-08-28 18:10