https://github.com/PacktPublishing/Machine-Learning-Algorithms
一样先导入套件,但是这次只用旧工具算数学(绰号一样),但用不同工具来画画。
import numpy as np
用Jupyter Notebook的话,要先载入graphviz,它是一种树工具,再用内建函式export_graphviz()。
pip install graphviz
from sklearn.tree import export_graphviz
再来,用seed()随机产生整数的乱数後,设定样本数500,建立有3个特徵及类别的样本集。
from sklearn.datasets import make_classification np.random.seed(1000) nb_samples = 500 X, Y = make_classification(n_samples=nb_samples, n_features=3, n_informative=3, n_redundant=0, n_classes=3, n_clusters_per_class=1)
接着用预设的吉尼(Gini)不纯度来分类,Gini是用来判断分类的乾不乾净(这批纯不纯),数值越小越纯[价格越高(误)]。
经历建立决策树分类器後,交叉验证准确率,大概97%。
from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import cross_val_score dt = DecisionTreeClassifier() dt_scores = cross_val_score(dt, X, Y, scoring='accuracy', cv=10) print('Decision tree score: %.3f' % dt_scores.mean()) # Decision tree score: 0.972
对MNIST数字集使用网格搜寻以及最常见的参数,得到大概82%准确率。
from sklearn.model_selection import GridSearchCV param_grid = [{ 'criterion': ['gini', 'entropy'], 'max_features': ['auto', 'log2', None], 'min_samples_split': [2, 10, 25, 100, 200], 'max_depth': [5, 10, 15, None] }] gs = GridSearchCV(estimator=DecisionTreeClassifier(), param_grid=param_grid,scoring='accuracy', cv=10, n_jobs=multiprocessing.cpu_count()) gs.fit(digits.data, digits.target) print(gs.best_estimator_) # DecisionTreeClassifier() print('Decision tree score: %.3f' % gs.best_score_) # Decision tree score: 0.822
>>: D-7. Rails API认证功能 && Find All Numbers Disappeared in an Array
前言: 今天是第26天啦,阿森在整个开发的部分也差不多完成了,准备进入最後上架测试阶段! 在上架的...
变数(variable)-Boolean 主要为 true、false,内容为判断式也可以,如 2&...
在上个世代的大战中、虽然 XBOX 的表现基本不算太差、最终来到了 2,400 万部得到第二名、稍胜...
连续发文快两个礼拜了,今天很悠闲了看了场电影、煮饭、洗衣服、健身还有整理家里之後,回过神来,已经快1...
建立 Vite 专案 在你要放置专案的地方执行这个指令来建立 vue 模板的 vite 专案 # n...