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 Samuel
No related tags found
No related merge requests found
...@@ -39,3 +39,6 @@ Neulaset suhteessa kokoon: ...@@ -39,3 +39,6 @@ Neulaset suhteessa kokoon:
data['Needle_Density'] = data['NeedleNo'] / data['VolumeIndex'] data['Needle_Density'] = data['NeedleNo'] / data['VolumeIndex']
Tämä auttaa tunnistamaan puulajeja. Tämä auttaa tunnistamaan puulajeja.
----------------------------------------
...@@ -16,9 +16,16 @@ Käytimme Principal Component Analysis, eli pääkomponenttianalyysia, joka väh ...@@ -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. Näin data on jaettu kahteen pääkomponenttiin, x- ja y-akselille kuvaajalla.
2. Ominaisuussuunnittelu ##KESKEN 2. Ominaisuussuunnittelu ##KESKEN
Lisäsimme uusia ominaisuuksia Lisäsimme uusia ominaisuuksia, jotka auttavat tunnistamaan eri tyyppejä.
1. `kirjoita ominaisuus`: 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. `kirjoita ominaisuus`: 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 3. Muokatun datan klusterointi ## KESKEN
Muokatun datan klusterointi tuotti selkeämmät klusterit, jotka erottelivat puut ominaisuuksien perusteella. 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 ...@@ -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 data['Needles_to_Bark'] = data['NeedleNo'] / data['BarkThickness'] # neulasten määrä suhteessa kaarnan paksuuteen
print("Valitse klusterointiin käytettävät uudet ominaisuudet: ") 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("1. Puun tilavuuden suhde neulastiheyteen (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("2. Käpytiheyden suhde puun tilavuuteen (auttaa tunnistamaan puiden iän ja lisääntymismahdollisuudet)") # features = ['Pine_Density', 'VolumeIndex']
print("3. Exit") 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: ") choice = input("Anna valitsemasi numero: ")
...@@ -30,19 +33,44 @@ if choice == "1": ...@@ -30,19 +33,44 @@ if choice == "1":
X = data[features] X = data[features]
title = "Eri puutyyppien tunnistus" title = "Eri puutyyppien tunnistus"
xakseli = "Puun koko/tilavuus" xakseli = "Puun koko/tilavuus"
yakseli = "Neulasten määrä" yakseli = "Neulastiheys"
elif choice == "2": elif choice == "2":
features = ['Pine_Density', 'VolumeIndex'] # Valitaan klusterointiin käytettävät attribuutit features = ['Pine_Density', 'VolumeIndex'] # Valitaan klusterointiin käytettävät attribuutit
X = data[features] X = data[features]
title = "Puiden ikä ja lisääntymismahdollisuudet" title = "Puiden ikä ja lisääntymismahdollisuudet"
xakseli = "käpyjen määrä" xakseli = "Käpytiheys"
yakseli = "Puun koko/tilavuus" yakseli = "Puun koko/tilavuus"
elif choice == "3": 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...") print("Lopetetaan...")
exit() exit()
else:
print("Virheellinen valinta, yritä uudelleen.")
exit()
# Skaalataan ominaisuudet # Skaalataan ominaisuudet
scaler = StandardScaler() scaler = StandardScaler()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment