当前位置: 首页 > article >正文

机器学习实战笔记34-38:gridsearchcv的进阶使用,无监督学习:kmeans、DBSCAN

主要讲了gridsearchcv的几种变形使用方式

一:全部参数搜索

方法是构造机器学习流之后,构造参数空间

二:优化评估指标的选择

作为网格搜索中输出评估指标的参数,roc_auc参数只能指代metrics_roc_auc_score函数的二分类功能,如果需要多分类,则需要将scoring修改为roc_auc_ovr等参数

三:make_scorer函数,需要同时输入评估器、特征矩阵及真实标签,让特征矩阵经过评估器运算后和真实标签比对得到分数

acc=make_scorer(accuracy_score)

Acc(search.best_estimator_,x_train,y_train)

四:同时输入多组评估指标

五:一个注意点:

对于best_score_属性查看的是在roc-auc评估指标下,默认五折交叉验证时验证集上的结果,但如果对评估器用.score方法,查看的是pipe评估器默认的结果评估方式,也就是准确率

六:最终结果:

结果比手动调参准确率低,但没有过拟合隐患

36-38无监督学习:kmeans、DBSCAN

一.kmeans的参数:

存在的两个问题:震荡收敛,算法会在两种不同划分方式间来回;局部最优姐。

解决方法:init选择Kmeans++,用更合理的方式选择初始值点:

前五个参数重要,最后一个是优化计算距离的时间的

Kmeans也可以预测新数据的类别,方法:km.predict()

评估聚几类好的参数:不能用SSE,因为K增加它一定会逐渐下降。应该用轮廓系数:(到其它簇的距离-到自己簇的距离)/两者较大值

from sklearn.metrics import silhouette_score

特别注意点:聚类的性能远远弱于有监督学习算法

  • mini-batch kmeans 与DBSCAN密度聚类

前者是牺牲部分精度换取速度(注意,不需要靠它离开局部最小值陷阱,有kmeans++)

参数表:

  后者是解决:kmeans是解决圆形、球形边界,如果不是圆形则用DBSCAN(注:plt

.scatter绘制散点图,plt.plot绘制折线图)

原理:设置eps和min_samples,在eps内能有min_samples个点的称为核心点,范围内的为临界点,其余为噪声点.把以核心点范围内的簇连成一片,其余噪声点舍弃。具体代码如下:

# In[1]:

from sklearn.cluster import KMeans

# In[3]:

get_ipython().run_line_magic('pinfo', 'KMeans')

# In[4]:

from sklearn.metrics import silhouette_score

# In[5]:

from sklearn.datasets import make_moons

# In[6]:

x,y=make_moons(200,noise=0.05,random_state=24)

# In[12]:

import matplotlib.pyplot as plt

# In[13]:

plt.scatter(x[:,0],x[:,1],c=y)

# In[16]:

km=KMeans(n_clusters=2)

# In[17]:

km.fit(x)

# In[21]:

plt.scatter(x[:,0],x[:,1],c=km.labels_)

plt.plot(km.cluster_centers_[:,0],km.cluster_centers_[:,1],'ro')

# In[22]:

from sklearn.cluster import DBSCAN

# In[23]:

DB=DBSCAN(eps=0.3,min_samples=10)

# In[24]:

DB.fit(x)

# In[25]:

plt.scatter(x[:,0],x[:,1],c=DB.labels_)


http://www.kler.cn/a/409194.html

相关文章:

  • logback 初探学习
  • Makefile 之 wordlist
  • php:使用Ratchet类实现分布式websocket服务
  • 计算机网络期末试题及答案(整理)
  • 2024年亚太地区数学建模大赛A题-复杂场景下水下图像增强技术的研究
  • 软件测试面试之常规问题
  • web网络安全系统
  • 深入浅出:大数据架构中的流处理与实时分析
  • 微服务系列概览
  • Momenta C++面试题及参考答案
  • Vue进阶面试题目(一)
  • vue3 + elementPlus 日期时间选择器禁用未来及过去时间
  • 【弱监督语义分割】Self-supervised Image-specific Prototype Exploration for WSSS 论文阅读
  • Leetcode 164.最大间距
  • c++视频图像处理
  • Linux连接网络的三种方式
  • 【JavaEE初阶 — 多线程】定时器的应用及模拟实现
  • 设计模式——拦截过滤器模式
  • ISAAC Gym 7. 使用箭头进行数据可视化
  • 伪数组和真数组
  • java Scanner
  • 【PHP】 环境以及插件的配置,自学笔记(一)
  • 【Ubuntu24.04】服务部署(虚拟机)
  • 微信万能门店小程序系统存在任意文件读取漏洞
  • 中标麒麟部署k8sV1.31版本详细步骤
  • 5.最长回文子串 python