資料分類流程(以titanic分類為例)

2021-08-11 20:34:03 字數 1257 閱讀 8580

一、流程(實際中,以下流程中各個環節可能是迴圈往復的)

以下資料為例

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 來評價分類演算法。正確率確實是...