簡體   English   中英

進行線性判別分析

[英]carrying out a Linear Discriminant Analysis

我正在分析 R 包gclus中的數據集data(wine)

我按照70:30的比例將數據集拆分為訓練集和測試集。

library(gclus)
data("wine")
sample_size <- floor(0.70 * nrow(wine))
set.seed(123)
train_index <- sample(seq_len(nrow(wine)), size = sample_size)
train <- wine[train_index, ]
test <- wine[-train_index, ]

我現在如何對以下數據子集執行 LDA:

  1. wine[c("Class", "Ash", "OD280", "Nonflavanoid")]
  2. wine[c("Class", "Hue", "Magnesium", "Flavanoids", "Alcohol", "Malic", "Intensity", "Alcalinity", "Proline")] .

您可以使用MASS包中的函數lda

MASS::lda(Class~Ash+OD280+Nonflavanoid, train)
Call:
lda(Class ~ Ash + OD280 + Nonflavanoid, data = train)

Prior probabilities of groups:
        1         2         3 
0.3225806 0.3790323 0.2983871 

Group means:
       Ash    OD280 Nonflavanoid
1 2.487500 3.163250    0.2950000
2 2.255106 2.766809    0.3727660
3 2.456486 1.714865    0.4575676

Coefficients of linear discriminants:
                    LD1       LD2
Ash           0.8918665  3.862102
OD280        -2.3406276 -0.482271
Nonflavanoid  1.2410102 -5.865365

Proportion of trace:
   LD1    LD2 
0.8966 0.1034 

你可以對第二種情況做同樣的事情

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM