【深耕 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聚类算法。

一、生成随机数据簇

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聚类算法

from sklearn.cluster import KMeans

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

程序输出:

[[-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库将上述的聚类结果可视化:

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.

相关推荐

  1. 机器学习scikit-learn实现

    2024-05-04 22:20:03       53 阅读
  2. Scikit-learn高级教程:深入理解机器学习算法

    2024-05-04 22:20:03       19 阅读
  3. 数据科学:Scipy、Scikit-Learn笔记

    2024-05-04 22:20:03       56 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-04 22:20:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-04 22:20:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-04 22:20:03       82 阅读
  4. Python语言-面向对象

    2024-05-04 22:20:03       91 阅读

热门阅读

  1. Django框架之模板层

    2024-05-04 22:20:03       23 阅读
  2. leetcode39-Combination Sum

    2024-05-04 22:20:03       33 阅读
  3. 深入浅出 iptables - Linux下的强大防火墙工具

    2024-05-04 22:20:03       37 阅读
  4. 大模型+低代码平台

    2024-05-04 22:20:03       33 阅读
  5. 2024年目标检测数据集大合集所有下载地址汇总

    2024-05-04 22:20:03       169 阅读
  6. SpringBoot camunda

    2024-05-04 22:20:03       30 阅读
  7. 算法:状态压缩dp

    2024-05-04 22:20:03       112 阅读
  8. 什么是CI/CD流水线

    2024-05-04 22:20:03       28 阅读
  9. windows ubuntu:sed,awk,grep篇:5.sed 附加命令

    2024-05-04 22:20:03       28 阅读