栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【机器学习】使用sklearn的model

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【机器学习】使用sklearn的model

目录

首先:文中有废话,有缺失是必然的,大家听我bb几分钟,不如看看

  • 官方文档

比如我们现在有一颗决策树了,我们看了看模型得分,嚯,太磕碜了
必须得作出一些改变了
这里的调参指调超参,
一般参数,是拟合出一个模型后,比如说用回归树,拟合出一条一次直线,有了几个斜率和一个截距,这是参数
超参是参数的参数,比如得出这条直线用到的:树的最大深度、节点拆分策略是随机拆分呀还是最佳拆分这些

dtm = DecisionTreeRegressor(max_depth=4,
                           min_samples_split=5,
                           max_leaf_nodes=10)
dtm.fit(X,y)
dtm.fit(X_test,y_test)   

print("R-Squared on train dataset={}".format(dtm.score(X_test,y_test)))
print("R-Squaredon test dataset={}".format(dtm.score(X_test,y_test)))

怎么改变呢,如果动手能力强,可以写点for循环,让他慢慢跑
当然sklearn也有现成的包可以调
那就优雅地调包吧

from sklearn.metrics import make_scorer
from sklearn.model_selection import GridSearchCV

clf = DecisionTreeClassifier(random_state=42)

# TODO: Create the parameters list you wish to tune.
parameters = {'max_depth':[2,4,6,8,10],
			  'min_samples_leaf':[2,4,6,8,10], 
			  'min_samples_split':[2,4,6,8,10]}

# TODO: Make an fbeta_score scoring object.
scorer = make_scorer(f1_score)

# TODO: Perform grid search on the classifier using 'scorer' as the scoring method.
grid_obj =  GridSearchCV(clf, parameters, scoring=scorer)

# TODO: Fit the grid search object to the training data and find the optimal parameters.
best_clf= grid_obj.fit(X_train, y_train)

# Let's also explore what parameters ended up being used in the new model.
best_clf

>>> Best Hyperparameters::
	{'criterion': 'mse', 'max_depth': 8, 'max_leaf_nodes': 100, 
	 'min_samples_leaf': 20, 'min_samples_split': 10}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/989867.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号