做 在线观看免费网站有哪些如何看网站是用什么框架做的

张小明 2025/12/29 22:04:15
做 在线观看免费网站有哪些,如何看网站是用什么框架做的,如何做好网页设计,建设工程施工合同的范本浙大疏锦行 算法全过程如下#xff1a; # 先运行之前预处理好的代码 import pandas as pd import pandas as pd #用于数据处理和分析#xff0c;可处理表格数据。 import numpy as np #用于数值计算#xff0c;提供了高效的数组操作。 import matplotlib.pyplot as…浙大疏锦行算法全过程如下# 先运行之前预处理好的代码 import pandas as pd import pandas as pd #用于数据处理和分析可处理表格数据。 import numpy as np #用于数值计算提供了高效的数组操作。 import matplotlib.pyplot as plt #用于绘制各种类型的图表 import seaborn as sns #基于matplotlib的高级绘图库能绘制更美观的统计图形。 import warnings warnings.filterwarnings(ignore) #忽略警告信息保持输出清洁。 # 设置中文字体解决中文显示问题 plt.rcParams[font.sans-serif] [SimHei] # Windows系统常用黑体字体 plt.rcParams[axes.unicode_minus] False # 正常显示负号 data pd.read_csv(E:\\study\\PythonStudy\\python60-days-challenge-master\\data.csv) #读取数据 # 先筛选字符串变量 discrete_features data.select_dtypes(include[object]).columns.tolist() # Home Ownership 标签编码 home_ownership_mapping { Own Home: 1, Rent: 2, Have Mortgage: 3, Home Mortgage: 4 } data[Home Ownership] data[Home Ownership].map(home_ownership_mapping) # Years in current job 标签编码 years_in_job_mapping { 1 year: 1, 1 year: 2, 2 years: 3, 3 years: 4, 4 years: 5, 5 years: 6, 6 years: 7, 7 years: 8, 8 years: 9, 9 years: 10, 10 years: 11 } data[Years in current job] data[Years in current job].map(years_in_job_mapping) # Purpose 独热编码记得需要将bool类型转换为数值 data pd.get_dummies(data, columns[Purpose]) data2 pd.read_csv(E:\\study\\PythonStudy\\python60-days-challenge-master\\data.csv) # 重新读取数据用来做列名对比 list_final [] # 新建一个空列表用于存放独热编码后新增的特征名 for i in data.columns: if i not in data2.columns: list_final.append(i) # 这里打印出来的就是独热编码后的特征名 for i in list_final: data[i] data[i].astype(int) # 这里的i就是独热编码后的特征名 # Term 0 - 1 映射 term_mapping { Short Term: 0, Long Term: 1 } data[Term] data[Term].map(term_mapping) data.rename(columns{Term: Long Term}, inplaceTrue) # 重命名列 continuous_features data.select_dtypes(include[int64, float64]).columns.tolist() #把筛选出来的列名转换成列表 # 连续特征用中位数补全 for feature in continuous_features: mode_value data[feature].mode()[0] #获取该列的众数。 data[feature].fillna(mode_value, inplaceTrue) #用众数填充该列的缺失值inplaceTrue表示直接在原数据上修改。 # 最开始也说了 很多调参函数自带交叉验证甚至是必选的参数你如果想要不交叉反而实现起来会麻烦很多 # 所以这里我们还是只划分一次数据集 from sklearn.model_selection import train_test_split X data.drop([Credit Default], axis1) # 特征axis1表示按列删除 y data[Credit Default] # 标签 # 按照8:2划分训练集和测试集 X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42) # 80%训练集20%测试集 from sklearn.ensemble import RandomForestClassifier #随机森林分类器 from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score # 用于评估分类器性能的指标 from sklearn.metrics import classification_report, confusion_matrix #用于生成分类报告和混淆矩阵 import warnings #用于忽略警告信息 warnings.filterwarnings(ignore) # 忽略所有警告信息 # --- 1. 默认参数的随机森林 --- # 评估基准模型这里确实不需要验证集 print(--- 1. 默认参数随机森林 (训练集 - 测试集) ---) import time # 这里介绍一个新的库time库主要用于时间相关的操作因为调参需要很长时间记录下会帮助后人知道大概的时长 start_time time.time() # 记录开始时间 rf_model RandomForestClassifier(random_state42) rf_model.fit(X_train, y_train) # 在训练集上训练 rf_pred rf_model.predict(X_test) # 在测试集上预测 end_time time.time() # 记录结束时间 print(f训练与预测耗时: {end_time - start_time:.4f} 秒) print(\n默认随机森林 在测试集上的分类报告) print(classification_report(y_test, rf_pred)) print(默认随机森林 在测试集上的混淆矩阵) print(confusion_matrix(y_test, rf_pred)) # 安装并导入 DEAP 库 # !pip install deap import random from deap import base, creator, tools, algorithms # 4.2 定义问题个体与适应度 # 定义适应度我们需要最大化两个目标所以权重都设为 1.0 # weights(1.0, 1.0) 表示我们希望同时最大化这两个值 creator.create(FitnessMulti, base.Fitness, weights(1.0, 1.0)) # 定义个体每个个体包含一组随机森林的超参数 # 我们选择优化4个关键超参数 # 1. n_estimators (树的数量) # 2. max_depth (树的最大深度) # 3. min_samples_split (节点分裂所需的最小样本数) # 4. min_samples_leaf (叶节点所需的最小样本数) creator.create(Individual, list, fitnesscreator.FitnessMulti) # 4.3 创建工具箱 (Toolbox) toolbox base.Toolbox() # 定义每个基因超参数的生成方式 # n_estimators: 整数范围 [50, 300] toolbox.register(attr_n_estimators, random.randint, 50, 300) # max_depth: 整数范围 [5, 50] toolbox.register(attr_max_depth, random.randint, 5, 50) # min_samples_split: 整数范围 [2, 20] toolbox.register(attr_min_samples_split, random.randint, 2, 20) # min_samples_leaf: 整数范围 [1, 20] toolbox.register(attr_min_samples_leaf, random.randint, 1, 20) # 将基因组合成个体 # n1 表示每个函数调用1次生成一个完整的个体 toolbox.register(individual, tools.initCycle, creator.Individual, (toolbox.attr_n_estimators, toolbox.attr_max_depth, toolbox.attr_min_samples_split, toolbox.attr_min_samples_leaf), n1) # 定义种群 toolbox.register(population, tools.initRepeat, list, toolbox.individual) # 4.4 定义评估函数 def evaluate_rf(individual): 评估函数接收一个个体超参数组合返回其在测试集上的精确率, 召回率 # 从个体中解析超参数 n_estimators, max_depth, min_samples_split, min_samples_leaf individual # 创建并训练随机森林模型 rf RandomForestClassifier( n_estimatorsn_estimators, max_depthmax_depth, min_samples_splitmin_samples_split, min_samples_leafmin_samples_leaf, random_state42, n_jobs-1 # 使用所有可用的CPU核心 ) rf.fit(X_train, y_train) # 在测试集上进行预测 predictions rf.predict(X_test) # 计算精确率和召回率 # precision_score 和 recall_score 默认计算正类标签为1的指标 precision precision_score(y_test, predictions) recall recall_score(y_test, predictions) # 返回评估结果注意必须是元组 return (precision, recall) # 注册评估函数、交叉、变异和选择算子 toolbox.register(evaluate, evaluate_rf) toolbox.register(mate, tools.cxTwoPoint) # 两点交叉 toolbox.register(mutate, tools.mutUniformInt, low[50, 5, 2, 1], up[300, 50, 20, 20], indpb0.2) # 均匀整数变异 toolbox.register(select, tools.selNSGA2) # NSGA-II 选择算法 def run_optimization(): 运行NSGA-II多目标优化算法 这个函数的作用 1. 设置统计信息收集器用于监控优化过程 2. 创建初始种群 3. 运行遗传算法进行多目标优化 4. 返回最终的优化结果 # 统计信息收集器 - 用于监控优化过程 # 这些统计信息帮助我们了解算法的收敛情况 stats tools.Statistics(lambda ind: ind.fitness.values) # 获取每个个体的适应度值 # 注册统计函数 - 对每一代种群计算这些统计量 stats.register(avg, np.mean, axis0) # 平均值看整体水平趋势 stats.register(std, np.std, axis0) # 标准差看种群多样性 stats.register(min, np.min, axis0) # 最小值看最差个体表现 stats.register(max, np.max, axis0) # 最大值看最好个体表现 print( 开始多目标优化...) print( 将监控以下统计信息) print( • avg: 每一代的平均精确率和召回率) print( • std: 种群的多样性程度) print( • min: 最差个体的表现) print( • max: 最好个体的表现) print() # 初始化种群 pop toolbox.population(n50) # 创建50个随机个体作为初始种群 print(f初始化种群完成种群大小: {len(pop)}) # 运行NSGA-II算法进行演化 print(开始演化过程...) start_time time.time() # eaMuPlusLambda 是 DEAP 提供的 (μ λ) 演化策略 # μ: 父代数量λ: 子代数量 final_pop, logbook algorithms.eaMuPlusLambda( pop, toolbox, mu50, # 父代种群大小 lambda_50, # 每一代产生的子代数量 cxpb0.7, # 交叉概率 (70%的个体会进行交叉) mutpb0.2, # 变异概率 (20%的个体会发生变异) ngen20, # 演化代数 (为了演示设置得较小) statsstats, # 统计信息收集器 halloffameNone, # 不使用名人堂 verboseTrue # 显示每一代的进化过程 ) end_time time.time() print(f\n多目标优化完成) print(f总耗时: {end_time - start_time:.2f} 秒) print(f最终种群大小: {len(final_pop)}) return final_pop # 运行优化 print( * 60) print(开始运行多目标优化算法) print( * 60) final_pop run_optimization() # 5.1 提取帕累托前沿的解 # 使用 tools.selBest 可以方便地从种群中选出最优的个体 # 在多目标优化中它会返回所有非支配解 pareto_front tools.selBest(final_pop, klen(final_pop)) print(f找到了 {len(pareto_front)} 个帕累托最优解。) print(\n部分最优解 (超参数) 及其对应的 (精确率, 召回率):) print(- * 60) print(n_est, max_d, min_split, min_leaf | Precision | Recall) print(- * 60) # 存储结果用于绘图 pareto_points [] for ind in pareto_front: params ind fitness ind.fitness.values pareto_points.append(fitness) print(f{str(params):30} | {fitness[0]:.5f} | {fitness[1]:.5f}) # 转换为numpy数组方便处理 pareto_points np.array(pareto_points) # 5.2 可视化帕累托前沿 plt.figure(figsize(10, 7)) # 绘制基准模型 base_precision precision_score(y_test, rf_pred) base_recall recall_score(y_test, rf_pred) plt.scatter(base_recall, base_precision, markers, colorr, s150, labelf基准模型 (Recall{base_recall:.3f}, Precision{base_precision:.3f}), zorder3) # 绘制帕累托前沿 plt.scatter(pareto_points[:, 1], pareto_points[:, 0], facecolorsnone, edgecolorsb, s80, label帕累托前沿解, zorder2) plt.title(多目标优化结果帕累托前沿, fontsize16) plt.xlabel(召回率 (Recall), fontsize12) plt.ylabel(精确率 (Precision), fontsize12) plt.grid(True, linestyle--, alpha0.6) plt.legend() plt.show()结果通过多目标优化我们不再是得到一个单一的“最佳”模型而是得到了一系列“各有所长”的优秀模型这为实际应用提供了更大的灵活性。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站建立数据库连接时出错苏州吴中区建设局工程网站

