广东深圳住房和城乡建设部网站中国网站建设服务中心

张小明 2026/3/2 19:53:51
广东深圳住房和城乡建设部网站,中国网站建设服务中心,济南百度seo,网站推广多少钱一年浙大疏锦行 一、前置代码 # 先运行之前预处理好的代码 import pandas as pd import pandas as pd #用于数据处理和分析#xff0c;可处理表格数据。 import numpy as np #用于数值计算#xff0c;提供了高效的数组操作。 import matplotlib.pyplot as plt #用于绘…浙大疏锦行一、前置代码# 先运行之前预处理好的代码 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. 默认参数随机森林 (训练集 - 测试集) ---) rf_model RandomForestClassifier(random_state42) rf_model.fit(X_train, y_train) # 在训练集上训练 rf_pred rf_model.predict(X_test) # 在测试集上预测 print(\n默认随机森林 在测试集上的分类报告) print(classification_report(y_test, rf_pred)) print(默认随机森林 在测试集上的混淆矩阵) print(confusion_matrix(y_test, rf_pred))二、ROC曲线from sklearn.metrics import roc_curve, auc import matplotlib.pyplot as plt # 预测测试集上的概率注意ROC曲线需要的是预测概率而不是最终的类别预测 # predict_proba() 返回一个 n_samples x n_classes 的数组我们需要正类1的概率即第二列 rf_pred_proba rf_model.predict_proba(X_test)[:, 1] # 1. 计算 ROC 曲线的 FPR 和 TPR # y_test 是真实标签rf_pred_proba 是正类的预测概率 fpr, tpr, thresholds roc_curve(y_test, rf_pred_proba) # 2. 计算 AUC (Area Under the Curve) roc_auc auc(fpr, tpr) # 3. 绘制 ROC 曲线 plt.figure(figsize(8, 6)) plt.plot(fpr, tpr, colordarkorange, lw2, labelROC curve (area %0.4f) % roc_auc) plt.plot([0, 1], [0, 1], colornavy, lw2, linestyle--, labelRandom Guess) # 对角线 plt.xlim([0.0, 1.0]) # 设置 x 轴范围 plt.ylim([0.0, 1.05]) # 设置 y 轴范围稍微超出 1.0 plt.xlabel(False Positive Rate (FPR)) # x 轴标签 plt.ylabel(True Positive Rate (TPR)) # y 轴标签 plt.title(Receiver Operating Characteristic (ROC) Curve) # 图表标题 plt.legend(loclower right) # 图例位置 plt.grid(True) # 显示网格 plt.show() print(\n模型在测试集上的 AUC (Area Under the Curve): %0.4f % roc_auc) import numpy as np import matplotlib.pyplot as plt from sklearn.metrics import roc_curve, auc # 设置中文字体 plt.rcParams[font.sans-serif] [SimHei] plt.rcParams[axes.unicode_minus] False def plot_distribution_and_roc(mu_neg, mu_pos, title_prefix): # --- 1. 模拟数据 (完全沿用之前的逻辑) --- # 负样本分布 (好人分数低) n_neg 10000 neg_scores np.random.normal(locmu_neg, scale0.15, sizen_neg) # 正样本分布 (坏人分数高) n_pos 1000 pos_scores np.random.normal(locmu_pos, scale0.15, sizen_pos) # 合并 y_true np.array([0] * n_neg [1] * n_pos) y_scores np.concatenate([neg_scores, pos_scores]) # 归一化 y_scores (y_scores - y_scores.min()) / (y_scores.max() - y_scores.min()) # --- 2. 计算 ROC 曲线的关键差异点 --- # 这里的输入和 PR 曲线一模一样但输出变成了 FPR 和 TPR fpr, tpr, thresholds roc_curve(y_true, y_scores) roc_auc auc(fpr, tpr) # --- 绘图 --- fig, (ax1, ax2) plt.subplots(1, 2, figsize(16, 5)) # 左图分布图 (保持不变) ax1.hist(y_scores[y_true0], bins50, alpha0.5, colorblue, label负样本 (好人/蓝山), densityTrue) ax1.hist(y_scores[y_true1], bins50, alpha0.5, colorred, label正样本 (坏人/红山), densityTrue) ax1.set_title(f{title_prefix}预测分数分布 (重叠度), fontsize14) ax1.set_xlabel(预测概率 (阈值刀从右往左切)) ax1.set_ylabel(密度) ax1.legend() # 右图ROC 曲线 (核心变化) # 绘制 ROC 曲线 ax2.plot(fpr, tpr, colordarkorange, lw2, labelfROC curve (AUC {roc_auc:.2f})) # 绘制对角线 (随机猜测基准线) ax2.plot([0, 1], [0, 1], colornavy, lw2, linestyle--, label随机猜测 (AUC0.5)) # 填充曲线下面积 ax2.fill_between(fpr, tpr, colordarkorange, alpha0.2) ax2.set_title(f{title_prefix}对应的 ROC 曲线, fontsize14) ax2.set_xlabel(FPR (假正率 - 误伤的好人比例) - 代价, fontsize12) ax2.set_ylabel(TPR (真正率 - 抓到的坏人比例) - 收益, fontsize12) ax2.set_xlim([-0.02, 1.0]) ax2.set_ylim([0.0, 1.05]) ax2.legend(loclower right) ax2.grid(True) plt.show() # --- 运行对比 --- # 情况一模型很差 (山峰严重重叠) # 逻辑你想抓红球必然会抓到一大把蓝球。 plot_distribution_and_roc(mu_neg0.4, mu_pos0.5, title_prefix情况A模型较差山峰重叠) # 情况二模型很好 (山峰分得很开) # 逻辑你可以先把红球抓干净都还碰不到蓝球。 plot_distribution_and_roc(mu_neg0.3, mu_pos0.8, title_prefix情况B模型优秀山峰分离)三、PR曲线
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

电商优惠券网站 建设安徽教育机构网站建设

新能源汽车 电力系统 优化 基于粒子群算法的电动汽车群有序充电优化 设计简介:解决与电动汽车充电站的电力分配相关的问题。 通过使用粒子群优化(PSO)算法,为电动汽车充电站找到最优的充电策略,以最小化电网的总费用和…

张小明 2025/12/26 5:44:51 网站建设

做论坛网站怎么赚钱吗福田区住房和建设局官方网站

15亿参数打破多模态割裂!字节开源Tar-1.5B开创统一新范式 【免费下载链接】Tar-1.5B 项目地址: https://ai.gitcode.com/hf_mirrors/ByteDance-Seed/Tar-1.5B 导语 字节跳动Seed团队开源的Tar-1.5B多模态模型,通过"视觉即方言"创新理…

张小明 2025/12/25 16:21:05 网站建设

个人网站模板素材国家商标注册查询网官网

因 HDMI 协议的标准授权组织 HDMI Forum 在 2021 年关闭了 Linux开发人员对HDMI 2.1 规格的公开访问,导致Linux对HDMI 2.1的驱动支持开发接近停滞。 HDMI 2.1开源驱动的发布需要征得 HDMI Forum 的批准,2024 年该协议拥有者就拒绝了 AMD 发布开源驱动的尝…

张小明 2025/12/25 21:46:24 网站建设

做微博长图的网站新乡做网站的公司

4-bit量化技术突破:FLUX模型实现50%显存节省与8.7倍加速 【免费下载链接】nunchaku-flux.1-krea-dev 项目地址: https://ai.gitcode.com/hf_mirrors/nunchaku-tech/nunchaku-flux.1-krea-dev 你是否曾经因为显存不足而无法运行专业的AI绘图模型?…

张小明 2026/1/4 10:06:29 网站建设

做网站需要备案几次安卓应用开发环境

第一章:Open-AutoGLM快捷键配置Open-AutoGLM 是一款基于大语言模型的自动化代码生成工具,支持深度集成到主流开发环境。通过自定义快捷键配置,开发者能够显著提升编码效率,快速触发代码补全、函数生成与上下文推理功能。快捷键配置…

张小明 2025/12/25 19:45:32 网站建设

网站全站出售工业设计公司推荐

动态表单编辑与智能下拉选择:提升Web应用用户体验的实用方案 【免费下载链接】x-editable vitalets/x-editable: 是一个用于实现表单字段在线编辑的jQuery插件,可以方便地在Web应用中实现表单字段的在线编辑。适合对jQuery、表单编辑和想要实现表单在线编…

张小明 2025/12/25 11:49:12 网站建设