首页 分享 头歌实验教学平台python与机器学习

头歌实验教学平台python与机器学习

来源:花匠小妙招 时间:2026-01-22 07:05
第1关:聚类任务简述

根据提示,在右侧编辑器Begin-End部分补充代码。

任务描述:使用Python语言,对聚类结果进行性能评估。

任务1:根据公式计算 Jaccard 系数;
任务2:根据公式计算 FM 指数;
任务3:根据公式计算 Rand 指数。

import numpy as np

m = 100

np.random.seed(0)

lambda_true = np.random.randint(0,5,m)

np.random.seed(1)

lambda_pred = np.random.randint(0,5,m)

a = b = c = d = 0

for j in range(m):

for i in range(j):

if lambda_true[i]==lambda_true[j] and lambda_pred[i]==lambda_pred[j]:

a = a + 1

elif lambda_true[i]==lambda_true[j] and lambda_pred[i]!=lambda_pred[j]:

b = b + 1

elif lambda_true[i]!=lambda_true[j] and lambda_pred[i]==lambda_pred[j]:

c = c + 1

else:

d = d + 1

JC = a / (a + b + c)

FM = np.sqrt(a ** 2 / ((a + b) * (a + c)))

RI = 2 * (a + b) / (m * (m - 1))

print("Jaccard 系数为{},FM 指数为{},Rand 指数为{}。".format(JC, FM, RI))

python

运行

第2关:聚类任务主要算法之 K-Means 聚类

编程要求
根据提示,在右侧编辑器Begin-End部分补充代码。

任务描述:使用Python语言,对给定数据进行聚类,数据可视化如下:

任务1:创建 KMeans 对象,令 n_clusters=2;提示:可以使用 sklearn.cluster 中的 KMeans 模型。
任务2:调用 fit 函数执行训练过程
任务3:调用 predict 函数进行预测,预测的数据为 [0,0], [8,2], [10,3]。

from sklearn.cluster import KMeans

import numpy as np

X = np.array([[1, 2], [2, 2.2], [3, 1.5], [2, 1.8], [1, 1.4], [1, 2.5], [1, 1], [10, 2], [10, 2.5], [9, 2.3], [10, 2.4], [9.5, 2.1]])

kmeans = KMeans(n_clusters=2)

kmeans.fit(X)

y_pred = kmeans.predict([[0, 0], [8, 2], [10, 3]])

print(y_pred)

python

运行

第3关:聚类任务应用案例

编程要求
根据提示,在右侧编辑器Begin-End部分补充代码。

任务描述:使用Python语言编程,使用 K-Means 聚类算法对 Iris 鸢尾花数据集进行分类,并使用外部指数对聚类结果进行分析。

任务1:创建 KMeans 对象,令 n_clusters=4;
任务2:调用 fit 函数执行训练过程;
任务3:调用 predict 函数进行预测。

from sklearn.datasets import load_iris

from sklearn.cluster import KMeans

from sklearn.model_selection import train_test_split

import numpy as np

iris = load_iris()

x = iris['data']

y = iris['target']

np.random.seed(0)

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.1)

kmeans = KMeans(n_clusters=4)

kmeans.fit(x_train)

y_pred = kmeans.predict(x_test)

print("真实结果:n", y_test)

print("预测结果:n", y_pred)

a = b = c = d = 0

m = 15

for j in range(m):

for i in range(j):

if y_test[i]==y_test[j] and y_pred[i]==y_pred[j]:

a = a + 1

elif y_test[i]==y_test[j] and y_pred[i]!=y_pred[j]:

b = b + 1

elif y_test[i]!=y_test[j] and y_pred[i]==y_pred[j]:

c = c + 1

else:

d = d + 1

JC = a / (a + b + c)

FM = np.sqrt(a ** 2 / ((a + b) * (a + c)))

RI = 2 * (a + b) / (m * (m - 1))

print("Jaccard 系数为{},FM 指数为{},Rand 指数为{}。".format(JC, FM, RI))

python

运行

相关知识

头歌实验教学平台python与机器学习
头歌实践平台:机器学习——支持向量回归
Python 机器学习 K
Python机器学习基础教程
python鸢尾花数据集机器学习
Python机器学习项目:农作物病虫害自动识别系统
python机器学习
Python机器学习案例:鸢尾花分类
python机器学习基础教程如何导入鸢尾花数据
Python机器学习教程——逻辑回归

网址: 头歌实验教学平台python与机器学习 https://www.huajiangbk.com/newsview2548758.html

所属分类:花卉
上一篇: 存储器
下一篇: 人民日报评西贝关店事件:早已超出

推荐分享