Download presentation
Presentation is loading. Please wait.
Published byRosamond Anastasia Haynes Modified over 9 years ago
1
311 Feature Selection
2
312 Goals –What is Feature Selection for classification? –Why feature selection is important? –What is the filter and what is the wrapper approach to feature selection? –Examples
3
313 What is Feature Selection for classification? –Given: a set of predictors (“features”) V and a target variable T –Find: minimum set F that achieves maximum classification performance of T (for a given set of classifiers and classification performance metrics)
4
314 Why feature selection is important? –May Improve performance of classification algorithm –Classification algorithm may not scale up to the size of the full feature set either in sample or time –Allows us to better understand the domain –Cheaper to collect a reduced set of predictors –Safer to collect a reduced set of predictors
5
315 Filters vs Wrappers: Wrappers Say we have predictors A, B, C and classifier M. We want to predict T given the smallest possible subset of {A,B,C}, while achieving maximal performance (accuracy) FEATURE SET CLASSIFIER PERFORMANCE {A,B,C} M98% {A,B} M98% {A,C} M77% {B,C} M56% {A} M89% {B} M90% {C} M91% {.} M85%
6
316 Filters vs Wrappers: Wrappers The set of all subsets is the power set and its size is 2 |V|. Hence for large V we cannot do this procedure exhaustively; instead we rely on heuristic search of the space of all possible feature subsets. {} 85 {A} 89 {B} 90 {A,B} 98 {A,B,C}98 {C} 91 {A,C} 77 {B,C} 56 start {A,B}98 {B,C}56 {A,C}77 end
7
317 Filters vs Wrappers: Wrappers A common example of heuristic search is hill climbing: keep adding features one at a time until no further improvement can be achieved. {} 85 {A} 89 {B} 90 {A,B} 98 {A,B,C}98 {C} 91 {A,C} 77 {B,C} 56 start {A,B}98 {B,C}56 {A,C}77 end
8
318 Filters vs Wrappers: Wrappers A common example of heuristic search is hill climbing: keep adding features one at a time until no further improvement can be achieved (“forward greedy wrapping”) Alternatively we can start with the full set of predictors and keep removing features one at a time until no further improvement can be achieved (“backward greedy wrapping”) A third alternative is to interleave the two phases (adding and removing) either in forward or backward wrapping (“forward-backward wrapping”). Of course other forms of search can be used; most notably: -Exhaustive search -Genetic Algorithms -Branch-and-Bound (e.g., cost=# of features, goal is to reach performance th or better)
9
319 Filters vs Wrappers: Filters In the filter approach we do not rely on running a particular classifier and searching in the space of feature subsets; instead we select features on the basis of statistical properties. A classic example is univariate associations: FEATURE ASSOCIATION WITH TARGET {A} 89% {B} 90% {C} 91% Threshold gives suboptimal solution Threshold gives optimal solution
10
320 Example Feature Selection Methods in Biomedicine: Univariate Association Filtering –Order all predictors according to strength of association with target –Choose the first k predictors and feed them to the classifier –Various measures of association may be used: X 2, G 2, Pearson r, Fisher Criterion Scoring, etc. –How to choose k? –What if we have too many variables?
11
321 Example Feature Selection Methods in Biomedicine: Recursive Feature Elimination –Filter algorithm where feature selection is done as follows: 1. build linear Support Vector Machine classifiers using V features 2. compute weights of all features and choose the best V/2 3. repeat until 1 feature is left 4. choose the feature subset that gives the best performance (using cross-validation)
12
322 Example Feature Selection Methods in Bioinformatics: GA/KNN Wrapper approach whereby: heuristic search=Genetic Algorithm, and classifier=KNN
13
323 How do we approach the feature selection problem in our research? –Find the Markov Blanket –Why?
14
324 A fundamental property of the Markov Blanket –MB(T) is the minimal set of predictor variables needed for classification (diagnosis, prognosis, etc.) of the target variable T (given a powerful enough classifier and calibrated classification) CD TH I V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V
15
325 HITON: An algorithm for feature selection that combines MB induction with wrapping C.F. Aliferis M.D., Ph.D., I. Tsamardinos Ph.D., A. Statnikov M.S. Department of Biomedical Informatics, Vanderbilt University AMIA Fall Conference, November 2003
16
326 HITON: An algorithm for feature selection that combines MB induction with wrapping ALGORITHMSOUNDSCALABLESAMPLE EXPONENTIAL TO |MB| COMMENTS Cheng and GreinerYESNO Post-processing on learning BN Cooper et al.NO Uses full BN learning Margaritis and Thrun YES Intended to facilitate BN learning Koller and SahamiNO Most widely- cited MB induction algorithm Tsamardinos and Aiferis YES Some use BN learning as sub- routine HITONYES NO
17
327 HITON: An algorithm for feature selection that combines MB induction with wrapping Step #1: Find the parents and children of T; call this set PC(T) Step #2: Find the PC(.) set of each member of PC(T); take the union of all these sets to be PCunion Step #3: Run a special test to filter out from PCunion the non-members of MB(T) that can be identified as such (not all can); call the resultant set TMB (tentative MB) Step #4: Apply heuristic search with a desired classifier/loss function and cross-validation to identify variables that can be dropped from TMB without loss of accuracy
18
328 HITON (Data D; Target T; Classifier A) “returns a minimal set of variables required for optimal classification of T using algorithm A” MB(T) = HITON-MB(D, T) // Identify Markov Blanket Vars = Wrapper(MB(T), T, A) // Use wrapping to remove unnecessary variables Return Vars HITON-MB(Data D, Target T) “returns the Markov Blanket of T” PC = parents and children of T returned by HITON-PC(D, T) PCPC = parents and children of the parents and children or T CurrentMB = PC PCPC // Retain only parents of common children and remove false positives potential spouse X in CurrentMB and Y in PC: if not S in {Y} V -{T, X} so that (T ; X | S ) then retain X in CurrentMB else remove it Return CurrentMB HITON-PC(Data D, Target T) “returns parents and children of T” Wrapper(Vars, T, A) “returns a minimal set among variables Vars for predicting T using algorithm A and a wrapping approach” Select and remove a variable. If internally cross-validated performance of A remains the same permanently remove the variable. Continue until all variables are considered.
19
329 HITON-PC(Data D, Target T) “returns parents and children of T” CurrentPC = {} Repeat Find variable V i not in CurrentPC that maximizes association(Vi, T) and admit V i into CurrentPC If there is a variable X and a subset S of CurrentPC s.t. (X : T | S) remove V i from CurrentPC; mark V i and do not consider it again Until no more variables are left to consider Return CurrentPC
20
330
21
331
22
332
23
333 Filters vs Wrappers: Which Is Best? None over all possible classification tasks! We can only prove that a specific filter (or wrapper) algorithm for a specific classifier (or class of classifiers), and a specific class of distributions yields optimal or sub-optimal solutions. Unless we provide such proofs we are operating on faith and hope…
24
334 A final note: What is the biological significance of selected features? In MB-based feature selection and CPN-faithful distributions: causal neighborhood of target (i.e., direct causes, direct effects, direct causes of the direct effects of target). In other methods: ???
25
335 Case Studies
26
336 Case Study: Categorizing Text Into Content Categories Automatic Identification of Purpose and Quality of Articles In Journals Of Internal Medicine Yin Aphinyanaphongs M.S., Constantin Aliferis M.D., Ph.D. (presented in AMIA 2003)
27
337 Case Study: Categorizing Text Into Content Categories The problem: classify Pubmed articles as [high quality & treatment specific] or not Same function as the current Clinical Quality Filters of Pubmed (in the treatment category)
28
338
29
339 Case Study: Categorizing Text Into Content Categories Overview: –Select Gold Standard –Corpus Construction –Document representation –Cross-validation Design –Train classifiers –Evaluate the classifiers
30
340 Case Study: Categorizing Text Into Content Categories Select Gold Standard: –ACP journal club. Expert reviewers strictly evaluate and categorize in each medical area articles from the top journals in internal medicine. –Their mission is “to select from the biomedical literature those articles reporting original studies and systematic reviews that warrant immediate attention by physicians.” The treatment criteria -ACP journal club –“ Random allocation of participants to comparison groups. ” –“ 80% follow up of those entering study. ” –“ Outcome of known or probable clinical importance. ” If an article is cited by the ACP, it is a high quality article.
31
341 Case Study: Categorizing Text Into Content Categories Corpus construction: 12/2000 8/1998 9/1999 Get all articles from the 49 journals in the study period. Review ACP Journal from 8/1998 to 12/2000 for articles that are cited by the ACP. 15,803 total articles, 396 positives (high quality treatment related)
32
342 Case Study: Categorizing Text Into Content Categories Document representation: –“Bag of words” –Title, abstract, Mesh terms, publication type –Term extraction and processing: e.g. “The clinical significance of cerebrospinal.” 1.Term extraction »“The”, “clinical”, “significance”, “of”, “cerebrospinal” 2.Stop word removal »“Clinical”, “Significance”, “Cerebrospinal” 3.Porter Stemming (i.e. getting the roots of words) »“Clinic*”, “Signific*”, “Cerebrospin*” 4.Term weighting »log frequency with redundancy.
33
343 Case Study: Categorizing Text Into Content Categories Cross-validation design 15803 articles 20% reserve 80% train validation test 10 fold cross Validation to measure error
34
344 Case Study: Categorizing Text Into Content Categories Classifier families –Naïve Bayes (no parameter optimization) –Decision Trees with Boosting (# of iterations = # of simple rules) –Linear & Polynomial Support Vector Machines (cost from {0.1, 0.2, 0.4, 0.7, 0.9, 1, 5, 10, 20, 100, 1000}, degree from {1,2,3,5,8})
35
345 Case Study: Categorizing Text Into Content Categories Evaluation metrics (averaged over 10 cross- validation folds): –Sensitivity for fixed specificity –Specificity for fixed sensitivity –Area under ROC curve –Area under 11-point precision-recall curve –“Ranked retrieval”
36
346 Case Study: Categorizing Text Into Content Categories ClassifiersAverage AUC over 10 folds Range over 10 folds p-value compar ed to largest LinSVM0.965 0.948 – 0.978 0.01 PolySVM0.976 0.970 – 0.983 N/A Na ï ve Bayes 0.948 0.932 – 0.963 0.001 Boost Raw0.957 0.928 – 0.969 0.001 Boost Wght0.941 0.900 – 0.958 0.001
37
347 Case Study: Categorizing Text Into Content Categories SensitivitySpecificityPrecision Number Needed to Read (Average) CQF0.3670.9590.1496.7 Poly SVM 0.8181 (0.641-0.93) 0.959 (0.948-0.97) 0.2816 (0.191-0.388) 3.55 SensitivitySpecificityPrecision Number Needed to Read (Average) CQF0.960.750.07114 Poly SVM 0.9673 (0.830-0.99) 0.8995 (0.884-0.914) 0.1744 (0.120-0.240) 6
38
348 Case Study: Categorizing Text Into Content Categories Clinical Query Filter Performance 36 18 9 27 Clinical Query Filter
39
349 Case Study: Categorizing Text Into Content Categories Clinical Query Filter
40
350 Case Study: Categorizing Text Into Content Categories Alternative/additional approaches? –Negation detection –Citation analysis –Sequence of words –Variable selection to produce user- understandable models –Analysis of ACPJ potential bias –Others???
41
351 Case Study: Diagnostic Model From Array Gene Expression Data Computational Models of Lung Cancer: Connecting Classification, Gene Selection, and Molecular Sub-typing C.Aliferis M.D., Ph.D., Pierre Massion M.D. I. Tsamardinos Ph.D., D. Hardin Ph.D.
42
352 Case Study: Diagnostic Model From Array Gene Expression Data Specific Aim 1: “Construct computational models that distinguish between important cellular states related to lung cancer, e.g., (i) Cancerous vs Normal Cells; (ii) Metastatic vs Non-Metastatic cells; (iii) Adenocarcinomas vs Squamous carcinomas”. Specific Aim 2: “Reduce the number of gene markers by application of biomarker (gene) selection algorithms such that small sets of genes can distinguish among the different states (and ideally reveal important genes in the pathophysiology of lung cancer).”
43
353 Case Study: Diagnostic Model From Array Gene Expression Data Bhattacharjee et al. PNAS, 2001 12,600 gene expression measurements obtained using Affymetrix oligonucleotide arrays 203 patients and normal subjects, 5 disease types, ( plus staging and survival information)
44
354 Case Study: Diagnostic Model From Array Gene Expression Data Linear and polynomial-kernel Support Vector Machines (LSVM, and PSVM respectively) C optimized via C.V. from {10 -8, 10 -7, 10 -6, 10 -5, 10 -4, 10 -3, 10 -2, 0.1, 1, 10, 100, 1000} and degree from the set: {1, 2, 3, 4}. K-Nearest Neighbors (KNN) (k optimized via C.V.) Feed-forward Neural Networks (NNs). 1 hidden layer, number of units chosen (heuristically) from the set {2, 3, 5, 8, 10, 30, 50}, variable- learning-rate back propagation, custom-coded early stopping with (limiting) performance goal=10 -8 (i.e., an arbitrary value very close to zero), and number of epochs in the range [100,…,10000], and a fixed momentum of 0.001 Stratified nested n-fold cross-validation (n=5 or 7 depending on task)
45
355 Case Study: Diagnostic Model From Array Gene Expression Data Area under the Receiver Operator Characteristic (ROC) curve (AUC) computed with the trapezoidal rule (DeLong et al. 1998). Statistical comparisons among AUCs were performed using a paired Wilcoxon rank sum test (Pagano et al. 2000). Scale gene values linearly to [0,1] Feature selection: –RFE (parameters as the ones used in Guyon et al 2002) –UAF (Fisher criterion scoring; k optimized via C.V.)
46
356 Case Study: Diagnostic Model From Array Gene Expression Data Classification Performance
47
357 Case Study: Diagnostic Model From Array Gene Expression Data Gene selection
48
358 Case Study: Diagnostic Model From Array Gene Expression Data Novelty
49
359 Case Study: Diagnostic Model From Array Gene Expression Data A more detailed look: –Specific Aim 3: “Study how aspects of experimental design (including data set, measured genes, sample size, cross-validation methodology) determine the performance and stability of several machine learning (classifier and feature selection) methods used in the experiments”.
50
360 Case Study: Diagnostic Model From Array Gene Expression Data Overfitting: we replace actual gene measurements by random values in the same range (while retaining the outcome variable values). Target class rarity: we contrast performance in tasks with rare vs non-rare categories. Sample size: we use samples from the set {40,80,120,160, 203} range (as applicable in each task). Predictor info redundancy: we replace the full set of predictors by random subsets with sizes in the set {500, 1000, 5000, 12600}.
51
361 Case Study: Diagnostic Model From Array Gene Expression Data Train-test split ratio: we use train-test ratios from the set {80/20, 60/40, 40/60} (for tasks II and III, while for task I modified ratios were used due to small number of positives, see Figure 1). Cross-validated fold construction: we construct n-fold cross- validation samples retaining the proportion of the rarer target category to the more frequent one in folds with smaller sample, or, alternatively we ensure that all rare instances are included in the union of test sets (to maximize use of rare-case instances). Classifier type: Kernel vs non-kernel and linear vs non-linear classifiers are contrasted. Specifically we compare linear and non- linear SVMs (a prototypical kernel method) to each other and to KNN (a robust and well-studied non-kernel classifier and density estimator).
52
362 Case Study: Diagnostic Model From Array Gene Expression Data Random gene values
53
363 Case Study: Diagnostic Model From Array Gene Expression Data varying sample size
54
364 Case Study: Diagnostic Model From Array Gene Expression Data Random gene selection
55
365 Case Study: Diagnostic Model From Array Gene Expression Data Split ratio
56
366 Case Study: Diagnostic Model From Array Gene Expression Data Use of rare categories
57
367 Case Study: Diagnostic Model From Array Gene Expression Data We have recently completed an extensive analysis of all multi-category gene expression-based cancer datasets in the public domain. The analysis spans >75 cancer types and >1,000 patients in 12 datasets. On the basis of this study we have created a tool that automatically analyzes data to create diagnostic systems and identify biomarker candidates using a variety of techniques. The present incarnation of the tool is oriented toward the computer-savvy researcher; a more biologist-friendly web- accessible version is under development.
58
368 Case Study: Diagnostic Model From Array Gene Expression Data Questions: –What would you do differently? –How to interpret the biological significance of the selected genes? –What is wrong with having so many and robust good classification models? –Why do we have so many good models?
59
369 Case Study: Diagnostic Model From Array Gene Expression Data MC-SVM (alpha) Demonstration
60
370 Case Study: Imputation for Machine Learning Models For Lung Cancer Classification Using Array Comparative Genomic Hybridization C.F. Aliferis M.D., Ph.D., D. Hardin Ph.D., P. P. Massion M.D. AMIA 2002
61
371 Case Study: A Protocol to Address the Missing Values Problem Context: –Array comparative genomic hybridization (array CGH): recently introduced technology that measures gene copy number changes of hundreds of genes in a single experiment. Gene copy number changes (deletion, amplification) are often characteristic of disease and cancer in particular. –aCGH as been shown in studies published during the last years that it enables development of powerful classification models, facilitate selection of genes for array design, and identification of likely oncogenes in a variety of cancers (e.g., esophageal, renal, head/neck, lymphomas, breast, and glioblastomas). –Interestingly a recent study (Fritz et al. June 2002) has shown that aCGH enables better classification of liposarcoma differentiation than gene expression information.
62
372 Case Study: A Protocol to Address the Missing Values Problem Context: –While significant experience has been gathered so far in the application of various machine learning/data mining approaches to explore development of diagnostic/classification models with gene expression Microarray Data for lung cancer and of aCGH in a variety of cancers, little was known about the feasibility of using machine learning methods with aCGH data to create such models. –In this study we conducted such an experiment for the classification of non-small Lung Cancers (NSCLCs) as squamus carcinomas (SqCa) or adenocarcinomas (AdCa)). A related goal was to compare several machine learning methods in this learning task.
63
373 Case Study: A Protocol to Address the Missing Values Problem Context: –DNA from tumors of 37 patients (21 squamous carcinomas, (SqCa) and 16 adenocarcinomas (AdCa)) were extracted after microdissection and hybridized onto a 452 BAC clone array (printed in quadruplicate) carrying genes of potential importance in cancer. –aCGH is a technology in formative stages of development. As a result a high percentage of missing values was observed in most gene measurements.
64
374 We decided to create a protocol for gene inclusion/exclusion for analysis on the basis of three criteria: –(a) percentage of missing values, –(b) a priori importance of a gene (based on known functional role in pathways that are implicated in carcinogenesis such as the PI3- kinase pathway), and –(c) whether the existence of missing values was statistically significantly associated with the class to be predicted (at the 0.05 level and determined by a G 2 test). Case Study: A Protocol to Address the Missing Values Problem
65
375 1. For each gene G i compute an indicator variable MG i s.t. MG i is 1 in cases where G i is missing, and 0 in cases where G i was observed 2. Compute the association of MG i to the class variable C, assoc(MG i, C) for every i. (C takes values in {SqCa, AdCa}) 3. Accept a set of important genes I 4. if assoc(MG i, C) is statistically significant then reject gene G i else if G i I then accept G i else if fraction of missing values of G i is >15% then reject G i else accept G i 388 variables were selected according to this protocol and were imputed before analysis. Case Study: A Protocol to Address the Missing Values Problem
66
376 K-Nearest Neighbors (KNN) method for imputation – for each instance of a gene that had a missing value the case closest to the case containing that missing value (i.e., the closest neighbor) that did have an observed value for the gene was found using Euclidean Distance (ED). That value was substituted for the missing one. –To compute distances between cases with missing values, if one of the two corresponding gene measurements was missing, the mean of the observed values for this gene across all cases was used to compute the ED component. –When both values were missing, the mean observed difference was used for the ED component. The above procedure because it is non-parametric and multivariate. More naïve approaches (such as imputing with the mean or with a random value from the observed distribution for the gene) typically produced uniformly worse models. A variant of the above method iterates the KNN imputation until convergence is attained. Case Study: A Protocol to Address the Missing Values Problem
67
377 Important note: Clear understanding of what types of missing values we have and what are the mechanisms that generate them is required and sometimes translates into ability to effectively replace missing values as well as avoid serious biases. Example types of missing values: –Value is not produced by device or respondent etc. –Value was produced but not entered in the study database –Value was produced and entered but is deemed invalid on substantive grounds –Value was produced and entered but was subsequently corrupted due to transmission/storage or data conversion operations, etc. Example where knowing process that generates missing values may be sufficient to fill them in: physician does not measure a lab value (say x-ray) because an equivalent or more informative test has been conducted (e.g., MRI) or because it is physiologically impossible for a change to have occurred from last measurement, etc. Case Study: A Protocol to Address the Missing Values Problem
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.