Python數據挖掘—特征工程—數據處理


概念:

特征工程:本質上是一項工程活動,他目的是最大限度地從原始數據中提取特征以供算法和模型使用

特征工程的重要性:特征越好,靈活性越強、模型越簡單、性能越出色。

 

特征工程包括:數據處理、特征選擇、維度壓縮

 

量綱不一:

就是單位,特征的單位不一致,不能放在一起比較

通過:0-1標准化、Z標准化、Normalizer歸一化

 

 

 

 

 

數據處理-歸一化:

 1 import pandas
 2 
 3 data=pandas.read_csv(
 4             "C:\\Users\\Jw\\Desktop\\python_work\\Python數據挖掘實戰課程課件\\6.1\\data1.csv")
 5 
 6 #Min-Max標准化
 7 from sklearn.preprocessing import MinMaxScaler
 8 
 9 scaler=MinMaxScaler()
10 
11 data["標准化累計票房"]=scaler.fit_transform(data[["累計票房"]])
12 data["標准化豆瓣得分"]=scaler.fit_transform(data[["豆瓣評分"]])
13 
14 #Z-Score標准化
15 from sklearn.preprocessing import scale
16 
17 data["標准化累計票房"]=scale(data["累計票房"])
18 data["標准化豆瓣評分"]=scale(data["豆瓣評分"])
19 
20 
21 #Normalizer歸一化
22 from sklearn.preprocessing import Normalizer
23 
24 scaler = Normalizer()
25 
26 data['歸一化累計票房'] = scaler.fit_transform(
27     data['累計票房']
28 )[0]
29 data['歸一化豆瓣評分'] = scaler.fit_transform(       
30     data['豆瓣評分']
31 )[0]
View Code

 

 

數據處理-虛擬變量:

虛擬變量也叫啞變量和離散特征編碼,可用來表示分類變量、非數量因素可能產生的影響

使用get_dummies獲取虛擬變量

如果新數據分類較少,要獲取前面的category類,可以用categories=data["列名"].cat.categories來得到之前的分類,與之前的列一一對應

 

 1 import pandas
 2 
 3 data=pandas.read_csv(
 4         "C:\\Users\\Jw\\Desktop\\python_work\\Python數據挖掘實戰課程課件\\6.1\\data2.csv")
 5 
 6 data["症狀"]=data["症狀"].astype("category")
 7 
 8 dummiesData = pandas.get_dummies(
 9     data, 
10     columns=['症狀'],
11     prefix=['症狀'],
12     prefix_sep="_"
13 )
14 
15 
16 newData=pandas.read_csv(
17         "C:\\Users\\Jw\\Desktop\\python_work\\Python數據挖掘實戰課程課件\\6.1\\data2New.csv")
18 
19 
20 newData["症狀"]=newData["症狀"].astype(
21     "category",
22     categories=data["症狀"].cat.categories)
23 
24 dummiesNewData=pandas.get_dummies(
25     newData,
26     columns=["症狀"],
27     prefix=["症狀"],
28     prefix_sep="_")
View Code

 數據處理—缺失值

缺失值產生原因:有些信息暫時無法獲取、有些信息被遺漏或者錯誤的處理了

缺失值處理方法:數據補齊、刪除缺失行、不處理

 

導入Imputer類,該類有三個備選項:mean、median、most_frequent

 1 import pandas
 2 
 3 data=pandas.read_csv("C:\\Users\\Jw\\Desktop\\python_work\\Python數據挖掘實戰課程課件\\6.1\\data3.csv")
 4 
 5 from sklearn.preprocessing import Imputer
 6 
 7 #mean,median,most_frequent
 8 
 9 imputer=Imputer(strategy="mean")
10 
11 data["累計票房"]=imputer.fit_transform(data[["累計票房"]])
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM