核PCA(KPCA)
KPCA是一种非线性主元分析方法,用于降维。主要思想:通过某种事先选择的非线性映射函数Ф将输入矢量X映射到一个高维线性特征空间F之中,然后在空间F中使用PCA方法计算主元成分,核主成分分析最主要是非线性映射函数Ф的选取。
Python实现代码
# coding=utf-8
from sklearn.decomposition import KernelPCA
from pandas.core.frame import DataFrame
import pandas as pd
import numpy as np
l=[]
with open('test.csv','r') as fd:
line= fd.readline()
while line:
if line =="":
continue
line = line.strip()
word = line.split(",")
l.append(word)
line= fd.readline()
data_l=DataFrame(l)
print (data_l)
dataMat = np.array(data_l)
# = PCA(n_components=2)
kpca = KernelPCA(kernel='rbf',gamma=10,n_components=2)
newMat = kpca.fit_transform(dataMat)
data1 = DataFrame(newMat)
data1.to_csv('test_KPCA.csv',index=False,header=False)