您的位置:首页 > 其它

降维方法学习

2017-04-12 15:40 309 查看
关于机器学习入门的记录

---------------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)
缺点:类别增多,每个类别中的样本变少,效果将不好
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: