Julia劳动力市场经济数学模型价值策略选择

🎯要点

  1. 🎯数据元素:
    1. 🖊变量处理 | 🖊代码多重调用 | 🖊集合:数组、字典、元组和命名元组 | 🖊矢量化代码:广播 | 🖊字符串处理 | 🖊提取HTTP查询,解析JSON数据,丢失值绘图和插值 | 🖊处理压缩文件,CSV文件,Apache Arrow数据,SQLite数据库,计算和可视化汇总统计数据 | 🖊数据帧处理,创建本地线性回归模型,可视化模型预测 | 🖊交互R语言,绘制矩阵相关性 | 🖊转换数据帧为其他类型 | 🖊提取压缩归档文件,分割整合变换数据帧,图形分析数据 | 🖊构建资产预测模型​ | 🖊蒙特卡罗模拟期权定价。
  2. 🎯经济学几何级数学模型:
    1. 🖊资产负债表现金流价值估算,对比投资和政府支出对收益的影响 | 🖊马尔可夫链计算个人雇佣和失业的矩阵数据,确定信息:失业持续时间,何时失业,可能失业的概率 | 🖊帕累托分布模型计算财富分布不平等:洛伦兹曲线和基尼系数测量,工资收入和资产回报影响 | 🖊人才市场建模,推断求职者市场价值最大化策略 | 🖊个人跳槽预期建模,​判断在职和离职状态下,对新工作机会的跳槽或选择预期 | 🖊失业人员重新就职建模,评估条件:薪资下降、失业补偿金、薪资构成分布 | 🖊职业选择建模,最大化预期工资流 | 🖊在职人员择业建模,评估投资目前职业与选择新职业资本回报 | 🖊制造业增长型贴现投资建模,价值迭代和时间迭代评估价值最大化策略 。
  3. 🎯机器学习:
    1. 🖊马尔可夫决策 | 🖊生成对抗网络

🍇Julia建立预测模型

我们将构建一个预测机器学习模型。

 julia> Pkg.add(“ScikitLearn.jl”)

这个包是 Python scikit-learn 包的接口。使用这个包的有趣之处在于,您可以使用与 Python 中使用的相同的模型和功能。Sklearn 要求所有数据都是数字类型,所以让我们对数据进行标签编码,

 using ScikitLearn @sk_import preprocessing: LabelEncoder labelencoder = LabelEncoder() categories = [2 3 4 5 6 12 13] for col in categories train[col] = fit_transform!(labelencoder, train[col]) end

以前用过sklearn的人会发现这段代码很熟悉,我们使用LabelEncoder对类别进行编码。我使用了带有分类数据的列索引。

接下来,我们将导入所需的模块。 然后我们将定义一个通用分类函数,它以模型作为输入并确定准确性和交叉验证分数。

using ScikitLearn: fit!, predict, @sk_import, fit_transform! @sk_import preprocessing: LabelEncoder @sk_import model_selection: cross_val_score  @sk_import metrics: accuracy_score @sk_import linear_model: LogisticRegression @sk_import ensemble: RandomForestClassifier @sk_import tree: DecisionTreeClassifier function classification_model(model, predictors) y = convert(Array, train[:13]) X = convert(Array, train[predictors]) X2 = convert(Array, test[predictors])                  fit!(model, X, y) predictions = predict(model, X) accuracy = accuracy_score(predictions, y) println("\naccuracy: ",accuracy) cross_score = cross_val_score(model, X, y, cv=5)    println("cross_validation_score: ", mean(cross_score)) fit!(model, X, y) pred = predict(model, X2) return pred end

让我们制作第一个逻辑回归模型。 一种方法是将所有变量纳入模型,但这可能会导致过度拟合。 简而言之,采用所有变量可能会导致模型理解特定于数据的复杂关系,并且不能很好地概括。

因此,让我们用“Credit_History”制作第一个模型。

model = LogisticRegression()
predictor_var = [:Credit_History]
classification_model(model, predictor_var)

准确度:80.945% 交叉验证分数:80.957%。

决策树是建立预测模型的另一种方法。众所周知,它比逻辑回归模型提供更高的准确性。

model = DecisionTreeClassifier()
predictor_var = [:Credit_History, :Gender, :Married, :Education]
classification_model(model, predictor_var)

准确度:80.945% 交叉验证分数:76.656%

在这里,基于分类变量的模型无法产生影响,因为信用记录对它们起着主导作用。让我们尝试一些数值变量:

#We can try different combinations of variables:
predictor_var = [:Credit_History, :Loan_Amount_Term]
classification_model(model, predictor_var)

准确度:99.345% 交叉验证分数:72.009%。

随机森林是解决分类问题的另一种算法。随机森林的一个优点是我们可以使其适用于所有特征,并且它返回一个可用于选择特征的特征重要性矩阵。

model = RandomForestClassifier(n_estimators=100)
predictors =[:Gender, :Married, :Dependents, :Education,:Self_Employed, :Loan_Amount_Term, :Credit_History, :Property_Area,:LoanAmount]
classification_model(model, predictors)

准确度:100.000% 交叉验证分数:78.179%。

在这里我们看到训练集的准确率是 100%。这是过度拟合的最终情况,可以通过两种方式解决:

  1. 减少预测变量的数量
  2. 调整模型参数

更新后的代码现在是

model = RandomForestClassifier(n_estimators=100, min_samples_split=25, max_depth=8, n_jobs=-1)
predictors = [:ApplicantIncome, :CoapplicantIncome, :LoanAmount, :Credit_History, :Loan_Amoun_Term, :Gender, :Dependents]
classification_model(model, predictors)

准确度:82.410% 交叉验证分数:80.635%。

参阅:亚图跨际

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/822925.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot将上传的文件保存到临时文件

介绍 当前端上传文件到后端,后端将文件上传到第三方,在后端不需要保存文件时可以考虑使用临时文件进行存储。好处是:不必再为文件找一个临时的存储位置。 使用场景 #mermaid-svg-wEocgeoz3nUibGPg {font-family:"trebuchet ms",v…

AJAX (异步的JavaScript 和 XML)

目录 1、什么是AJAX 2、作用 1)与服务器通信 2)异步交互(更新局部页面) 3、AJAX 的基本工作原理 4、应用举例 5、jQuery与AJAX 6、使用jQeury实现AJAX 1)$.ajax():发送异步请求 2)$.g…

2024五一杯数学建模C题思路分析

文章目录 1 赛题思路2 比赛日期和时间3 组织机构4 建模常见问题类型4.1 分类问题4.2 优化问题4.3 预测问题4.4 评价问题 5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 比赛日期和时间 报名截止时间:2024…

HCIA网络基础

HCIA网络基础是华为认证体系中一个至关重要的部分,它涵盖了计算机网络的基本概念、原理、技术和应用。以下是关于HCIA网络基础更详细的介绍: 一、网络基本概念和特点 网络是由若干计算机和其他设备通过通信线路或其他手段连接起来,进行数据…

JS和TS基础学习

