降维方法学习

本文介绍Python中NumPy、SciPy及Matplotlib的基本用法,并深入探讨两种主要的降维方法:PCA(主成分分析)和LDA(线性判别分析),通过实例演示如何实现数据降维。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于机器学习入门的记录

---------------2017.4.17-----------------

一、学习python

(一)NumPy  SciPy  Matplotlib

      NumPy :提供对高维数据的支持

      SciPy :提供快速的数值分析方法库

      python: 绘制高品质图形

      Matplotlib: 程序库

1.  NumPy 

(1)>>>import numpy as np

(2)需要副本时

>>> c = a.reshape((3,2)).copy()
         a,c是两个独立的副本

(3)

2.  SciPy

genfromtxt()读取数据,要求是以tab作为分隔符

>>>import scipy as sp
>>>data = sp.genfromtxt("web_traffic.tsv",delimiter="\t")
.tsv文件包含以tab字符分割的数字
>>>print(data.shape)
打印行列数

3.  Matplotlib

包含pyplot包,模仿Matlab接口,可以画图

4.  预处理和清洗数据

5.  

计算误差




二、降维方法

1.  PCA

无监督方法

目标:矩阵特征值预示方差的大小,使得方差最大

选出最大的N个特征

Scikit-learn在decomposition包里特供了PCA类

>>>from sklearn import linear_model,decomposition,datasets
>>>pca = decomposition.PCA(n_components=1)//设置维度

使用fit()和transform()方法分析数据,并映射到变换后的特征空间中

>>>Xtrans = pca.fit_transform(X)

数据方差

>>>print(pca.explained_variance_ratio_)

不确定维度时不指定n_components参数,而是让其进行完全转换。对数据进行拟合后,explained_variance_ratio_包含了一个以降序排列的比例数组。

第一个值:描述最大方差方向的基向量比例

第二个值:次最大方差方向的比例,

........

画出数组后可以看到需要多少个成分(成分个数出现拐角的地方可能是)-->成分个数和方差之间的关系图:Scree图


2.  LDA

有监督方法

目标:不同类别样本之间距离最大,相同样本之间距离最小。

>>>from sklearn import lda
>>>lda_inst = lda.LDA(n_components=1)
>>>Xtrans = lda_inst.fit_transform(X,good)
缺点:类别增多,每个类别中的样本变少,效果将不好


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值