数据挖掘(三):模型构建

2023-11-11

1、导入需要的包

# 导入包
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
from xgboost import XGBClassifier
from sklearn.metrics import classification_report
from sklearn import metrics

plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

2、导入已整理好的数据

# 导入数据
org_data = pd.read_csv("org_data.csv", encoding = 'gbk')
print(org_data.shape)
(4754, 58)

查看变量总数及变量名称

var_total = org_data.columns
print(len(var_total))
print(var_total)
58
Index(['trans_fail_top_count_enum_last_1_month', 'latest_one_month_suc',
       'rank_trad_1_month', 'top_trans_count_last_1_month',
       'avg_price_top_last_12_valid_month', 'query_cash_count',
       'consfin_product_count', 'consfin_org_count_current',
       'consfin_org_count_behavior', 'history_suc_fee',
       'loans_latest_time_days', 'max_cumulative_consume_later_1_month',
       'trans_day_last_12_month', 'query_org_count',
       'number_of_trans_from_2011', 'trans_amount_3_month',
       'trans_top_time_last_1_month', 'loans_org_count_current', 'loans_score',
       'loans_cash_count', 'pawns_auctions_trusts_consume_last_6_month',
       'apply_score', 'query_sum_count', 'consume_top_time_last_6_month',
       'apply_credibility', 'latest_one_month_apply', 'loans_product_count',
       'trans_top_time_last_6_month', 'loans_org_count_behavior',
       'loans_credit_limit', 'history_fail_fee', 'loans_latest_day',
       'middle_volume_percent', 'consume_mini_time_last_1_month',
       'first_transaction_day', 'loans_count', 'consfin_avg_limit',
       'trans_fail_top_count_enum_last_12_month', 'latest_one_month_fail',
       'trans_fail_top_count_enum_last_6_month', 'latest_six_month_loan',
       'low_volume_percent', 'loans_settle_count', 'trans_activity_day',
       'historical_trans_day', 'latest_query_time_days', 'loans_max_limit',
       'loans_overdue_count', 'consume_top_time_last_1_month',
       'historical_trans_amount', 'latest_query_day',
       'avg_price_last_12_month', 'pawns_auctions_trusts_consume_last_1_month',
       'consfin_credibility', 'consfin_max_limit', 'consfin_credit_limit',
       'latest_three_month_loan', 'status'],
      dtype='object')

3、生成因变量和自变量列表

var_y = ['status']
var_x = list(set(var_total) - set(var_y))

4、拆分训练集和验证集

# # 数据拆分
y = org_data[var_y]
x = org_data[var_x]
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3, random_state=2018)

print(x.shape)
print(y.shape)
print(x_train.shape)
print(y_train.shape)
print(x_test.shape)
print(y_test.shape)
(4754, 57)
(4754, 1)
(3327, 57)
(3327, 1)
(1427, 57)
(1427, 1)

5、模型实例化

# 模型实例化
# 逻辑回归、svm和决策树;随机森林和XGBoost
Lr = LogisticRegression()
svc = SVC()
dt = DecisionTreeClassifier()
rf = RandomForestClassifier()
xgb = XGBClassifier()

model_dict = {"逻辑回归":Lr, "SVM":svc, "决策树":dt, "随机森林":rf, "XGBoost":xgb}
results = pd.DataFrame()
for name, model in model_dict.items():
    print(name)
逻辑回归
SVM
决策树
随机森林
XGBoost

6、进行模型训练,打印模型预测效果

# 进行模型训练,打印模型评估指标
results = pd.DataFrame()
# name_list = f1_score = accuracy = []
def model_est(model_dict, x_train, x_test, y_train, y_test):
    for name, model in model_dict.items():
        result = []
        model_trian = model.fit(x_train, y_train)
        y_pred = model_trian.predict(x_test)
        acc = metrics.accuracy_score(y_pred, y_test)
        pre = metrics.precision_score(y_pred, y_test)
        result.append(acc)
        result.append(pre)
        results[name] = result
       
    return results    

results = pd.DataFrame(model_est(model_dict, x_train, x_test, y_train, y_test)).T
results.columns = ['accuracy_score', 'precision_score']
print(results)
         accuracy_score  precision_score
逻辑回归           0.787666         0.314763
SVM            0.761738         0.058496
决策树            0.695865         0.459610
随机森林            0.758234         0.236769
XGBoost        0.786265         0.367688
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据挖掘(三):模型构建 的相关文章

  • 压力式水位计是怎样安装的?

    1 检查水位计探头及数据电缆外观有无破损 2 采用悬吊的方式将压力式水位计探头及数据传输线缆放入水位测井或者测量容器的底部 若无淤泥的情况下 将传感器放到水位最低点 如有淤泥 要高于淤泥面 真是水位要做相应偏移 若现场换件较为复杂 将水位计
  • 我见过的星网锐捷

    作为一个外来者角度来讲 对星网锐捷是很了解的一家公司 公司整体管理在该领域中算是 自己认可比较好的 在这里最觉得棒的是行政 保安等单位 一个公司的体现很多投资人在意厕所干净 管理水平 在这里我觉得在于保安人员的整体协同 配合能力 锐捷 很多
  • 【Jetson-Nano】SD卡重新格式化

    文章目录 1 打开磁盘管理系统 2 打开powershell 以管理员身份运行 3 输入diskpart 并按回车键 4 输入 list disk 并按回车 5 输入select disk 并按下回车 6 输入clean 并回车 7 进行分
  • (休息几天)读曼昆之微观经济学——决策制定

    1取舍 权衡 一个人的精力有限 所以要学会分配自己的时间 比如多花一小时运动则会少花一小时学习 当这个道理用于社会服务时 则是大炮和黄油的道理 另外 社会面对的另一种权衡是效率与平等的关系 效率是指经济馅饼的大小 平等是指如何切分这个馅饼
  • 线性回归之随机梯度下降(sgd)

    梯度下降的原理 梯度下降 普通梯度下降bgd的方法简单暴力 但是调整速度比较慢 如果不想等所有数据都计算完了才开始调整w 而是计算完数据的一部分 batch size 后就立即调整w 说白了就是在训练过程中进行权重的更新 这样就成了随机梯度
  • Coursera 吴恩达DeepLearning.AI 第五课 sequence model 序列模型 第二周 Operations on word vectors - v2

    只做了计分部分 Operations on word vectors Welcome to your first assignment of this week Because word embeddings are very comput
  • Windows设置redis开启自动启动

    一 首先下载好你需要的Redis 这里就不多说了 可以百度的到的 二 安装完之后 运行redis是通过命令或者是直接运行redisServer的可执行文件 运行效果如下 三 设置Redis服务 由于上面虽然启动了redis 但是只要一关闭c
  • C++11之for循环的新用法

    C 使用如下方法遍历一个容器 include stdafx h include
  • Redis 数据结构与命令

    一 数据结构 Redis是典型的键值数据库 key一般是字符串 而value包含很多不同的数据类型 Value结构 Key结构 Redis的key允许有多个单词形成层级结构 多个单词之间用 隔开 格式为 项目名 业务名 类型 id 如果Va
  • 平滑滤波第二节,中值滤波法(数字图像处理大题复习 P4)

    文章目录 中值滤波 1 圈出模板像素 2 列出像素找到中值 3 填入结果 如果 不要滤波后就替换 中值滤波 1 圈出模板像素 我们先观察这个模板 这里圈出来了5个像素 那我们也在图像中对圈出5个像素 和均值滤波一样 第一个点的选取 2 列出
  • python用input输入list_python怎么用input函数输入一个列表

    python怎么用input函数输入一个列表 函数 的是 数字 没有任何 赋值 python怎么用input函数输入一个列表 易采站长站 站长之家为您整理了python怎么用input函数输入一个列表的相关内容 在Python3 0以后 键
  • JS中设置backgroun-position不成功的问题

    今天在做个人主页的时候 准备把background position设置一下 可是用了很多种方法都没有能够成功 最后才发现了问题 在这里记录一下 如果可以 也很开心能够和你分享我的经验 原生javascript 在原生的js中 大家都理解的
  • vscode不能预览plantuml文件报错的解决方法

    vscode不能预览plantuml文件报错的解决方法 vscode在预览plantuml文件时报错 安装了jre 8u231 dotnet sdk graphviz node终于解决 报错信息如下 扩展宿主意外终止或者 Error wri
  • 数据可视化——Davinci

    数据可视化 Davinci对比及功能使用 一 数据可视化 个人引用部分 1 有趣的意义 2 常规的意义 二 图形的内涵 1 图形类型 2 优秀可视化的特点 三 可视化需求分析 1 四个问题 2 三个沟通点 四 Davinci功能详解 1 可
  • 六度空间理论

    六度空间理论 什么是六度空间理论 Six Degrees of Separation 它是数学领域的一个猜想 名为Six Degrees of Separation 中文翻译包括以下几种 六度空间理论 六度分隔理论 六度分割理论或叫作小世界
  • 论文理解记录:Filter Pruning via Geometric Median for Deep Convolutional Neural Networks Acceleration

    论文核心 论文剪枝对象是卷积核 与其他论文不同点在于作者思考了 norm wise 作为卷积核重要性判断的弊端 并提出了 FPGM 算法 该算法先计算出所有卷积核的几何中心 作者把卷积核当作多维空间中的点 然后找到距离几何中心近的卷积核 并
  • robot framework 使用五:CentOS上运行robot framework 并自动发送测试结果

    操作系统版本 centos 6 0 x86 64 想要在linux上运行robot framework的测试用例 需要安装以下工具和软件 1 安装python 2 7 6 首先python version 查看系统是否装有python 并且
  • jQuery操作编辑页面,span与input标签之间的随时转换

    1 input select textarea转span var switchToSpan function console log this attr id var cId this attr id 获取当前点击input的id cons
  • IP:127.0.0.1详解,与localhost区别

    127 0 0 1 127 0 0 1是回送地址 指本地机 一般用来测试使用 回送地址 127 x x x 是本机回送地址 Loopback Address 即主机IP堆栈内部的IP地址 主要用于网络软件测试以及本地机进程间通信 无论什么程
  • AE表达式:利用wiggle和Math.sin制作蝴蝶动画

    AE表达式 利用wiggle和Math sin制作蝴蝶动画 B站链接 AE表达式 B站讲解最详细的Math表达式和蝴蝶动画制作 课程准备 蝴蝶AI素材 wiggle的用法 上次录了一节视频 链接 Math sin三角函数 函数原型 y A

随机推荐

  • php获取脚本执行的参数

    在看PHP文档到预定义变量时碰到了 argc和 argv 顺手记录下 getopt 从命令行参数列表中获取选项 arg getopt d n 只接收d n之后的参数 num arg n arg n 365 是得到的n后面的参数 这种属于短参
  • 流处理系统Heron——architecture

    简介 Heron是Twitter开源的分布式流处理系统 用来在Twitter内部替代Storm 它提供了和Storm兼容的API 并弥补了Storm中的不足 Storm的不足和新的需求 调试困难 在Storm中 一个topology的多个c
  • idea在maven中导入jstl无效解决办法

    第一种方法 首先在pom中添加依赖
  • Scrapy(二)翻页功能

    目录 方法一 利用框架内置函数 方法二 拼接URL 方法三 拼接简化版 Scrapy提供了很多种翻页的方式 记住其中常用的三种即可 下期会将一些CSS基本语法 这是spider pyl里设置即可 方法一 利用框架内置函数 好处 可以从自己设
  • 实例讲解Spring boot动态切换数据源

    前言 在公司的系统里 由于数据量较大 所以配置了多个数据源 它会根据用户所在的地区去查询那一个数据库 这样就产生了动态切换数据源的场景 今天 就模拟一下在主库查询订单信息查询不到的时候 切换数据源去历史库里面查询 实现效果 首先我们设置查询
  • ICASSP2020一些主题演讲

    https cmsworkshops com ICASSP2020 TechnicalProgram asp 文章目录 T 1 Machine Learning and Wireless Communications T 2 Distrib
  • 【数据挖掘】属性及其类型和数据的统计描述四分位数等详解(图文解释 超详细)

    觉得有帮助请点赞关注收藏 一 属性及其类型 属性 Attribute 是一个数据字段 表示数据对象的一个特征 在文献中 属性 维 Dimension 特征 Feature 和变量 Variable 表示相同的含义 可以在不同场合互换使用 属
  • 硬盘误删除的文件怎么恢复

    硬盘误删除的文件怎么恢复 很多小伙伴为了给电脑硬盘腾出更多的空间 都会定期去清理我们的硬盘 最常见的就是删除一些旧的不用了的文件 但有的时候会出现不小心误删文件的情况 如果第一时间发现了误删文件 通常都可以在回收站里进行还原 但如果我们连回
  • 动态规划——最大子数组

    上一篇我们用分治法已经将问题的复杂度降低了许多 但是 我们依旧不满足 于是 我们尝试用动态规划来做这道题 解题思路 对于这样一个连续和的问题 个人习惯叫做最大连续和 如果我们要用动态规划来解 首先得考虑状态和状态转移方程 如果我们把题述数组
  • 微信小程序使用npm安装第三方包miniprogram-datepicker

    小程序现在支持直接通过npm安装包了 点击这里了解更多 记录一下我自己的安装步骤及安装过程中遇到的一些问题 希望能够帮助到正在阅读此篇文章的你 直接通过在项目根目录安装miniprogram datepicker做演示 使用示例 开启 使用
  • 关于Java集合的一些技巧

    需要唯一吗 需要 Set 需要指定顺序吗 需要 TreeSet 不需要 HashSet 但是想要一个和存储一致的顺序 有序 LinkedHashSet 不需要 List 需要频繁增删吗 需要 LinkedList 不需要 ArrayList
  • 明天—家长开放日

    工作终于基本完成了 这两天忙得我呀 明天可以去参加毛毛幼儿园的家长开放日了 呵呵 不要再象上学期一样 不到十点就把我们轰出来
  • 使用CMakeLists.txt创建一个简单的opengl程序

    现在流行的cmake编写工具 这篇教材主要是用cmak编写的CMakeLists txt文件进行编译 首先编写CMakeLists txt文件 先找到glut 再找到opengl 然后两者和main程序进行链接 编译生成test可执行程序
  • vue集成汉字转拼音并提取首字母

    此方法是利用汉字和Unicode编码对应找到相应字母 一 编写汉字和编码文件对应的js pyconst js export const pinyin a u554a u963f u9515 ai u57c3 u6328 u54ce u550
  • 统计学习方法读书笔记3-感知机SVM

    文章目录 1 感知机模型 2 感知机的学习策略 1 数据集的线性可分性 2 感知机学习策略 3 感知机学习算法 1 原始形式 随机梯度下降法 2 对偶形式 4 感知机算法收敛性证明 感知机是二类分类的线性分类模型 其输入是实例的特征向量 输
  • 【已解决】Latex高亮文本,简单有效

    文章目录 普通文本高亮 章节标题高亮 公式高亮 普通文本高亮 效果是这样的 首先在开头使用 usepackage soul color xcolor 之后在需要高亮的地方使用 hl 文本 注意 如果应用了 hl但是没有反应或者高亮有问题 多
  • python django运用(4.与MySQL数据库交互---代码整理)

    4 在my site内的子文件my site内的 settings py 文件内容 DATABASES 配置项修改成 ATABASES default ENGINE django db backends mysql 数据库引擎 NAME m
  • 5分钟搞定 Vue3+Element-Plus 项目主题色定制

    概念 首先明白什么是主题色 主题色是指一个网站或应用的主色调 是体现整体风格的一个重要标志 比如京东 淘宝 b站 都有各自的主题色 今天就带大家手动实现一下我们自己系统的主题色 效果 先看一下实现效果 当点击相应主题色的时候 页面相应控件的
  • ChatGPT在英文论文润色编辑领域有哪些应用?

    ChatGPT 全名Chat Generative Pre trained Transformer 是美国人工智能研究实验室OpenAI研发的聊天机器人程序产品 于2022年11月发布 ChatGPT基于人工智能神经网络技术 能够根据与人类
  • 数据挖掘(三):模型构建

    数据挖掘 三 模型构建 1 导入需要的包 2 导入已整理好的数据 3 生成因变量和自变量列表 4 拆分训练集和验证集 5 模型实例化 6 进行模型训练 打印模型预测效果 1 导入需要的包 导入包 import pandas as pd fr