数据分析学习体验——特征变量相关系数和主成分分析

Python数据分析学习心得 在学习Python数据分析的过程中,学生可以学习到数据分析的基本流程和方法,包括数据收集、数据清理、数据处理、数据分析和数据可视化等方面的知识。Keras是基于Theano的强化的深度学习库,可用于搭建普通神经网络,各种深度学习模型,如自编码器,循环神经网络,递归神经网络,卷积神经网络。综上所述,学习Python数据分析是一项非常有价值的技能和能力,可以帮助人们更好地理解数据分析的基本概念和方法,掌握Python的数据分析库和工具,锻炼自己的数据分析实践能力,提升自己的职业竞争力。 阅读详情

如何处理数据集中高度相关的特征变量


作者: 江俊
时间: “2018/03/25”

以下所有代码均使用R语言

数据集下载地址:https://download.youkuaiyun.com/download/smallernovice/10307411
问题描述
聚类分析以及回归分析中经常会遇到特征变量之间高度相关的问题,常规做法是计算变量之间的相关关系矩阵,从中发现相关性高于某个值(比如0.8)的两个变量,然后将其中一个删除(一般做法),问题是当面对数量很多的特征变量时,相关系数矩阵很大,在R语言中观察很容易遗漏并且相当麻烦,因此开始思考能不能建立一个函数自动完成这些变量的筛选以及删除操作,于是有了如下的代码,注释中包含了思考过程。

  • 为什么会有这段代码:
    关于回归分析和聚类分析中,挑选自变量相关性比较低的问题,每次都需要从关系矩阵中肉眼查看,感觉很累而且容易漏,所以自己写了个代码,虽然还是要自己进行挑选,不过已经少了很多工作量,下面是代码,最后是输出结果:
  • 代码:
rm(list=ls())
setwd("G:\\第20期\\案例分析\\客户分群")
#读取数据
data<-read.csv("practice_sample.csv")
sum(is.na(data))
#包含缺失值的变量
var_na<-data[,colSums(is.na(data))>0]
#不包含缺失值的变量
var_na_no<-data[,colSums(is.na(data))==0]
#对含缺失值变量按缺失值的数量排序显示
sort(colSums(is.na(var_na)),decreasing = T)
  • 输出结果:
Warning message:
In strsplit(code, "\n", fixed = TRUE) :
  input string 1 is invalid in this locale
[1] 222723
 VW263  VW166  VW043  XB851  XB843  DS907  AU002  DS776 
122377  35201  21271  17389  17389   7278    976    842 
  • 自定义函数筛选相关系数高的特征变量
#代码演示,此处只使用不含缺失值的变量
x<-data.frame(scale(var_na_no))
#计算相关系数矩阵
c<-cor(x)
#自定函数:筛选出相关性高于0.5的变量(数值可选)
select_x<-function(c,m){                 # x:相关系数矩阵, m:相关系数
  #将相关性高于m的系数取1,即目标变量
  c<-ifelse(c>m,1,0)
  c<-as.data.frame(c)
  n<-nrow(c)
  #避免重复选取组合,将上三角矩阵全部设置成0(非目标变量)
  for(i in 1:n){
    for(j in 1:n){
      c[i,j]<-ifelse(i>j,c[i,j],0)
    }
  }
  #求出符合条件的索引
  index<-which(c==1)[!(which(c==1) %in% c((1:n)^2))]
  #列号
  index_c<-ifelse(index %% n==0,n,index %% n)
  #行号
  index_r<-(index-index_c) %/% n
  #名称
  c$name<-row.names(c)
  #第二个变量名
  name_index_c<-c$name[index_c]
  #第一个变量名
  name_index_r<-c$name[index_r]
  #输出结果
  cat("\n自变量中相关系数大于",m,"的所有组合如下所示:\n")
  for(i in 1:length(name_index_r)){
    cat("     ",i,":",name_index_r[i],"---",name_index_c[i],"\n")
  }
  #返回需要删除的变量名
  return(unique(name_index_c))
}
#需要删除的变量名
delete_varname<-select_x(c,0.8)
#显示需要删除的变量的名字
cat("需要删除的变量名是:\n")
delete_varname
#在原始数据中删除高度相关的变量
x_n<-x[,!(colnames(x) %in% delete_varname)]
  • 输出结果:
Warning message:
In strsplit(code, "\n", fixed = TRUE) :
  input string 1 is invalid in this locale

自变量中相关系数大于 0.8 的所有组合如下所示:
      1 : AU004 --- R1_AU004 
      2 : AU009 --- R1_AU009 
      3 : AU010 --- R1_AU010 
      4 : AU023 
数据分析面试常问问题(二)(SQL、统计学、业务方面等) (2)用户属性数据:年龄、性别、地域、学历、家庭组成、职业等;(3)视频属性数据:评分、播放量、评论数、出品方、导演、主演、国别、年代、语言、是否获奖、剧情等;(4)上下文数据:用户最近观看历史记录、最近偏好的演员明星、最近常看的视频类型等。假设食堂就餐时间为2h,则每小时需要为10000人提供就餐服务;假设每人就餐时间为15min,且人员到达食堂的时间点分布均匀,则1h可以服务4批就餐人员,平均每批2500人,意味着将会有这么多人同时就餐,就可以按照上述数据进行座位规划。1) 前期调研。 阅读详情

相关推荐

从数据到洞察:基于LightGBM与特征工程的用户体验建模实战

在数据科学领域,特征工程与集成学习是构建高精度预测模型的核心技术。特征工程通过对原始数据进行清洗、转换与组合,创造能够有效表征业务逻辑的输入变量,为模型提供高质量的“燃料”。其原理在于挖掘数据中的潜在模式与关联,技术价值在于能显著提升模型的预测性能与泛化能力。集成学习如梯度提升决策树(GBDT)通过组合多个弱学习器,以迭代方式减少预测误差,在实践中因其高效与精准而备受青睐。以LightGBM为代表的工具,凭借其处理大规模数据的速度与内置的特征重要性评估,成为解决回归与分类问题的首选。在电信、金融等行业的用户

weixin_33853794的博客 328

【阶段三】Python机器学习31篇:机器学习项目实战:基于皮尔逊相关系数搭建电影智能推荐系统

Python机器学习31篇:机器学习项目实战:基于皮尔逊相关系数搭建电影智能推荐系统

张陈亚的博客 1038

大数据分析案例-基于朴素贝叶斯算法构建微博谣言检测模型

本项目通过使用机器学习等算法对微博中谣言和非谣言数据进行分析建模,构造谣言检测模型,针对恶意的谣言进行精准识别,有效解决谣言引发诸多的不安定因素,并对经济和社会产生巨大的影响。本次实验通过对谣言数据进行分析建模,我们得出了以下结论:3.四个模型中,朴素贝叶斯算法模型效果最好,准确率为0.87。心得与体会:通过这次Python项目实战,我学到了许多新的知识,这是一个让我把书本上的理论知识运用于实践中的好机会。原先,学的时候感叹学的资料太难懂,此刻想来,有些其实并不难,关键在于理解。

m0_64336780的博客 7013

Python数据分析:从入门到精通的系统化实践

本文系统梳理了Python数据分析的五个核心步骤,为初学者提供清晰的学习路径。通过‌数据收集与清洗‌、‌探索性分析‌、‌特征工程‌、‌建模分析‌和‌结果可视化‌的完整流程,结合每个环节的具体操作方法和Python实现示例,帮助读者建立对数据分析学科的系统认知。文章特别配备‌五步思维导图‌,直观呈现各步骤间的逻辑关系,是零基础人士快速掌握数据分析框架的理想入门资源。

记录、分享、学习、思考、赚钱、弯路。 1559

华为MA5620配置宽带及语音实例

华为EPON配置实例1、公共部分和宽带PPPOE部分用串口用户名密码root/mduadminMA5620E>enableMA5620E#configMA5620E(config)#MA5620E(config)#sysnamebigcow/给设备起名字/****之前为公共部一、建vlan和地址bigcow(config)#vlan100...

weixin_33862041的博客 6346

前端开发学习--登录和注册页面设计(html和css,可完成两个页面点击切换)

今天学习了登录和注册页面的设计,主要是HTML和CSS部分,注册和切换采用了Js代码进行,后面将通过js进行填写内容的验证,进而可通过JSP跳转到Servlet进行DAO数据的校验,这属于后端部分了。 总体设计思路:整个页面设计可以分为主体(content)、头部(content-header)、内容(content-body)三个部分组成,其中是主体是根部,包含了头部和内容,头部和内容各自下设两...

weixin_43691879的博客 1万+

Wordpress实战之第二章安装wordpress 软件需要的软件

使用下载并安装phpstudy面版工具 wget -O install.sh?https://notdocker.xp.cn/install.sh?&& sudo bash install.sh 2.安装成功如下 ==============运行状态========================= webpanel stop phpstudy running =================...

安全参透之旅 611

从零构建Carsim线控转向仿真:模型搭建、算法集成与整车联动实战

本文详细介绍了从零开始基于Carsim和Simulink搭建线控转向仿真模型的完整实战流程。内容涵盖RWA前轮执行器动力学建模与PID控制、卡尔曼滤波器估算齿条力、HWA方向盘手感模拟算法设计,以及最终实现HWA与RWA闭环联动并进行整车仿真调试。通过分步拆解,帮助读者深入理解线控转向系统的核心原理与工程实现。

weixin_29158413的博客 251

RK平台PCIE-Ethernet扩展:Intel I210移植与性能飞升之路

本文详细介绍了Intel I210千兆以太网控制器在瑞芯微RK平台的移植与优化过程。通过硬件适配、内核配置、驱动开发及性能调优四个关键环节,实现了RK平台的网络性能提升。硬件方面,重点说明了PCIE接口的规范连接与供电检查;软件方面,系统阐述了内核配置、设备树修改和驱动编译流程。在性能优化环节,详细介绍了中断优化、缓冲区设置和TCP/IP协议栈调优策略,并采用Iperf和Netperf工具进行量化测试验证。测试结果显示,优化后的网络吞吐量提升20%以上,延迟降低40%,为工业控制、智能安防等场景提供了可靠的

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 351

ESP-SPARKBOT AI 智能机器人:v1.2 全流程复刻指南

本文介绍 ESP-SPARKBOT AI 智能机器人 v1.2 版本的全流程复刻,包含 PCB 、3D 打印、固件烧录、常见问题解决、参考资料等

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 9250

手把手教你学Simulink--进阶电机控制场景实例:基于Simulink的直流电机双闭环调速系统抗负载扰动仿真

摘要:本文基于Simulink平台构建直流电机双闭环调速系统,重点研究其在工业传送带场景下的抗负载扰动性能。系统采用转速外环(稳速)和电流内环(限流)的嵌套结构,通过工程法整定PI参数,实现了转速跌落<10%、恢复时间<0.5s的优异抗扰性能。仿真结果表明,相比单闭环系统,双闭环控制使转速跌落率降低47%,恢复时间缩短75%。文中详细介绍了数学模型建立、Simulink模块实现及参数优化方法,并提供了完整代码和模型文件,为电机控制系统设计提供实用参考。

MHD0815的博客 179

工业视觉实战:用摄像头+AI高精度测量钢板尺寸(附深度分析)

摘要: 钢铁制造业正加速采用基于摄像头与深度学习的视觉测量技术,以取代传统人工测量,实现钢板长、宽、高(厚)的非接触、高精度在线检测。核心方案包括单目视觉(低成本但受限于变形)、双目/多目立体视觉(可精确测量变形钢板)及3D激光扫描(微米级精度)。系统精度受硬件(相机分辨率、镜头)、算法(亚像素技术)及环境稳定性共同影响,综合精度可达±0.1mm。实战中需重点解决热膨胀(需红外测温实时补偿)和钢板变形(必须采用三维方案)两大挑战,并通过工程化设计(散热、防振)确保系统可靠运行。该技术需融合光学、机械与算法,

数字人生 391

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

上一篇: 每天一个小题目——喷水装置
下一篇: 数据分析学习体验——实际案例_逻辑回归&线性回归
SmallerNovice
博客等级 码龄10年 7粉丝 17原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值