5.1_非监督学习之sckit-learn(代码片段)

alexzhang92 alexzhang92     2023-02-27     515

关键词:

 非监督学习之k-means

K-means通常被称为劳埃德算法,这在数据聚类中是最经典的,也是相对容易理解的模型。算法执行的过程分为4个阶段。

  • 1.首先,随机设K个特征空间内的点作为初始的聚类中心。
  • 2.然后,对于根据每个数据的特征向量,从K个聚类中心中寻找距离最近的一个,并且把该数据标记为这个聚类中心。
  • 3.接着,在所有的数据都被标记过聚类中心之后,根据这些数据新分配的类簇,通过取分配给每个先前质心的所有样本的平均值来创建新的质心重,新对K个聚类中心做计算。
  • 4.最后,计算旧和新质心之间的差异,如果所有的数据点从属的聚类中心与上一次的分配的类簇没有变化,那么迭代就可以停止,否则回到步骤2继续循环。

K均值等于具有小的全对称协方差矩阵的期望最大化算法

sklearn.cluster.KMeans

class sklearn.cluster.KMeans(n_clusters=8, init=k-means++, n_init=10, max_iter=300, tol=0.0001, precompute_distances=auto, verbose=0, random_state=None, copy_x=True, n_jobs=1, algorithm=auto)
  """
  :param n_clusters:要形成的聚类数以及生成的质心数

  :param init:初始化方法,默认为‘k-means ++‘,以智能方式选择k-均值聚类的初始聚类中心,以加速收敛;random,从初始质心数据中随机选择k个观察值(行

  :param n_init:int,默认值:10使用不同质心种子运行k-means算法的时间。最终结果将是n_init连续运行在惯性方面的最佳输出。

  :param n_jobs:int用于计算的作业数量。这可以通过并行计算每个运行的n_init。如果-1使用所有CPU。如果给出1,则不使用任何并行计算代码,这对调试很有用。对于-1以下的n_jobs,使用(n_cpus + 1 + n_jobs)。因此,对于n_jobs = -2,所有CPU都使用一个。

  :param random_state:随机数种子,默认为全局numpy随机数生成器
  """
from sklearn.cluster import KMeans
import numpy as np
X = np.array([[1, 2], [1, 4], [1, 0],[4, 2], [4, 4], [4, 0]])
kmeans = KMeans(n_clusters=2, random_state=0)

 

方法

fit(X,y=None)

使用X作为训练数据拟合模型

kmeans.fit(X)

 

predict(X)

预测新的数据所在的类别

kmeans.predict([[0, 0], [4, 4]])
array([0, 1], dtype=int32)

 

属性

clustercenters

集群中心的点坐标

kmeans.cluster_centers_
array([[ 1.,  2.],
       [ 4.,  2.]])

 

labels_

每个点的类别

kmeans.labels_

 

k-means ++

 

无监督学习之rbm和autoencoder(代码片段)

几种学习方式半监督学习TransferLearningSelf-talkLearningRBMRBM的类别BoltzmannMachineRestrictedBoltzmannMachineEvaluationInferenceTraining网络结构训练过程概率分布计算与GibbsSampling对比散度ContrastiveDivergence泛化实例AutoEncoder特点实例有标签的数据 查看详情

无监督学习之聚类2——dbscan

根据学生月上网时间数据运用DBSCAN算法计算:#coding=utf-8importnumpyasnpimportsklearn.clusterasskcfromsklearnimportmetricsimportmatplotlib.pyplotaspltmac2id=dict()onlinetimes=[]f=open(‘F:dataTestData.txt‘,encoding=‘utf 查看详情

《python机器学习及实践》----无监督学习之数据聚类

本片博客是根据《Python机器学习及实践》一书中的实例,所有代码均在本地编译通过。数据为从该书指定的百度网盘上下载的,或者是sklearn自带数据下载到本地使用的。代码片段:#coding:utf-8#分别导入numpy、matplotlib以... 查看详情

《python机器学习及实践》----无监督学习之特征降维

本片博客是根据《Python机器学习及实践》一书中的实例,所有代码均在本地编译通过。数据为从该书指定的百度网盘上下载的,或者是sklearn自带数据下载到本地使用的。代码片段:#coding:utf-8importnumpyasnpM=np.array([[1,... 查看详情

无监督学习之聚类1——kmeans

