機器學習 day05 三

2021-09-25 03:09:39 字數 1945 閱讀 2382

1. 相關匯入

模組的匯入

# 匯入決策樹

from sklearn.tree import decisiontreeclassifier

# 匯入資料集

from sklearn import datasets

# 匯入 分割訓練集和分割測試集 ,網格搜尋

from sklearn.model_selection import train_test_split,gridsearchcv

# 匯入鳶尾花資料集

iris = datasets.load_iris()

取出 特徵 和 標籤,分割訓練集和測試集

建立分類樹模型

檢視相應的引數:

criterion引數:衡量類別純度的指標,預設是gini;可取值有資訊熵和gini值,即entropy和gini

max_depth引數:表示最大深度,預設是none,如果是none代表這個樹的深度可以是任意的,一直會擴充套件到所有的葉子節點都是純的或者葉子節點都包含少於min_samples_split個樣本數

min_samples_split引數:可選項,預設是2,代表區分乙個內部節點的最少樣本數

2. 訓練與效能檢測

訓練

效能檢測

泛化能力不足,經驗集上表現良好,出現了過擬合

檢視查正率,召回率 f1值

1的精確率不足:**能力不足

2的召回率不足:**真正正確的樣本能力弱

檢查資料

data的每一列資料的範圍波動不是很大,不需要優先考慮資料的調優,實在不行的時候再考慮資料調優,先進行演算法調優

3. 演算法調優

新建乙個演算法進行調優

演算法調優是對以下引數進行調優:

criterion引數:可選 entropy 和 gini

max_depth引數:data資料只有4個屬性,所以這個樹的深度最深為4層

min_samples_split引數:可選項為 2,3,4

檢視效能

效能比上面的更好了,然後測試一下資料調優,能不能更加優化

4. 資料調優

4.1 歸一化

建立歸一化模型,進行資料的相關轉化

新建演算法模型

檢視效能

可以發現,資料調優和上面的演算法調優效能沒有區別,因為data資料的範圍波動不是很大,當然,在實際專案中,為了嚴謹性,資料調優應該歸一化,標準化,正則化三種方式都進行調優,都是一樣的步驟

C 學習筆記 day05

1 變數的儲存 1 記憶體是一塊空間,把其中的每個位元組做了編號,為了以後計算機能通過編號找到資料 2 編址方式 絕對編址 在整個程式中使用 相對編址 位元組相對於邏輯0偏移量,在程序中使用 4 儲存位址 指標 儲存變數的位址 指標的型別由將要儲存的位址的變數型別決定 int 只能儲存int變數的位...

Python學習筆記day05

高階函式 課後練習 不可變的資料型別一定可雜湊 hash 內建函式可以判斷某個型別是否可雜湊 s1 s2 s3 s4 print s1,s2,s3的交集 s1.intersection s2,s3 print s1,s2,s3的交集 s1 s2 s3 print s1,s2,s3的並集 s1.uni...

JS學習 day05 陣列

一 陣列定義 1 一系列有序 索引 的資料集合。2 格式 資料1,資料2,3 建立方式 1 字面量 賦值式 var arr 1,2,3 2 內建建構函式建立陣列 var arr new array 1,2,3 注意 當括號裡只有乙個資料時,表示陣列長度 length 4 陣列長度length表示陣列...