python数据预处理代码_Python中数据预处理(代码)
本篇文章給大家?guī)?lái)的內(nèi)容是關(guān)于Python中數(shù)據(jù)預(yù)處理(代碼),有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。1、導(dǎo)入標(biāo)準(zhǔn)庫(kù)import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
2、導(dǎo)入數(shù)據(jù)集dataset = pd.read_csv('data (1).csv') # read_csv:讀取csv文件
#創(chuàng)建一個(gè)包含所有自變量的矩陣,及因變量的向量
#iloc表示選取數(shù)據(jù)集的某行某列;逗號(hào)之前的表示行,之后的表示列;冒號(hào)表示選取全部,沒(méi)有冒號(hào),則表示選取第幾列;values表示選取數(shù)據(jù)集里的數(shù)據(jù)。
X = dataset.iloc[:, :-1].values # 選取數(shù)據(jù),不選取最后一列。
y = dataset.iloc[:, 3].values # 選取數(shù)據(jù),選取每行的第3列數(shù)據(jù)
3、缺失數(shù)據(jù)from sklearn.preprocessing import Imputer #進(jìn)行數(shù)據(jù)挖掘及數(shù)據(jù)分析的標(biāo)準(zhǔn)庫(kù),Imputer缺失數(shù)據(jù)的處理
#Imputer中的參數(shù):missing_values 缺失數(shù)據(jù),定義怎樣辨認(rèn)確實(shí)數(shù)據(jù),默認(rèn)值:nan ;strategy 策略,補(bǔ)缺值方式 : mean-平均值 , median-中值 , most_frequent-出現(xiàn)次數(shù)最多的數(shù) ; 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、分類數(shù)據(jù)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()
#因?yàn)镻urchased是因變量,Python里面的函數(shù)可以將其識(shí)別為分類數(shù)據(jù),所以只需要LabelEncoder轉(zhuǎn)換為分類數(shù)字
labelencoder_y=LabelEncoder()
y=labelencoder_y.fit_transform(y)
5、將數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集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ùn)練集的字變量),X_test(測(cè)試集的字變量),y_train(訓(xùn)練集的因變量),y_test(訓(xùn)練集的因變量)
#訓(xùn)練集所占的比重0.2~0.25,某些情況也可分配1/3的數(shù)據(jù)給訓(xùn)練集;train_size訓(xùn)練集所占的比重
#random_state決定隨機(jī)數(shù)生成的方式,隨機(jī)的將數(shù)據(jù)分配給訓(xùn)練集和測(cè)試集;random_state相同時(shí)會(huì)得到相同的訓(xùn)練集和測(cè)試集6、特征縮放#特征縮放(兩種方式:一:Standardisation(標(biāo)準(zhǔn)化);二:Normalisation(正常化))
from sklearn.preprocessing import StandardScaler
sc_X=StandardScaler()
X_train=sc_X.fit_transform(X_train)#擬合,對(duì)X_train進(jìn)行縮放
X_test=sc_X.transform(X_test)#sc_X已經(jīng)被擬合好了,所以對(duì)X_test進(jìn)行縮放時(shí),直接轉(zhuǎn)換X_test
7、數(shù)據(jù)預(yù)處理模板
(1)導(dǎo)入標(biāo)準(zhǔn)庫(kù)
(2)導(dǎo)入數(shù)據(jù)集
(3)缺失和分類很少遇到
(4)將數(shù)據(jù)集分割為訓(xùn)練集和測(cè)試集
(5)特征縮放,大部分情況下不需要,但是某些情況需要特征縮放
以上就是Python中數(shù)據(jù)預(yù)處理(代碼)的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
本文轉(zhuǎn)載于:博客園,如有侵犯,請(qǐng)聯(lián)系a@php.cn刪除
總結(jié)
以上是生活随笔為你收集整理的python数据预处理代码_Python中数据预处理(代码)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 查看socket缓冲区数据_什么是soc
- 下一篇: if嵌套while循环语句_Python