javaScripte export和import javascript中import和export详解 JS之export JS中export怎么用? export导出分为两种导出 命名导出(每个模块包含任意数量) 默认导出(每个模块包含一个) var、let、const [JavaScript中…

解决npm install安装node-sass包容易失败的问题

具体问题如下: npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! While resolving: XXX3.4.0 npm ERR! Found: webpack5.31.2 npm ERR! node_modules/webpack npm ERR! peer webpack”^4.0.0 || ^5.0.0″ from html-…

SpringBoot和Axios数据的传递和接收-Restful完全版

文章目录 一、基础知识铺垫Axios使用HTTP请求方式数据传输方式SpringBoot获取数据的方式 二、基础传递代码示例(一)Path Variables(二)Get、DeleteRequestParamModelAttribute (三)Post、Put、PatchRequest…

FreeRTOS学习 -- 中断配置

一、什么是中断 中断时微控制器一个很常见的特性,中断是由硬件产生,当中断产生以后CPU就会中断当前的流程而去处理中断服务,Cortex-M内核的MCU提供了一个用于中断管理的嵌套向量中断控制器(NVIC)。 二、中断优先级分…

土壤湿度传感器:助力农业现代化

随着科技的飞速发展,越来越多的先进技术被应用到农业生产中。其中,土壤湿度传感器作为现代农业的重要工具,正逐渐改变着传统农业的生产方式,成为农业现代化的秘密武器。 精确监测:土壤湿度传感器能够实时、精确地监测土…

WIN7用上最新版Chrome

1.下载WIN10最新版Chrome的离线安装包 谷歌浏览器 Chrome 最新版离线安装包下载地址 v123.0.6312.123 - 每日自动更新 | 异次元软件 文件名称:123.0.6312.123_chrome_installer.exe。 123.0.6312.123_chrome_installer.exe 文件右键解压缩得到 chrome.7z&#x…

树莓派3B长时间不操作屏幕息屏无信号处理

树莓派外接显示器,需长时间展示某个网页,经过一段时间,显示器屏幕会黑掉显示无信号。 需修改 /etc/lightdm/lightdm.conf 配置文件中新增如下两行并重启。 xserver-commandX -s 0 dpms sleep-inactive-timeout0

软考 - 系统架构设计师 - Web 应用真题(2)

问题 1: 淘汰策略:遗留系统技术含量低,业务价值也低,所以需要全面重新开发一个系统来替代遗留系;(一般是企业的业务发生了根本变化,遗留系统已经基本不再适应企业运作的需要;或者是遗…

【Python基础】19.eval函数的使用

eval函数 eval()将字符串转变为有效的表达式来求值并返回对应的结果 基础数据计算 In [1]: eval("1 1") Out[1]: 2字符串重复 In [2]: eval (" * * 10") Out[2]: **********字符串转为列表 In [3]: type(eval("[1,2,3,4,5]")) Out[3]: lis…

docker 简单使用

docker 简单使用 一、 docker 安装二、docker 使用1. docker pull 拉取镜像2. docker run 后台运行3. docker ps 查看容器运行状态4. docker exec 进入容器5. exit 退出容器6. docker restar 重启容器7. docker stop 停止运行容器8. docker stop 启动容器9. docker stop 删除容…

nextjs渲染篇

1 服务器组件 默认情况下,Next.js 使用服务器组件。 1.1 服务器组件是如何呈现的? 在服务器上,Next.js 使用 React 的 API 来编排渲染。渲染工作被拆分为多个块:按单个路段和Suspense 每个区块分两个步骤呈现: Re…

Python一键修改目录下所有文件的编码格式

前言 在开发中总会遇到这样的问题,别人的代码采用的编码格式是GBK,而自己的项目的编码格式是UTF-8,如果直接复制过来,就会出现中文乱码的问题,一个个该编码格式又非常麻烦。所以我写了这样一小段简短的代码&#xff0…

Python 中的高阶函数

Python 中的高阶函数是指可以接受函数作为参数,或者返回函数作为结果的函数。这种特性让编程变得更加灵活和功能强大,常见的高阶函数有 map()、filter()、reduce() 和 sorted() 等。 map() 函数: map() 函数接受一个函数和一个可迭代对象&a…

select * from .... for update 使用 防止重复提交/操作

详情点下方链接 for-update笔记链接 注:当选中某一个行的时候,如果是通过主键id选中的。那么这个时候是行级锁。 其他的行还是可以直接insert 或者update的。如果是通过其他的方式选中行,或者选中的条件不明确包含主键。这个时候会锁表。其他的事务对该表的任意一行…

SQLite的PRAGMA 声明(二十三)

返回:SQLite—系列文章目录 上一篇:SQLite从出生到现在(发布历史记录)(二十二) 下一篇:用于 SQLite 的异步 I/O 模块(二十四) PRAGMA 语句是特定于 SQLite 的 SQL 扩…

Valorant 瓦罗兰特更新后进不去游戏?3个解决方法完美解决

Valorant 瓦罗兰特更新后进不去游戏?3个解决方法完美解决 《无畏契约(VALORANT)》是一款由知名游戏开发商(Riot Games)开发并且免费的多人射击游戏。游戏背景设定在一个幻想世界中,玩家将探索瓦罗兰大陆上…