首页
关于
推荐
百度一下
腾讯视频
Search
1
你要的草莓熊来啦!——郑科院
1,280 阅读
2
郑州科技学院2023-2024学年第一学期期末统一考试 Python程序设计
1,194 阅读
3
第4章 实训2 删除年龄异常数据
1,032 阅读
4
Python程序设计教学大纲(董付国老师版)
981 阅读
5
郑州科技学院2022-2023年第二学期期末统一考试 管理学 课程试题
935 阅读
默认分类
登录
/
注册
Search
庞立智
累计撰写
71
篇文章
累计收到
289
条评论
首页
栏目
默认分类
页面
关于
推荐
百度一下
腾讯视频
搜索到
71
篇与
的结果
2023-11-27
第6章 任务6.3 构建并评价分类模型(人以群分)
先理解svm是什么,怎么运作的。(Support Vector Machine, SVM)根据维度不同,划分方法不同。支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning)方式对数据进行二元分类的广义线性分类器(generalized linear classifier),其决策边界是对学习样本求解的最大边距超平面(maximum-margin hyperplane)代码6-10 使用sklearn 估计器构建支持向量机模型import pandas as pd # 读取数据集 quit_job = pd.read_csv('../data/quit_job.csv', encoding='gbk') # 拆分数据和标签 quit_job_data = quit_job.iloc[:, :-1] quit_job_target = quit_job.iloc[:, -1] # 划分训练集和测试集 from sklearn.model_selection import train_test_split quit_job_data_train, quit_job_data_test, \ quit_job_target_train, quit_job_target_test = \ train_test_split(quit_job_data, quit_job_target, test_size=0.2, random_state=66) # 标准化数据集 from sklearn.preprocessing import StandardScaler stdScale = StandardScaler().fit(quit_job_data_train) quit_job_trainScaler = stdScale.transform(quit_job_data_train) quit_job_testScaler = stdScale.transform(quit_job_data_test) # 构建SVM模型,并预测测试集结果 from sklearn.svm import SVC svm = SVC().fit(quit_job_trainScaler, quit_job_target_train) # 预测训练集结果 quit_job_target_pred = svm.predict(quit_job_testScaler) print('预测前20个结果为:\n', quit_job_target_pred[: 20])代码6-11 对于分类结果是否准确进行测试import numpy as np # 求出预测和真实一样的数目 true = np.sum(quit_job_target_pred == quit_job_target_test ) print('预测对的结果数目为:', true) print('预测错的结果数目为:', quit_job_target_test.shape[0] - true) print('预测结果准确率为:', true / quit_job_target_test.shape[0])代码6-12 评价支持向量机模型from sklearn.metrics import accuracy_score,precision_score, \ recall_score,f1_score,cohen_kappa_score print('使用SVM预测quit_job数据的准确率为:', accuracy_score(quit_job_target_test, quit_job_target_pred)) print('使用SVM预测quit_job数据的精确率为:', precision_score(quit_job_target_test, quit_job_target_pred)) print('使用SVM预测quit_job数据的召回率为:', recall_score(quit_job_target_test, quit_job_target_pred)) print('使用SVM预测quit_job数据的F1值为:', f1_score(quit_job_target_test, quit_job_target_pred)) print('使用SVM预测quit_job数据的Cohen’s Kappa系数为:', cohen_kappa_score(quit_job_target_test, quit_job_target_pred)) 代码6-13 输出支持向量机模型评价报告from sklearn.metrics import classification_report print('使用SVM预测customer数据的分类报告为:', '\n', classification_report(quit_job_target_test, quit_job_target_pred)) 代码6-14 绘制ROV曲线from sklearn.metrics import roc_curve import matplotlib.pyplot as plt # 求出ROC曲线的x轴和y轴 fpr, tpr, thresholds = \ roc_curve(quit_job_target_test, quit_job_target_pred) plt.figure(figsize=(10, 6)) plt.xlim(0, 1) # 设定x轴的范围 plt.ylim(0.0, 1.1) # 设定y轴的范围 plt.xlabel('False Postive Rate') plt.ylabel('True Postive Rate') plt.plot(fpr, tpr, linewidth=2, linestyle='-', color='red') plt.plot([0, 1], [0, 1], linestyle='-.', color='blue') plt.savefig('../tmp/ROC曲线.jpg', dpi=1080) plt.show()
2023年11月27日
283 阅读
0 评论
14 点赞
2023-11-24
万能钥匙
秘密ですよ。教えません!print(U8J9Q3G349@yaofafa.top:aa551188)雨にも負けず風にも負けず雪にも夏の暑さにも負けぬ丈夫なからだを持ち欲は無く決して瞋からず何時も静かに笑っている一日に玄米四合と味噌と少しの野菜を食べあらゆる事を自分を勘定に入れずに良く見聞きし判りそして忘れず
2023年11月24日
120 阅读
0 评论
1 点赞
2023-11-24
期末成绩分析之pandas应用
临近期末,要整理很多材料其中就有对成绩的分析。我们可以用pandas的强大功能来实现,避免人为统计失误。比如我要分析 某一班级成绩,要想要求出班级的,最高分,最低分,平均分,以及每个分数段成绩分布情况。我们可以这么做。 首先读取想要班级成绩:import pandas as pd # 读取 Excel 文件 data1 = pd.read_excel('c:/Users/plzy5/Desktop/投资学1-2班.xls') 我们可以先看一下数据长什么样子:data1.head()然后我们可以进取其中的要分析的数据列,用iloc方法:data2 = data1.iloc[:, 3:7] 选取数据之后,我们就可以用describe()方法查看一下统计数据:data2.describe()之后定义成绩段:bins = [0, 60, 70, 80, 90, 100] labels = ['不及格', '及格', '中等', '良好', '优秀']将成绩划分到不同的成绩段:data2 = data2.apply(lambda x: pd.cut(x, bins=bins, labels=labels, right=False))最后,将成绩统计到不同分数段并输出:grade_counts = data2.apply(lambda x: x.value_counts()).T
2023年11月24日
277 阅读
0 评论
9 点赞
2023-11-20
第6章 任务6.2 构建并评价聚类模型(物以类聚,人以群分)
聚类分析是在没有给定分类的情况下,根据数据的 相似度 进行样本分组的和种方法。是一种非监督学习方法。构建聚类模型并对聚类结果进行可视化# 代码6-6 导入库 import pandas as pd from sklearn.manifold import TSNE import matplotlib.pyplot as plt # 读取数据集 customer = pd.read_csv('../data/customer.csv', encoding='gbk') customer_data = customer.iloc[:, :-1] customer_target = customer.iloc[:, -1] # Kmeans聚类 from sklearn.cluster import KMeans kmeans = KMeans(n_clusters=4, random_state=6).fit(customer_data) # 使用TSNE进行数据降维,降成两维 tsne = TSNE(n_components=2, init='random', random_state=2). fit(customer_data) df = pd.DataFrame(tsne.embedding_) # 将原始数据转换为DataFrame df['labels'] = kmeans.labels_ # 将聚类结果存储进df数据表 # 提取不同标签的数据 df1 = df[df['labels'] == 0] df2 = df[df['labels'] == 1] df3 = df[df['labels'] == 2] df4 = df[df['labels'] == 3] # 绘制图形 fig = plt.figure(figsize=(9, 6)) # 设定空白画布,并制定大小 # 用不同的颜色表示不同数据 plt.plot(df1[0], df1[1], 'bo', df2[0], df2[1], 'r*', df3[0], df3[1], 'gD', df4[0], df4[1], 'kD') plt.savefig('../tmp/聚类结果.jpg', dpi=1080) plt.show() # 显示图片代码6-7 组内相似度越大,组间差别越大,聚类效果越好使用FMI评价法评价K-means聚类模型from sklearn.metrics import fowlkes_mallows_score for i in range(1, 7): # 构建并训练模型 kmeans = KMeans(n_clusters=i, random_state=6).fit(customer_data) score = fowlkes_mallows_score(customer_target, kmeans.labels_) print('customer数据聚%d类FMI评价分值为:%f' % (i, score)) 代码6-8 使用轮廓系数评价法评价K-Means聚类模型from sklearn.metrics import silhouette_score silhouettteScore = [] for i in range(2, 10): # 构建并训练模型 kmeans = KMeans(n_clusters=i, random_state=6).fit(customer_data) score = silhouette_score(customer_data, kmeans.labels_) silhouettteScore.append(score) plt.figure(figsize=(10, 6)) plt.plot(range(2, 10), silhouettteScore, linewidth=1.5, linestyle='-') plt.savefig('../tmp/轮廓系数.jpg', dpi=1080) plt.show() 代码6-9 使用Calinski-Harabasz指数评价法评价K-Means聚类模型from sklearn.metrics import calinski_harabasz_score for i in range(2, 5): # 构建并训练模型 kmeans = KMeans(n_clusters=i, random_state=2).fit(customer_data) score = calinski_harabasz_score(customer_data, kmeans.labels_) print('customer数据聚%d类calinski_harabaz指数为:%f' % (i, score))
2023年11月20日
134 阅读
0 评论
2 点赞
2023-11-13
第6章 任务6.1 使用sklearn转换器处理数据
代码6-1 加载diabetes数据集from sklearn.datasets import load_diabetes diabetes = load_diabetes() # 将数据集赋值给diabetes变量 print('diabetes数据集的长度为:', len(diabetes)) print('diabetes数据集的类型为:', type(diabetes))代码6-2 获取sklearn自然数据集的内部信息diabetes_data = diabetes['data'] print('diabetes数据集的数据为:','\n', diabetes_data) diabetes_target = diabetes['target'] # 取出数据集的标签 print('diabetes数据集的标签为:\n', diabetes_target) diabetes_names = diabetes['feature_names'] # 取出数据集的特征名 print('diabetes数据集的特征名为:\n', diabetes_names) diabetes_desc = diabetes['DESCR'] # 取出数据集的描述信息 print('diabetes数据集的描述信息为:\n', diabetes_desc)代码6-3 使用train_test_split函数划分数据集print('原始数据集数据的形状为:', diabetes_data.shape) print('原始数据集标签的形状为:', diabetes_target.shape) from sklearn.model_selection import train_test_split diabetes_data_train, diabetes_data_test, \ diabetes_target_train, diabetes_target_test = \ train_test_split(diabetes_data, diabetes_target, \ test_size=0.2, random_state=42) print('训练集数据的形状为:', diabetes_data_train.shape) print('训练集标签的形状为:', diabetes_target_train.shape) print('测试集数据的形状为:', diabetes_data_test.shape) print('测试集标签的形状为:', diabetes_target_test.shape)代码6-4 离差标准化数据import numpy as np from sklearn.preprocessing import MinMaxScaler Scaler = MinMaxScaler().fit(diabetes_data_train) # 生成规则 # 将规则应用于训练集 diabetes_trainScaler = Scaler.transform(diabetes_data_train) # 将规则应用于测试集 diabetes_testScaler = Scaler.transform(diabetes_data_test) print('离差标准化前训练集数据的最小值为:', np.min(diabetes_data_train)) print('离差标准化后训练集数据的最小值为:', np.min(diabetes_trainScaler)) print('离差标准化前训练集数据的最大值为:', np.max(diabetes_data_train)) print('离差标准化后训练集数据的最大值为:', np.max(diabetes_trainScaler)) print('离差标准化前测试集数据的最小值为:', np.min(diabetes_data_test)) print('离差标准化后测试集数据的最小值为:', np.min(diabetes_testScaler)) print('离差标准化前测试集数据的最大值为:', np.max(diabetes_data_test)) print('离差标准化后测试集数据的最大值为:', np.max(diabetes_testScaler)) 代码6-5 对diabetes数据集进行PCA降维from sklearn.decomposition import PCA pca_model = PCA(n_components=8).fit(diabetes_trainScaler) # 将规则应用于训练集 diabetes_trainPca = pca_model.transform(diabetes_trainScaler) # 将规则应用于测试集 diabetes_testPca = pca_model.transform(diabetes_testScaler) print('PCA降维前训练集数据的形状为:', diabetes_trainScaler.shape) print('PCA降维后训练集数据的形状为:', diabetes_trainPca.shape) print('PCA降维前测试集数据的形状为:', diabetes_testScaler.shape) print('PCA降维后测试集数据的形状为:', diabetes_testPca.shape)
2023年11月13日
177 阅读
0 评论
3 点赞
1
...
5
6
7
...
15