大数据分析案例-基于随机森林算法构建人口普查分析模型
🤵♂️ 个人主页:@艾派森的个人主页
✍🏻作者简介:Python学习者
🐋 希望大家多多支持,我们一起进步!😄
如果文章对你有帮助的话,
欢迎评论 💬点赞👍🏻 收藏 📂加关注+
喜欢大数据分析项目的小伙伴,希望可以多多支持该系列的其他文章
大数据分析案例-基于随机森林算法预测人类预期寿命 |
大数据分析案例-基于随机森林算法的商品评价情感分析 |
大数据分析案例-用RFM模型对客户价值分析(聚类) |
大数据分析案例-对电信客户流失分析预警预测 |
大数据分析案例-基于随机森林模型对北京房价进行预测 |
大数据分析案例-基于RFM模型对电商客户价值分析 |
大数据分析案例-基于逻辑回归算法构建垃圾邮件分类器模型 |
大数据分析案例-基于决策树算法构建员工离职预测模型 |
大数据分析案例-基于KNN算法对茅台股票进行预测 |
大数据分析案例-基于多元线性回归算法构建广告投放收益模型 |
大数据分析案例-基于随机森林算法构建返乡人群预测模型 |
1.项目背景
根据统计法和《全国人口普查条例》,我国以2020年11月1日零时为标准时点开展了第七次全国人口普查(以下简称七人普),主要目的是全面查清我国人口数量、结构、分布等方面情况,为完善我国人口发展战略和政策体系、制定经济社会发展规划、推动高质量发展提供准确统计信息支持。七人普全面采用电子化数据采集方式,实时直接上报数据,首次实现普查对象通过扫描二维码进行自主填报,强化部门行政记录和电力、手机等大数据应用,提高了普查工作质量和效率。七人普邀请钟南山、姚明担任宣传大使,“大国点名、没你不行”等宣传口号深入人心,加大了宣传力度。七人普坚持依法进行,认真落实普查方案的各项要求,实行严格的质量控制制度,建立健全普查数据追溯和问责机制,在31个省(自治区、直辖市)中随机抽取141个县的3.2万户进行了事后质量抽查,结果显示,七人普漏登率为0.05%,普查过程严谨规范,普查结果真实可靠。
(一)人口总量。全国人口[注]共141178万人,与2010年(第六次全国人口普查数据,下同)的133972万人相比,增加7206万人,增长5.38%,年平均增长率为0.53%,比2000年到2010年的年平均增长率0.57%下降0.04个百分点。数据表明,我国人口10年来继续保持低速增长态势。
(二)户别人口。全国共有家庭户49416万户,家庭户人口为129281万人;集体户2853万户,集体户人口为11897万人。平均每个家庭户的人口为2.62人,比2010年的3.10人减少0.48人。家庭户规模继续缩小,主要是受我国人口流动日趋频繁和住房条件改善年轻人婚后独立居住等因素的影响。
(三)人口地区分布。东部地区人口占39.93%,中部地区占25.83%,西部地区占27.12%,东北地区占6.98%。与2010年相比,东部地区人口所占比重上升2.15个百分点,中部地区下降0.79个百分点,西部地区上升0.22个百分点,东北地区下降1.20个百分点。人口向经济发达区域、城市群进一步集聚。
(四)性别构成。男性人口为72334万人,占51.24%;女性人口为68844万人,占48.76%。总人口性别比(以女性为100,男性对女性的比例)为105.07,与2010年基本持平,略有降低。出生人口性别比为111.3,较2010年下降6.8。我国人口的性别结构持续改善。
(五)年龄构成。0—14岁人口为25338万人,占17.95%;15—59岁人口为89438万人,占63.35%;60岁及以上人口为26402万人,占18.70%(其中,65岁及以上人口为19064万人,占13.50%)。与2010年相比,0—14岁、15—59岁、60岁及以上人口的比重分别上升1.35个百分点、下降6.79个百分点、上升5.44个百分点。我国少儿人口比重回升,生育政策调整取得了积极成效。同时,人口老龄化程度进一步加深,未来一段时期将持续面临人口长期均衡发展的压力。
(六)受教育程度人口。具有大学文化程度的人口为21836万人。与2010年相比,每10万人中具有大学文化程度的由8930人上升为15467人,15岁及以上人口的平均受教育年限由9.08年提高至9.91年,文盲率由4.08%下降为2.67%。受教育状况的持续改善反映了10年来我国大力发展高等教育以及扫除青壮年文盲等措施取得了积极成效,人口素质不断提高。
(七)城乡人口。居住在城镇的人口为90199万人,占63.89%;居住在乡村的人口为50979万人,占36.11%。与2010年相比,城镇人口增加23642万人,乡村人口减少16436万人,城镇人口比重上升14.21个百分点。随着我国新型工业化、信息化和农业现代化的深入发展和农业转移人口市民化政策落实落地,10年来我国新型城镇化进程稳步推进,城镇化建设取得了历史性成就。
(八)流动人口。人户分离人口为49276万人,其中,市辖区内人户分离人口为11694万人,流动人口为37582万人,其中,跨省流动人口为12484万人。与2010年相比,人户分离人口增长88.52%,市辖区内人户分离人口增长192.66%,流动人口增长69.73%。我国经济社会持续发展,为人口的迁移流动创造了条件,人口流动趋势更加明显,流动人口规模进一步扩大。
(九)民族人口。汉族人口为128631万人,占91.11%;各少数民族人口为12547万人,占8.89%。与2010年相比,汉族人口增长4.93%,各少数民族人口增长10.26%,少数民族人口比重上升0.40个百分点。民族人口稳步增长,充分体现了在中国共产党领导下,我国各民族全面发展进步的面貌。
人口问题始终是我国面临的全局性、长期性、战略性问题,七人普全面查清了我国人口数量、结构、分布等方面情况,准确反映了当前人口变化的趋势性特征,获得了大量宝贵的信息资源,我们正在抓紧对普查数据进行整理、分析和开发,后续会采取更多方式公布和共享普查成果,配合相关部门加强人口发展的前瞻性、战略性研究,最大程度发挥普查的作用,为推动高质量发展、有针对性地制定人口相关战略和政策、促进人口长期均衡发展提供强有力的统计信息支持。
2.项目简介
2.1研究目的及意义
人口普查是每个国家都要做的一件事,通过人口普查,我们可以分析一个国家或者某个地区的人口数据情况,构建模型,为评估每个地区的发展状况做准备。
2.2研究方法与思路
1.使用pandas导入数据并对数据进行基本的了解
2.使用matplotlib和seaborn对数据进行可视化分析
3.使用pandas对数据进行预处理
4.使用sklearn对数据集进行拆分并逻辑回归、决策树、随机森林模型
5.使用sklearn对模型进行评估
2.3技术工具
Python版本:3.9
代码编辑器:jupyter notebook
3.算法原理
随机森林是一种有监督学习算法。就像它的名字一样,它创建了一个森林,并使它拥有某种方式随机性。所构建的“森林”是决策树的集成,大部分时候都是用“bagging”方法训练的。bagging 方法,即 bootstrapaggregating,采用的是随机有放回的选择训练数据然后构造分类器,最后组合学习到的模型来增加整体的效果。简而言之,随机森林建立了多个决策树,并将它们合并在一起以获得更准确和稳定的预测。其一大优势在于它既可用于分类,也可用于回归问题,这两类问题恰好构成了当前的大多数机器学习系统所需要面对的。
随机森林分类器使用所有的决策树分类器以及 bagging 分类器的超参数来控制整体结构。与其先构建 bagging分类器,并将其传递给决策树分类器,我们可以直接使用随机森林分类器类,这样对于决策树而言,更加方便和优化。要注意的是,回归问题同样有一个随机森林回归器与之相对应。
随机森林算法中树的增长会给模型带来额外的随机性。与决策树不同的是,每个节点被分割成最小化误差的最佳指标,在随机森林中我们选择随机选择的指标来构建最佳分割。因此,在随机森林中,仅考虑用于分割节点的随机子集,甚至可以通过在每个指标上使用随机阈值来使树更加随机,而不是如正常的决策树一样搜索最佳阈值。这个过程产生了广泛的多样性,通常可以得到更好的模型。
4.项目实施步骤
4.1理解数据
首先导入数据集并查看数据前五行
接着查看数据有多少行多少列
从结果中看出,原始数据集共有32561行,15列。
接着查看数据基本信息
查看数值型描述性统计
查看非数值型描述性统计
4.2探索性数据分析
对数据集中的男女比例进行可视化分析
从结果看出,原始数据集中男性群体多于女性群体,说明该地区人口男女比例差距有点大。
对数据中年龄分布情况分析
从图中看出,该地区人口主要为20-45岁之间的年轻人,说明该地区年轻人较多,经济发展比较活跃。
对数据中种族分布情况分析
从图中看出,该地区绝大多数为白种人,其次是黑人。
查看数据标签分布
从图中看出,原始数据集中标签分布不均衡,需要进行欠采样或过采样处理。
4.3数据预处理
首先对缺失值和重复值进行删除
可以发现删除后的数据大小为32537行,比之前少了24条数据,说明这24条数据为异常数据。
接着对label标签进行编码处理并进行欠采样,最后得到0和1是一样大小的数据集。
最后对数据进行one-hot编码处理,将非数值型数据全部转换为数值型数据
4.4特征工程
这里我们选取除了label这一列数据为特征变量,label为目标变量。接着对数据进行拆分,测试集比例为0.2。
4.5模型构建
首先构建逻辑回归模型
可以看出逻辑回归模型的准确率为0.71
接着构建决策树模型
可以看出决策树模型的准确率为0.77
最后构建随机森林模型
可以看出随机森林模型的准确率为0.82,比其他两个模型的准确率都高,所有应该选取随机森林作为最后的模型。
4.6模型评估
这里我们选取混淆矩阵、分类报告和ROC曲线作为模型评估指标
通过混淆矩阵,可看出模型在0分类上判断正确的个数为1292,判断错误的个数为316,在1分类上判断正确的个数为1291,判断错误的个数为237。从分类报告中可以看出模型在0和1分类上的精确率、召回率和F1值,最后就是画出ROC曲线得出AUC的值为0.90。
5.实验总结
通过本次人口普查数据分析,我们发现该地区的男女比例不均衡,20-45岁之间的年轻人居多,白种人为绝大多数。最后使用随机森林算法构建的薪资分类模型准确率为0.82,模型效果还不错,但是还有待提高。
通过这次Python项目实战,我学到了许多新的知识,这是一个让我把书本上的理论知识运用于实践中的好机会。原先,学的时候感叹学的资料太难懂,此刻想来,有些其实并不难,关键在于理解。
在这次实战中还锻炼了我其他方面的潜力,提高了我的综合素质。首先,它锻炼了我做项目的潜力,提高了独立思考问题、自我动手操作的潜力,在工作的过程中,复习了以前学习过的知识,并掌握了一些应用知识的技巧等
在此次实战中,我还学会了下面几点工作学习心态:
1)继续学习,不断提升理论涵养。在信息时代,学习是不断地汲取新信息,获得事业进步的动力。作为一名青年学子更就应把学习作为持续工作用心性的重要途径。走上工作岗位后,我会用心响应单位号召,结合工作实际,不断学习理论、业务知识和社会知识,用先进的理论武装头脑,用精良的业务知识提升潜力,以广博的社会知识拓展视野。
2)努力实践,自觉进行主角转化。只有将理论付诸于实践才能实现理论自身的价值,也只有将理论付诸于实践才能使理论得以检验。同样,一个人的价值也是透过实践活动来实现的,也只有透过实践才能锻炼人的品质,彰显人的意志。
3)提高工作用心性和主动性。实习,是开端也是结束。展此刻自我面前的是一片任自我驰骋的沃土,也分明感受到了沉甸甸的职责。在今后的工作和生活中,我将继续学习,深入实践,不断提升自我,努力创造业绩,继续创造更多的价值。
这次Python实战不仅仅使我学到了知识,丰富了经验。也帮忙我缩小了实践和理论的差距。在未来的工作中我会把学到的理论知识和实践经验不断的应用到实际工作中,为实现理想而努力。
import pandas as pd
import numpy as np
import warnings
warnings.filterwarnings('ignore')
# 加载数据集
data = pd.read_excel('人口普查数据集.xlsx')
data.head()
# 查看数据大小
data.shape
# 查看数据基本信息
data.info()
# 数值型描述性统计
data.describe()
# 非数值型描述性统计
data.describe(include=np.object)
import matplotlib.pylab as plt
import seaborn as sns
plt.rcParams['font.sans-serif'] = ['SimHei'] #解决中文显示
plt.rcParams['axes.unicode_minus'] = False #解决符号无法显示
y = data['sex'].value_counts().values.tolist()
plt.pie(y,labels=data['sex'].value_counts().index.tolist(),autopct='%.2f%%')
plt.title("男女比例")
plt.show()
# 查看年龄分布情况
data['age'].hist()
plt.title('年龄分布直方图')
plt.show()
# 查看种族分布情况
plt.figure(figsize=(10,6))
sns.countplot(data['race'])
plt.title('种族分布情况')
plt.show()
# 查看标签分布情况
sns.countplot(data['label'])
plt.show()
data.dropna(inplace=True) # 删除缺失值
data.drop_duplicates(inplace=True) # 删除重复值
data.shape
# 对标签label进行编码处理
data['label'].replace(to_replace={' <=50K':0,' >50K':1},inplace=True)
# 对数据进行欠采样处理
n = len(data[data['label']==1])
new_data = pd.concat([data[data['label']==1],data[data['label']==0].sample(n)]) #数据拼接
new_data['label'].value_counts()
# 对数据进行one-hot编码处理
df = pd.get_dummies(new_data)
df.head()
# 特征筛选
X = df.drop('label',axis=1)
y = df['label']
# 拆分数据集
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(X, y,test_size=0.2)
print('x_train的数据大小:',x_train.shape)
print('x_test的数据大小:',x_test.shape)
print('y_train的数据大小:',y_train.shape)
print('y_test的数据大小:',y_test.shape)
# 逻辑回归模型
from sklearn.linear_model import LogisticRegression
lr = LogisticRegression()
lr.fit(x_train, y_train)
print('逻辑回归模型的准确率为:',lr.score(x_test, y_test))
# 构建决策树模型
from sklearn.tree import DecisionTreeClassifier
tree = DecisionTreeClassifier()
tree.fit(x_train, y_train)
print('决策树模型的准确率为:',tree.score(x_test, y_test))
# 构建随机森林模型
from sklearn.ensemble import RandomForestClassifier
rfc = RandomForestClassifier()
rfc.fit(x_train, y_train)
print('随机森林模型的准确率为:',rfc.score(x_test, y_test))
# 模型评估
from sklearn.metrics import confusion_matrix,classification_report,roc_curve, auc
y_pred = rfc.predict(x_test)
print('模型混淆矩阵:','\n',confusion_matrix(y_test,y_pred))
print('模型分类报告:','\n',classification_report(y_test,y_pred))
# 画出ROC曲线
y_prob = rfc.predict_proba(x_test)[:,1]
false_positive_rate, true_positive_rate, thresholds = roc_curve(y_test, y_prob)
roc = auc(false_positive_rate, true_positive_rate)
plt.figure(figsize=(10,10))
plt.title('ROC')
plt.plot(false_positive_rate,true_positive_rate, color='red',label = 'AUC = %0.2f' % roc)
plt.legend(loc = 'lower right')
plt.plot([0, 1], [0, 1],linestyle='--')
plt.axis('tight')
plt.ylabel('True Positive Rate')
plt.xlabel('False Positive Rate')
plt.show()
相关文章:
XV6源码阅读——进程地址空间
文章目录 前言页表实际情况 前言 一个本硕双非的小菜鸡,备战24年秋招。打算尝试6.S081,将它的Lab逐一实现,并记录期间心酸历程。 代码下载 官方网站:6.S081官方网站 页表 每个进程都有一个单独的页表,当xv6在进程之…...
5分钟——快速搭建后端springboot项目
5分钟——快速搭建后端springboot项目 1. idea新建工程2. 构建pom.xml文件3. 构建application.yml配置文件4. 构建springboot启动类5. 补充增删改查代码6. 运行代码7. 下一章 1. idea新建工程 点击右上角新建一个代码工程 别的地方不太一样也不用太担心,先创建一个…...
linux运行jar
安装Java环境 下载Java安装包 首先,需要从Oracle官网或其他可信渠道下载适用于Linux系统的Java安装包。根据系统架构(32位或64位)选择合适的安装包。 安装Java 下载完成后,通过终端进入安装包所在目录,使用tar命令…...
dial tcp 192.168.0.190:443: connect: connection refused
1、场景 用nerdctl登录镜像仓库192.168.0.190(Harbor),报错 ERRO[0006] failed to call tryLoginWithRegHost error"failed to call rh.Client.Do: Get \"https://192.168.0.190/v2/\": dial tcp 192.168.0.190:…...
利用VS(Visual Studio)自带的工具查看DLL文件相关信息
装完VS后,就可以使用其自带的dumpbin命令来查看DLL文件的信息,首先在开始菜单中打开VS的Developer Command Prompt命令窗打开后,输入dumpbin后,按 Enter,会显示dumpbin的使用参数查看DLL文件的方法有两种: 1.使用dumpbin命令:dumpbin /exports C:\Users\Administrator\D…...
SpringBoot项目实现日志打印SQL明细(包括SQL语句和参数)几种方式
前言 我们在开发项目的时候,都会连接数据库。有时候遇到问题需要根据我们编写的SQL进行分析,但如果不进行一些开发或者配置的话,这些SQL是不会打印到控制台的,它们默认是隐藏的。下面给大家介绍几种常用的方法。 第一种、代码形式Mybatis框架是Java程序员最常用的数据库映射…...
大数据分析案例-基于随机森林算法构建人口普查分析模型
🤵♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞Ǵ…...
【数据结构和算法】认识线性表中的链表,并实现单向链表
本文接着上文,上文我们认识了线性表的概念,并实现了静态、动态顺序表。接下来我们认识一个新概念链表。并实现单向链表的各种操作。顺序表还有不明白的看这一篇文章 (13条消息) 【数据结构和算法】实现线性表中的静态、动态顺序表_小王学代码的博客-CSDN…...
2023-1-28
具有给定数值的最小字符串 题目描述 小写字符 的 数值 是它在字母表中的位置(从 1 开始),因此 a 的数值为 1 ,b 的数值为 2 ,c 的数值为 3 ,以此类推。 字符串由若干小写字符组成,字符串的数…...
Linux_常见命令
1.ls ls -l 列出隐藏文件,并显示10项权限,类似如同下图 在部分发行版本的linux下,ll等同于ls -l 首先,第一列为-则代表着这一列是文件, 第一列为d则代表这一列为目录 除了第一位,那么其他还有9位,分为3组…...
【Linux】基础IO --- 系统级文件接口、文件描述符表、文件控制块、fd分配规则、重定向…
能一个人走的路别抱有任何期待,死不了 文章目录一、关于文件的重新认识二、语言和系统级的文件操作(语言和系统的联系)1.C语言文件操作接口(语言级别)1.1 文件的打开方式1.2 文件操作的相关函数1.3 细节问题2.系统级文…...
ffmpeg无损裁剪、合并视频
我用的版本是 ffmpeg version git-2020-06-23-ce297b4 官方文档 https://ffmpeg.org/ffmpeg-utils.html#time-duration-syntax 时间格式 [-][HH:]MM:SS[.m...] 或 [-]S[.m...][s|ms|us]裁剪视频 假设需要裁剪视频aaa.mp4,第5秒到第15秒 ffmpeg -ss 5 -to 15 -i…...
ATAC-seq分析:Annotating Peaks(9)
1. 注释开放区域 将已识别的无核小体区域与基因组特征(如基因和增强子)相关联通常很有趣。 一旦注释到基因或增强子的基因,我们就可以开始将 ATACseq 数据与这些基因的特征相关联。 (功能注释、表达变化、其他表观遗传状态&#x…...
蓝桥杯刷题015——最少刷题数(二分法+前缀和)
问题描述 小蓝老师教的编程课有 N 名学生, 编号依次是 1…N 。第 i 号学生这学期刷题的数量是 Ai 。 对于每一名学生, 请你计算他至少还要再刷多少道题, 才能使得全班刷题比他多的学生数不超过刷题比他少的学生数。 输入格式 第一行包含一个正整数 N 。 第二行包含 N 个整数:…...
Linux——进程
目录 冯诺依曼体系结构 操作系统(Operator System) 概念 设计OS的目的 定位 如何理解 "管理" 总结 系统调用和库函数概念 承上启下 进程 基本概念 描述进程-PCB task_struct-PCB的一种 task_ struct内容分类 组织进程 查看进程 通过系统调用获取进程…...
Junit单元测试框架【基础篇】
Junit单元测试框架【基础篇】🍎一.Junit单元测试框架🍒1.1 注解🍒1.2 断言🍒1.3 用例执行顺序🍒1.4 测试套件🍉1.4.1 指定类🍉1.4.1 指定包🍒1.5 参数化🍉1.5.1 单参数&a…...
高通平台开发系列讲解(WIFI篇)什么是WLAN无线局域网
文章目录 一、什么是WLAN1.1、WLAN发展史1.2、WLAN工作频段二、高通相关文件2.1、配置文件2.2、开机启动2.3、wpa_supplicant沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本文将基于高通平台介绍什么是无线局域网。 一、什么是WLAN 在WLAN领域被大规模推广和商用的是…...
JavaScript 变量
JavaScript 变量 变量是什么? 变量是计算机中用来存储数据的“容器”,它可以让计算机变得有记忆,通俗的理解变量就是使用【某个符号】来代表【某个具体的数值】(数据) JavaScript 变量 与代数一样,JavaScript 变量…...
C语言进阶——文件管理
每当我们写好一段代码运行结束之后,再次运行的时候就会发现,之前在终端上输入的数据都会消失,那么如何把之前输入的数据保存下来呢? 我们一般把数据持久化的方式有把数据存放在磁盘文件中、存放到数据库。打印等方式进行保存。 …...
[Rust笔记] 规则宏的“卫生保健”
规则宏代码的“卫生保健”规则宏mbe即是由macro_rules!宏所定义的宏。它的英文全称是Macro By Example。相比近乎“徒手攀岩”的Cpp模板元编程,rustc提供了有限的编译时宏代码检查功能(名曰:Mixed Hygiene宏的混合保健)。因为rust…...
芒果改进YOLOv7系列:超越ConvNeXt结构,原创结合Conv2Former改进结构,Transformer 风格的卷积网络视觉基线模型,高效涨点
💡该教程为改进进阶指南,包含大量的原创首发改进方式, 所有文章都是全网首发原创改进内容🚀💡本篇文章 基于 YOLOv5、YOLOv7芒果改进YOLO系列:芒果改进YOLOv7系列:超越ConvNeXt结构,原创结合Conv2Former改进结构,Transformer 风格的卷积网络视觉基线模型,高效涨点、…...
Java---微服务---RabbitMQ部署
RabbitMQ部署1.单机部署1.1.下载镜像1.2.安装MQ1.3访问管理端2.集群部署2.1.集群分类2.2.设置网络1.单机部署 我们在Centos7虚拟机中使用Docker来安装,如未安装dockr,请参考《Centos7安装Docker》 1.1.下载镜像 方式一:在线拉取 docker …...
别总写代码,这130个网站比涨工资都重要
今天推荐一些学习资源给大家,当然大家可以留言评论自己发现的优秀资源地址 搞学习 找书籍 冷知识 / 黑科技 写代码 资源搜索 小工具 导航页(工具集) 看视频 学设计 搞文档 找图片 搞学习 TED(最优质的演讲)࿱…...
Python 类方法简记
文章目录前言必须实例化的类方法使用静态装饰器的类方法使用类装饰器的类方法省流版本ref:前言 Python 的类可以有特定的方法。下面是三种设计类方法的模板。 class A(object):a adef foo1(self, name):print hello, namestaticmethoddef foo2(name):print hello, nameprint…...
分享136个ASP源码,总有一款适合您
ASP源码 分享136个ASP源码,总有一款适合您 下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下..., 136个ASP源码下载链接:https://pan.baidu.com/s/11db_K2QXns5pm8vMZBVPSw?pwds0lb 提取码&#x…...
【Python百日进阶-Web开发-Peewee】Day241 - Peewee 安装和测试、快速开始
文章目录 一、安装和测试1.1 使用 git 安装1.2 运行测试1.3 可选依赖项1.4 关于 SQLite 扩展的注意事项二、快速开始2.1 模型定义2.2 存储数据2.3 检索数据2.3.1 获取单条记录2.3.2 记录列表2.3.3 排序2.3.4 组合过滤器表达式2.3.5 聚合和预取2.3.6 SQL 函数2.4 数据库2.4.1 使…...
手机提供GMS支持(适用安卓和鸿蒙系统)
手机提供GMS支持 - 适用安卓和鸿蒙系统前言方式1:安装GMS套件(不推荐)方式2:安装OurPlay(推荐)方式3:安装Gspace(推荐)前言 本文提供多种为手机(安卓和鸿蒙系…...
[JavaEE]线程池
专栏简介: JavaEE从入门到进阶 题目来源: leetcode,牛客,剑指offer. 创作目标: 记录学习JavaEE学习历程 希望在提升自己的同时,帮助他人,,与大家一起共同进步,互相成长. 学历代表过去,能力代表现在,学习能力代表未来! 目录: 1. 线程池是什么? 2. 线程池的实现原理 3. 标准…...
Redis缓存污染了怎么办?
我们应用Redis缓存时,如果能缓存会被反复访问的数据,那就能加速业务应用的访问,但是,如果发生了缓存污染,那么,缓存对业务应用的加速作用就减少了。 在一些场景下,有些数据被访问的次数非常小&…...
特斯拉印证成本仍是工业制造取胜的关键,反证中国制造的优势
近20年来,业界对于工业制造的竞争优势开始逐渐偏离成本控制,然而如今特斯拉在全球的成功却正在印证着工业制造的成功仍然在于成本,成本才是工业制造取胜的关键,其他任何被吹嘘的个性化、创新等全都是骗人的把戏。特斯拉的成功曾被…...
工具及方法 - 斗地主技巧
斗地主游戏起源 斗地主是流行于湖北武汉、汉阳一带的一种扑克游戏。游戏需由3个玩家进行,用一副54张牌(连鬼牌),其中一方为地主,其余两家为另一方,双方对战,先出完牌的一方获胜。斗地主起源于湖北武汉汉阳一带…...
BIO NIO AIO IO多路复用的区别
1、基础概念 1.1、阻塞非阻塞和同步异步的结合 下面通过例子来具体说明: 同步阻塞: 小明一直盯着下载进度条,到100%的时候完成。 同步体现在:小明关注下载进度条并等待完成通知。(可以看成同步是我主动关注任务完成的…...
数学建模——降维算法
降维 降维的意义 降低无效、错误数据对建模的影响,提高建模的准确性少量切具有代表性的数据将大幅缩减挖掘所需的时间降低存储数据的成本 需要降维的情况 维度灾难。很难有一个简洁的模型在高维空间中依旧具有鲁棒性,而随着模型复杂度的增加…...
04_iic子系统
总结 iic_client和iic_driver 加入iic总线的思想和paltform总线的玩法一样 把iic设备和驱动注册到iic总线中 构造出字符设备驱动和设备节点供app进行操作 但是iic硬件设备是挂在iic控制器下面的 所以iic控制器也会有自己的驱动和设备树节点 厂家一般都会帮做好 我们写的iic_dr…...
离散系统的数字PID控制仿真-3
离散PID控制的封装界面如图1所示,在该界面中可设定PID的三个系数、采样时间及控制输入的上下界。仿真结果如图2所示。图1 离散PID控制的封装界面图2 阶跃响应结果仿真图:离散PID控制的比例、积分和微分三项分别由Simulink模块实现。离散PID控制器仿真图&…...
如何好好说话-第12章 理清楚问题就是答案
生活中该不该积极主动与别人展开社交活动?有些时候社交活动并不开心,仅仅只是无聊的闲才。但他确实能拉拢人际关系,帮我们获得近身套路。而且有一种观点认为不善于社交的人是不成功的。注意以上说的这些都是偏见。当我们站在一个更高的维度认…...
ice规则引擎==启动流程和源码分析
启动 git clone代码 创建数据库ice,执行ice server里的sql,修改ice server的配置文件中的数据库信息 启动ice server 和ice test 访问ice server localhost:8121 新增一个app,默认给了个id为1,这个1可以看到在ice test的配置文件中指定…...
进度管理(上)
规划进度管理 定义:规划进度管理是为实施项目进度管理制定计划的过程。 输入: 1、项目管理计划 2、项目章程(包含里程碑,这个和规划进度有直接干系) 3、组织过程资产 4、事业环境因素。 输出:进度管…...
2021 XV6 8:locks
实验有两个任务,都是为了减少锁的竞争从而提高运行效率。Memory allocator一开始我们是有个双向链表用来存储空闲的内存块,如果很多个进程要竞争这一个链表,就会把效率降低很多。所以我们把链表拆成每个CPU一个,在申请内存的时候就…...
JUC面试(十一)——LockSupport
可重入锁 可重入锁又名递归锁 是指在同一个线程在外层方法获取锁的时候,再进入该线程的内层方法会自动获取锁(前提,锁对象得是同一个对象),不会因为之前已经获取过的锁还没释放而阻塞。 Java中ReentrantLock和synchronized都是可重入锁&am…...
Datawhale 202301 设计模式 | 人工智能 现代方法 习题
Exercise 1 绪论 Q:用您自己的话来定义:(a)智能,(b)人工智能,(c)智能体,(d)理性,(e)逻…...
k8s安装dashboard面板
k8s dashboard github地址:https://github.com/kubernetes/dashboard注意:dashboard版本要和k8s版本匹配,具体参考release里的Compatibility:https://github.com/kubernetes/dashboard/releases安装命令wget https://raw.githubus…...
最详细、最仔细、最清晰的几道python习题及答案(建议收藏哦)
名字:阿玥的小东东 学习:python。c 主页:没了 今天阿玥带大家来看看更详细的python的练习题 目录 1. 在python中, list, tuple, dict, set有什么区别, 主要应用在什么样的场景? 2. 静态函数, 类函数, 成员函数、属性函数的区别? 2.1静态…...
逆水寒魔兽老兵服副本攻略及代码分析(英雄武林风云录,后续更新舞阳城、扬州、清明等副本攻略)
文章目录一、武林风云录1)老一:陈斩槐(只有四个机制,dps压力不大,留爆发打影子就行)(1)点名红色扇形区域(2)点名红色长条,注意最后还有一段大劈&a…...
SpringMVC总结
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。SpringMVC是一种web层的mvc框架,用于替代servlet(处理响应请求,获取表单参数,表单验…...
二进制部署kubernetes高可用集群
二进制部署kubernetes高可用集群 一、单节点部署 1、集群节点规划(均是24位掩码) 负载均衡节点Master节点Node节点Harbor私有仓库节点nginx110.4.7.23master110.4.7.11node110.4.7.2110.4.7.200nginx210.4.7.24master210.4.7.12node210.4.7.22 2、基本…...
机器学习(七):Azure机器学习模型搭建实验
文章目录 Azure机器学习模型搭建实验 前言 Azure平台简介 Azure机器学习实验 Azure机器学习模型搭建实验 前言 了解Azure机器学习平台,知道机器学习流程。 Azure平台简介 Azure Machine Learning(简称“AML”)是微软在其公有云Azure上推…...
第二类换元法倒代换专项训练
前置知识:第二类换元法 题1: 计算∫1x10xdx\int\dfrac{1}{x^{10}x}dx∫x10x1dx 解: \qquad令x1tx\dfrac 1txt1,t1xt\dfrac 1xtx1,dx−1t2dtdx-\dfrac{1}{t^2}dtdx−t21dt \qquad原式∫11t101t⋅(−1t2)dt−∫…...
VMware虚拟机无法向宿主机拖放文件
宿主机环境: Windows 10 x64专业工作站版 VMware workstation pro 17 TotalCommander 9.21a 虚拟机环境: Windows 10 x64专业工作站版 TotalCommander 9.21a 现象: 从虚拟机的TC向宿主机TC拖放文件时,光标显示为禁止drop的图…...
Java基础语法——运算符与表达式
目录 Eclipse下载 安装 使用 运算符 键盘录入 Eclipse下载 安装 使用 Eclipse的概述(磨刀不误砍柴工)——是一个IDE(集成开发环境)Eclipse的特点描述(1)免费 (2)纯Java语言编写 (3)免安装 (…...
连通性1(Tarjan 理论版)
目录 一、无向图割点、桥、双连通分量 Tarjan 算法求割点和桥(割边) “割点”代码 边双和点双连通分量 边双连通分量 和 点双连通分量 的缩点 二、有向图强连通分量 1.有向图的弱连通与强连通 2.强连通分量 Kosaraju算法 Tarjan 算法(…...
数据库02_函数依赖,数据库范式,SQL语句关键字,数据库新技术---软考高级系统架构师009
1.首先我们来看这个,给定一个X,能确定一个Y那么就说,X确定Y,或者Y依赖x,那么 比如y = x * x 就是x确定y,或者y依赖于x 2.然后再来看图,那么左边的部分函数依赖,就是,通过A和B能决定C,那么如果A只用给就能决定C,那么就是部分函数依赖. 3.然后再来看,可以看到,A可以决定B,那么…...
王者荣耀入门技能树-解答
前言 前段时间写了一篇关于王者荣耀入门技能树的习题,今天来给大家解答一下。 职业 以下哪个不属于王者荣耀中的职业: 射手法师辅助亚瑟 这道题选:亚瑟 王者荣耀中有6大职业分类,分别是:坦克、战士、刺客、法师、…...
java基础学习 day37 (集合)
集合与数组的区别 长度:数组长度固定,一旦创建完成,就不能改变。集合长度可变,根据添加和删除元素,自动扩容或自动收缩,(添加几个元素就扩容多少,删除几个元素就收缩多少࿰…...
C语言:数组
往期文章 C语言:初识C语言C语言:分支语句和循环语句C语言:函数 目录往期文章前言1. 一维数组的创建和初始化1.1 数组的创建1.2 数组的初始化2. 一维数组的使用3. 一维数组在内存中的存储4. 二维数组的创建和初始化4.1 二维数组的创建4.2 二维…...
斐波那契数列的--------5种算法(又称“兔子数列”)
斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:…...
Win 进入桌面黑屏,只有鼠标
大家好,我叫秋意零。 今天,遇到一个同事电脑进入桌面黑屏,只有鼠标。经过询问沟通,说是 Windows 突然进行了自动更新,更新之后桌面就黑了屏。经过查询是一个桌面进程没启动才会导致桌面黑屏。首先分两种情况࿰…...
Golang汇编之通过map地址找到value的值
文章目录 背景gdb调试Go程序为什么不用dlvgdb调试Go可执行程序gdb打印地址内容 go汇编快速入门常用的寄存器和用法AMD64ARM64loong64riscv64 Go汇编常用命令及含义Go汇编和x86的区别找到map的赋值指令 Go中map的内存布局gdb中查看map结构map的存储结构map的内存布局计算bmap偏移…...
搜索文件1.0
案例1: 扫描指定目录,并找到名称中包含指定字符的所有普通文件(不包含目录),并且后续询问用户是否要删除该文件 import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.util…...
Okhttp 403 Forbidden
android App 在使用okhttp下载全国中小企业股份转让系统的pdf文件时候,下载完成后使用MuPDF无法解析,提示文件损坏或者不是PDF文件,查看Okhttp的下载请求,发现报403 Forbidden错误: {protocol=http/1.1, code=403, message=Forbidden, url=https://www.neeq.com...
Uni-app中实现数据选择并回传给上个页面的方法
当我们在Uni-app中进行页面间数据传递时,通常会涉及到数据的选择以及回传给上个页面的需求。为了达到这个目的,我们可以利用Uni-app提供的事件机制和页面导航方法来实现。以下是一种实现方式: 数据选择并回传给上个页面的方法 第一步&#…...
shell脚本编程的例子(55例子)-3
第三部分:eg32-eg50shell例子。开放一周后启用vip阅读了。…… ^v^ Eg32、while/until/for经典例子 #!/bin/bash ## filename: while-infinite_loops.sh while true; do sleep 5 echo "infinite loops [ hit CTRLC to stop]" done Eg33、while/…...