#데이터 불러오기
iris <- read.csv('c:\\data\\iris2.csv', stringsAsFactors = T)
#결측치 확인
colSums(is.na(iris))
head(iris)
#최대최소 정규화
normalize <- function(x) {
return ( (x-min(x))/(max(x)-min(x)))
}
iris_n <- as.data.frame(lapply (iris[ ,1:4], normalize))
iris_n
iris2 <- cbind( iris_n, iris[ , 5 ] )
iris2
summary(iris2)
summary(iris)
# 현재 그래픽 디바이스 종료
graphics.off()
# 필요한 패키지 설치 및 로드
#install.packages("ggplot2")
library(ggplot2)
# 최대 최소 정규화 함수
# #min_max_normalize <- function(x) {
# return((x - min(x)) / (max(x) - min(x)))
# }
# 다시 히스토그램 비교
hist_before <- ggplot(iris, aes(x = Sepal.Length)) +
geom_histogram(binwidth = 0.1, fill = 'blue', alpha = 0.7) +
ggtitle("Before Min-Max Normalization") +
theme_minimal()
hist_after <- ggplot(iris2, aes(x = Sepal.Length)) +
geom_histogram(binwidth = 0.05, fill = 'red', alpha = 0.7) +
ggtitle("After Min-Max Normalization") +
theme_minimal()
# 그래프 출력
#install.packages('gridExtra')
library('gridExtra')
grid.arrange(hist_before, hist_after, ncol = 2)