ACP
from [Link] import PCA
from [Link] import StandardScaler
Varianta (alpha) :
variable_obs = ['RS','FR','IM','MMR','LE','LEM','LEF']
x = t1[variable_obs].values
n,m = [Link]
scaler = StandardScaler()
x_standardizat = scaler.fit_transform(x)
model_acp = PCA()
model_acp.fit(x_standardizat)
alpha = model_acp.explained_variance_
Scoruri:
c = model_acp.transform(x_standardizat)
scoruri = c/[Link](alpha)
#Tabelare Varianta
procent = alpha * 100 / sum(alpha)
tabelare_varianta = [Link](data={
"varianta": alpha,
"varianta cumulata": [Link](alpha),
"procent": procent,
"procent varianta cumulat": [Link](procent) })
AF
from factor_analyzer import FactorAnalyzer, calculate_bartlett_sphericity,
calculate_kmo
Testul Barlett: (pvalue e test_barlett[1])
x = t[alegatori] # alegatori = doar valorile numerice in exemplul pe care am
lucrat
test_barlett = calculate_bartlett_sphericity(x)
if (test_barlett[1] > 0.01):
print("Nu exista factori comuni!")
Scoruri factoriale:
n,m = [Link]
model_factorial = FactorAnalyzer(m, rotation=None)
model_factorial.fit(x)
scor = model_factorial.transform(x)
KMO
kmo = calculate_kmo(x)
Varianta
varianta = model_factorial.get_factor_variance()
Cluster
from [Link] import linkage, dendrogram, fcluster
# Calculați legăturile ierarhice
h = linkage(t_cluster, method='ward')
# Desenați dendrograma
dendrogram(h, color_threshold=480)
# Alegeți un nivel de tăiere (cut-off) pentru a obține un anumit număr de
clusteri
cut_off_level = 480 # ajustați acest nivel în funcție de dendrogramă
cluster_labels = fcluster(h, cut_off_level, criterion='distance')
# Adăugați etichetele clusterelor înapoi în DataFrame
t['Cluster'] = cluster_labels
t.to_csv("[Link]")
# Plot scatter plot cu culori pentru fiecare cluster
[Link](t_cluster.iloc[:, 0], t_cluster.iloc[:, 1], c=t['Cluster'])
[Link]()
Analiza Canonica
from sklearn.cross_decomposition import CCA
from [Link] import normalize
# Pas 1 - Preluare si Prelucrare Set de Date
t = pd.read_csv("./DateIN/[Link]")
variabile_1 = ['RS', 'FR', 'IM']
variabile_2 = ['MMR', 'LE', 'LEM']
x = t[variabile_1]
y = t[variabile_2]
p = len(variabile_1)
q = len(variabile_2)
m = min(p,q)
# Pas 2 - Construire Model
model_cca = CCA(n_components=m)
model_cca.fit(x, y)
# Pas 3 - Calcul scoruri canonice
z, u = model_cca.transform(x, y)
# Pas 4 - Calcul abatere medie patratica
z_std = [Link](z, axis=0, ddof=1)
u_std = [Link](u, axis=0, ddof=1)
# Pas 5 - Normalizare variabile canonice
normalize(z, axis=0, copy=False)
normalize(u, axis=0, copy=False)
# Pas 7 - Calcul corelatii dintre variabile observare si radacini canonice
r_xz = model_cca.x_loadings_ * z_std
r_yu = model_cca.y_loadings_ * u_std
Analiza Discriminanta
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.model_selection import train_test_split
# Pas 1 - Preluare si Prelucrare Set de Date
date = pd.read_csv("./DateIN/[Link]")
#aplicare model
variabile = list([Link][1:])
predictor = variabile[:-1]
tinta = variabile[len(predictor)]
x_train, x_test, y_train, y_test = train_test_split(date[predictor],
date[tinta], test_size=0.4)
model_lda = LinearDiscriminantAnalysis()
model_lda.fit(x_train, y_train)
#scor/componente
z=model_lda.transform(x_train)