求曲线方程的方法,曲线 模型匹配

  求曲线方程的方法,曲线 模型匹配

  Python中重要的机器学习库scikit-learn的算法模型的应用涉及到各种关键参数。那么,如果对这些参数进行选择和调整,模型的运行结果可以得到优化吗?这里有一个机器学习算法中常用的调优工件:学习曲线。

  学习曲线参数学习曲线是以不同参数值为横坐标,以不同参数值下的模型结果为纵坐标的曲线。我们可以选择模型最佳性能点的参数值作为参数赋值。

  实现代码# import numpy as NP import pandas as PD # sklearn.datasets以sk learn . datasets为例导入load _ break _ cancer # explore dataset data=load _ break _ cancer()#提取要素数据集X=data.dataX.shape运行结果

  (569,30) #提取标签数据集y=data.targety.shape的运行结果

  (569,)#查看特征变量名data.feature_names的运行结果

  数组([平均半径,平均纹理,平均周长,平均面积,平均平滑度,平均紧密度,平均凹点,平均对称,平均分形维数,半径误差,纹理误差,周长误差,面积误差,平滑度误差,紧密度误差,凹点误差,对称误差,分形维数误差,最差半径,最差纹理,最差周长,最差面积,最差平滑度,最差紧密度,最差凹点,最差对称,最差分形维数], Dtype=U23) # name=[平均半径,平均纹理,平均周长,平均面积,平均平滑度,平均紧密度,平均凹度,平均对称度,平均分形维数,半径紧密度误差,凹度误差,凹度误差,对称度误差,分形维数误差,最差半径,最差纹理,最差边界,最差面积,最差平滑度,最差紧密度,最差凹陷。 从sklearn.model _ selection导入train _ test _ split txtrain,xtest,ytrain,ytest=train _ test _ split (x,y,test _ size=0.2) xtrain.shape运行结果必须导入。

  (455,30) #带KNN的模型,先选一个K=7,运行它得到一个来自sk learn . neighborsclassifier lf=kneighborsclassifier(n _ neighbors=7)clf=clf . fit(x train,YTrain) score=clf.score (Xtrain,y train)‘’Score()方法用来衡量给定测试集的预测效果。结果是:连续Y用R 2,分类Y用精度,其中:精度=分类算法的正确分类数/总分类数。“分数”的运行结果

  0.9406593406593406 clf=clf . fit(xtest,y test) score=clf.score (xtest,y test) score运行结果

  0.9298245614035088 #学习曲线#导入绘图包导入matplotlib.pyplot作为plt#绘图显示样本位置分布PLT . RC params[ font . sans-serif ]= sim hei # #设置中文显示字体:bold # PLT . RC params[ font . family ]= arial unicode ms #中文显示PLT . RC params for Mac[ axes . unicode _ MINUS ]=false #设置负号plt.style dpi=720) #设置画布大小和像素#设置K值的范围krange=range(1,21)#为krange中的I设置score score=[]:# K最近邻分类器clf=kneighborsclassifier(n _ neighbors=I)# fit训练集clf=clf.fit(Xtrain,y train)# Do score polyline score . append(clf . score(xtest,ytest)) # Draw plt.plot(krange,score)plt.show()运行结果

  #确定最佳K值点score.index(max(score)) 1的运行结果

  5 #将k的值重置为最优值9,再次运行KNN模型并从sklearn获取分数。neighbors import kneighborslaisalizer=kneighborslaisalizer(n _ neighbors=9)clf=clf . fit(Xtrain,ytrain) score=clf.score (Xtrain,ytrain)

  0.9494505494505494 clf=clf . fit(xtest,y test) score=clf.score (xtest,y test) score运行结果

  0.9385964912280702这次的分数结果比上次好。可以看出,学习曲线选择的K值的预测效果优于之前的K值,说明学习曲线作为优化机器学习参数的手段是有效的。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: