【深耕 Python】Data Science with Python 数据科学(18)Scikit-learn机器学习(三)

写在前面

关于数据科学环境的建立,可以参考我的博客:

【深耕 Python】Data Science with Python 数据科学(1)环境搭建

往期数据科学博文一览:

【深耕 Python】Data Science with Python 数据科学(2)jupyter-lab和numpy数组

【深耕 Python】Data Science with Python 数据科学(3)Numpy 常量、函数和线性空间

【深耕 Python】Data Science with Python 数据科学(4)(书337页)练习题及解答

【深耕 Python】Data Science with Python 数据科学(5)Matplotlib可视化(1)

【深耕 Python】Data Science with Python 数据科学(6)Matplotlib可视化(2)

【深耕 Python】Data Science with Python 数据科学(7)书352页练习题

【深耕 Python】Data Science with Python 数据科学(8)pandas数据结构:Series和DataFrame

【深耕 Python】Data Science with Python 数据科学(9)书361页练习题

【深耕 Python】Data Science with Python 数据科学(10)pandas 数据处理(一)

【深耕 Python】Data Science with Python 数据科学(11)pandas 数据处理(二)

【深耕 Python】Data Science with Python 数据科学(12)pandas 数据处理(三)

【深耕 Python】Data Science with Python 数据科学(13)pandas 数据处理(四):书377页练习题

【深耕 Python】Data Science with Python 数据科学(14)pandas 数据处理(五):泰坦尼克号亡魂 Perished Souls on "RMS Titanic"

【深耕 Python】Data Science with Python 数据科学(15)pandas 数据处理(六):书385页练习题

【深耕 Python】Data Science with Python 数据科学(16)Scikit-learn机器学习(一)

【深耕 Python】Data Science with Python 数据科学(17)Scikit-learn机器学习(二)

代码说明: 由于实机运行的原因,可能省略了某些导入(import)语句。

本期,简单地使用scikit-learn库完成K-Means聚类算法。

一、生成随机数据簇

python 复制代码
from sklearn.datasets import make_blobs
import matplotlib.pyplot as plt

X, _ = make_blobs(n_samples=300, centers=4, random_state=42)
fig, ax = plt.subplots()
ax.scatter(X[:, 0], X[:, 1])
plt.title("Blob Clusters")
plt.xlabel("X")
plt.ylabel("Y")
plt.grid()
plt.show()

程序输出:

二、在数据集上调用KMeans聚类算法

python 复制代码
from sklearn.cluster import KMeans

kmeans = KMeans(n_clusters=4)
kmeans.fit(X)
centers = kmeans.cluster_centers_
print(centers)

程序输出:

python 复制代码
[[-2.70981136  8.97143336]   # center 1
 [-6.83235205 -6.83045748]   # center 2
 [ 4.7182049   2.04179676]   # center 3
 [-8.87357218  7.17458342]]  # center 4

四、聚类结果可视化

使用matplotlib库将上述的聚类结果可视化:

python 复制代码
fig, ax = plt.subplots()
ax.scatter(X[:, 0], X[:, 1])
ax.scatter(centers[:, 0], centers[:, 1], s=200, alpha=0.9, color="orange")
plt.title("Cluster Result Illustration")
plt.xlabel("X")
plt.ylabel("Y")
plt.grid()
plt.show()

程序输出:

参考文献 Reference

《Learn Enough Python to be Dangerous------Software Development, Flask Web Apps, and Beginning Data Science with Python》, Michael Hartl, Boston, Pearson, 2023.

相关推荐
㳺三才人子4 分钟前
初探 OpenCV 圖像處理
人工智能·python·opencv·计算机视觉
财经资讯数据_灵砚智能4 分钟前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年5月10日
人工智能·python·信息可视化·自然语言处理·ai编程
AI科技星6 分钟前
第 24 分册:濒死体验与灵魂出窍·数理修行篇(2026 年 5 月 11 日增补版)
人工智能·线性代数·机器学习·量子计算·agi
Bear on Toilet7 分钟前
【JSON-RPC远程过程调用组件库】测试报告
开发语言·软件测试·后端·自动化脚本
hmywillstronger9 分钟前
【Python】从SAP2000 XML截面库提取数据到Excel
xml·python·excel
星恒随风9 分钟前
C语言链表详解:从单链表到双向链表
c语言·开发语言·链表
lsx20240610 分钟前
《Foundation 均衡器:深入解析其工作原理与应用领域》
开发语言
常常有10 分钟前
中间件与依赖系统:构建高效 Web 后端的双重利器
开发语言·python·中间件·fastapi
金玉满堂@bj13 分钟前
Go 语言能做什么?
开发语言·后端·golang
ooseabiscuit13 分钟前
Laravel6.x新特性全解析
java·开发语言·后端·mysql·spring