Kmeans算法分析31省市消费水平#coding=utf-8importnumpyasnpfromsklearn.clusterimportKMeansdefloadData(filepath):fr=open(filepath,‘r+‘)lines=fr.readlines()retData=[]retCityName=[]forlineinlines:items=line.strip().s 查看详情

无监督学习之rbm和autoencoder

几种学习方式半监督学习TransferLearningSelf-talkLearningRBMRBM的类别BoltzmannMachineRestrictedBoltzmannMachineEvaluationInferenceTraining网络结构训练过程概率分布计算与GibbsSampling对比散度ContrastiveDivergence泛化实例AutoEncoder特点实例有标签的数据 查看详情

2.监督学习之分类

1.1监督学习机器学习的第一种范式是监督学习(Supervisedlearning),学习的目标是根据输入预测输出的函数。例如,输入是患者的检查数据,输出是疾病的诊断结果;输入是动物图片,输出是它们的名称&... 查看详情

机器学习笔记-监督学习之决策树

0机器学习中分类和预测算法的评估:准确率速度健壮性可规模性可解释性1决策树(判定树)的概念  决策树是一个类似于流程图的树结构(可以是二叉树或多叉树):其中,每个内部结点表示在一个属性上的测试,每个分支... 查看详情

3.监督学习之回归及归纳偏好

1.1.2回归同样,用一个简单的例子来说明回归。这次我变成一个天气爱好者,想知道每天不同时间的气温。预测函数的输入是时间,输出是该时间的气温。回归也需要训练数据,这里的数据是我记录的一天当中若... 查看详情

3.监督学习之回归及归纳偏好

1.1.2回归同样,用一个简单的例子来说明回归。这次我变成一个天气爱好者,想知道每天不同时间的气温。预测函数的输入是时间,输出是该时间的气温。回归也需要训练数据,这里的数据是我记录的一天当中若... 查看详情

《python机器学习及实践》----无监督学习之特征降维

本片博客是根据《Python机器学习及实践》一书中的实例,所有代码均在本地编译通过。数据为从该书指定的百度网盘上下载的,或者是sklearn自带数据下载到本地使用的。代码片段:#coding:utf-8importnumpyasnpM=np.array([[1,... 查看详情

[机器学习][k-means]无监督学习之k均值聚类

有监督学习虽然高效、应用范围广,但最大的问题就是需要大量的有标签的数据集,但现实生活中我们遇到的大量数据都是没有明确标签的,而且对于庞大的数据集进行标注工作本身也是一项费时费力的工作模式,所以我们希望... 查看详情

自监督学习之掩码自动编码器(maskedautoencoders,mae)——音频识别方面

自监督学习之掩码自动编码器(MaskedAutoencoders,MAE)——音频识别方面1.参考文献《MaskedAutoencodersthatListen》2.背景Transformers和self-supervisedlearning(自监督学习)占据了计算机视觉(ComputerVision,CV)和自然语言处理(naturallanguageprocessing,NLP)的主... 查看详情

python进阶练习之——画线❤️(代码片段)

**题目:**画图,学用line画直线。if__name__=='__main__':fromtkinterimport*canvas=Canvas(width=300,height=300,bg='green')canvas.pack(expand=YES,fill=BOT 查看详情

python进阶练习之——调用函数(代码片段)

**题目:**练习函数调用。defhello():print('HelloWorld!')defhelloAgain():foriinrange(2):hello()if__name__=='__main__':helloAgain()小白练手专栏,适合刚入手的新人欢迎订阅编程小白进阶有什么不明白的欢迎私信或留言ÿ 查看详情

python进阶练习之——画椭圆❤️(代码片段)

画椭圆if__name__=='__main__':fromtkinterimport*x=360y=160top=y-30bottom=y-30canvas=Canvas(width=400,height=600,bg='white')foriinrange(20):canvas.cr 查看详情

python进阶练习之——字典❤️(代码片段)

**题目:**找到年龄最大的人,并输出。请找出程序中有什么问题。if__name__=='__main__':person="li":18,"wang":50,"zhang":20,"sun":22m='li'forkeyinperson. 查看详情

python进阶练习之——画矩形❤️(代码片段)

**题目:**画图,学用rectangle画方形。  if__name__=='__main__':fromtkinterimport*root=Tk()root.title('Canvas')canvas=Canvas(root,width=400,height=400,bg=&# 查看详情