机器学习笔记-聚类算法

机器学习笔记-聚类算法

  • 聚类算法K-means
    • k-means的模型评估
    • k-means的优化
  • PCA降维
    • 主成分分析-PCA降维
  • PCA+K-means例子

聚类算法K-means

在这里插入图片描述

  • 代码
import matplotlib.pyplot as plt
from sklearn.datasets.samples_generator import make_blobs
from sklearn.cluster import KMeans
from sklearn.metrics import calinski_harabaz_score# 创建数据
X, y = make_blobs(n_samples=1000, n_features=2, centers=[[-1, -1], [0, 0], [1, 1], [2, 2]], cluster_std=[0.4, 0.2, 0.2, 0.2], random_state=9)plt.scatter(X[:, 0], X[:, 1], marker="o")
plt.show()
## 图# kmeans训练,且可视化 聚类=2
y_pre = KMeans(n_clusters=2, random_state=9).fit_predict(X)# 可视化展示
plt.scatter(X[:, 0], X[:, 1], c=y_pre)
plt.show()# 用ch_scole查看最后效果
print(calinski_harabaz_score(X, y_pre))## 图# kmeans训练,且可视化 聚类=3
y_pre = KMeans(n_clusters=3, random_state=9).fit_predict(X)# 可视化展示
plt.scatter(X[:, 0], X[:, 1], c=y_pre)
plt.show()# 用ch_scole查看最后效果
print(calinski_harabaz_score(X, y_pre))## 图# kmeans训练,且可视化 聚类=4
y_pre = KMeans(n_clusters=4, random_state=9).fit_predict(X)# 可视化展示
plt.scatter(X[:, 0], X[:, 1], c=y_pre)
plt.show()# 用ch_scole查看最后效果
print(calinski_harabaz_score(X, y_pre))
  • K-means流程:随机设置k=3,3个值,然后用这三个点和其他点进行欧式距离的计算,然后看哪个点和其他点的距离最小,然后取平均值。循环往复,直到最后一个平均值的点和上一个选取的点重合,完毕。
    在这里插入图片描述

k-means的模型评估

  • 方法一SSE
    在这里插入图片描述

k-means的优化

在这里插入图片描述

PCA降维

  • 去除一些无关变量
    在这里插入图片描述

  • API
    在这里插入图片描述

  • 代码

import pandas as pd
from sklearn.feature_selection import VarianceThreshold
from scipy.stats import pearsonr, spearmanrdef var_thr():"""特征选择:低方差特征过滤:return:"""data = pd.read_csv("./data/factor_returns.csv")# print(data)print(data.shape)# 实例化一个对象transfer = VarianceThreshold(threshold=10)# 转换transfer_data = transfer.fit_transform(data.iloc[:, 1:10])print(transfer_data)print(data.iloc[:, 1:10].shape)print(transfer_data.shape)def pea_demo():"""皮尔逊相关系数:return:"""# 准备数据x1 = [12.5, 15.3, 23.2, 26.4, 33.5, 34.4, 39.4, 45.2, 55.4, 60.9]x2 = [21.2, 23.9, 32.9, 34.1, 42.5, 43.2, 49.0, 52.8, 59.4, 63.5]# 判断ret = pearsonr(x1, x2)print("皮尔逊相关系数的结果是:\n", ret)def spea_demo():"""斯皮尔曼相关系数:return:"""# 准备数据x1 = [12.5, 15.3, 23.2, 26.4, 33.5, 34.4, 39.4, 45.2, 55.4, 60.9]x2 = [21.2, 23.9, 32.9, 34.1, 42.5, 43.2, 49.0, 52.8, 59.4, 63.5]# 判断ret = spearmanr(x1, x2)print("斯皮尔曼相关系数的结果是:\n", ret)if __name__ == '__main__':# var_thr()# pea_demo()# spea_demo()

主成分分析-PCA降维

在这里插入图片描述

import pandas as pd
from sklearn.feature_selection import VarianceThreshold
from scipy.stats import pearsonr, spearmanr
from sklearn.decomposition import PCAdef pca_demo():"""pca降维:return:"""data = [[2, 8, 4, 5], [6, 3, 0, 8], [5, 4, 9, 1]]# pca小数保留百分比transfer = PCA(n_components=0.9)trans_data = transfer.fit_transform(data)print("保留0.9的数据最后维度为:\n", trans_data)# pca小数保留百分比transfer = PCA(n_components=3)trans_data = transfer.fit_transform(data)print("保留三列数据:\n", trans_data)if __name__ == '__main__':pca_demo()

PCA+K-means例子

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/251723.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JS第一天、数据类型检测、内存释放

复习: 以下类型都是 object console.log(typeof new Object); console.log(typeof new Array()); console.log(typeof new Date()); console.log(typeof new RegExp()); console.log(typeof new String()); console.log(typeof new Number()); console.log(typeof…

乐意购项目前端开发 #7

一、购物车 本地购物车 创建cartStore.js文件 创建cartStore.js文件, 将购物车列表数据存在pinia中 import { ref, computed } from "vue"; import { defineStore } from "pinia"; import { useUserStore } from "./user"; import {insertCart…

C#,哥伦布数(Golomb Number)的算法与源代码

1 哥伦布数(Golomb Number) 哥伦布数(Golomb Number)是一个自然数的非减量序列,使得n在序列中正好出现G(n)次。前几个15的G(n)值为:1 2 2 3 3 4 4 4 5 5 5 6…

自研人工智能小工具-小蜜蜂(国外ChatGpt的平替)

国内有非常多好用的人工智能工具,但均无法完全替代国外ChatGpt。 ChatGPT相较于其他国内工具的优势在于以下几点: 创新的语言生成能力:ChatGPT是由OpenAI开发的先进的自然语言生成模型,它采用了大规模的预训练和精细调整方法。因此…

项目02《游戏-08-开发》Unity3D

基于 项目02《游戏-07-开发》Unity3D , 本次任务做物品相互与详情的功能, 首先要做 点击相应, 接下来用接口实现点击相应事件,具体到代码中,我们找到需要响应鼠标事件的对象, 双击PackageCell…

arcpy高德爬取路况信息数据json转shp

最近工作上遇到爬取的高德路况信息数据需要在地图上展示出来,由于json数据不具备直接可视化的能力,又联想到前两个月学习了一点点arcpy的知识,就花了一些时间去写了个代码,毕竟手动处理要了老命了。 1、json文件解读 json文件显…

一键部署FC超级马里奥web游戏

效果展示 安装 拉取镜像 #拉取镜像 docker pull stayhungrystayfoolish666/mario #创建并启动容器 docker run -d -p 10034:8080 --name maliao --restartalways stayhungrystayfoolish666/mario:latest 使用 浏览器打开 http://你的ip:10034/

Qt之使用Qt内置图标

一效果 二.原理 Qt内置图标封装在QStyle中,共七十多个图标,可以直接拿来用,能应付不少简单程序需求,不用自己去找图标并添加到资源文件了。 下面是内置图标的枚举定义: enum StandardPixmap {SP_TitleBarMenuButton,SP_TitleBarMinButton,SP_TitleBarMaxButton,SP_T…

植物病害检测YOLOV8,OPENCV调用

【免费】植物病害检测,10种类型,YOLOV8训练,转换成ONNX,OPENCV调用资源-CSDN文库 植物病害检测,YOLOV8NANO,训练得到PT模型,然后转换成ONNX,OPENCV的DNN调用,支持C,PYTH…

4.0 HDFS 配置与使用

之前提到过的 Hadoop 三种模式:单机模式、伪集群模式和集群模式。 单机模式:Hadoop 仅作为库存在,可以在单计算机上执行 MapReduce 任务,仅用于开发者搭建学习和试验环境。 伪集群模式:此模式 Hadoop 将以守护进程的…

【python】python爱心代码【附源码】

一、实现效果: 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 二、完整代码: import math import random import threading import time from math import sin, cos, pi, log from tkinter import * import re# 烟花相关设置 Fireworks [] m…

kvm qemu 优化 windows 虚拟机速度

主要优化磁盘 io 和网络 io 都选为 virtio windows 驱动下载 https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.185-2/virtio-win-0.1.185.iso I also had incredibly slow performance with my virtual HDD. The followin…

如何使用 Supabase Auth 在您的应用程序中设置身份验证

在本文中,您将学习基本的关键概念,这些概念将帮助您掌握身份验证和授权的工作原理。 您将首先了解什么是身份验证和授权,然后了解如何使用 Supabase auth 在应用程序中实现身份验证。 (本文内容参考:java567.com&…

Leetcode刷题笔记题解(C++):1863. 找出所有子集的异或总和再求和

思路如下:递归思路,依次遍历数组中的数,当前数要不要选择像二叉树一样去遍历如下图所示 0 0 (选5) 5(不选5) 0 1 0 1 0 6 …

分析网站架构:浏览器插件

一、Wappalyzer 1.1 介绍 Wappalyzer 是一款用于识别网站所使用技术栈的浏览器插件。它能够分析正在浏览的网页,检测出网站所使用的各种技术和框架,如内容管理系统(CMS)、JavaScript库、Web服务器等。用户只需安装 Wappalyzer 插…

DS18B20温度传感器

文章目录 一、介绍DS18B20了解DS18B20引脚及电路图内部结构框图存储器结构单总线(1 wire bus)介绍单总线电路规范单总线时序结构初始化发送一个数据接收一位数据发送一个字节与接收一个字节 DS18B20操作流程所要使用的数据帧温度存储格式 二、实现温度检…

用bootstrap结合jQuery实现简单的模态对话框

嗨害嗨,我又来了奥。今天呢,给大家分享一个工作中常用到的插件——模态对话框的用法。想必大家在工作中也遇到很多页面,需要用模态对话框进行交互的吧,现在呢,就让我们一起来了解一下它的使用吧。 首先,我…

百面嵌入式专栏(面试题)华为面试题

文章目录 题目:static有什么用途?(请至少说明两种)题目:引用与指针有什么区别?题目:描述实时系统的基本特性题目:全局变量和局部变量在内存中是否有区别?如果有,是什么区别?题目:什么是平衡二叉树?题目:堆栈溢出一般是由什么原因导致的?题目:什么函数不能声明为…

为电子表格嵌入数据库,Excel/WPS一键升级为管理系统

将Excel表格转化为管理系统,这款工具能够实现只需导入表格数据,即可自动生成相应的软件和APP。 表格办公的烦恼,有遇到吧? 对于具有一定规模的企业而言,各类表格如同繁星般众多,既有日常使用的常规表格&a…

算法每日一题: 使用循环数组所有元素相等的最少秒数 | 哈希

大家好,我是星恒,今天给大家带来的是一道需要感觉规律的题目,只要读懂题目中的规律,就可以做出来了 这道题用到了哈希,还有一个关键点比较类似循环队列 题目:leetcode 2808 给你一个下标从 0 开始长度为 n…