day 33打卡

python 复制代码
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)   

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

@浙大疏锦行

相关推荐
2401_8384725126 分钟前
使用Python进行图像识别:CNN卷积神经网络实战
jvm·数据库·python
CoLiuRs1 小时前
语义搜索系统原理与实现
redis·python·向量·es
zhihuaba1 小时前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python
u0109272711 小时前
Python Web爬虫入门:使用Requests和BeautifulSoup
jvm·数据库·python
Stream_Silver2 小时前
【Agent学习笔记3:使用Python开发简单MCP服务】
笔记·python
穿过锁扣的风2 小时前
零基础入门 Python 爬虫:从基础到实战,爬取虎扑 / 豆瓣 / 图片全掌握
开发语言·爬虫·python
Stream_Silver2 小时前
【Agent学习笔记2:深入理解Function Calling技术:从原理到实践】
笔记·python
love530love2 小时前
技术复盘:llama-cpp-python CUDA 编译实战 (Windows)
人工智能·windows·python·llama·aitechlab·cpp-python·cuda版本
逄逄不是胖胖3 小时前
《动手学深度学习》-60translate实现
人工智能·python·深度学习
橘颂TA3 小时前
【测试】自动化测试函数介绍——web 测试
python·功能测试·selenium·测试工具·dubbo