当前位置: 首页 > news >正文

day 33打卡

day 21
常见的降维算法
# 先运行之前预处理好的代码
import pandas as pd 
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
data=pd.read_csv('/Users/gj/东财-学习/python相关资料学习/Python60DaysChallenge-main/data.csv')
# 先筛选字符串变量
discrete_features=data.select_dtypes(include=['object']).columns.to_list()
# 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=pd.get_dummies(data,columns=['Purpose'])
data2=pd.read_csv('/Users/gj/东财-学习/python相关资料学习/Python60DaysChallenge-main/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)# term 0-1 映射
term_mapping={'Short Term':0,'Long Term':1
}
data['Term']=data['Term'].map(term_mapping)
data.rename(columns={'Term':'Long Term'},inplace=True)
continuous_features=data.select_dtypes(include=['int64','float64']).columns.to_list()
# 连续特征用中位数
for feat in continuous_features:mode_value=data[feat].mode()[0]data[feat].fillna(mode_value,inplace=True)# 最开始也说了,很多调参数自带交叉验证,甚至是必选的参数,你如果想要不交叉更麻烦
data.drop(columns=['Id'],inplace=True)
data.info()
特征降维
通常情况下,提到降维,很多时候默认指的是无监督降维,这种方法只需要特征数据本身。但是实际上还包含一种有监督的方法。
1、无监督降维:
定义:这类算法在降维过程中不使用任何关于数据样本的标签信息(比如类别标签、目标值等)。他们仅仅根据数据点本身的分布,方差、相关性、局部结构等特性来寻找低维表示。
输入:只有特征矩阵X
目标:
保留数据中尽可能多的方差(如PCA)
保留数据的局部或全局流型结构(如LLE,LSOMAP,t-SNE,UMAP)
找到能够有效重构原始数据的紧凑表示()
2、有监督降维:
定义:这类算法在降维过程中利用标签信息来指导降维过程。例如,在分类问题中,我们可能希望将不同类别的样本映射到低维空间,同时保持类别之间的区分度。
输入:特征矩阵X和对应的标签y
目标:
在低维空间中保留类别之间的区分度(如LDA)   

最近工作上有点忙,可能每天学习的东西有限了,后面补上

@浙大疏锦行

http://www.lryc.cn/news/597892.html

相关文章:

  • 傅里叶转换(机器视觉方向)
  • 从 Shell 脚本到 Go 应用:使用 Kiro AI 助手完成 Harpoon 项目重构的完整实践
  • Android NDK与JNI深度解析
  • Day01_C++编程
  • 终端VS命令解释器(Linux Windows)
  • 算法牢笼与思想飞地:在人工智能时代守卫灵魂的疆域
  • 【使用TPCC和TPCH进行性能测试】
  • 编程日常开发工具整理
  • 顺丰面试提到的一个算法题
  • C# 继承 虚方法
  • linux性能调整和故障排查
  • Python进阶知识之pandas库
  • 前端开发 React 状态优化
  • 面向对象分析与设计40讲(7)设计原则之合成复用原则
  • 前端实现可编辑脑图的方案
  • 网络编程初识(详细易懂)
  • 嵌入式linux下的NES游戏显示效果优化方案:infoNES显示效果优化
  • Python进阶知识之pandas库(一)基础数据类型
  • Android热修复实现方案深度分析
  • Android root和完整性检测实现方案深度分析
  • 海信IP501H-IP502h_GK6323处理器-原机安卓9专用-TTL线刷烧录可救砖
  • HTTPS证书体系,证书加密流程(通信体系)
  • lumerical——光纤布拉格光栅(Fiber Bragg gratings)
  • Linux 或者 Ubuntu 离线安装 ollama
  • 【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 主页-最近七天微博发布量实现
  • pig cloud框架中引入websocket
  • 车载绝缘子放电状态检测系统数据分析软件需求说明书
  • python自动化测试框架,封装方法方式
  • WebGIS 常用坐标系
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段(8):自動詞 & 他動詞 「~ている」「~ておく」「~てある」