第一章:警惕Open-AutoGLM账号裸奔风险在人工智能模型快速迭代的背景下,Open-AutoGLM作为一款开源自动化语言生成工具,正被广泛应用于企业级服务与个人开发场景。然而,其默认开放的账号权限机制和缺乏强制认证策略,导致…

张小明 2025/12/29 17:16:42 网站建设

中国建设银行招投标网站wamp 网站开发首先做什么

ComfyUI镜像优势揭秘:为何它成AI开发者首选工具? 在生成式AI席卷内容创作领域的今天,一个看似“复古”的图形界面工具——节点式工作流平台,正悄然成为专业团队的标配。当大多数用户还在用点击按钮的方式生成图像时,一…

张小明 2025/12/30 1:02:57 网站建设

简约风格网站设计河北城乡建设厅网站

Dify平台任务型对话系统搭建教程 在客户服务日益智能化的今天,企业不再满足于“能回答问题”的聊天机器人,而是期望一个真正“能办事”的数字助手。想象一下:用户一句“帮我把上周买的连衣裙退了”,系统就能自动识别订单、判断是否…

张小明 2025/12/30 2:03:18 网站建设

杭州手机网站建设利川网站建设

5步精通NocoDB数据导出:从零到高手实战指南 【免费下载链接】nocodb nocodb/nocodb: 是一个基于 node.js 和 SQLite 数据库的开源 NoSQL 数据库,它提供了可视化的 Web 界面用于管理和操作数据库。适合用于构建简单的 NoSQL 数据库,特别是对于…

张小明 2025/12/29 11:43:53 网站建设

石家庄个人做网站网站等保建设

摘要 随着教育信息化的快速发展,家教管理系统作为连接学生、家长和教师的重要平台,逐渐成为现代教育服务的重要组成部分。传统的家教管理方式依赖人工操作,效率低下且容易出错,无法满足日益增长的家教服务需求。借助互联网技术&am…

张小明 2025/12/29 22:16:50 网站建设

网站建设与规划周志总结郑州网站南京网站建设

还在为寻找优质教育资源而四处奔波吗?🤔 传统的教育资源下载方式往往效率低下、操作繁琐,让教师和学生浪费大量宝贵时间。现在,knowledge-grab这款跨平台教育资源下载工具,正以革命性的方式改变着教育资源的获取体验&a…

张小明 2025/12/27 3:57:01 网站建设