头歌实验教学平台python与机器学习
根据提示,在右侧编辑器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
| 上一篇: 存储器 |
下一篇: 人民日报评西贝关店事件:早已超出 |
推荐分享
- 1君子兰什么品种最名贵 十大名 4012
- 2世界上最名贵的10种兰花图片 3364
- 3花圈挽联怎么写? 3286
- 4迷信说家里不能放假花 家里摆 1878
- 5香山红叶什么时候红 1493
- 6花的意思,花的解释,花的拼音 1210
- 7教师节送什么花最合适 1167
- 8勿忘我花图片 1103
- 9橄榄枝的象征意义 1093
- 10洛阳的市花 1039
