defrag Trees 괜찮은 것 같아요.
4215 단어 randomForest기계 학습Pythonxgboost
이번에는 defrag Trees라는 기계 학습 라이브러리를 소개합니다.
이른바 defragTrees
RandomForest와 XGBoost 등에 대해 정밀도와 커버를 최대한 낮추지 않고 모델(규칙 감소) 기법을 간단하게 표현하는 라이브러리를 사용했다.
규칙이 적기 때문에 사람들이 볼 때 이해하기 쉬운 부분.
예를 들어 간단한 데이터(Figure 1의 a)라도 합성기 학습은 헛되이 복잡해지는 경우(Figure 1의 b)가 있다.따라서 defragTrees를 사용하면 원래와 같이 간단해진다(Figure1c).
사용법
from defragTrees import DefragModel
Kmax = 10 # uppder-bound number of rules to be fitted
mdl = DefragModel(modeltype='regression') # change to 'classification' if necessary.
mdl.fit(y, X, splitter, Kmax)
splitter
R의 RandomForest, XGBoost, scikit-learn 데이터를 사용할 수 있습니다.
scikit-learn으로 아이리스를 분류해서 defrag 해주세요.
from sklearn.datasets import load_iris
from sklearn.ensemble import GradientBoostingClassifier
from defragTrees import DefragModel
iris = load_iris()
tree = GradientBoostingClassifier()
tree.fit(iris.data, iris.target)
splitter = DefragModel.parseSLtrees(tree)
mdl = DefragModel(modeltype='classification')
mdl.fit(iris.target, iris.data, splitter, 10, fittype='FAB')
여기print(mdl)
에서 규칙을 볼 수 있습니다.[Rule 1]
y = 0 when
x_4 < 0.800000
[Rule 2]
y = 1 when
x_2 < 3.150000
x_3 < 4.750000
x_4 >= 0.800000
[Rule 3]
y = 2 when
x_1 >= 4.950000
x_3 >= 3.900000
x_4 >= 1.350000
[Otherwise]
y = 0
나는 간단한 규칙으로 아이리스를 분류할 수 있다는 것을 알았다.
Reference
이 문제에 관하여(defrag Trees 괜찮은 것 같아요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yukinoi/items/dc1d378b1bb3e7ff5ac6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
from defragTrees import DefragModel
Kmax = 10 # uppder-bound number of rules to be fitted
mdl = DefragModel(modeltype='regression') # change to 'classification' if necessary.
mdl.fit(y, X, splitter, Kmax)
from sklearn.datasets import load_iris
from sklearn.ensemble import GradientBoostingClassifier
from defragTrees import DefragModel
iris = load_iris()
tree = GradientBoostingClassifier()
tree.fit(iris.data, iris.target)
splitter = DefragModel.parseSLtrees(tree)
mdl = DefragModel(modeltype='classification')
mdl.fit(iris.target, iris.data, splitter, 10, fittype='FAB')
[Rule 1]
y = 0 when
x_4 < 0.800000
[Rule 2]
y = 1 when
x_2 < 3.150000
x_3 < 4.750000
x_4 >= 0.800000
[Rule 3]
y = 2 when
x_1 >= 4.950000
x_3 >= 3.900000
x_4 >= 1.350000
[Otherwise]
y = 0
Reference
이 문제에 관하여(defrag Trees 괜찮은 것 같아요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yukinoi/items/dc1d378b1bb3e7ff5ac6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)