您好,登錄后才能下訂單哦!
本文實例為大家分享了Python數據預處理的具體代碼,供大家參考,具體內容如下
1.導入標準庫
import numpy as np import matplotlib.pyplot as plt import pandas as pd
2.導入數據集
dataset = pd.read_csv('data (1).csv') # read_csv:讀取csv文件 #創建一個包含所有自變量的矩陣,及因變量的向量 #iloc表示選取數據集的某行某列;逗號之前的表示行,之后的表示列;冒號表示選取全部,沒有冒號,則表示選取第幾列;values表示選取數據集里的數據。 X = dataset.iloc[:, :-1].values # 選取數據,不選取最后一列。 y = dataset.iloc[:, 3].values # 選取數據,選取每行的第3列數據
3.缺失數據
from sklearn.preprocessing import Imputer #進行數據挖掘及數據分析的標準庫,Imputer缺失數據的處理 #Imputer中的參數:missing_values 缺失數據,定義怎樣辨認確實數據,默認值:nan ;strategy 策略,補缺值方式 : mean-平均值 , median-中值 , most_frequent-出現次數最多的數 ; axis =0取列 =1取行 imputer = Imputer(missing_values = 'NaN', strategy = 'mean', axis = 0) imputer = imputer.fit(X[:, 1:3])#擬合fit X[:, 1:3] = imputer.transform(X[:, 1:3])
4.分類數據
from sklearn.preprocessing import LabelEncoder,OneHotEncoder labelencoder_X=LabelEncoder() X[:,0]=labelencoder_X.fit_transform(X[:,0]) onehotencoder=OneHotEncoder(categorical_features=[0]) X=onehotencoder.fit_transform(X).toarray() #因為Purchased是因變量,Python里面的函數可以將其識別為分類數據,所以只需要LabelEncoder轉換為分類數字 labelencoder_y=LabelEncoder() y=labelencoder_y.fit_transform(y)
5.將數據集分為訓練集和測試集
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) #X_train(訓練集的字變量),X_test(測試集的字變量),y_train(訓練集的因變量),y_test(訓練集的因變量) #訓練集所占的比重0.2~0.25,某些情況也可分配1/3的數據給訓練集;train_size訓練集所占的比重 #random_state決定隨機數生成的方式,隨機的將數據分配給訓練集和測試集;random_state相同時會得到相同的訓練集和測試集
6.特征縮放
#特征縮放(兩種方式:一:Standardisation(標準化);二:Normalisation(正常化)) from sklearn.preprocessing import StandardScaler sc_X=StandardScaler() X_train=sc_X.fit_transform(X_train)#擬合,對X_train進行縮放 X_test=sc_X.transform(X_test)#sc_X已經被擬合好了,所以對X_test進行縮放時,直接轉換X_test
7.數據預處理模板
(1)導入標準庫
(2)導入數據集
(3)缺失和分類很少遇到
(4)將數據集分割為訓練集和測試集
(5)特征縮放,大部分情況下不需要,但是某些情況需要特征縮放
以上所述是小編給大家介紹的Python數據預處理詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。