mirror of
https://github.com/storytold/storyteller-ml.git
synced 2026-10-15 00:03:06 +00:00
slightly tweaked mocapnet alt container
This commit is contained in:
@@ -0,0 +1,783 @@
|
||||
#!/usr/bin/python3
|
||||
"""
|
||||
Author : "Ammar Qammaz"
|
||||
Copyright : "2022 Foundation of Research and Technology, Computer Science Department Greece, See license.txt"
|
||||
License : "FORTH"
|
||||
"""
|
||||
|
||||
import sys
|
||||
import os
|
||||
import numpy as np
|
||||
|
||||
#python3 principleComponentAnalysisTester.py --config dataset/body_configuration.json --mem 1000 --highlight 4 --mode 3
|
||||
#python3 principleComponentAnalysisTool.py --config dataset/body_configuration.json --all body --mem 1000 --show --type sparsepca
|
||||
#python3 principleComponentAnalysisTool.py --config dataset/upperbody_configuration.json --all upperbody --mem 1000 --show --type factoranalysis
|
||||
|
||||
class EmptyDecomposition:
|
||||
def __init__(self,):
|
||||
self.decompositionType = ""
|
||||
def ok(self):
|
||||
return True
|
||||
def fit(self,data):
|
||||
pass
|
||||
def transform(self,data,selectedPCADimensions=0):
|
||||
return data
|
||||
def save(self,filename):
|
||||
return True
|
||||
def load(self,filename):
|
||||
return True
|
||||
|
||||
|
||||
#------------------------------------------------------------------
|
||||
#------------------------------------------------------------------
|
||||
#------------------------------------------------------------------
|
||||
def getSKPCA_Decomposer(numberOfDimensions=20):
|
||||
from sklearn.decomposition import PCA
|
||||
engine = PCA(n_components=numberOfDimensions)
|
||||
return engine
|
||||
|
||||
def getTruncatedSVD_Decomposer(numberOfDimensions=20):
|
||||
from sklearn.decomposition import TruncatedSVD
|
||||
engine = TruncatedSVD(n_components=numberOfDimensions)
|
||||
return engine
|
||||
|
||||
def getLatentDirichletAllocation_Decomposer(numberOfDimensions=20):
|
||||
from sklearn.decomposition import LatentDirichletAllocation
|
||||
engine = LatentDirichletAllocation(n_components=numberOfDimensions)
|
||||
return engine
|
||||
|
||||
def getFactorAnalysis_Decomposer(numberOfDimensions=20):
|
||||
from sklearn.decomposition import FactorAnalysis
|
||||
engine = FactorAnalysis(n_components=numberOfDimensions)
|
||||
return engine
|
||||
|
||||
def getDictionaryLearning_Decomposer(numberOfDimensions=20):
|
||||
from sklearn.decomposition import DictionaryLearning
|
||||
engine = DictionaryLearning(n_components=numberOfDimensions)
|
||||
return engine
|
||||
|
||||
def getFastICA_Decomposer(numberOfDimensions=20):
|
||||
from sklearn.decomposition import FastICA
|
||||
engine = FastICA(n_components=numberOfDimensions)
|
||||
return engine
|
||||
|
||||
def getNMF_Decomposer(numberOfDimensions=20):
|
||||
from sklearn.decomposition import NMF
|
||||
engine = NMF(n_components=numberOfDimensions)
|
||||
return engine
|
||||
|
||||
def getIncrementalPCA_Decomposer(numberOfDimensions=20):
|
||||
from sklearn.decomposition import IncrementalPCA
|
||||
engine = IncrementalPCA(n_components=numberOfDimensions)
|
||||
return engine
|
||||
|
||||
def getSparsePCA_Decomposer(numberOfDimensions=20):
|
||||
from sklearn.decomposition import SparsePCA
|
||||
engine = SparsePCA(n_components=numberOfDimensions)
|
||||
return engine
|
||||
|
||||
def getTSNE_Decomposer(numberOfDimensions=20):
|
||||
from sklearn.manifold import TSNE
|
||||
engine = TSNE(n_components=numberOfDimensions,perplexity=100, learning_rate=100, verbose=2, n_iter=350)
|
||||
return engine
|
||||
#------------------------------------------------------------------
|
||||
#------------------------------------------------------------------
|
||||
#------------------------------------------------------------------
|
||||
class Decomposition():
|
||||
def __init__(self,
|
||||
inputData:np.array=np.array([]),
|
||||
savedFile:str="",
|
||||
decompositionType:str="pca",
|
||||
selectedPCADimensions:int=0
|
||||
):
|
||||
self.disabledDecomposition = False
|
||||
self.numberOfSamplesFittedOn = 0
|
||||
self.decompositionType = decompositionType
|
||||
self.noTransformFunction = 0 #Some methods dont have a transform function
|
||||
self.trackedFiles = list() #<- all needed files should be tracked here
|
||||
|
||||
if (selectedPCADimensions==0):
|
||||
self.numberOfSamplesFittedOn = inputData.shape[0]
|
||||
else:
|
||||
self.numberOfSamplesFittedOn = selectedPCADimensions
|
||||
|
||||
|
||||
import sklearn
|
||||
print("Decomposition code using Sk-Learn : ",sklearn.__version__)
|
||||
print("Will try to perform : ",self.decompositionType)
|
||||
|
||||
#self.engine = getSKPCA_Decomposer(numberOfDimensions=self.numberOfSamplesFittedOn)
|
||||
from sklearn.preprocessing import StandardScaler
|
||||
self.scaler = StandardScaler()
|
||||
|
||||
if (self.decompositionType==""):
|
||||
print("Not Performing any decomposition")
|
||||
self.disabledDecomposition = True
|
||||
return;
|
||||
elif (self.decompositionType=="skpca"):
|
||||
self.engine = getSKPCA_Decomposer(numberOfDimensions=self.numberOfSamplesFittedOn)
|
||||
elif (self.decompositionType=="sparsepca"):
|
||||
self.engine = getSparsePCA_Decomposer(numberOfDimensions=self.numberOfSamplesFittedOn)
|
||||
elif (self.decompositionType=="incrementalpca"):
|
||||
self.engine = getIncrementalPCA_Decomposer(numberOfDimensions=self.numberOfSamplesFittedOn)
|
||||
elif (self.decompositionType=="fastica"):
|
||||
self.engine = getFastICA_Decomposer(numberOfDimensions=self.numberOfSamplesFittedOn)
|
||||
elif (self.decompositionType=="nmf"):
|
||||
self.engine = getNMF_Decomposer(numberOfDimensions=self.numberOfSamplesFittedOn)
|
||||
elif (self.decompositionType=="dictionary"):
|
||||
self.engine = getDictionaryLearning_Decomposer(numberOfDimensions=self.numberOfSamplesFittedOn)
|
||||
elif (self.decompositionType=="factoranalysis"):
|
||||
self.engine = getFactorAnalysis_Decomposer(numberOfDimensions=self.numberOfSamplesFittedOn)
|
||||
elif (self.decompositionType=="dirichlet"):
|
||||
self.engine = getLatentDirichletAllocation_Decomposer(numberOfDimensions=self.numberOfSamplesFittedOn)
|
||||
elif (self.decompositionType=="svd"):
|
||||
self.engine = getTruncatedSVD_Decomposer(numberOfDimensions=self.numberOfSamplesFittedOn)
|
||||
elif (self.decompositionType=="tsne"):
|
||||
self.engine = getTSNE_Decomposer(numberOfDimensions=self.numberOfSamplesFittedOn)
|
||||
self.noTransformFunction = 1
|
||||
elif (self.decompositionType!="pca"):
|
||||
print("Could not understand decomposition Type ",self.decompositionType)
|
||||
sys.exit(1)
|
||||
else:
|
||||
print("Using SK code for decomposition Type ",self.decompositionType)
|
||||
self.engine = getSKPCA_Decomposer(numberOfDimensions=self.numberOfSamplesFittedOn)
|
||||
|
||||
if (savedFile!=""):
|
||||
print("Loading existing fitted decomposition from ",savedFile,"..!")
|
||||
self.load(savedFile)
|
||||
elif (inputData.size!=0):
|
||||
print("Generating new fit..!")
|
||||
self.fit(inputData)
|
||||
else:
|
||||
print("No Decomposition input given..!")
|
||||
|
||||
def ok(self):
|
||||
return self.numberOfSamplesFittedOn!=0
|
||||
|
||||
def getNumberOfExpectedSamples(self):
|
||||
return self.numberOfSamplesFittedOn
|
||||
|
||||
def fit(self,data):
|
||||
import time
|
||||
startAt = time.time()
|
||||
#----------------------------------------------------------------------------------------
|
||||
self.numberOfSamplesFittedOn = data.shape[0]
|
||||
self.scaler.fit(data)
|
||||
dataTransformed = self.scaler.transform(data)
|
||||
outputData = self.engine.fit_transform(dataTransformed)
|
||||
#----------------------------------------------------------------------------------------
|
||||
endAt = time.time()
|
||||
print("Time required to fit ",self.decompositionType," was ",(endAt-startAt)/60," mins")
|
||||
return outputData
|
||||
|
||||
def transform(self,data,selectedPCADimensions=0):
|
||||
if (self.disabledDecomposition):
|
||||
return data
|
||||
#if (selectedPCADimensions!=self.numberOfSamplesFittedOn):
|
||||
# print("INCONSISTENT TRANSFORM")
|
||||
|
||||
if (selectedPCADimensions==0):
|
||||
if (self.noTransformFunction):
|
||||
dataTransformed = self.scaler.fit_transform(data)
|
||||
return self.engine.fit_transform(dataTransformed)
|
||||
else:
|
||||
dataTransformed = self.scaler.transform(data)
|
||||
return self.engine.transform(dataTransformed)
|
||||
else:
|
||||
if (self.noTransformFunction):
|
||||
dataTransformed = self.scaler.fit_transform(data)
|
||||
return self.engine.fit_transform(dataTransformed)[:,:selectedPCADimensions] # ,n_components=selectedPCADimensions
|
||||
else:
|
||||
dataTransformed = self.scaler.transform(data)
|
||||
return self.engine.transform(dataTransformed)[:,:selectedPCADimensions] # ,n_components=selectedPCADimensions
|
||||
|
||||
def save(self,filename):
|
||||
print("Saving Decomposition to ",filename)
|
||||
OKGREEN = '\033[92m'
|
||||
FAIL = '\033[91m'
|
||||
ENDC = '\033[0m'
|
||||
import pickle
|
||||
self.trackedFiles = list()
|
||||
successfulSaves = 0
|
||||
#---------------------------------------------------------------
|
||||
pathToEngine = "%s.%s" % (filename,self.decompositionType)
|
||||
with open(pathToEngine,'wb') as engineFile:
|
||||
self.trackedFiles.append(pathToEngine)
|
||||
print(OKGREEN,"Saving Decomposition Engine to ",pathToEngine,ENDC)
|
||||
pickle.dump(self.engine,engineFile)
|
||||
successfulSaves = successfulSaves + 1
|
||||
#---------------------------------------------------------------
|
||||
pathToScaler = "%s.scaler.%s" % (filename,self.decompositionType)
|
||||
with open(pathToScaler,'wb') as scalerFile:
|
||||
self.trackedFiles.append(pathToScaler)
|
||||
print(OKGREEN,"Saving Decomposition Scaler to ",pathToScaler,ENDC)
|
||||
pickle.dump(self.scaler,scalerFile)
|
||||
successfulSaves = successfulSaves + 1
|
||||
#---------------------------------------------------------------
|
||||
return (successfulSaves==2)
|
||||
|
||||
def load(self,filename):
|
||||
print("Loading Decomposition from ",filename)
|
||||
OKGREEN = '\033[92m'
|
||||
FAIL = '\033[91m'
|
||||
ENDC = '\033[0m'
|
||||
import pickle
|
||||
self.trackedFiles = list()
|
||||
successfulLoads = 0
|
||||
#---------------------------------------------------------------
|
||||
pathToEngine = "%s.%s" % (filename,self.decompositionType)
|
||||
if (os.path.isfile(pathToEngine)):
|
||||
self.trackedFiles.append(pathToEngine)
|
||||
unpickleEngine = open(pathToEngine, 'rb')
|
||||
print(OKGREEN,"Loaded Decomposition Engine from ",pathToEngine,ENDC)
|
||||
self.engine = pickle.load(unpickleEngine) #, encoding='bytes'
|
||||
successfulLoads = successfulLoads + 1
|
||||
else:
|
||||
print(FAIL,"Failed Loading Decomposition Engine from ",pathToEngine,ENDC)
|
||||
#---------------------------------------------------------------
|
||||
pathToScaler = "%s.scaler.%s" % (filename,self.decompositionType)
|
||||
if (os.path.isfile(pathToEngine)):
|
||||
self.trackedFiles.append(pathToScaler)
|
||||
unpickleScaler = open(pathToScaler, 'rb')
|
||||
print(OKGREEN,"Loading Decomposition Scaler from ",pathToScaler,ENDC)
|
||||
self.scaler = pickle.load(unpickleScaler) #, encoding='bytes'
|
||||
successfulLoads = successfulLoads + 1
|
||||
else:
|
||||
print(FAIL,"Failed Loading Decomposition Scaler from ",pathToScaler,ENDC)
|
||||
#---------------------------------------------------------------
|
||||
return (successfulLoads==2)
|
||||
|
||||
def visualize(self,data,saveToFile="",onlyScreePlotNDimensions=0,label="PCA",colors=list(),colorLabel="Highlighting PC-4",viewAzimuth=45,viewElevation=45,showScree=0):
|
||||
import matplotlib
|
||||
import matplotlib.pyplot as plt
|
||||
font = {'family' : 'normal',
|
||||
'weight' : 'bold',
|
||||
'size' : 28 }
|
||||
plt.rc('font', **font)
|
||||
plt.rc('xtick', labelsize=15)
|
||||
plt.rc('ytick', labelsize=15)
|
||||
# === Plot =========================================================================
|
||||
fig = plt.figure()
|
||||
fig.set_size_inches(19.2, 10.8, forward=True)
|
||||
ax1 = fig.add_subplot(1, 1, 1,projection='3d')
|
||||
#===================================================================================
|
||||
|
||||
#Number of PCA components to plot on first plot (our plot is 3D so max is 4 if we dont have a color ..! )
|
||||
keepNDimensions = 3
|
||||
if (len(colors)==0):
|
||||
keepNDimensions = 4
|
||||
|
||||
#Do transform of our input using the PCA dimensions as new basis
|
||||
#===================================================================================
|
||||
transformedData = self.transform(data,selectedPCADimensions=keepNDimensions).real
|
||||
#print("TRANSFORMED DATA : ",transformedData)
|
||||
print("TRANSFORMED DATA")
|
||||
print("Number of Samples : ",transformedData.shape[0])
|
||||
print("Number of Dimensions : ",transformedData.shape[1])
|
||||
#===================================================================================
|
||||
|
||||
if (len(colors)==0):
|
||||
if (transformedData.shape[1]<4):
|
||||
print("Not enough dimensions to plot color")
|
||||
keepNDimensions = 3
|
||||
else:
|
||||
colors = transformedData[:,3]
|
||||
colorLabel = "highlighting PC-4"
|
||||
else:
|
||||
print("Using provided set of colorValues")
|
||||
keepNDimensions = 3
|
||||
|
||||
ax1.view_init(viewAzimuth,viewElevation)
|
||||
#===================================================================================
|
||||
if (len(colors)==0):
|
||||
ax1.scatter(transformedData[:,0],transformedData[:,1],transformedData[:,2],c='red')
|
||||
else:
|
||||
scatter = ax1.scatter(transformedData[:,0],transformedData[:,1],transformedData[:,2],c=colors,label=colors)
|
||||
ax1.legend(*scatter.legend_elements(num=5),loc="upper right", title="Values", fontsize="x-small", framealpha=0.4)
|
||||
#===================================================================================
|
||||
|
||||
# Adding title, xlabel and ylabel
|
||||
ax1.set_title('%s %s %s '%(self.decompositionType,label,colorLabel)) # Title of the plot
|
||||
ax1.set_xlabel('PC-1',labelpad=30) # X-Label
|
||||
ax1.set_ylabel('PC-2',labelpad=30) # Y-Label
|
||||
ax1.set_zlabel('PC-3',labelpad=30) # Z-Label
|
||||
#ax1.tick_params(axis='x', pad=5) #fine tune numbers of plot
|
||||
plt.subplots_adjust(left=0.05, right=0.95, top=0.95, bottom=0.08)
|
||||
|
||||
if (saveToFile!=""):
|
||||
print("Saving Figure to output file %s" % saveToFile)
|
||||
fig.savefig(saveToFile)
|
||||
else:
|
||||
plt.show()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
print("principleComponentAnalysis.py is a library")
|
||||
decomp = Decomposition(savedFile='dataset/combinedModel/mocapnet4/mode1/1.0/step1_upperbody_all/upperbody_all.pca',decompositionType='pca')
|
||||
sample = list()
|
||||
sample.append(0.470052) #0
|
||||
sample.append(0.452315) #1
|
||||
sample.append(1.000000) #2
|
||||
sample.append(0.479688) #3
|
||||
sample.append(0.239352) #4
|
||||
sample.append(1.000000) #5
|
||||
sample.append(0.520312) #6
|
||||
sample.append(0.185185) #7
|
||||
sample.append(1.000000) #8
|
||||
sample.append(0.519271) #9
|
||||
sample.append(0.173148) #10
|
||||
sample.append(1.000000) #11
|
||||
sample.append(0.000000) #12
|
||||
sample.append(0.000000) #13
|
||||
sample.append(0.000000) #14
|
||||
sample.append(0.450000) #15
|
||||
sample.append(0.238889) #16
|
||||
sample.append(1.000000) #17
|
||||
sample.append(0.422917) #18
|
||||
sample.append(0.337037) #19
|
||||
sample.append(1.000000) #20
|
||||
sample.append(0.000000) #21
|
||||
sample.append(0.000000) #22
|
||||
sample.append(0.000000) #23
|
||||
sample.append(0.509375) #24
|
||||
sample.append(0.239815) #25
|
||||
sample.append(1.000000) #26
|
||||
sample.append(0.500000) #27
|
||||
sample.append(0.362963) #28
|
||||
sample.append(1.000000) #29
|
||||
sample.append(0.000000) #30
|
||||
sample.append(0.000000) #31
|
||||
sample.append(0.000000) #32
|
||||
sample.append(0.652332) #33
|
||||
sample.append(0.283472) #34
|
||||
sample.append(0.547378) #35
|
||||
sample.append(0.213181) #36
|
||||
sample.append(0.536087) #37
|
||||
sample.append(0.077135) #38
|
||||
sample.append(0.214366) #39
|
||||
sample.append(0.509478) #40
|
||||
sample.append(0.095500) #41
|
||||
sample.append(0.029691) #42
|
||||
sample.append(0.167750) #43
|
||||
sample.append(0.522894) #44
|
||||
sample.append(0.141564) #45
|
||||
sample.append(0.065052) #46
|
||||
sample.append(0.050908) #47
|
||||
sample.append(0.124542) #48
|
||||
sample.append(0.540789) #49
|
||||
sample.append(0.190115) #50
|
||||
sample.append(0.112984) #51
|
||||
sample.append(0.101816) #52
|
||||
sample.append(0.050908) #53
|
||||
sample.append(0.383942) #54
|
||||
sample.append(0.270394) #55
|
||||
sample.append(0.307847) #56
|
||||
sample.append(0.277424) #57
|
||||
sample.append(0.248705) #58
|
||||
sample.append(0.254739) #59
|
||||
sample.append(0.270394) #60
|
||||
sample.append(0.652332) #61
|
||||
sample.append(0.000000) #62
|
||||
sample.append(0.547378) #63
|
||||
sample.append(0.536087) #64
|
||||
sample.append(0.509478) #65
|
||||
sample.append(0.522894) #66
|
||||
sample.append(0.540789) #67
|
||||
sample.append(0.270394) #68
|
||||
sample.append(0.212132) #69
|
||||
sample.append(0.440391) #70
|
||||
sample.append(0.248585) #71
|
||||
sample.append(0.182055) #72
|
||||
sample.append(0.155387) #73
|
||||
sample.append(0.126341) #74
|
||||
sample.append(0.113851) #75
|
||||
sample.append(0.174184) #76
|
||||
sample.append(0.440391) #77
|
||||
sample.append(0.212132) #78
|
||||
sample.append(0.678899) #79
|
||||
sample.append(0.152507) #80
|
||||
sample.append(0.143071) #81
|
||||
sample.append(0.171002) #82
|
||||
sample.append(0.175392) #83
|
||||
sample.append(0.193561) #84
|
||||
sample.append(0.419609) #85
|
||||
sample.append(0.678899) #86
|
||||
sample.append(0.300000) #87
|
||||
sample.append(0.216108) #88
|
||||
sample.append(0.563004) #89
|
||||
sample.append(0.067397) #90
|
||||
sample.append(0.029691) #91
|
||||
sample.append(0.059382) #92
|
||||
sample.append(0.087379) #93
|
||||
sample.append(0.130105) #94
|
||||
sample.append(0.306329) #95
|
||||
sample.append(0.563004) #96
|
||||
sample.append(0.209537) #97
|
||||
sample.append(0.116016) #98
|
||||
sample.append(0.154849) #99
|
||||
sample.append(0.587831) #100
|
||||
sample.append(0.129067) #101
|
||||
sample.append(0.066885) #102
|
||||
sample.append(0.083048) #103
|
||||
sample.append(0.069538) #104
|
||||
sample.append(0.089203) #105
|
||||
sample.append(0.321928) #106
|
||||
sample.append(0.587831) #107
|
||||
sample.append(0.192741) #108
|
||||
sample.append(0.107269) #109
|
||||
sample.append(0.061752) #110
|
||||
sample.append(0.094237) #111
|
||||
sample.append(0.617853) #112
|
||||
sample.append(0.190791) #113
|
||||
sample.append(0.125269) #114
|
||||
sample.append(0.133770) #115
|
||||
sample.append(0.098298) #116
|
||||
sample.append(0.081326) #117
|
||||
sample.append(0.347944) #118
|
||||
sample.append(0.617853) #119
|
||||
sample.append(0.194984) #120
|
||||
sample.append(0.131074) #121
|
||||
sample.append(0.123504) #122
|
||||
sample.append(0.061752) #123
|
||||
sample.append(0.348961) #124
|
||||
sample.append(0.308926) #125
|
||||
sample.append(0.269400) #126
|
||||
sample.append(0.236866) #127
|
||||
sample.append(0.208076) #128
|
||||
sample.append(0.214721) #129
|
||||
sample.append(0.232589) #130
|
||||
sample.append(0.040663) #131
|
||||
sample.append(0.308926) #132
|
||||
sample.append(0.143338) #133
|
||||
sample.append(0.378955) #134
|
||||
sample.append(0.265854) #135
|
||||
sample.append(0.281502) #136
|
||||
sample.append(0.308926) #137
|
||||
sample.append(0.652332) #138
|
||||
sample.append(0.000000) #139
|
||||
sample.append(0.547378) #140
|
||||
sample.append(0.536087) #141
|
||||
sample.append(0.509478) #142
|
||||
sample.append(0.522894) #143
|
||||
sample.append(0.540789) #144
|
||||
sample.append(0.270394) #145
|
||||
sample.append(0.000000) #146
|
||||
sample.append(0.440391) #147
|
||||
sample.append(0.678899) #148
|
||||
sample.append(0.563004) #149
|
||||
sample.append(0.587831) #150
|
||||
sample.append(0.617853) #151
|
||||
sample.append(0.308926) #152
|
||||
sample.append(0.106590) #153
|
||||
sample.append(0.587454) #154
|
||||
sample.append(0.178302) #155
|
||||
sample.append(0.106590) #156
|
||||
sample.append(0.109798) #157
|
||||
sample.append(0.069458) #158
|
||||
sample.append(0.052693) #159
|
||||
sample.append(0.317531) #160
|
||||
sample.append(0.587454) #161
|
||||
sample.append(0.166465) #162
|
||||
sample.append(0.146195) #163
|
||||
sample.append(0.111492) #164
|
||||
sample.append(0.053520) #165
|
||||
sample.append(0.030413) #166
|
||||
sample.append(0.278528) #167
|
||||
sample.append(0.587454) #168
|
||||
sample.append(3.096379) #169
|
||||
sample.append(0.651328) #170
|
||||
sample.append(5.955375) #171
|
||||
sample.append(6.084674) #172
|
||||
sample.append(-0.059619) #173
|
||||
sample.append(0.048326) #174
|
||||
sample.append(0.234845) #175
|
||||
sample.append(0.585668) #176
|
||||
sample.append(0.651328) #177
|
||||
sample.append(0.686142) #178
|
||||
sample.append(5.398531) #179
|
||||
sample.append(5.946909) #180
|
||||
sample.append(5.904308) #181
|
||||
sample.append(5.806487) #182
|
||||
sample.append(0.529019) #183
|
||||
sample.append(0.651328) #184
|
||||
sample.append(6.084674) #185
|
||||
sample.append(3.792921) #186
|
||||
sample.append(3.694669) #187
|
||||
sample.append(4.237240) #188
|
||||
sample.append(4.096264) #189
|
||||
sample.append(4.071058) #190
|
||||
sample.append(3.975877) #191
|
||||
sample.append(3.886222) #192
|
||||
sample.append(3.886222) #193
|
||||
sample.append(0.000000) #194
|
||||
sample.append(3.776154) #195
|
||||
sample.append(4.110508) #196
|
||||
sample.append(4.119073) #197
|
||||
sample.append(4.020748) #198
|
||||
sample.append(3.931176) #199
|
||||
sample.append(3.931177) #200
|
||||
sample.append(0.000000) #201
|
||||
sample.append(3.929643) #202
|
||||
sample.append(2.813782) #203
|
||||
sample.append(1.095648) #204
|
||||
sample.append(3.325809) #205
|
||||
sample.append(2.449419) #206
|
||||
sample.append(2.176756) #207
|
||||
sample.append(2.363436) #208
|
||||
sample.append(2.456802) #209
|
||||
sample.append(1.402459) #210
|
||||
sample.append(1.095648) #211
|
||||
sample.append(2.003560) #212
|
||||
sample.append(3.639651) #213
|
||||
sample.append(2.840933) #214
|
||||
sample.append(2.875062) #215
|
||||
sample.append(2.887117) #216
|
||||
sample.append(1.448436) #217
|
||||
sample.append(1.095648) #218
|
||||
sample.append(2.736625) #219
|
||||
sample.append(2.943081) #220
|
||||
sample.append(0.954672) #221
|
||||
sample.append(5.591012) #222
|
||||
sample.append(3.255518) #223
|
||||
sample.append(1.401905) #224
|
||||
sample.append(2.261431) #225
|
||||
sample.append(2.461843) #226
|
||||
sample.append(1.159315) #227
|
||||
sample.append(0.954672) #228
|
||||
sample.append(1.819818) #229
|
||||
sample.append(4.163903) #230
|
||||
sample.append(4.543498) #231
|
||||
sample.append(3.371371) #232
|
||||
sample.append(3.151165) #233
|
||||
sample.append(1.170683) #234
|
||||
sample.append(0.954672) #235
|
||||
sample.append(2.943081) #236
|
||||
sample.append(3.081973) #237
|
||||
sample.append(0.929466) #238
|
||||
sample.append(5.318349) #239
|
||||
sample.append(4.543498) #240
|
||||
sample.append(3.256703) #241
|
||||
sample.append(2.719052) #242
|
||||
sample.append(2.719052) #243
|
||||
sample.append(1.130633) #244
|
||||
sample.append(0.929466) #245
|
||||
sample.append(1.897446) #246
|
||||
sample.append(4.228285) #247
|
||||
sample.append(4.543498) #248
|
||||
sample.append(3.707124) #249
|
||||
sample.append(3.371372) #250
|
||||
sample.append(1.137976) #251
|
||||
sample.append(0.929466) #252
|
||||
sample.append(3.216783) #253
|
||||
sample.append(3.189919) #254
|
||||
sample.append(0.834284) #255
|
||||
sample.append(5.505028) #256
|
||||
sample.append(5.403023) #257
|
||||
sample.append(5.860644) #258
|
||||
sample.append(3.256703) #259
|
||||
sample.append(2.719052) #260
|
||||
sample.append(0.929466) #261
|
||||
sample.append(0.834284) #262
|
||||
sample.append(1.597937) #263
|
||||
sample.append(4.522202) #264
|
||||
sample.append(5.142685) #265
|
||||
sample.append(4.364796) #266
|
||||
sample.append(3.691174) #267
|
||||
sample.append(0.898620) #268
|
||||
sample.append(0.834284) #269
|
||||
sample.append(3.574276) #270
|
||||
sample.append(3.376438) #271
|
||||
sample.append(0.744629) #272
|
||||
sample.append(5.598395) #273
|
||||
sample.append(5.603435) #274
|
||||
sample.append(5.860644) #275
|
||||
sample.append(5.860644) #276
|
||||
sample.append(3.166879) #277
|
||||
sample.append(0.744629) #278
|
||||
sample.append(0.744629) #279
|
||||
sample.append(1.183479) #280
|
||||
sample.append(4.781023) #281
|
||||
sample.append(5.403024) #282
|
||||
sample.append(4.970201) #283
|
||||
sample.append(4.234641) #284
|
||||
sample.append(0.684905) #285
|
||||
sample.append(0.744629) #286
|
||||
sample.append(4.391370) #287
|
||||
sample.append(3.727261) #288
|
||||
sample.append(0.744629) #289
|
||||
sample.append(4.544052) #290
|
||||
sample.append(4.300908) #291
|
||||
sample.append(4.272226) #292
|
||||
sample.append(4.071058) #293
|
||||
sample.append(3.886222) #294
|
||||
sample.append(3.166879) #295
|
||||
sample.append(0.744629) #296
|
||||
sample.append(3.604797) #297
|
||||
sample.append(4.254323) #298
|
||||
sample.append(4.324193) #299
|
||||
sample.append(4.133639) #300
|
||||
sample.append(3.966107) #301
|
||||
sample.append(4.234641) #302
|
||||
sample.append(0.744629) #303
|
||||
sample.append(3.966615) #304
|
||||
sample.append(3.792921) #305
|
||||
sample.append(0.000000) #306
|
||||
sample.append(4.237240) #307
|
||||
sample.append(4.096264) #308
|
||||
sample.append(4.071058) #309
|
||||
sample.append(3.975877) #310
|
||||
sample.append(3.886222) #311
|
||||
sample.append(3.886222) #312
|
||||
sample.append(3.694669) #313
|
||||
sample.append(3.776154) #314
|
||||
sample.append(4.110508) #315
|
||||
sample.append(4.119073) #316
|
||||
sample.append(4.020748) #317
|
||||
sample.append(3.931176) #318
|
||||
sample.append(3.931177) #319
|
||||
sample.append(0.000000) #320
|
||||
sample.append(3.929643) #321
|
||||
sample.append(3.827735) #322
|
||||
sample.append(0.634561) #323
|
||||
sample.append(5.145152) #324
|
||||
sample.append(4.961411) #325
|
||||
sample.append(5.039039) #326
|
||||
sample.append(4.739530) #327
|
||||
sample.append(4.325072) #328
|
||||
sample.append(0.463204) #329
|
||||
sample.append(0.634561) #330
|
||||
sample.append(0.000000) #331
|
||||
sample.append(4.613133) #332
|
||||
sample.append(4.903871) #333
|
||||
sample.append(4.607087) #334
|
||||
sample.append(4.287396) #335
|
||||
sample.append(0.295320) #336
|
||||
sample.append(0.634561) #337
|
||||
sample.append(4.346044) #338
|
||||
sample.append(2.256939) #339
|
||||
sample.append(0.968915) #340
|
||||
sample.append(0.498058) #341
|
||||
sample.append(1.022310) #342
|
||||
sample.append(1.086692) #343
|
||||
sample.append(1.380610) #344
|
||||
sample.append(1.639430) #345
|
||||
sample.append(1.112731) #346
|
||||
sample.append(0.968915) #347
|
||||
sample.append(1.471541) #348
|
||||
sample.append(0.000000) #349
|
||||
sample.append(0.927337) #350
|
||||
sample.append(1.482404) #351
|
||||
sample.append(1.967686) #352
|
||||
sample.append(1.114843) #353
|
||||
sample.append(0.968915) #354
|
||||
sample.append(1.776775) #355
|
||||
sample.append(2.805316) #356
|
||||
sample.append(0.977481) #357
|
||||
sample.append(5.982525) #358
|
||||
sample.append(1.401905) #359
|
||||
sample.append(1.401905) #360
|
||||
sample.append(2.001093) #361
|
||||
sample.append(2.261431) #362
|
||||
sample.append(1.182600) #363
|
||||
sample.append(0.977481) #364
|
||||
sample.append(1.762278) #365
|
||||
sample.append(4.068930) #366
|
||||
sample.append(3.258445) #367
|
||||
sample.append(2.912313) #368
|
||||
sample.append(2.912314) #369
|
||||
sample.append(1.196280) #370
|
||||
sample.append(0.977481) #371
|
||||
sample.append(2.673644) #372
|
||||
sample.append(2.762715) #373
|
||||
sample.append(0.879156) #374
|
||||
sample.append(6.016655) #375
|
||||
sample.append(0.229778) #376
|
||||
sample.append(0.565532) #377
|
||||
sample.append(1.223204) #378
|
||||
sample.append(1.828609) #379
|
||||
sample.append(0.992046) #380
|
||||
sample.append(0.879156) #381
|
||||
sample.append(1.465495) #382
|
||||
sample.append(4.623997) #383
|
||||
sample.append(6.053906) #384
|
||||
sample.append(3.258445) #385
|
||||
sample.append(2.912314) #386
|
||||
sample.append(0.977481) #387
|
||||
sample.append(0.879156) #388
|
||||
sample.append(2.397369) #389
|
||||
sample.append(2.664894) #390
|
||||
sample.append(0.789584) #391
|
||||
sample.append(6.028709) #392
|
||||
sample.append(0.009572) #393
|
||||
sample.append(0.229779) #394
|
||||
sample.append(0.549582) #395
|
||||
sample.append(1.093048) #396
|
||||
sample.append(0.824514) #397
|
||||
sample.append(0.789584) #398
|
||||
sample.append(1.145804) #399
|
||||
sample.append(5.109279) #400
|
||||
sample.append(6.053906) #401
|
||||
sample.append(6.053907) #402
|
||||
sample.append(3.136574) #403
|
||||
sample.append(0.789584) #404
|
||||
sample.append(0.789584) #405
|
||||
sample.append(0.819205) #406
|
||||
sample.append(3.670611) #407
|
||||
sample.append(0.789584) #408
|
||||
sample.append(4.590029) #409
|
||||
sample.append(4.312276) #410
|
||||
sample.append(4.279569) #411
|
||||
sample.append(4.040213) #412
|
||||
sample.append(3.826498) #413
|
||||
sample.append(1.093048) #414
|
||||
sample.append(0.789584) #415
|
||||
sample.append(3.436912) #416
|
||||
sample.append(4.256435) #417
|
||||
sample.append(4.337873) #418
|
||||
sample.append(4.119073) #419
|
||||
sample.append(3.931176) #420
|
||||
sample.append(3.136574) #421
|
||||
sample.append(0.789584) #422
|
||||
sample.append(3.927943) #423
|
||||
sample.append(3.792921) #424
|
||||
sample.append(0.000000) #425
|
||||
sample.append(4.237240) #426
|
||||
sample.append(4.096264) #427
|
||||
sample.append(4.071058) #428
|
||||
sample.append(3.975877) #429
|
||||
sample.append(3.886222) #430
|
||||
sample.append(3.886222) #431
|
||||
sample.append(0.000000) #432
|
||||
sample.append(3.776154) #433
|
||||
sample.append(4.110508) #434
|
||||
sample.append(4.119073) #435
|
||||
sample.append(4.020748) #436
|
||||
sample.append(3.931176) #437
|
||||
sample.append(3.931177) #438
|
||||
sample.append(3.694669) #439
|
||||
sample.append(3.929643) #440
|
||||
sample.append(2.943082) #441
|
||||
sample.append(0.788050) #442
|
||||
sample.append(5.878218) #443
|
||||
sample.append(6.084674) #444
|
||||
sample.append(0.075190) #445
|
||||
sample.append(0.432683) #446
|
||||
sample.append(1.249777) #447
|
||||
sample.append(0.825022) #448
|
||||
sample.append(0.788050) #449
|
||||
sample.append(1.204451) #450
|
||||
sample.append(4.918368) #451
|
||||
sample.append(5.815236) #452
|
||||
sample.append(5.538962) #453
|
||||
sample.append(3.960798) #454
|
||||
sample.append(0.786350) #455
|
||||
sample.append(0.788050) #456
|
||||
sample.append(3.255518) #457
|
||||
|
||||
|
||||
|
||||
out = decomp.transform(np.asarray(sample),selectedPCADimensions=210)
|
||||
for i in range(0,len(out)):
|
||||
print(i," = ",out[i])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user