Temel bileşen analizi (PCA), çok değişkenli istatistiklerde bir veri madenciliği tekniğidir. Verinin bütünlüğünden ödün vermeden, veri içindeki bilgilerin çoğunu korurken, boyutsallık azaltma yoluyla yüksek boyutlu verileri düşük boyutlu verilere dönüştürür
Başka bir ifadeyle; PCA, veri setlerinin boyutunu düşürmek için kullanılan bir tekniktir. Amaç, verinin varyansını (bilgi miktarını) olabildiğince koruyarak daha az sayıda boyutta temsil etmektir.
Diğer bir deyişle; PCA, yüksek boyutlu veriyi anlamlandırmak için temel bileşenlere indirgeme yöntemidir.
import plotly.express as px
from sklearn.decomposition import PCA
import pandas as pd
df = pd.read_csv("https://bilisimkitabi.com/files/kimyasal_bilesenler_dummy.csv")
#df = px.data.iris()
X = df[['NDF', 'ADF', 'ADL', 'CP', 'Ash', 'CT']]
#STANDARTLAŞTIRMA
from sklearn.preprocessing import StandardScaler
sc=StandardScaler()
X=sc.fit_transform(X)#fit_transform
pca = PCA(n_components=3)
components = pca.fit_transform(X)
total_var = pca.explained_variance_ratio_.sum() * 100
fig = px.scatter_3d(
components, x=0, y=1, z=2, color=df['HarvestTime'],
title=f'Total Explained Variance: {total_var:.2f}%',
labels={'0': 'PC 1', '1': 'PC 2', '2': 'PC 3'}
)
fig.show()
import plotly.express as px
from sklearn.decomposition import PCA
import pandas as pd
df = pd.read_csv("https://bilisimkitabi.com/files/kimyasal_bilesenler_dummy.csv")
features = ['NDF', 'ADF', 'ADL', 'CP', 'Ash', 'CT']
#STANDARTLAŞTIRMA
from sklearn.preprocessing import StandardScaler
sc=StandardScaler()
df_scaled=sc.fit_transform(df[features])#fit_transform
pca = PCA()
components = pca.fit_transform(df_scaled)
labels = {
str(i): f"PC {i+1} ({var:.1f}%)"
for i, var in enumerate(pca.explained_variance_ratio_ * 100)
}
fig = px.scatter_matrix(
components,
labels=labels,
dimensions=range(3),
color=df["HarvestTime"]
)
fig.update_traces(diagonal_visible=False)
fig.show()
Kaynaklar
- https://www.youtube.com/watch?v=WAuN4eOiN9U
- https://www.youtube.com/watch?v=9rDjwuJT0Nc
- https://www.youtube.com/watch?v=omwchiJCIdQ
- https://www.instagram.com/reels/DWKClukImYr/
- https://www.instagram.com/reels/DWKClukImYr/

