Pada era globalisasi seperti sekarang ini yang disertai perkembangan teknologi di segala bidang khususnya di bidang bisnis, menuntut suatu perusahaan untuk selalu meningkatkan produktivitas dan efisiensi dalam menjalankan aktivitas usaha. Tuntutan dalam dunia usaha tersebut bersifat mutlak bagi perusahaan yang tetap ingin eksis dan beroperasi di lingkungan bisnis yang tidak menentu seperti sekarang ini. Perkembangan teknologi menjadi salah satu faktor meningkatnya produksi emisi. Terutama pemanfaatan teknologi pada kegiatan industri. Gas rumah kaca (GRK) adalah gas yang menyebabkan atmosfer menghangat dengan cara menyerap dan memancarkan energi radiasi. Gas rumah kaca menyerap radiasi yang dipancarkan oleh Bumi, sehingga mencegah panas tersebut keluar ke luar angkasa. Karbon dioksida (CO2) adalah gas rumah kaca yang paling terkenal, tetapi ada gas rumah kaca lainnya termasuk metana, dinitrogen oksida dan lainnya. Emisi gas rumah kaca yang dihasilkan manusia dari bahan bakar fosil, industri, dan pertanian adalah penyebab utama perubahan iklim global. Emisi gas rumah kaca mengukur jumlah total semua gas rumah kaca yang dikeluarkan. Hal ini sering diukur dalam karbon dioksida ekuivalen (CO2eq) yang memperhitungkan jumlah pemanasan yang dihasilkan oleh setiap molekul gas yang berbeda. Bukan hanya industri industri yang disebutkan diatas industri makanan juga menjadi salah satu penyebab perubahan iklim global. Emisi dari sistem pangan berdasarkan siklus hidupnya mulai dari penggunaan lahan, produksi di pertanian hingga limbah konsumen sekarang ini belum terlalu memperhatikan pencapaian emisi dari analisa tahapan proses pangan sehingga diperlukan model prediksi klasifikasi untuk melihat hasil prediksi tahapan proses industri pangan berdasarkan tingkat emisinya.
Berbagai metode riset digunakan untuk menganalisis keberlanjutan sistem pangan seperti penilaian siklus hidup (lingkungan) (LCA), Metode klastering multivariat juga merupakan pendekatan umum untuk mengevalusi keberlanjutan sistem produksi pangan dalam hal efisiensi energi dan emisi GRK. Analisis klaster pangan memungkinkan analisa mengkategorikan dan mengelompokkan produksi emisi yang dikeluarkan dari life cycle sistem produksi pangan sehingga dapat mengetahui titik kritis dalam suatu sistem life cycle .
Project ini melibatkan pembangunan model machine learning khususnya menggunakan model prediksi klasifikasi untuk memprediksi kondisi emisi pada life cycle setiap produksi pangan. Model ini akan dilatih menggunakan dataset yang berisi berbagai pada masing masing variabel. Dengan informasi yang telah diperoleh, diharapkan dapat membantu sebuah bisnis untuk melakukan peluang perbaikan pada tahapan life cyclen food system, serta secara khusus dapat memberikan saran kepada pemerintah untuk memantain pada tahapan life cycle mana yang perlu diberikan perhatian khusus sehingga hasil prediksi yang diperoleh dapat menjadikan target atau baseline pengukuran emisi pada industri pangan dari tahapan penyiapan lahan hingga limbah konsumen agar dapat mempersiapkan strategy penurunan emisinya.
Pada project ini akan digunakan sebuah dataset dari situ our world
data dengan judul Global emissions from food by life-cycle stage, Total
GHGs. Dataset ini mengandung informasi sebagai berikut: -
Entity : Gas GRK yang ada di alam seperti CO2, CH4, N2O dan
total GHGs lain - Code : Kode Negara - Year :
Tahun GHG tersebut - End.of.Life.food.emissions: Emisi
Green House Gas dari Agriculture -
Food.consumption.emissions: Emisi Green House Gas dari
Penggunaan Lahan dan Kehutanan - Food.retail.emissions
:Emisi Green House Gas dari Limbah -
Food.packaging.emissions : Emisi Green House Gas dari
Gedung - Food.transport.emissions :Emisi Green House Gas
dari Industri - Food.processing.emissions: Emisi Green
House Gas dari Manufacturingh and Construction -
Agricultural.production.emissions : Emisi Green House Gas
dari Transportasi - Land.use.change.emissions : Emisi Green
House Gas dari pembakaran lainnya
Dataset komprehensif ini memberikan informasi beragam mengenai emisi dari berbagai tahapan life cycle industri pangan.
Output dari project ini berupa : 1. Dashboard visualisasi yang membantu memahami tren GHG emission yang ada pada food life cycle. 2. Dashboard yang menampilkan hasil clustering dan PCA berdasarkan tingkatannya. 3. Project ini akan memberikan insight mengenai faktor faktor signifikan yang mempengaruhi berdasarkan fitur fitur yang diambil dari model. 4. Prediksi dari hasil emisi untuk menentukan target yang ingin dicapai dari sektor pangan dari setiap tahapan life cycle
Impact yang dirasakan Analisis Clastering dan Prediksi pada industri makanan ini adalah melihat peluang untuk meningkatkan kinerja lingkungan dari suatu life cycle food system
Melakukan import library
# Data wrangling & Preparation
library(dplyr) # data wrangling
library(lubridate) # date manipulation
library(tidyr) # Tools to help to create tidy data
library(padr) # complete data frame
library(zoo) # **missing value** imputation
# Data Visualization
library(ggplot2) # untuk visualisasi
library(ggfortify)
library(GGally)
# Time Series & Model Evaluation
library(forecast) # time series library
library(TTR) # for Simple moving average function
library(tseries) # adf.test
library(fpp) # data for forecasting: principles and practice
library(MLmetrics) # calculate error
#PCA
library(factoextra)
library(FactoMineR)
library(ggpubr) # untuk export plot
library(scales) # untuk custom keterangan axis atau lainnya
library(glue) # untuk custom informasi saat plot interaktif
library(plotly) # untuk membuat plot menjadi interaktifPertama kita akan Membaca Data
Penjelasan setiap kolom : - Entity : Gas GRK yang ada di
alam seperti CO2, CH4, N2O dan total GHGs lain - Code :
Kode Negara - Year : Tahun GHG tersebut -
End.of.Life.food.emissions: Emisi Green House Gas dari
Agriculture - Food.consumption.emissions: Emisi Green House
Gas dari Penggunaan Lahan dan Kehutanan -
Food.retail.emissions :Emisi Green House Gas dari Limbah -
Food.packaging.emissions : Emisi Green House Gas dari
Gedung - Food.transport.emissions :Emisi Green House Gas
dari Industri - Food.processing.emissions: Emisi Green
House Gas dari Manufacturingh and Construction -
Agricultural.production.emissions : Emisi Green House Gas
dari Transportasi - Land.use.change.emissions : Emisi Green
House Gas dari pembakaran lainnya
Pengecekan struktur data
#> Rows: 104
#> Columns: 11
#> $ Entity <chr> "CH4", "CH4", "CH4", "CH4", "CH4", "…
#> $ Code <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ Year <int> 1990, 1991, 1992, 1993, 1994, 1995, …
#> $ End.of.Life.food.emissions <dbl> 1069483267, 1090021796, 1106765990, …
#> $ Food.consumption.emissions <dbl> 99442389, 97493585, 95212398, 942618…
#> $ Food.retail.emissions <dbl> 13111423, 13235989, 12903565, 130716…
#> $ Food.packaging.emissions <dbl> 38704166, 38700782, 37611906, 375245…
#> $ Food.transport.emissions <dbl> 66381381, 68479008, 71484296, 737943…
#> $ Food.processing.emissions <dbl> 84220026, 82753241, 83493743, 843538…
#> $ Agricultural.production.emissions <dbl> 4027276756, 4010636524, 4001005236, …
#> $ Land.use.change.emissions <dbl> 1069483267, 1090021796, 1106765990, …
Melakukan pengecekan nilai yang hilang, pada data ini terdapat 104 nilai hilang pada kolom Code sehingga kita perlu melakukan drop kolom Code.
#> Entity Code
#> 0 104
#> Year End.of.Life.food.emissions
#> 0 0
#> Food.consumption.emissions Food.retail.emissions
#> 0 0
#> Food.packaging.emissions Food.transport.emissions
#> 0 0
#> Food.processing.emissions Agricultural.production.emissions
#> 0 0
#> Land.use.change.emissions
#> 0
pertama kita akan menghapus kolom code dan year, kolom year untuk data visualisasi dan kita akan melakukan pengubahan tipe data menjadi factor
Analisis komponen prinsip (PCA) digunakan dalam analisis data eksplorasi dan untuk membuat model prediktif. Ini adalah metode reduksi dimensi yang digunakan untuk mereduksi dimensi kumpulan data besar menjadi lebih kecil sehingga mudah dianalisis dan divisualisasikan. Meskipun dimensinya dikurangi, sebagian besar informasi masih tersimpan dalam kumpulan data.
pertama kita akan mengubah kolom numerik menjadi kolom numerik dan kolom kategorik menjadi faktor dan dijadikan nama kolom.
# nama kolom numerik (quantitative)
quanti <- food_clean %>%
select_if(is.numeric) %>%
colnames()
# indeks kolom numerik
quantivar <- which(colnames(food_clean) %in% quanti)
# nama kolom kategorik (qualitative)
quali <- food_clean %>%
select_if(is.factor) %>%
colnames()
# indeks kolom kategorik
qualivar <- which(colnames(food_clean) %in% quali)setelah itu mengambil hanya kolom numerik
data memiliki skala perbedaan, kita perlu menskalakan data terlebih dahulu. Skala yang digunakan dalam hal ini adalah Z Score (mean = 0, standar deviasi = 1)
kita akan melakukan cek ulang struktur data
#> Rows: 104
#> Columns: 8
#> $ End.of.Life.food.emissions <dbl> 1069483267, 1090021796, 1106765990, …
#> $ Food.consumption.emissions <dbl> 99442389, 97493585, 95212398, 942618…
#> $ Food.retail.emissions <dbl> 13111423, 13235989, 12903565, 130716…
#> $ Food.packaging.emissions <dbl> 38704166, 38700782, 37611906, 375245…
#> $ Food.transport.emissions <dbl> 66381381, 68479008, 71484296, 737943…
#> $ Food.processing.emissions <dbl> 84220026, 82753241, 83493743, 843538…
#> $ Agricultural.production.emissions <dbl> 4027276756, 4010636524, 4001005236, …
#> $ Land.use.change.emissions <dbl> 1069483267, 1090021796, 1106765990, …
kami menggunakan metode PCA() untuk mengubah kumpulan
data guna menemukan dan mempertahankan emisi yang paling penting.
#> eigenvalue percentage of variance cumulative percentage of variance
#> comp 1 5.9092038978 73.865048723 73.86505
#> comp 2 1.7612346799 22.015433498 95.88048
#> comp 3 0.2276228246 2.845285308 98.72577
#> comp 4 0.0608225058 0.760281322 99.48605
#> comp 5 0.0346997592 0.433746990 99.91980
#> comp 6 0.0044871510 0.056089388 99.97589
#> comp 7 0.0014410446 0.018013058 99.99390
#> comp 8 0.0004881371 0.006101713 100.00000
#>
#> Call:
#> PCA(X = food_clean, scale.unit = T, quali.sup = qualivar, graph = F)
#>
#>
#> Eigenvalues
#> Dim.1 Dim.2 Dim.3 Dim.4 Dim.5 Dim.6 Dim.7
#> Variance 5.909 1.761 0.228 0.061 0.035 0.004 0.001
#> % of var. 73.865 22.015 2.845 0.760 0.434 0.056 0.018
#> Cumulative % of var. 73.865 95.880 98.726 99.486 99.920 99.976 99.994
#> Dim.8
#> Variance 0.000
#> % of var. 0.006
#> Cumulative % of var. 100.000
#>
#> Individuals (the 10 first)
#> Dist Dim.1 ctr cos2 Dim.2
#> 1 | 2.147 | -1.767 0.508 0.677 | 1.203
#> 2 | 2.158 | -1.767 0.508 0.670 | 1.220
#> 3 | 2.165 | -1.764 0.507 0.664 | 1.233
#> 4 | 2.166 | -1.760 0.504 0.660 | 1.239
#> 5 | 2.172 | -1.752 0.499 0.651 | 1.257
#> 6 | 2.165 | -1.733 0.489 0.641 | 1.269
#> 7 | 2.180 | -1.742 0.494 0.638 | 1.281
#> 8 | 2.175 | -1.737 0.491 0.638 | 1.274
#> 9 | 2.225 | -1.789 0.521 0.647 | 1.286
#> 10 | 2.230 | -1.783 0.517 0.639 | 1.302
#> ctr cos2 Dim.3 ctr cos2
#> 1 0.790 0.314 | 0.157 0.104 0.005 |
#> 2 0.812 0.319 | 0.167 0.118 0.006 |
#> 3 0.831 0.325 | 0.177 0.132 0.007 |
#> 4 0.838 0.327 | 0.186 0.146 0.007 |
#> 5 0.863 0.335 | 0.192 0.156 0.008 |
#> 6 0.880 0.344 | 0.197 0.164 0.008 |
#> 7 0.895 0.345 | 0.196 0.162 0.008 |
#> 8 0.887 0.343 | 0.206 0.180 0.009 |
#> 9 0.903 0.334 | 0.206 0.178 0.009 |
#> 10 0.925 0.341 | 0.211 0.189 0.009 |
#>
#> Variables
#> Dim.1 ctr cos2 Dim.2 ctr cos2
#> End.of.Life.food.emissions | 0.342 1.977 0.117 | 0.924 48.470 0.854
#> Food.consumption.emissions | 0.991 16.622 0.982 | -0.048 0.133 0.002
#> Food.retail.emissions | 0.941 14.975 0.885 | 0.056 0.178 0.003
#> Food.packaging.emissions | 0.957 15.502 0.916 | -0.253 3.644 0.064
#> Food.transport.emissions | 0.970 15.932 0.941 | -0.231 3.031 0.053
#> Food.processing.emissions | 0.995 16.767 0.991 | -0.059 0.200 0.004
#> Agricultural.production.emissions | 0.518 4.537 0.268 | 0.845 40.550 0.714
#> Land.use.change.emissions | 0.899 13.688 0.809 | -0.258 3.794 0.067
#> Dim.3 ctr cos2
#> End.of.Life.food.emissions | 0.096 4.073 0.009 |
#> Food.consumption.emissions | 0.037 0.590 0.001 |
#> Food.retail.emissions | -0.311 42.619 0.097 |
#> Food.packaging.emissions | -0.078 2.643 0.006 |
#> Food.transport.emissions | 0.005 0.009 0.000 |
#> Food.processing.emissions | -0.009 0.035 0.000 |
#> Agricultural.production.emissions | -0.002 0.002 0.000 |
#> Land.use.change.emissions | 0.337 50.029 0.114 |
#>
#> Supplementary categories
#> Dist Dim.1 cos2 v.test Dim.2
#> CH4 | 2.213 | -1.682 0.578 -4.054 | 1.397
#> CO2 | 2.311 | 1.232 0.284 2.970 | -1.938
#> N2O | 2.862 | -2.785 0.947 -6.713 | -0.485
#> Total GHGs | 3.399 | 3.235 0.906 7.798 | 1.026
#> cos2 v.test Dim.3 cos2 v.test
#> CH4 0.398 6.168 | 0.233 0.011 2.865 |
#> CO2 0.703 -8.555 | 0.213 0.008 2.612 |
#> N2O 0.029 -2.143 | -0.394 0.019 -4.836 |
#> Total GHGs 0.091 4.530 | -0.052 0.000 -0.641 |
Pada summary hasil PCA diatas kita akan mempertahan Cumulative % of
var.sebanyak 99,9% informasi sehingga kita menggunakan Dim1
sampai dengan Dim5
Dari plot PCA diatas kita dapat melihat :
Variabel yang berkontribusi paling tinggi terhadap PC1 adalah
food processing, food consumption,
food packaging, food transport
Variabel yang berkontribusi paling tinggi terhadap PC2 adalah
agricultural production, end of life
Variabel yang berkorelasi positif satu dengan yang lain:
food processing, food consumption.
Visualisasi berikut menunjukan grafik pada setiap kolom dari tahun ke tahun
foodemsii <- food %>%
filter(Entity == "CO2") %>%
group_by(Year) %>%
summarise(sum_food = sum(End.of.Life.food.emissions)) %>%
ungroup() %>%
mutate(
label1 = glue("Year = {Year}
CO2 End OF Life Emission = {comma(sum_food, accuracy = 0.01)}
"))
# Visualisasi plot statis
plot1 <- ggplot(foodemsii,
aes(x = Year,
y = sum_food ))+
geom_line(col = "red") +
geom_point(aes(text = label1), col="black") +
scale_y_continuous(labels = comma) +
labs(
title = "Emisi CO2 End Of Life Emission",
x = "Year",
y = "Jumlah Emisi Makanan End Of Life "
) +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5))
# Visualisasi plot interaktif
ggplotly(plot1, tooltip = "text")Pada grafik ditas end of life food emisi menunjukan tren yang cenderung naik
foodemisii <- food %>%
filter(Entity == "CO2") %>%
group_by(Year) %>%
summarise(sum_food = sum(Food.consumption.emissions)) %>%
ungroup() %>%
mutate(
label2 = glue("Year = {Year}
CO2 Food Consumption Emission = {comma(sum_food, accuracy = 0.01)}
"))
# Visualisasi plot statis
plot2 <- ggplot(foodemisii,
aes(x = Year,
y = sum_food ))+
geom_line(col = "red") +
geom_point(aes(text = label2), col="black") +
scale_y_continuous(labels = comma) +
labs(
title = "Emisi CO2 Food Consumption",
x = "Year",
y = "Jumlah Emisi Makanan Yang di Konsumsi "
) +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5))
# Visualisasi plot interaktif
ggplotly(plot2, tooltip = "text")Pada grafik ditas Food Consumption emisi menunjukan tren yang cenderung naik
foodemisi <- food %>%
filter(Entity == "CO2") %>%
group_by(Year) %>%
summarise(sum_food = sum(Food.retail.emissions)) %>%
ungroup() %>%
mutate(
label3 = glue("Year = {Year}
CO2 Food Retail Emissions = {comma(sum_food, accuracy = 0.01)}
"))
# Visualisasi plot statis
plot3 <- ggplot(foodemisi,
aes(x = Year,
y = sum_food ))+
geom_line(col = "red") +
geom_point(aes(text = label3), col="black") +
scale_y_continuous(labels = comma) +
labs(
title = "Emisi CO2 Food Retail",
x = "Year",
y = "Jumlah Emisi Makanan Retail "
) +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5))
# Visualisasi plot interaktif
ggplotly(plot3, tooltip = "text")Pada grafik ditas Food Retail emisi menunjukan tren yang cenderung naik
foodemisi <- food %>%
filter(Entity == "CO2") %>%
group_by(Year) %>%
summarise(sum_food = sum(Food.packaging.emissions)) %>%
ungroup() %>%
mutate(
label4 = glue("Year = {Year}
CO2 Food packaging emissions = {comma(sum_food, accuracy = 0.01)}
"))
# Visualisasi plot statis
plot4 <- ggplot(foodemisi,
aes(x = Year,
y = sum_food ))+
geom_line(col = "red") +
geom_point(aes(text = label4), col="black") +
scale_y_continuous(labels = comma) +
labs(
title = "Emisi CO2 Food Packaging",
x = "Year",
y = "Jumlah Emisi Makanan Kemasan "
) +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5))
# Visualisasi plot interaktif
ggplotly(plot4, tooltip = "text")Pada grafik ditas Food Packaging emisi menunjukan tren yang cenderung naik
foodemisi <- food %>%
filter(Entity == "CO2") %>%
group_by(Year) %>%
summarise(sum_food = sum(Food.transport.emissions)) %>%
ungroup() %>%
mutate(
label5 = glue("Year = {Year}
CO2 Food Transport Emissions = {comma(sum_food, accuracy = 0.01)}
"))
# Visualisasi plot statis
plot5 <- ggplot(foodemisi,
aes(x = Year,
y = sum_food ))+
geom_line(col = "red") +
geom_point(aes(text = label5), col="black") +
scale_y_continuous(labels = comma) +
labs(
title = "Emisi CO2 Food Transport",
x = "Year",
y = "Jumlah Emisi Transport Makanan "
) +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5))
# Visualisasi plot interaktif
ggplotly(plot5, tooltip = "text")Dari hasil diatas menunjukan emisi CO2 pada food transport tren yang cenderung naik.
foodemisi1 <- food %>%
filter(Entity == "CO2") %>%
group_by(Year) %>%
summarise(sum_food = sum(Food.processing.emissions)) %>%
ungroup() %>%
mutate(
label6 = glue("Year = {Year}
CO2 Food Processing Emissions = {comma(sum_food, accuracy = 0.01)}
"))
# Visualisasi plot statis
plot6 <- ggplot(foodemisi1,
aes(x = Year,
y = sum_food ))+
geom_line(col = "red") +
geom_point(aes(text = label6), col="black") +
scale_y_continuous(labels = comma) +
labs(
title = "Emisi CO2 Food Processing",
x = "Year",
y = "Jumlah Emisi Makanan Proses "
) +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5))
# Visualisasi plot interaktif
ggplotly(plot6, tooltip = "text")Dari hasil diatas menunjukan emisi CO2 pada food transport tren yang cenderung naik.
foodemisi2 <- food %>%
filter(Entity == "CO2") %>%
group_by(Year) %>%
summarise(sum_food = sum(Agricultural.production.emissions)) %>%
ungroup() %>%
mutate(
label7 = glue("Year = {Year}
CO2 Agricultural.production.emissions = {comma(sum_food, accuracy = 0.01)}
"))
# Visualisasi plot statis
plot7 <- ggplot(foodemisi2,
aes(x = Year,
y = sum_food ))+
geom_line(col = "red") +
geom_point(aes(text = label7), col="black") +
scale_y_continuous(labels = comma) +
labs(
title = "Emisi CO2 Agricultural Production",
x = "Year",
y = "Jumlah Emisi Agrikultur "
) +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5))
# Visualisasi plot interaktif
ggplotly(plot7, tooltip = "text")dari hasil grafik line diatas menunjukan emisi CO2 pada agricultural production yang cenderung naik
foodemisi3 <- food %>%
filter(Entity == "CO2") %>%
group_by(Year) %>%
summarise(sum_food = sum(Land.use.change.emissions)) %>%
ungroup() %>%
mutate(
label8 = glue("Year = {Year}
CO2 Land.use.change.emissions = {comma(sum_food, accuracy = 0.01)}
"))
# Visualisasi plot statis
plot8 <- ggplot(foodemisi3,
aes(x = Year,
y = sum_food ))+
geom_line(col = "red") +
geom_point(aes(text = label8), col="black") +
scale_y_continuous(labels = comma) +
labs(
title = "Emisi CO2 Penggunaan Lahan",
x = "Year",
y = "Jumlah Emisi Agrikultur "
) +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5))
# Visualisasi plot interaktif
ggplotly(plot8, tooltip = "text")pada hasil emisi CO2 penggunaan lahan menunjukan tren yang menurun dari tahun 1990 sampai dengan 2015.
kita juga memplot varian komponen utama untuk mendapatkan nilai komponen utama yang optimal.
plot.PCA(
x = pca_food, # objek pca
choix = "ind", # individual factor map
select = "contrib 3", # show outlier sebanyak 5
)
Untuk menyimpan setidaknya 99% informasi kami, kami menggunakan
komp 1-komp 5. fviz_contrib:
fungsi factoextra untuk menunjukkan urutan kontribusi
variabel ke PC.
Kontribusi emisi masing masing tahapan lilfe cycle sistem food adalah
:
Food Precessing emissionsFood Consumptions emissionsFood Transport emissionsFood Packaging emisionsFood Retail emisionLand Use Change emissionsAgricultural Production EmissionsEnd Of Life Food EmissionsK - Mean Clustering Pengelompokan K-Means adalah algoritma berulang yang mencoba mempartisi kumpulan data menjadi K subkelompok (kluster) berbeda, yang tidak tumpang tindih yang telah ditentukan sebelumnya di mana setiap titik data hanya dimiliki oleh satu grup. Ini menetapkan titik data ke sebuah cluster sedemikian rupa sehingga jumlah jarak kuadrat antara titik data dan pusat massa cluster berada pada minimum. Semakin sedikit variasi yang kita miliki dalam cluster, semakin banyak titik data yang homogen (serupa) dalam cluster yang sama.
RNGkind(sample.kind = "Rounding")
kmeansTunning <- function(data, maxK) {
withinall <- NULL
total_k <- NULL
for (i in 1:maxK) {
set.seed(4)
temp <- kmeans(data,i)$tot.withinss
withinall <- append(withinall, temp)
total_k <- append(total_k,i)
}
plot(x = total_k, y = withinall, type = "o", xlab = "Number of Cluster", ylab = "Total within")
}
# apply function
kmeansTunning(food_scale, maxK = 5)
kita coba mengambil K = 3 dan mencoba mengaplikasikan pada K-mean
clustering
RNGkind(sample.kind = "Rounding")
set.seed(101)
# your code here
food_cluster <- kmeans(x = food_scale, centers = 3)Terdapat tingkatan emisi in each cluster :
cluster 1 : emisi tingkat tinggi dengan pada tahapan dari penyiapan lahan, agrikultural, proses pembuatan makanan, distribusi makanan
cluster 2 : emisi tingkat sedang dengan pada tahapan dari agrikultural, tahapan akhir menjadi limbah, proses pembuatan makanan, tranport makanan,pengemasan makanan, konsumsi makanan
cluster 3 : emisi tingkat rendah pada tahapan agrikultural, penyiapan lahan, tahapan akhir menjadi limbah
#8. Referensi https://edgar.jrc.ec.europa.eu/
https://ourworldindata.org/emissions-by-sector
https://ourworldindata.org/grapher/food-emissions-life-cycle