Advertisement
Guest User

Untitled

a guest
Nov 18th, 2019
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 5.41 KB | None | 0 0
  1. datas[-1]
  2. parsed <- na.omit(datas[-1])
  3. parsed
  4.  
  5. #for(i in 1:length(parsed) ){
  6.   #shapiro.test(parsed[i])
  7. #}
  8.  
  9. shapiro.test(parsed$TTG)
  10. shapiro.test(parsed$Mochevina)
  11. shapiro.test(parsed$Ferritin)
  12. shapiro.test(parsed$VitD)
  13. shapiro.test(parsed$MKislota)
  14. shapiro.test(parsed$B12)
  15. shapiro.test(parsed$CholesterinVP)
  16. shapiro.test(parsed$GGT)
  17. shapiro.test(parsed$Cbelok)
  18. shapiro.test(parsed$Kreatinin)
  19. shapiro.test(parsed$Albumin)
  20. shapiro.test(parsed$Trigleceridy)
  21. shapiro.test(parsed$ALAT)
  22. shapiro.test(parsed$CholesterinNP)
  23. shapiro.test(parsed$Age)
  24. # у всех p-v < 0.05 - ненормально распределены
  25.  
  26. #cor.test(parsed$Trigleceridy, parsed$TTG, method="kendall") #p-value = 0.009918
  27. cor.test(parsed$Trigleceridy, parsed$Mochevina, method="kendall") #p-value = 1.115e-06
  28. cor.test(parsed$Trigleceridy, parsed$Ferritin, method="kendall") #p-value = 2.626e-16
  29. #cor.test(parsed$Trigleceridy, parsed$VitD, method="kendall") #p-value = 0.0009767
  30. cor.test(parsed$Trigleceridy, parsed$MKislota, method="kendall") #p-value < 2.2e-16
  31. #cor.test(parsed$Trigleceridy, parsed$B12, method="kendall") #p-value = 0.116
  32. #cor.test(parsed$Trigleceridy, parsed$CholesterinVP, method="kendall") #p-value < 2.2e-16
  33. cor.test(parsed$Trigleceridy, parsed$GGT, method="kendall") #p-value < 2.2e-16
  34. cor.test(parsed$Trigleceridy, parsed$Cbelok, method="kendall") #p-value < 2.2e-16
  35. cor.test(parsed$Trigleceridy, parsed$Kreatinin, method="kendall") #p-value = 3.853e-11
  36. #cor.test(parsed$Trigleceridy, parsed$Albumin, method="kendall") #p-value = 0.04954
  37. cor.test(parsed$Trigleceridy, parsed$Cholesterin, method="kendall") #p-value < 2.2e-16
  38. #cor.test(parsed$Trigleceridy, parsed$Trigleceridy, method="kendall") #p-value < 2.2e-16
  39. cor.test(parsed$Trigleceridy, parsed$ALAT, method="kendall") #p-value < 2.2e-16
  40. cor.test(parsed$Trigleceridy, parsed$CholesterinNP, method="kendall") #p-value < 2.2e-16
  41. cor.test(parsed$Trigleceridy, parsed$Age, method="kendall") #p-value < 2.2e-16
  42.  
  43. library(caret)
  44. fitControl <- trainControl(method="repeatedcv",number=10,repeats=10)
  45. tr1=train(parsed[,-13],parsed$Trigleceridy,method ="rpart",trControl=fitControl)
  46. plot(tr1)
  47.  
  48. parsedTen <- data.frame(
  49.   Trigleceridy=parsed$Trigleceridy,
  50.   Mochevina=parsed$Mochevina,
  51.   Ferritin=parsed$Ferritin,
  52.   MKislota=parsed$MKislota,
  53.   GGT=parsed$GGT,
  54.   Cbelok = parsed$Cbelok,
  55.   Kreatinin = parsed$Kreatinin,
  56.   Cholesterin = parsed$Cholesterin,
  57.   ALAT = parsed$ALAT,
  58.   CholesterinNP = parsed$CholesterinNP,
  59.   Age = parsed$Age
  60. )
  61. parsedTen
  62.  
  63. lm.t <- lm(parsedTen$Trigleceridy ~ ., data=parsedTen)
  64. lm.t
  65.  
  66. lm.t <- lm(parsedTen$Trigleceridy ~
  67.              parsedTen$Mochevina +
  68.              parsedTen$Ferritin +
  69.              parsedTen$MKislota +
  70.              parsedTen$GGT +
  71.              parsedTen$Cbelok +
  72.              parsedTen$Kreatinin +
  73.              parsedTen$Cholesterin +
  74.              parsedTen$CholesterinNP
  75.            , data=parsedTen)
  76.  
  77. lm.t <- lm(parsedTen$Trigleceridy ~
  78.              parsedTen$Ferritin +
  79.              parsedTen$MKislota +
  80.              parsedTen$Cbelok +
  81.              parsedTen$Kreatinin +
  82.              parsedTen$Cholesterin +
  83.              parsedTen$CholesterinNP
  84.            , data=parsedTen)
  85.  
  86. lm.t <- lm(parsedTen$Trigleceridy ~
  87.              parsedTen$Ferritin +
  88.              parsedTen$MKislota +
  89.              parsedTen$Cbelok +
  90.              parsedTen$Cholesterin +
  91.              parsedTen$CholesterinNP
  92.            , data=parsedTen)
  93.  
  94. lm.t <- lm(parsedTen$Trigleceridy ~
  95.              parsedTen$Ferritin +
  96.              parsedTen$MKislota +
  97.              parsedTen$Cbelok +
  98.              parsedTen$Cholesterin
  99.            , data=parsedTen) #изменить
  100.  
  101. lm.t
  102.  
  103. summary(lm.t) # 0.3124 < 1 - маленькая зависимость
  104.  
  105. library(MLmetrics)
  106. mse <- MSE(y_pred = exp(lm.t$fitted.values), y_true = parsedTen$Trigleceridy)
  107. RMSE(y_pred = exp(lm.t$fitted.values), y_true = parsedTen$Trigleceridy)
  108. COOA = mean(abs(lm.t$residuals/parsedTen$Trigleceridy)) * 100
  109. COOA
  110.  
  111. parsedOther <- data.frame(
  112.   Trigleceridy = parsed$Trigleceridy,
  113.   TTG=parsed$TTG,
  114.   VitD=parsed$VitD,
  115.   B12=parsed$B12,
  116.   CholesterinVP=parsed$CholesterinVP,
  117.   Albumin=parsed$Albumin
  118. )
  119.  
  120. lm.t2 <- lm(parsedOther$Trigleceridy ~ ., data=parsedOther)
  121. lm.t2
  122. summary(lm.t2) # 0.08641 < 1 - маленькая зависимость
  123. mse <- MSE(y_pred = exp(lm.t2$fitted.values), y_true = parsedOther$Trigleceridy)
  124. mse
  125. RMSE(y_pred = exp(lm.t2$fitted.values), y_true = parsedOther$Trigleceridy)
  126. COOA = mean(abs(lm.t2$residuals/parsedOther$Trigleceridy)) * 100
  127. COOA
  128.  
  129. set.seed(43423)
  130. tr2=train(parsedTen,parsedTen$Trigleceridy,method ="nnet", trControl=fitControl)
  131. #nnet.dataset = train(parsedTen$Trigleceridy ~ ., data = parsedTen, method ="nnet")
  132. tr2$finalModel
  133. plot(tr2)
  134.  
  135. library(nnet)
  136. library(MLmetrics)
  137. for(i in 1:10){
  138.   nnet <- nnet(parsedTen$Trigleceridy ~ ., parsedTen, decay=0.1, size=i)
  139.   ind <- sample(2, nrow(parsedTen), replace = TRUE, prob=c(0.7, 0.3))
  140.   trainset = parsedTen[ind == 1,]
  141.   testset = parsedTen[ind == 2,]
  142.  
  143.   mse <- MSE(y_pred = exp(nnet$fitted.values), y_true = parsedTen$Trigleceridy)
  144.   mse
  145.   RMSE <- RMSE(y_pred = exp(nnet$fitted.values), y_true = parsedTen$Trigleceridy)
  146.   COOA = mean(abs(nnet$residuals/parsedTen$Trigleceridy)) * 100
  147.  
  148.   print(i)
  149.   print(mse)
  150.   print(RMSE)
  151.   print(COOA)
  152. }
  153.  
  154.  
  155. nnet1 <- nnet(trainset$Trigleceridy ~ ., trainset, decay=0.1, size=2)
  156. pr1 <- predict(nnet1, testset)
  157. pr1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement