通過呼叫sklearn庫快速實現隨機森林、決策樹、極端隨機樹等分類演算法
(方便大家學習以及自己以後使用)
# -*- coding: utf-8 -*-
"""created on mon sep 21 20:08:53 2020
@author: dell
"""#import math
from sklearn.ensemble import randomforestclassifier
from sklearn.ensemble import extratreesclassifier
from sklearn.tree import decisiontreeclassifier
from sklearn.model_selection import train_test_split
from sklearn.model_selection import cross_val_score
from sklearn.datasets import make_blobs
import matplotlib.pyplot as plt
import numpy as np
n_features=
2x,y=make_blobs(n_samples=
5000
,n_features=n_features,centers=6)
#生成資料及標籤
x_train, x_test, y_train, y_test = train_test_split(x,y,random_state=
1,train_size=
0.7)
#劃分訓練集、測試集
clf1=randomforestclassifier(n_estimators=
10,max_features=math.sqrt(n_features)
, max_depth=
none
,min_samples_split=
2, bootstrap=
true
)#隨機森林分類器
clf2=decisiontreeclassifier(max_depth=
none
,min_samples_split=
2,random_state=0)
#決策樹分類器
clf3=extratreesclassifier(n_estimators=
10,max_features=math.sqrt(n_features)
, max_depth=
none
,min_samples_split=
2, bootstrap=
false
)#極端隨機樹分類器
scores1=cross_val_score(clf1,x_train,y_train)
#交叉驗證
scores2=cross_val_score(clf2,x_train,y_train)
scores3=cross_val_score(clf3,x_train,y_train)
print
('randomforestclassifier交叉驗證概率為:'
+str
(scores1.mean())
)print
('decisiontreeclassifier交叉驗證概率為:'
+str
(scores2.mean())
)print
('extratreesclassifier交叉驗證概率為:'
+str
(scores3.mean())
)
randomforestclassifier交叉驗證概率為:
0.9874285714285713
decisiontreeclassifier交叉驗證概率為:
0.9865714285714287
extratreesclassifier交叉驗證概率為:
0.9888571428571428
sklearn 機器學習庫
pipeline parameters steps 步驟 列表 list 被連線的 名稱,變換 元組 實現擬合 變換 的列表,按照它們被連線的順序,最後乙個物件是估計器 estimator memory 記憶體引數,instance of sklearn.external.joblib.memory...
機器學習之Sklearn庫
sklearn庫是在numpy scipy和matplotlib的基礎上開發而成的,因此在介紹sklearn的安裝前,需要先安裝這些依賴庫。numpy是乙個開源的python科學計算庫。scipy庫是sklearn庫的基礎,它是基於numpy的乙個整合了多種數學演算法和函式的python模組。mat...
機器學習python庫sklearn安裝
可以使用pip安裝。在安裝時需要進行包依賴檢查,具體有以下幾個要求 python 2.6 or 3.3 numpy 1.6.1 scipy 0.9 如果滿足上述條件,就能使用pip進行安裝了 pip install u scikit learn當然,使用pip安裝會比較麻煩,推薦使用anaconda...