pca降维python实现
import matplotlib.pyplot as pltimport numpy as npimport pandas as pddata = pd.read_csv(r"C:\Users\28747\Desktop\pca\iris.csv")print(data)data = (np.array(data))pca_data = data(r, c) = np.shape...
·
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
data = pd.read_csv(r"C:\Users\28747\Desktop\pca\iris.csv")
print(data)
data = (np.array(data))
pca_data = data
(r, c) = np.shape(data)
new_data = data
meanval = np.mean(data, axis=0) # 计算原始数据中每一列的均值,axis=0按列取均值
for i in range(0, r):
for j in range(0, c):
new_data[i][j] -= meanval[j]
data = np.cov(data, rowvar=False) # 计算协方差矩阵,rowvar=0每一列为一个特征。
vals, vecs = np.linalg.eig(data) # 特征值:vals,特征向量:vecs
index = np.argsort(vals) # 将特征值按从大到小排序,index保留的是对应原featValue中的下标
index = np.flipud(index)
new_dimension = int(input("new dimension:"))
n_featVec = vecs[index, 0:new_dimension] # 注意上面矩阵的列向量才是特征向量
lowData = np.dot(new_data, n_featVec)
print(lowData)
print("##################################################")
from sklearn import decomposition
pca = decomposition.PCA()
pca.fit(pca_data)
pca.n_components = new_dimension
X_reduced = pca.fit_transform(pca_data)
print(X_reduced)
if new_dimension == 2:
plt.scatter(lowData[:, 0], lowData[:, 1],label="my pca")
plt.title("compare")
plt.xlabel("first component")
plt.ylabel("second component")
plt.scatter(X_reduced[:, 0], X_reduced[:, 1],label="sklearn's pca")
plt.xlabel("first component")
plt.ylabel("second component")
plt.legend(loc="lower left")
plt.show()
150 4 setosa versicolor virginica
0 5.1 3.5 1.4 0.2 0
1 4.9 3.0 1.4 0.2 0
2 4.7 3.2 1.3 0.2 0
3 4.6 3.1 1.5 0.2 0
4 5.0 3.6 1.4 0.2 0
.. ... ... ... ... ...
145 6.7 3.0 5.2 2.3 2
146 6.3 2.5 5.0 1.9 2
147 6.5 3.0 5.2 2.0 2
148 6.2 3.4 5.4 2.3 2
149 5.9 3.0 5.1 1.8 2
[150 rows x 5 columns]
new dimension:2
[[ 2.86541481e+00 2.96294592e-01]
[ 2.89204667e+00 -1.83785089e-01]
[ 3.05498018e+00 -1.74826556e-01]
[ 2.92022951e+00 -3.31581792e-01]
[ 2.90685193e+00 2.95916920e-01]
[ 2.48985229e+00 7.33821200e-01]
[ 2.99073479e+00 -1.23337756e-01]
[ 2.81072341e+00 1.49253233e-01]
[ 3.05102452e+00 -5.96522880e-01]
[ 2.85367989e+00 -1.18129504e-01]
[ 2.70121731e+00 6.30088258e-01]
[ 2.79746912e+00 1.83420106e-03]
[ 2.95910703e+00 -2.45743109e-01]
[ 3.36629732e+00 -5.60864364e-01]
[ 2.83188903e+00 1.14006491e+00]
[ 2.58993648e+00 1.30218121e+00]
[ 2.81008938e+00 7.72676709e-01]
[ 2.83175695e+00 2.89400035e-01]
[ 2.41526804e+00 8.78798583e-01]
[ 2.77580155e+00 4.85110874e-01]
[ 2.51699488e+00 4.05235787e-01]
[ 2.73410906e+00 4.09741412e-01]
[ 3.36069900e+00 5.93621201e-02]
[ 2.50819415e+00 1.09519480e-01]
[ 2.55729130e+00 -2.73074303e-02]
[ 2.69852563e+00 -1.34360266e-01]
[ 2.66334841e+00 1.25750242e-01]
[ 2.75195304e+00 3.55433292e-01]
[ 2.82397769e+00 2.96672264e-01]
[ 2.81480236e+00 -2.03968187e-01]
[ 2.77336524e+00 -2.03590515e-01]
[ 2.60979770e+00 4.10874428e-01]
[ 2.83381866e+00 7.73177282e-01]
[ 2.78804721e+00 1.05102924e+00]
[ 2.82002202e+00 -1.25024061e-01]
[ 3.03483197e+00 4.14450531e-02]
[ 2.81186411e+00 5.81418778e-01]
[ 2.97391229e+00 2.33958900e-01]
[ 3.13911842e+00 -5.18334098e-01]
[ 2.77732091e+00 2.18105810e-01]
[ 2.94521872e+00 2.30261335e-01]
[ 3.01581568e+00 -9.35700415e-01]
[ 3.15518767e+00 -3.81384287e-01]
[ 2.60406731e+00 1.80436033e-01]
[ 2.42190660e+00 4.39360809e-01]
[ 2.89179130e+00 -2.59532223e-01]
[ 2.72940014e+00 4.82291554e-01]
[ 3.00832340e+00 -2.53393010e-01]
[ 2.73461980e+00 5.61235680e-01]
[ 2.88274805e+00 9.04922043e-02]
[-1.19659125e+00 7.88745875e-01]
[-8.69715600e-01 3.88163609e-01]
[-1.36499979e+00 6.25096081e-01]
[-1.73792690e-01 -7.85425235e-01]
[-1.01531587e+00 1.73402688e-01]
[-6.00720918e-01 -3.53914939e-01]
[-1.02205489e+00 3.61463626e-01]
[ 6.96045401e-01 -1.04138498e+00]
[-9.73368014e-01 3.24519284e-01]
[ 4.95470589e-03 -7.15264025e-01]
[ 4.70385858e-01 -1.26585978e+00]
[-4.78594559e-01 -6.39074565e-02]
[-2.47866201e-01 -4.88953584e-01]
[-9.20072678e-01 -3.63520361e-02]
[ 1.61249662e-01 -2.66867717e-01]
[-8.64240572e-01 5.42854869e-01]
[-6.18564897e-01 -2.99606819e-01]
[-2.20947357e-01 -2.93998088e-01]
[-8.83256867e-01 -4.34290599e-01]
[-4.37509356e-02 -5.56119856e-01]
[-1.04385454e+00 -5.92457893e-03]
[-3.34034528e-01 -2.99352449e-02]
[-1.21279258e+00 -1.98868814e-01]
[-8.60791579e-01 -9.10378278e-02]
[-6.66385205e-01 2.15955761e-01]
[-8.38872704e-01 4.05527387e-01]
[-1.24198404e+00 3.67427222e-01]
[-1.45360442e+00 3.95413031e-01]
[-7.60209499e-01 -9.26714160e-02]
[ 2.84776151e-01 -3.73042308e-01]
[ 6.16762064e-02 -6.83733462e-01]
[ 1.75393342e-01 -6.67125028e-01]
[-1.28144535e-01 -2.88359448e-01]
[-1.29029225e+00 -2.94799046e-01]
[-5.51759908e-01 -4.37311974e-01]
[-7.53694234e-01 2.42808554e-01]
[-1.13807625e+00 5.06818681e-01]
[-7.61249738e-01 -2.73460126e-01]
[-2.31012079e-01 -2.46962197e-01]
[-1.57723439e-01 -6.48475424e-01]
[-4.36268045e-01 -6.11961470e-01]
[-8.31978779e-01 4.18367464e-02]
[-2.16238434e-01 -3.66548230e-01]
[ 6.54608281e-01 -1.04100731e+00]
[-3.35175229e-01 -4.62100791e-01]
[-3.10815984e-01 -1.80928940e-01]
[-3.52508472e-01 -2.56298403e-01]
[-5.99580217e-01 7.82506064e-02]
[ 8.43794996e-01 -8.12957848e-01]
[-2.80483824e-01 -3.15059431e-01]
[-2.72315063e+00 -3.38981292e-02]
[-1.68186528e+00 -6.60218212e-01]
[-2.79978374e+00 3.48789877e-01]
[-2.19944700e+00 -2.20680344e-01]
[-2.55296736e+00 -6.15062662e-02]
[-3.52721112e+00 6.25055623e-01]
[-8.49640714e-01 -1.34476884e+00]
[-3.09388686e+00 3.99848288e-01]
[-2.52531403e+00 -2.38597411e-01]
[-3.07972847e+00 7.81485905e-01]
[-1.90916747e+00 1.57229798e-01]
[-2.04239879e+00 -2.66530503e-01]
[-2.37933916e+00 1.81087654e-01]
[-1.61813062e+00 -8.63201280e-01]
[-1.84211996e+00 -6.26216091e-01]
[-2.13685711e+00 4.82657961e-02]
[-2.17815809e+00 -4.78640736e-03]
[-3.61005375e+00 1.22509901e+00]
[-3.90024566e+00 3.77077834e-01]
[-1.57415267e+00 -8.27595480e-01]
[-2.62410667e+00 3.53673174e-01]
[-1.48056498e+00 -7.16915264e-01]
[-3.62308428e+00 5.54139069e-01]
[-1.65510134e+00 -2.89633015e-01]
[-2.48195134e+00 2.98232038e-01]
[-2.79620267e+00 5.65562058e-01]
[-1.53360494e+00 -2.80296810e-01]
[-1.56419247e+00 -2.21913454e-01]
[-2.34185771e+00 -2.40986343e-01]
[-2.58483765e+00 4.61829115e-01]
[-3.00886329e+00 4.12759157e-01]
[-3.36936519e+00 1.40573491e+00]
[-2.37551557e+00 -2.47880900e-01]
[-1.70621167e+00 -2.19902194e-01]
[-2.02211444e+00 -5.36231987e-01]
[-3.22763297e+00 7.28688472e-01]
[-2.36122105e+00 8.03268415e-02]
[-2.13672097e+00 -5.16407917e-03]
[-1.45073071e+00 -2.81052154e-01]
[-2.32464775e+00 3.28129013e-01]
[-2.51893490e+00 1.50312434e-01]
[-2.15178566e+00 3.43481531e-01]
[-1.68186528e+00 -6.60218212e-01]
[-2.75082273e+00 2.65392842e-01]
[-2.61658278e+00 2.70653811e-01]
[-2.17307457e+00 1.27587594e-01]
[-1.78488772e+00 -4.43191260e-01]
[-2.00529599e+00 1.05661102e-02]
[-2.13404214e+00 3.77965754e-02]
[-1.65750603e+00 -3.79046362e-01]]
##################################################
[[-2.86541481e+00 2.96294592e-01]
[-2.89204667e+00 -1.83785089e-01]
[-3.05498018e+00 -1.74826556e-01]
[-2.92022951e+00 -3.31581792e-01]
[-2.90685193e+00 2.95916920e-01]
[-2.48985229e+00 7.33821200e-01]
[-2.99073479e+00 -1.23337756e-01]
[-2.81072341e+00 1.49253233e-01]
[-3.05102452e+00 -5.96522880e-01]
[-2.85367989e+00 -1.18129504e-01]
[-2.70121731e+00 6.30088258e-01]
[-2.79746912e+00 1.83420106e-03]
[-2.95910703e+00 -2.45743109e-01]
[-3.36629732e+00 -5.60864364e-01]
[-2.83188903e+00 1.14006491e+00]
[-2.58993648e+00 1.30218121e+00]
[-2.81008938e+00 7.72676709e-01]
[-2.83175695e+00 2.89400035e-01]
[-2.41526804e+00 8.78798583e-01]
[-2.77580155e+00 4.85110874e-01]
[-2.51699488e+00 4.05235787e-01]
[-2.73410906e+00 4.09741412e-01]
[-3.36069900e+00 5.93621201e-02]
[-2.50819415e+00 1.09519480e-01]
[-2.55729130e+00 -2.73074303e-02]
[-2.69852563e+00 -1.34360266e-01]
[-2.66334841e+00 1.25750242e-01]
[-2.75195304e+00 3.55433292e-01]
[-2.82397769e+00 2.96672264e-01]
[-2.81480236e+00 -2.03968187e-01]
[-2.77336524e+00 -2.03590515e-01]
[-2.60979770e+00 4.10874428e-01]
[-2.83381866e+00 7.73177282e-01]
[-2.78804721e+00 1.05102924e+00]
[-2.82002202e+00 -1.25024061e-01]
[-3.03483197e+00 4.14450531e-02]
[-2.81186411e+00 5.81418778e-01]
[-2.97391229e+00 2.33958900e-01]
[-3.13911842e+00 -5.18334098e-01]
[-2.77732091e+00 2.18105810e-01]
[-2.94521872e+00 2.30261335e-01]
[-3.01581568e+00 -9.35700415e-01]
[-3.15518767e+00 -3.81384287e-01]
[-2.60406731e+00 1.80436033e-01]
[-2.42190660e+00 4.39360809e-01]
[-2.89179130e+00 -2.59532223e-01]
[-2.72940014e+00 4.82291554e-01]
[-3.00832340e+00 -2.53393010e-01]
[-2.73461980e+00 5.61235680e-01]
[-2.88274805e+00 9.04922043e-02]
[ 1.19659125e+00 7.88745875e-01]
[ 8.69715600e-01 3.88163609e-01]
[ 1.36499979e+00 6.25096081e-01]
[ 1.73792690e-01 -7.85425235e-01]
[ 1.01531587e+00 1.73402688e-01]
[ 6.00720918e-01 -3.53914939e-01]
[ 1.02205489e+00 3.61463626e-01]
[-6.96045401e-01 -1.04138498e+00]
[ 9.73368014e-01 3.24519284e-01]
[-4.95470589e-03 -7.15264025e-01]
[-4.70385858e-01 -1.26585978e+00]
[ 4.78594559e-01 -6.39074565e-02]
[ 2.47866201e-01 -4.88953584e-01]
[ 9.20072678e-01 -3.63520361e-02]
[-1.61249662e-01 -2.66867717e-01]
[ 8.64240572e-01 5.42854869e-01]
[ 6.18564897e-01 -2.99606819e-01]
[ 2.20947357e-01 -2.93998088e-01]
[ 8.83256867e-01 -4.34290599e-01]
[ 4.37509356e-02 -5.56119856e-01]
[ 1.04385454e+00 -5.92457893e-03]
[ 3.34034528e-01 -2.99352449e-02]
[ 1.21279258e+00 -1.98868814e-01]
[ 8.60791579e-01 -9.10378278e-02]
[ 6.66385205e-01 2.15955761e-01]
[ 8.38872704e-01 4.05527387e-01]
[ 1.24198404e+00 3.67427222e-01]
[ 1.45360442e+00 3.95413031e-01]
[ 7.60209499e-01 -9.26714160e-02]
[-2.84776151e-01 -3.73042308e-01]
[-6.16762064e-02 -6.83733462e-01]
[-1.75393342e-01 -6.67125028e-01]
[ 1.28144535e-01 -2.88359448e-01]
[ 1.29029225e+00 -2.94799046e-01]
[ 5.51759908e-01 -4.37311974e-01]
[ 7.53694234e-01 2.42808554e-01]
[ 1.13807625e+00 5.06818681e-01]
[ 7.61249738e-01 -2.73460126e-01]
[ 2.31012079e-01 -2.46962197e-01]
[ 1.57723439e-01 -6.48475424e-01]
[ 4.36268045e-01 -6.11961470e-01]
[ 8.31978779e-01 4.18367464e-02]
[ 2.16238434e-01 -3.66548230e-01]
[-6.54608281e-01 -1.04100731e+00]
[ 3.35175229e-01 -4.62100791e-01]
[ 3.10815984e-01 -1.80928940e-01]
[ 3.52508472e-01 -2.56298403e-01]
[ 5.99580217e-01 7.82506064e-02]
[-8.43794996e-01 -8.12957848e-01]
[ 2.80483824e-01 -3.15059431e-01]
[ 2.72315063e+00 -3.38981292e-02]
[ 1.68186528e+00 -6.60218212e-01]
[ 2.79978374e+00 3.48789877e-01]
[ 2.19944700e+00 -2.20680344e-01]
[ 2.55296736e+00 -6.15062662e-02]
[ 3.52721112e+00 6.25055623e-01]
[ 8.49640714e-01 -1.34476884e+00]
[ 3.09388686e+00 3.99848288e-01]
[ 2.52531403e+00 -2.38597411e-01]
[ 3.07972847e+00 7.81485905e-01]
[ 1.90916747e+00 1.57229798e-01]
[ 2.04239879e+00 -2.66530503e-01]
[ 2.37933916e+00 1.81087654e-01]
[ 1.61813062e+00 -8.63201280e-01]
[ 1.84211996e+00 -6.26216091e-01]
[ 2.13685711e+00 4.82657961e-02]
[ 2.17815809e+00 -4.78640736e-03]
[ 3.61005375e+00 1.22509901e+00]
[ 3.90024566e+00 3.77077834e-01]
[ 1.57415267e+00 -8.27595480e-01]
[ 2.62410667e+00 3.53673174e-01]
[ 1.48056498e+00 -7.16915264e-01]
[ 3.62308428e+00 5.54139069e-01]
[ 1.65510134e+00 -2.89633015e-01]
[ 2.48195134e+00 2.98232038e-01]
[ 2.79620267e+00 5.65562058e-01]
[ 1.53360494e+00 -2.80296810e-01]
[ 1.56419247e+00 -2.21913454e-01]
[ 2.34185771e+00 -2.40986343e-01]
[ 2.58483765e+00 4.61829115e-01]
[ 3.00886329e+00 4.12759157e-01]
[ 3.36936519e+00 1.40573491e+00]
[ 2.37551557e+00 -2.47880900e-01]
[ 1.70621167e+00 -2.19902194e-01]
[ 2.02211444e+00 -5.36231987e-01]
[ 3.22763297e+00 7.28688472e-01]
[ 2.36122105e+00 8.03268415e-02]
[ 2.13672097e+00 -5.16407917e-03]
[ 1.45073071e+00 -2.81052154e-01]
[ 2.32464775e+00 3.28129013e-01]
[ 2.51893490e+00 1.50312434e-01]
[ 2.15178566e+00 3.43481531e-01]
[ 1.68186528e+00 -6.60218212e-01]
[ 2.75082273e+00 2.65392842e-01]
[ 2.61658278e+00 2.70653811e-01]
[ 2.17307457e+00 1.27587594e-01]
[ 1.78488772e+00 -4.43191260e-01]
[ 2.00529599e+00 1.05661102e-02]
[ 2.13404214e+00 3.77965754e-02]
[ 1.65750603e+00 -3.79046362e-01]]

更多推荐



所有评论(0)