Skip to content
Snippets Groups Projects
Commit 6cf6817f authored by Samuel's avatar Samuel
Browse files

Uusien ominaisuuksien klusterointi valmis?, raporttia eteenpäin

parent 2335e880
Branches
Tags
No related merge requests found
......@@ -39,3 +39,6 @@ Neulaset suhteessa kokoon:
data['Needle_Density'] = data['NeedleNo'] / data['VolumeIndex']
Tämä auttaa tunnistamaan puulajeja.
----------------------------------------
......@@ -16,9 +16,16 @@ Käytimme Principal Component Analysis, eli pääkomponenttianalyysia, joka väh
Näin data on jaettu kahteen pääkomponenttiin, x- ja y-akselille kuvaajalla.
2. Ominaisuussuunnittelu ##KESKEN
Lisäsimme uusia ominaisuuksia
1. `kirjoita ominaisuus`:
2. `kirjoita ominaisuus`:
Lisäsimme uusia ominaisuuksia, jotka auttavat tunnistamaan eri tyyppejä.
1. Käpyjen ja neulasten suhde ['Needles_per_Pine']: Tämän avulla voidaan tunnistaa eri puulajeja ja arvioida karkeasti kasvuympäristöä ja puun hyvinvointia.
2. Puun tilavuuden likimäärä ['VolumeIndex']:
3. Kaarnan paksuus suhteessa korkeuteen ['Bark_to_Height']:
4. Käpytiheys ['Pine_Density']:
5. Neulastiheys ['Needle_Density']:
6. Korkeuden suhde ympärysmittaan ['Height_to_Circumference']:
7. Neulasten määrä suhteessa kaarnan paksuuteen ['Needles_to_Bark']:
Katso Ominaisuussuunnittelu.txt, sieltä näkee miten uudet ominaisuudet on johdettu.
3. Muokatun datan klusterointi ## KESKEN
Muokatun datan klusterointi tuotti selkeämmät klusterit, jotka erottelivat puut ominaisuuksien perusteella.
......
......@@ -19,9 +19,12 @@ data['Height_to_Circumference'] = data['Height'] / data['Circumference'] # korke
data['Needles_to_Bark'] = data['NeedleNo'] / data['BarkThickness'] # neulasten määrä suhteessa kaarnan paksuuteen
print("Valitse klusterointiin käytettävät uudet ominaisuudet: ")
print("1. Puun tilavuuden suhde neulasten kokonaismäärään (auttaa tunnistamaan puutyyppejä)") # features = ['VolumeIndex', 'Needle_Density']
print("2. Käpyjen kokonaismäärän suhde puun tilavuuteen (auttaa tunnistamaan puiden iän ja lisääntymismahdollisuudet)") # features = ['Pine_Density', 'VolumeIndex']
print("3. Exit")
print("1. Puun tilavuuden suhde neulastiheyteen (auttaa tunnistamaan puutyyppejä)") # features = ['VolumeIndex', 'Needle_Density']
print("2. Käpytiheyden suhde puun tilavuuteen (auttaa tunnistamaan puiden iän ja lisääntymismahdollisuudet)") # features = ['Pine_Density', 'VolumeIndex']
print("3. Käpytiheyden suhde kaarnan paksuuteen (auttaa tunnistamaan puun iän ja lisääntymisvaiheen)")
print("4. Neulastiheyden suhde käpytiheyteen (auttaa tunnistamaan 'lehtevät' ja lisääntymiskykyiset puut)")
print("5. Kaikki uudet ominaisuudet (luonnollinen ryhmittely)")
print("6. Exit")
choice = input("Anna valitsemasi numero: ")
......@@ -30,19 +33,44 @@ if choice == "1":
X = data[features]
title = "Eri puutyyppien tunnistus"
xakseli = "Puun koko/tilavuus"
yakseli = "Neulasten määrä"
yakseli = "Neulastiheys"
elif choice == "2":
features = ['Pine_Density', 'VolumeIndex'] # Valitaan klusterointiin käytettävät attribuutit
X = data[features]
title = "Puiden ikä ja lisääntymismahdollisuudet"
xakseli = "käpyjen määrä"
xakseli = "Käpytiheys"
yakseli = "Puun koko/tilavuus"
elif choice == "3":
features = ['Pine_Density', 'BarkThickness'] # Valitaan klusterointiin käytettävät attribuutit
X = data[features]
title = "Puiden ikä ja lisääntymisvaihe"
xakseli = "Käpytiheys"
yakseli = "Kaarnan paksuus"
elif choice == "4":
features = ['Needle_Density', 'Pine_Density'] # Valitaan klusterointiin käytettävät attribuutit
X = data[features]
title = "Lehtevät ja lisääntymiskykyiset puut"
xakseli = "Neulastiheys"
yakseli = "Käpytiheys"
elif choice == "5":
features = ['Needles_per_Pine', 'Bark_to_Height', 'Pine_Density', 'Needle_Density',
'VolumeIndex', 'Height_to_Circumference', 'Needles_to_Bark'] # Valitaan klusterointiin käytettävät attribuutit
X = data[features]
title = "Luonnollinen ryhmittely"
xakseli = "Yhdistetyt ominaisuudet"
yakseli = "Yhdistetyt ominaisuudet"
elif choice == "6":
print("Lopetetaan...")
exit()
else:
print("Virheellinen valinta, yritä uudelleen.")
exit()
# Skaalataan ominaisuudet
scaler = StandardScaler()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment