我爱python...
生工学院py大一实验报告
生工学院大二py实验报告2(sklearn)
外国语学院大二py实验报告1(NLP-nltk)
外国语学院py实验报告
外国语学院大二py实验报告4.1
外国语学院大二py实验报告4.2
豆瓣爬虫
ECUST - 2022年下半年大二上学期外语学院python期末考试真题题库(python与语言智能)
ECUST - 2022年下半年大二上学期外语学院python备考资料
c语言求解n的阶乘1
c语言随机生成数组并排序
c语言编写递归,求解阶乘之和
2025 openvpn入门:用openvpn+云服务器实现私有网络代理
本文档使用 MrDoc 发布
-
+
首页
生工学院大二py实验报告2(sklearn)
```python import tkinter import tkinter.messagebox import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn import neighbors from sklearn.cluster import KMeans from sklearn.decomposition import PCA from sklearn.preprocessing import scale from sklearn.preprocessing import StandardScaler from sklearn import metrics from mpl_toolkits.mplot3d import Axes3D top = tkinter.Tk() top.title("title名") top.geometry("400x100+630+80") def import_data(): data = pd.read_csv("Seeds.csv") tkinter.messagebox.showinfo("提示", "导入数据集'Seeds'成功!") return data def classification(): data = import_data() result = data[['A', 'P', 'C', 'LK', 'WK', 'A_Coef', 'LKG']] pd.plotting.scatter_matrix(result) plt.show() ##K近邻预测,KNeighborsClassifier为实现K近邻算法的一个类 knn = neighbors.KNeighborsClassifier() # 模型初始化 knn.fit(data[['A', 'P', 'C', 'LK', 'WK', 'A_Coef', 'LKG']], data['target']) #模型学习 predict = knn.predict([[12.32, 10.35, 0.4865, 7.3274, 4.376, 1.569, 8.485]]) #模型预测 print('预测类型为:', predict) tkinter.messagebox.showinfo('预测类型', "[12.32, 10.35, 0.4865, 7.3274, 4.376, 1.569, 8.485]的预测类型为{}".format(predict))# 预测结果展示 return #接口函数3 def PCA_Clustering(): seed = import_data() X = seed.loc[:, ['A', 'P', 'C', 'LK', 'WK', 'A_Coef', 'LKG']].values y = seed['target'].values.tolist() pca = PCA(n_components=3) #pca降维 X_scale = StandardScaler().fit_transform(X) X_reduce = StandardScaler().fit_transform(scale(X_scale)) model = KMeans(n_clusters=3) #模型初始化 model.fit(X_reduce) #模型学习 labels = model.labels_ #获取聚类标签 print(labels) #输出模型的准确度 print('%.3f %.3f %.3f %.3f %.3f %.3f' % \ (metrics.homogeneity_score(y, labels), metrics.completeness_score(y, labels), metrics.v_measure_score(y, labels), metrics.adjusted_rand_score(y, labels), metrics.adjusted_mutual_info_score(y, labels), metrics.silhouette_score(X_reduce, labels) )) #绘制模型的分布图 fig = plt.figure() ax = Axes3D(fig, auto_add_to_figure=False) fig.add_axes(ax) ax.scatter(X_reduce[:, 0], X_reduce[:, 1], X_reduce[:, 2], c=labels.astype(np.float64)) tkinter.messagebox.showinfo("聚类结果","聚类结果如图所示(点击确定即可显示)") plt.show() return A = tkinter.Button(top, text="搜集‘种子seed’数据", command=import_data) # 单击第一个按钮时采集一批专业数据 A.pack() B = tkinter.Button(top, text="种子(seed)种类分类预测", command=classification) # 单击第二个按钮时进行分类或回归预测 B.pack() C = tkinter.Button(top, text="种子seed数据降维和聚类", command=PCA_Clustering) # 单击第三个按钮时进行降维和聚类 C.pack() top.mainloop()
zhy@@ldy
2022年12月4日 14:24
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码