一、流程(實際中,以下流程中各個環節可能是迴圈往復的)
以下資料為例
trn_df = pd.read_csv("./train.csv")
tst_df = pd.read_csv("./test.csv")
1、觀察資料(以下對特徵和類的變換,要用在trn和tst上,切忌只操作trn)
(1)概覽(有多少特徵,每種特徵型別,類別數,缺失情況)
trn_df.info()
trn_df.describe(include='all')
(2)類分布、特徵值分布(可以通過多種圖示方式展示value_counts()-->bar()、groupby、hist、 kde)
trn_survived_vals = trn_df.survived.value_counts()
trn_df.age.plot(kind='kde')
(3)特徵和類標籤之間的關係
trn_df.age[trn_df.survived == 0].plot(kind='hist')
trn_df.age[trn_df.survived == 1].plot(kind='hist')
df.plot.bar(stacked=true)
trn_df.groupby(['sibsp','survived']).count()
2、預處理
(1)缺失值處理
drop缺失過多的行或列
將缺失值作為乙個特殊值
變換填充(依據全體或同類或相似樣本對應特徵值)
(2)對categorical特徵進行,dummy變換
dummy_*** = pd.get_dummies(trn_df['***'], prefix='***')
trn_df.drop(['***'], axis=1, inplace=true)
trn_df = pd.concat([trn_df, dummies_cabin, dummies_embarked, dummy_***], axis=1)
(3)scaling處理
min-max
x'=}(x)}}(x)-}(x)}}
normalization
x' = \frac}
scaling to unit length
}} x'=}
(4)特徵選擇
手工(根據之前的觀察)選擇
機器學習方法選擇(隨機森林)
3、cv(模型及引數選擇)
4、訓練
5、**
Task03 分類資料
分類變數的建立 pd.series a b c a dtype category 用series建立 對dataframe指定型別建立 利用內建categorical型別建立 利用cut函式建立 pd.cut np.random.randint 0,60,5 0,10,30,60 預設使用區間型別為...
Pandas Day8 分類資料
ex8 1 import pandas as pd import numpy as np df pd.read csv data earthquake.csv print df.head 將深度分為七個等級 0,5,10,15,20,30,50,np.inf 請以深度等級 為索引並按照由淺到深的順序...
資料探勘系列(5)分類演算法評價
一 引言 分類演算法有很多,不同分類演算法又用很多不同的變種。不同的分類演算法有不同的特定,在不同的資料集上表現的效果也不同,我們需要根據特定的任務進行演算法的選擇,如何選擇分類,如何評價乙個分類演算法的好壞,前面關於決策樹的介紹,我們主要用的正確率 accuracy 來評價分類演算法。正確率確實是...