Werbung

Faculty of Science Department of Informatics University of Fribourg, Switzerland Inductive Fuzzy Classification in Marketing Analytics Doctoral Thesis presented to the Faculty of Science of the University of Fribourg, Switzerland for the award of the academic grade of Doctor of Computer Science, Doctor scientiarum informaticarum, Dr. sc. inf. by Michael Alexander Kaufmann from Recherswil SO Thesis No: 1751 Bern: Ruf 2012 2 For Alice. Follow the white rabbit. “The Caterpillar took the hookah out of its mouth and yawned once or twice, and shook itself. Then it got down off the mushroom, and crawled away into the grass, merely remarking as it went, “One side will make you grow taller, and the other side will make you grow shorter.” “One side of what? The other side of what? “ thought Alice to herself. “Of the mushroom," said the Caterpillar, just as if she had asked it aloud; and in another moment it was out of sight.“ Lewis Carrol (1916, p. 29) 3 4 Acknowledgements A scientific thesis organically evolves from a primeval soup of ideas originating from countless individuals past and present. I merely tamed and organized these ideas and developed them further. In this light, I thank all fellow human beings who made my thesis possible. I thank my first advisor, Professor Andreas Meier, for teaching me how to conduct scientific research. I will always remember those great doctoral seminars we had all across Switzerland. Also, I thank my second and third advisors, Professors Laurent Donzé and Kilian Stoffel, for agreeing to evaluate my dissertation. I thank my fellow doctoral students in the Information Systems Research Group, Daniel Fasel, Edy Portmann, Marco Savini, Luis Teràn, Joël Vogt, and Darius Zumstein for inspiring me with their research and for the all good times we had at the educational and social events we attended together. Furthermore, I thank my students Cédric Graf and Phillipe Mayer, who implemented my research ideas with prototypes in their master’s theses. The former achieved such a quality that we decided to publish his results in a book chapter. Last, but not least, I thank David Wyder, professional data miner, for allowing me to use PostFinance’s information system as a research lab for the first experiments using my research approach, which set the founding stone to my thesis proposal and to my first publication. Special thanks go to friends and family for supporting me through years of hard work. I know it wasn’t always easy with me. Rubigen, Switzerland, February 29th, 2012 Michael Alexander Kaufmann 5 6 Abstract “Inductive fuzzy classification” (IFC) is the process of assigning individuals to fuzzy sets for which membership functions are based on inductive inferences. In this thesis, different methods for membership function induction and multivariate aggregation are analyzed. For univariate membership function induction, the current thesis proposes the normalized comparisons (ratios and differences) of likelihoods. For example, a normalized likelihood ratio can represent a membership degree to an inductive fuzzy class. If the domain of the membership function is numeric, continuous membership functions can be derived using piecewise affine interpolation. If a target attribute is continuous, it can be mapped into the “Zadehan” domain of numeric truth-values between 0 and 1, and membership degrees can be computed by a normalized ratio of likelihoods of fuzzy events. A methodology for multivariate IFC for prediction has been developed a part of this thesis: First, data is prepared into a matrix format. Second, the relevant attributes are selected. Third, for each relevant attribute, a membership function to the target class is induced. Fourth, transforming the attributes into membership degrees in the inductive fuzzy target class fuzzifies these attributes. Fifth, for every data record, the membership degrees of the single attribute values are aggregated into a membership degree in the target class. Finally, the prediction accuracy of the inductive membership degrees in comparison to the target variable is evaluated. The proposed membership function induction method can be applied to analytics for selection, visualization, and prediction. First, transformation of attributes into inductive membership degrees in fuzzy target classes provides a way to test the strength of target associations of categorical and numerical variables using the same measure. Thus, relevant attributes with a high target correlation can be selected. Second, the resulting membership functions can be visualized as a graph. This provides an intuitive depiction of target associations for different values of relevant attributes and allows human decision makers to recognize interesting parts of attribute domains regarding the target. Third, transformation of attribute values into membership degrees in inductive fuzzy classes can improve prediction of statistical models because nonlinear associations can be represented in membership functions. In marketing analytics, these methods can be applied in several domains. Customer analytics on existing data using attribute selection and visualization of inductive membership functions provide insights into different customer classes. Product analytics can be improved by 7 evaluating likelihood of product usage in the data for different customer characteristics with inductive membership functions. Transforming customer attributes into inductive membership degrees, which are based on predictive models, can optimize target selection for individual marketing and enhance the response rate of campaigns. This can be embedded in integrated analytics for individual marketing. A case study is presented, in which IFC was applied in online marketing of a Swiss financial service provider. Fuzzy classification was compared to crisp classification and to random selection. The case study showed that, for individual marketing, a scoring approach can lead to better response rates than a segmentation approach because of compensation of threshold effects. A prototype was implemented that supports all steps of the prediction methodology. It is based on a script interpreter that translates inductive fuzzy classification language (IFCL) statements into corresponding SQL commands and executes them on a database server. This software supports all steps of the proposed methodology, including data preparation, membership function induction, attribute selection, multivariate aggregation, data classification and prediction, and evaluation of predictive models. The software IFCL was applied in an experiment in order to evaluate the properties of the proposed methods for membership function induction. These algorithms were applied to 60 sets of real data, of which 30 had a binary target variable and 30 had a gradual target variable, and they were compared to existing methods. Different parameters were tested in order to induce an optimal configuration of IFC. Experiments showed a significant improvement in average predictive performance of logistic regression for binary targets and regression trees for gradual targets when, prior to model computation, the attributes were inductively fuzzified using normalized likelihood ratios or normalized likelihood differences respectively. 8 Zusammenfassung Induktive unscharfe Klassifikation (inductive fuzzy classification, IFC) ist der Prozess der Zuordnung von Individuen zu unscharfen Mengen, deren Zugehörigkeitsfunktionen auf induktiven Schlussfolgerungen basieren. In der vorliegenden These werden verschiedene Methoden für die Induktion von Zugehörigkeitsfunktionen und deren multivariaten Aggregation analysiert. Es wird vorgeschlagen, für die Induktion von univariaten Zugehörigkeitsfunktionen Vergleiche (Verhältnisse und Differenzen) von Wahrscheinlichkeiten (Likelihoods) zu normalisieren. Zum Beispiel kann das normalisierte Wahrscheinlichkeitsverhältnis (normalized Likelihood Ratio, NLR) einen Zugehörigkeitsgrad zu einer induktiven unscharfen Klasse repräsentieren. Wenn der Wertebereich der Zugehörigkeitsfunktion nummerisch ist, können stetige Zugehörigkeitsfunktionen über eine stückweise affine Interpolation hergeleitet werden. Wenn die Zielvariable stetig ist, kann sie in den „Zadeh’schen“ Wertebereich der nummerischen Wahrheitswerte zwischen 0 und 1 abgebildet werden; und die Zugehörigkeitsgrade können als normalisierte Verhältnisse von empirischen bedingten Wahrscheinlichkeiten unscharfer Ereignisse (Likelihoods of fuzzy events) berechnet werden. Eine Methode für multivariate induktive unscharfe Klassifikation wurde in dieser These entwickelt. Als erstes werden die Daten in einem Matrix-Format aufbereitet. Als zweites werden die relevanten Attribute ausgewählt. Drittens wird für jedes relevante Attribut eine Zugehörigkeitsfunktion zur Zielklasse mittels normalisierten Likelihood-Vergleichen induziert. Viertens werden die Attributwerte in Zugehörigkeitsgrade zur induktiven unscharfen Zielklasse transformiert. Fünftens werden die Zugehörigkeitsgrade der einzelnen Attributwerte jedes Datensatzes in einen Zugehörigkeitsgrad in der Zielklasse aggregiert. Schliesslich wird die Vorhersageleistung der induktiven Zugehörigkeitsgrade im Vergleich mit der effektiven Zielvariable evaluiert. Die vorgeschlagenen Methoden können in der Analytik für Selektion, Visualisierung und Prognose angewendet werden. Erstens bietet die Transformation von Attributen in Zugehörigkeitswerte zu induktiven unscharfen Mengen ein Mittel, um die Stärke der Zielassoziation von nummerischen und kategorischen Variablen mit der gleichen Metrik zu testen. So können relevante Attribute mit einer hohen Korrelation mit dem Ziel selektiert werden. Zweitens können die resultierenden Zugehörigkeitsfunktionen als Graphen visualisiert werden. Das bietet eine intuitive Darstellung der Zielassoziation von 9 verschiedenen Werten von relevanten Attributen, und ermöglicht es menschlichen Entscheidungsträgern, die interessanten Teilbereiche der Attributdomänen bezüglich des Ziels zu erkennen. Drittens kann die Transformation der Attributwerte in Zugehörigkeitswerte zu induktiven unscharfen Klassen die Prognose von statistischen Modellen verbessern, weil nicht-lineare Zusammenhänge in den Zugehörigkeitsfunktionen abgebildet werden können. In der Marketing-Analytik können diese Methoden in verschiedenen Bereichen angewendet werden. Kundenanalytik aufgrund von bestehenden Daten mittels Attributselektion und Visualisierung von induktiven Zugehörigkeitsfunktionen liefert Erkenntnisse über verschiedene Kundenklassen. Produktanalytik kann verbessert werden, indem die Wahrscheinlichkeit der Produktnutzung in den Daten für verschiedene Kundenmerkmale mit induktiven Zugehörigkeitsfunktionen evaluiert wird. Zielgruppenselektion im individualisierten Marketing kann optimiert werden, indem Kundenattribute in induktive Zugehörigkeitsgrade transformiert werden, um die Rücklaufrate von Kampagnen zu erhöhen, welche auf prädiktiven Modellen basieren. Dies kann für individualisiertes Marketing in die integrierte Analytik eingebettet werden. Eine Fallstudie wird vorgestellt, in der die induktive unscharfe Klassifikation bei einem Schweizer Finanzdienstleister im online Marketing angewendet wurde. Die unscharfe Klassifikation wurde mit der scharfen Klassifikation und einer Zufallsauswahl verglichen. Dies zeigte, dass im individualisierten Marketing ein Scoring-Ansatz zu besseren Rücklaufquoten führen kann als ein Segmentierungsansatz, weil Schwellenwerteffekte kompensiert werden können. Ein Prototyp wurde implementiert, welcher alle Schritte der multivariaten IFC-Methode unterstützt. Er basiert auf einem SkriptInterpreter, welcher Aussagen der Sprache für die induktive unscharfe Klassifikation (Inductive Fuzzy Classification Language, IFCL) in entsprechende SQL-Kommandos übersetzt und auf einem Datenbankserver ausführt. Diese Software unterstützt sämtliche Schritte der vorgeschlagenen Methode, einschliesslich Datenvorbereitung, Induktion von Zugehörigkeitsfunktionen, Attributselektion, multivariate Aggregation, Datenklassifikation, Prognose, und die Evaluation von Vorhersagemodellen. Die Software wurde in einem Experiment angewendet, um die Eigenschaften der vorgeschlagenen Methoden der Induktion von Zugehörigkeitsfunktionen zu testen. Diese Algorithmen wurden bei sechzig Dateien mit realen Daten angewendet, davon bei dreissig mit binärer Zielvariable und dreissig mit einer graduellen Zielvariable. Sie wurden mit existierenden Methoden verglichen. Verschiedene Parameter wurden getestet, um eine optimale Konfiguration der 10 induktiven unscharfen Klassifikation zu induzieren. Die Experimente zeigten, dass die durchschnittliche Prognoseleistung der logistischen Regression für binäre Zielvariablen und der Regressionsbäume für graduelle Zielvariablen signifikant verbessert werden kann, wenn vor der Berechnung der Prognosemodelle die Attribute mit normalisierten Likelihood-Verhältnissen respektive mit normalisierten LikelihoodDifferenzen in Zugehörigkeitsgrade zu induktiven unscharfen Mengen transformiert werden. 11 12 Table of Contents Acknowledgements ..................................................................................... 5 Abstract ....................................................................................................... 7 Zusammenfassung ...................................................................................... 9 Table of Contents ...................................................................................... 13 List of Figures ........................................................................................... 17 List of Tables ............................................................................................. 19 1 A Gradual Concept of Truth ............................................................... 21 1.1 Research Questions ...................................................................... 22 1.2 Thesis Structure ........................................................................... 24 2 Fuzziness & Induction ........................................................................ 27 2.1 Deduction ...................................................................................... 27 2.1.1 Logic ....................................................................................... 27 2.1.2 Classification.......................................................................... 30 2.2 Fuzziness ...................................................................................... 33 2.2.1 Fuzzy Logic ............................................................................ 35 2.2.2 Fuzzy Classification............................................................... 40 2.3 Induction ....................................................................................... 43 2.3.1 Inductive Logic....................................................................... 43 2.3.2 Inductive Classification ......................................................... 46 2.4 Inductive Fuzzy Classification ☼ ................................................ 51 2.4.1 Univariate Membership Function Induction ....................... 52 2.4.2 Multivariate Membership Function Induction ☺ ................ 60 3 Analytics & Marketing ....................................................................... 63 3.1 Analytics ☼ ................................................................................... 63 3.1.1 Selection ................................................................................. 67 3.1.2 Visualization .......................................................................... 69 3.1.3 Prediction ............................................................................... 71 3.2 Marketing Analytics ☼ ................................................................ 75 3.2.1 Customer Analytics ............................................................... 76 3.2.2 Product Analytics .................................................................. 78 13 3.2.3 Fuzzy Target Groups ............................................................. 80 3.2.4 Integrated Analytics .............................................................. 82 3.2.5 Case Study: IFC in Online Marketing at PostFinance ☺ ... 85 4 Prototyping & Evaluation .................................................................. 93 4.1 Software Prototypes ..................................................................... 93 4.1.1 IFCQL..................................................................................... 93 4.1.2 IFCL ....................................................................................... 94 4.1.3 IFC-Filter for Weka ☼ ........................................................... 99 4.2 Empirical Tests .......................................................................... 105 4.2.1 Experiment Design .............................................................. 105 4.2.2 Results .................................................................................. 107 5 Precisiating Fuzziness by Induction ................................................ 115 5.1 Summary of Contribution .......................................................... 115 5.2 Discussion of Results ................................................................. 117 5.3 Outlook and Further Research .................................................. 119 6 Literature References ....................................................................... 123 A. Appendix .......................................................................................... 129 A.1. Datasets used in the Experiments ........................................... 129 A.1.1. Attribute Selection Filters ................................................. 133 A.1.2. Record Selection Filters ..................................................... 134 A.2. Database Queries...................................................................... 135 A.2.1. Database Queries for Experiments with Sharp Target Variables .......................................................................................... 135 A.2.2. Database Queries for Experiments with Numerical Target Variables .......................................................................................... 138 A.2.3. Database Queries for Both Types of Experiments ........... 143 A.3. Experimental Results Tables ................................................... 149 A.4. IFCL Syntax and Application .................................................. 157 A.4.1. Grammar Notation............................................................. 157 A.4.2. IFCL File Structure ........................................................... 157 A.4.3. Executing IFCL Files in Batch Mode ................................ 158 A.4.4. Connecting to the Database .............................................. 158 A.4.5. Droping a Database Table ................................................. 159 14 A.4.6. Executing an SQL Script ................................................... 159 A.4.7. Loading Data into The Database ...................................... 159 A.4.8. Inducing a Membership Function ..................................... 161 A.4.9. Classification of Data ......................................................... 162 A.4.10. Aggregating Multiple Variables ...................................... 162 A.4.11. Evaluating Predictions .................................................... 163 A.4.12. Data Preparation ............................................................. 164 A.4.13. Attribute Selection ........................................................... 165 A.5. Curriculum Vitae ...................................................................... 167 A.6. Key Terms and Definitions ...................................................... 167 ☺ This section is based on a publication by Kaufmann & Meier (2009) ☼ This section is based on a publication by Kaufmann & Graf (2012) 15 16 List of Figures Figure 1: The motivation of the current research was to develop and evaluate inductive methods for the automated derivation of membership functions for fuzzy classification and to propose possible applications to marketing analytics. ......................................... 23 Figure 2: Thesis structure. This thesis has three thematic categories that are reflected in the structure: theory, application, and technology. ......................................................................................... 25 Figure 3: There is no square. Adapted from “Subjective Contours” by G. Kaniza, 1976, ................................................................................... 33 Figure 4: Black or white: conventional yin and yang symbol with a sharp distinction between opposites, representing metaphysical dualism. ..................................................................................................... 34 Figure 5: Shades of grey: fuzzy yin and yang symbol with a gradation between opposites, representing metaphysical monism. ...... 34 Figure 6: A visualization of a classical set with sharp boundaries. ....... 36 Figure 7: A visualization of a fuzzy set.................................................... 36 Figure 8: Fuzzy set theory applied to the sorites paradox. .................... 37 Figure 9: Unsupervised IFC by percentile rank. .................................... 53 Figure 10: Computation of membership functions for numerical variables. ................................................................................................... 60 Figure 11: Proposed method for multivariate IFC. ................................. 60 Figure 12: Visualization of relevant attributes and their association with the target as an inductive membership function. ....... 70 Figure 14: Proposed schema for multivariate IFC for prediction. ......... 72 Figure 15: IFC prediction with binary target classes based on categorical attributes. ............................................................................... 73 Figure 16: IFC prediction with Zadehan target classes based on numerical attributes. ................................................................................ 73 Figure 17: Proposed areas of application of IFC to marketing analytics. ................................................................................................... 76 Figure 18: Schema of a fuzzy customer profile based on IFC-NLR, together with two examples of a fuzzy customer profile. ....................... 78 17 Figure 19: Inductive fuzzy classification for individual marketing. ...... 84 Figure 20: Analytics applied to individual marketing in the online channel at PostFinance. ........................................................................... 86 Figure 21: Membership function induction for a categorical attribute. ................................................................................................... 88 Figure 22: Membership function induction for a continuous attribute. ................................................................................................... 89 Figure 23: Architecture of the iFCQL interpreter. ................................. 94 Figure 24: Inductive fuzzy classification language (IFCL) system architecture. .............................................................................................. 95 Figure 25: Software architecture of the IFC-Filter............................... 100 Figure 26: Knowledge flow with IFC-Filters. ........................................ 101 Figure 27: Visualization of membership functions with the IFCFilter. ....................................................................................................... 103 Figure 28: Average prediction correlation for different aggregation methods for binary targets. .................................................................... 107 Figure 29: Average prediction correlation for different aggregation methods for fuzzified numerical targets. ............................................... 108 Figure 30: Average prediction correlation for combinations of membership function induction and aggregation methods for binary targets. ......................................................................................... 109 Figure 31: Average prediction correlation of predictions with linear versus percentile ITF, given regression trees as the aggregation method. ............................................................................... 109 Figure 32: Average prediction correlation for combinations of membership function induction and aggregation methods for fuzzified numerical targets. ................................................................... 110 Figure 33: Relationship between target linearity and IAF benefit for binary target variables. .................................................................... 111 Figure 34: Relationship between target linearity and IAF benefit for fuzzified numerical target variables. ............................................... 112 18 List of Tables Table 1 Proposed Formulae for Induction of Membership Degrees ....... 57 Table 2 Example of an Attribute Ranking regarding NLR/Target Correlation ................................................................................................ 68 Table 3 Conditional Probabilities and NLRs for a Categorical Attribute .................................................................................................... 87 Table 4 Optimization of the Gamma Parameter for Multivariate Fuzzy Aggregation .................................................................................... 90 Table 5 Resulting Product Selling Ratios per Target Group ................. 92 Table 6 Different Aggregation Methods used for Prediction Experiments ............................................................................................ 106 Table 7 Correlation and p-Value of Dataset Parameters and Improvement of Logistic Regression with IAF for Binary Target Variables ................................................................................................. 111 Table 8 Correlation and p-Value of Dataset Parameters and Improvement of Regression Trees with IAF for Zadean Target Variables ................................................................................................. 112 Table 9 Data Sets with Categorical Target Variable, Transformed into a Binary Target ............................................................................... 129 Table 10 Data Sets with Numerical Target Variable, Transformed into a Fuzzy Proposition µ (see Formula 46 and Formula 47) ............ 131 ↑ Table 11 Average Prediction Correlations per Dataset/Aggregation Method for Binary Targets ..................................................................... 149 Table 12 Average Prediction Correlations per Dataset and Aggregation Method for Numerical Target Variables .......................... 150 Table 13: Average Prediction Correlations for IAF on Data with Numerical Target Variables using Linear versus Percentile ITF ....... 151 Table 14 Average Prediction Correlations per Dataset and Three Different Combinations of Supervised Aggregation and IAF for Binary Target Variables ......................................................................... 152 Table 15 Average Prediction Correlations per Dataset and Three Different Combinations of Supervised Aggregation and IAF for Numerical Target Variables ................................................................... 153 19 Table 16 Relationship between Target Linearity and Improvement of Logistic Regression by IAF NLR for Binary Target Variables ......... 154 Table 17 Relationship between Target Linearity and Improvement of Regression Trees by IAF NLD for Numerical Target Variables ...... 155 20 1 A Gradual Concept of Truth “Would you describe a single grain of wheat as a heap? No. Would you describe two grains of wheat as a heap? No. … You must admit the presence of a heap sooner or later, so where do you draw the line?” (Hyde, 2008) How many grains does it take to constitute a heap? This question is known as the sorites paradox (Hyde, 2008). It exemplifies that our semantic universe is essentially vague, and with any luck, this vagueness is ordinal and gradual. This applies to all kinds of statements. Especially in science, different propositions or hypotheses can only be compared to each other with regard to their relative accuracy or predictive power. Fuzziness is a term that describes vagueness in the form of boundary imprecision. Fuzzy concepts are those that are not clearly delineated, such as the concept of a “heap of grain.” The classical notion of truth claims metaphysical dualism, and thus divides thought into exactly two categories: true and false. A gradual concept of truth leads our consciousness toward a metaphysical monism: all possible statements belong to the same class; but there is a gradation of degree. The continuum of propositions, ranging from completely false to completely true, contains all the information that is in-between. Fuzzy set theory provides a tool for mathematically precise definitions of fuzzy concepts, if those concepts can be ordered: assigning gradual membership degrees to their elements. This gradual concept of truth is the basis for fuzzy logic or approximate reasoning, as proposed by Zadeh (1975a) and Bellmann and Zadeh (1977). Fuzzy logic, based on the concept of fuzzy sets introduced by Zadeh (1965), allows propositions with a gradual truth-value and, thus, supports approximate reasoning, gradual and soft consolidation. Fuzzy propositions define fuzzy classes, which allow gradual, fuzzy class boundaries. In data analysis, or “the search for structure in data” (Zimmermann H. J., 1997), fuzzy classification is a method for gradation in data consolidation, as presented by Meier, Schindler, and Werro (2008) and Del Amo, Montero, and Cutello (1999). The application of fuzzy classification to marketing analytics (Spais & Veloutsou, 2005) has the advantage of precisiation (sic; Zadeh, 2008) of fuzzy concepts in the context of decision support for direct customer contact, as proposed by Werro (2008). This precisiation can be achieved by inducing membership functions to fuzzy target classes (Setnes, Kaymak, & van Nauta Lemke, 1998). 21 Inductive, or probabilistic, inference and fuzzy, or gradual, logic have been seen as incompatible, for example, by Elkan (1993). Whereas probabilistic induction can amplify experience, membership functions can precisiate vagueness. Combined, measured probabilities can be applied to precisely define the semantics of vague or fuzzy concepts by membership function induction. This thesis, eventually, demonstrates how probabilistic and fuzzy logics can be synthesized to constitute a method of inductive gradual reasoning for classification. 1.1 Research Questions Werro (2008) and Meier et al. (2008) proposed the application of Fuzzy classification to customer relationship management (CRM). A suggestion for further research by Werro (2008), namely the integration of data mining techniques into fuzzy classification software, has inspired the present thesis. As illustrated in Figure 1, the motivation of the current research was to develop and evaluate inductive methods for the automated derivation of membership functions for fuzzy classification and to propose possible applications to marketing analytics. The first motivation for research on “inductive fuzzy classification” (IFC) was the development of methods for automated derivations of understandable and interpretable membership functions to fuzzy classes. The aim was to develop and evaluate algorithms and methods to induce functions that indicate inductively inferred target class memberships. The second motivation was to improve marketing analytics with IFC. Kaufmann and Meier (2009) have presented a methodology and a case study for the application of IFC to predictive product affinity scoring for target selection. This thesis extends the application of this methodology to marketing in the field of integrated customer and product analytics in order to provide means to deal with fuzziness in marketing decisions and to enhance accountability by application of analytics to precisiate fuzzy marketing concepts, as proposed by Spais and Veloutsou (2005). The third motivation was to develop a prototype implementation of software for computing IFCs, showing the feasibility of the proposed algorithms as a proof of concept and allowing an evaluation of the proposed methodology. Seven research questions were developed at the beginning of the current research (Kaufmann, 2008). These questions guided the development of the thesis from the beginning. The answers are 22 presented in the subsequent document and summarized in the conclusions of the thesis. 1. What is the theoretical basis of IFC and what is its relation to inductive logic? 2. How can membership functions be derived inductively from data? 3. How can a business enterprise apply IFC in practice? 4. How can the proposed methods be implemented in a computer program? 5. How is IFC optimally applied for prediction? 6. Which aggregation methods are optimal for the multivariate combination of fuzzy classes for prediction? 7. Can it be statistically supported that the proposed method of IFC improves predictive performance? Figure 1: The motivation of the current research was to develop and evaluate inductive methods for the automated derivation of membership functions for fuzzy classification and to propose possible applications to marketing analytics. Following a constructive approach to business informatics and information systems research (Oesterle, et al., 2010), this thesis presents a design of new methods for IFC and proposes applications of 23 these new methods to analytics in marketing. Thus, the methodology for developing the thesis includes the following: The theoretical background is analyzed prior to presentation of the constructive design, a case study exemplifies the designed approach, software prototyping shows technical feasibility and enables experimental evaluation, and empirical data collection in combination with statistical inference is applied to draw conclusions about the proposed method. 1.2 Thesis Structure As shown in Figure 2, this thesis has three thematic categories that are reflected in the structure. First, the theoretical foundations of IFC are examined. This theory is based on a synthesis of fuzzy (gradual) and inductive (probabilistic) logics. Second, business applications of this approach are analyzed. A possible application is studied for analytic quantitative decision support in marketing. Third, technological aspects of the proposed method are examined by software prototypes for evaluation of the proposed constructs. The second chapter, which addresses theory, analyzes the theoretical foundations of IFC by approaching it from the viewpoints of logic, fuzziness, and induction. It presents proposals of likelihood-based methods for membership function induction. In Section 2.1, the basic concepts of logic and classification are analyzed. In Section 2.2, cognitive and conceptual fuzziness are discussed and approaches for resolution of conceptual fuzziness, fuzzy logic, and fuzzy classification are outlined. In Section 2.3, inductive classification, and induction automation are examined. In Section 2.4, the application of induction to fuzzy classification is explained, and a methodology for membership function induction using normalized ratios and differences of empirical conditional probabilities and likelihoods is proposed. The third chapter, which deals with designing applications of IFC, presents a study of analytics and examines the application of membership function induction to this discipline in marketing. In Section 3.1, the general methodology of logical data analysis, called analytics, is analyzed, and applications of IFC to three sub-disciplines, selection, visualization, and prediction, are proposed. In Section 3.2, applications of IFC to analytic marketing decision support, or marketing analytics (MA), are listed. A case study is presented, in which the proposed methods are applied to individual online marketing. The fourth chapter, which presents designs of technology for IFC, explains prototype implementations of the proposed IFC methodology and shows evaluation results. In Section 4.1, three prototype implementations of IFC are presented. The prototype of an inductive 24 fuzzy classification language (IFCL) is described. This description encompasses the architecture of the software and its functionality. Two additional prototypes that were developed in collaboration with master’s students guided by the author, iFCQL (Mayer, 2010) and IFC-Filter (Graf, 2010), are briefly discussed. In Section 4.2, a systematic experimental application of the IFCL prototype is described and the empirical results of testing the predictive performance of different parameters of the proposed methodology are statistically analyzed. Figure 2: Thesis structure. This thesis has three thematic categories that are reflected in the structure: theory, application, and technology. The fifth chapter, which concludes the thesis, summarizes the scientific contributions of the current research, discusses the results, and proposes further research topics for IFC. Literature references are indicated in the sixth chapter. Research details can be found in Chapter A, the appendix at the end of the thesis. 25 26 2 Fuzziness & Induction This chapter examines the foundations of IFC by analyzing the concepts of deduction, fuzziness, and induction. The first subsection explains the classical concepts of sharp and deductive logic and classification; in this section, it is presupposed that all terms are clearly defined. The second section explains what happens when those definitions have fuzzy boundaries and provides the tools, fuzzy logic and fuzzy classification, to reason about this. However, there are many terms that do not only lack a sharp boundary of term definition but also lack a priori definitions. Therefore, the third subsection discusses how such definitions can be inferred through inductive logic and how such inferred propositional functions define inductive fuzzy classes. Finally, this chapter proposes a method to derive precise definitions of vague concepts—membership functions—from data. It develops a methodology for membership function induction using normalized likelihood comparisons, which can be applied to fuzzy classification of individuals. 2.1 Deduction This subsection discusses deductive logic and classification, analyzes the classical as well as the mathematical (Boolean) approaches to propositional logic, and shows their application to classification. Deduction provides a set of tools for reasoning about propositions with a priori truth-values—or inferences of such values. Thus, in the first subsection, the concepts of classical two-valued logic and algebraic Boolean logic are summarized. The second subsection explains how propositional functions imply classes and, thus, provide the mechanism for classification. 2.1.1 Logic In the words of John Stuart Mill (1843), logic is “the science of reasoning, as well as an art, founded on that science” (p. 18). He points out that the most central entity of logic is the statement, called a proposition: The answer to every question which it is possible to frame, is contained in a proposition, or assertion. Whatever can be an object of belief, or even of disbelief, must, when put into words, assume the form of a proposition. All truth and all error lie in propositions. What, by a convenient misapplication of an abstract term, we call a truth, is simply a true proposition. (p. 27) 27 The central role of propositions indicates the importance of linguistics in philosophy. Propositions are evaluated for their truth, and thus, assigned a truth-value because knowledge and insight is based on true statements. Consider the universe of discourse in logic: The set of possible statements or propositions, 𝒫𝒫. Logicians believe that there are different levels of truth, usually two (true or false); in the general case, there is a set, 𝒯𝒯, of possible truth-values that can be assigned to propositions. Thus, the proposition 𝑝𝑝 ∈ 𝒫𝒫 is a meaningful piece of information to which a truth-value, 𝜏𝜏(𝑝𝑝) ∈ 𝒯𝒯, can be assigned. The corresponding mapping of 𝜏𝜏: 𝒫𝒫 ⟶ 𝒯𝒯 from propositions 𝒫𝒫 to truth-values 𝒯𝒯 is called a truth function. In general logic, operators can be applied to propositions. A unary operator, 𝑂𝑂 : 𝒫𝒫 ⟶ 𝒯𝒯, maps a single proposition into a set of transformed truth-values. Accordingly, a binary operator, 𝑂𝑂 : 𝒫𝒫 ×𝒫𝒫 ⟶ 𝒯𝒯, assigns a truth-value to a combination of two propositions, and an nary operator, 𝑂𝑂 : 𝒫𝒫 × ⋯×𝒫𝒫 ⟶ 𝒯𝒯, is a mapping of a combination of n propositions to a new truth-value. The logic of two-valued propositions is the science and art of reasoning about statements that can be either true or false. In the case of two-valued logic, or classical logic (𝐶𝐶𝐶𝐶), the set of possible truth values, 𝒯𝒯 : = {true, false}, contains only two elements, which partitions the class of imaginable propositions 𝒫𝒫 into exactly two subclasses: the class of false propositions and the class of true ones. With two truth-values, there is only one possible unary operator other than identity: A proposition, 𝑝𝑝 ∈ 𝒫𝒫, can be negated (not 𝑝𝑝), which inverts the truth-value of the original proposition. Accordingly, for a combination of two propositions, 𝑝𝑝 and 𝑞𝑞, each with two truth-values, there are 16 (2 ) possible binary operators. The most common binary logical operators are disjunction, conjunction, implication, and equivalence: A conjunction of two propositions, 𝑝𝑝 and 𝑞𝑞, is true if both propositions are true. A disjunction of two propositions, 𝑝𝑝 or 𝑞𝑞, is true if one of the propositions is true. An implication of 𝑞𝑞 by 𝑝𝑝 is true if, whenever 𝑝𝑝 is true, 𝑞𝑞 is true as well. An equivalence of two propositions is true if 𝑝𝑝 implies 𝑞𝑞 and 𝑞𝑞 implies 𝑝𝑝. Classical logic is often formalized in the form of a propositional calculus. The syntax of classical propositional calculus is described by the concept of variables, unary and binary operators, formulae, and truth functions. Every proposition is represented by a variable (e.g., 𝑝𝑝); every proposition and every negation of a proposition is a term; every combination of terms by logical operators is a formula; terms and formulae are themselves propositions; negation of the proposition 𝑝𝑝 is represented by ¬𝑝𝑝; conjunction of the two propositions 𝑝𝑝 and 𝑞𝑞 is represented by 𝑝𝑝 ∧ 𝑞𝑞; disjunction of the two propositions 𝑝𝑝 and 𝑞𝑞 is 28 represented by 𝑝𝑝 ∨ 𝑞𝑞; implication of the proposition 𝑞𝑞 by the proposition 𝑝𝑝 is represented by 𝑝𝑝 ⇒ 𝑞𝑞; equivalence between the two propositions 𝑝𝑝 and 𝑞𝑞 is represented by 𝑝𝑝 ≡ 𝑞𝑞; and there is a truth function, 𝜏𝜏 : 𝒫𝒫 ⟶ 𝒯𝒯 , mapping from the set of propositions 𝒫𝒫 into the set of truth values 𝒯𝒯. The semantics of propositional calculus are defined by the values of the truth function, as formalized in Formula 1 through Formula 5. 𝜏𝜏 ¬ 𝑝𝑝 ∶= 𝜏𝜏 𝑝𝑝 ∧ 𝑞𝑞 ∶= if 𝜏𝜏 𝑝𝑝 = true else false true. Formula 1 if (𝜏𝜏 𝑝𝑝 = 𝜏𝜏 𝑞𝑞 = true) else true false. Formula 2 if (𝜏𝜏 𝑝𝑝 = 𝜏𝜏 𝑞𝑞 = false) else false true. Formula 3 𝜏𝜏 𝑝𝑝 ∨ 𝑞𝑞 ∶= 𝜏𝜏 𝑝𝑝 ⇒ 𝑞𝑞 ∶= 𝜏𝜏 ¬ 𝑝𝑝 ∨ 𝑞𝑞 𝜏𝜏 𝑝𝑝 ≡ 𝑞𝑞 ∶= 𝜏𝜏 (𝑝𝑝 ⇒ 𝑞𝑞 ∧ 𝑞𝑞 ⇒ 𝑝𝑝) Formula 4 Formula 5 George Boole (1847) realized that logic can be calculated using the numbers 0 and 1 as truth values. His conclusion was that logic is mathematical in nature: I am then compelled to assert, that according to this view of the nature of Philosophy, Logic forms no part of it. On the principle of a true classification, we ought no longer to associate Logic and Metaphysics, but Logic and Mathematics. (p. 13) In Boole’s mathematical definition of logic, the numbers 1 and 0 represents the truth-values and logical connectives are derived from arithmetic operations: subtraction from 1 as negation and multiplication as conjunction. All other operators can be derived from these two operators through application of the laws of logical equivalence. Thus, in Boolean logic (𝐵𝐵𝐵𝐵), the corresponding propositional calculus is called Boolean algebra, stressing the 29 conceptual switch from metaphysics to mathematics. Its syntax is defined in the same way as that of 𝐶𝐶𝐶𝐶, except that the Boolean truth function, 𝜏𝜏 : 𝒫𝒫 ⟶ 𝒯𝒯 , maps from the set of propositions into the set of Boolean truth values, 𝒯𝒯 ∶= 0,1 , that is, the set of the two numbers 0 and 1. The Boolean truth function 𝜏𝜏 defines the semantics of Boolean algebra. It is calculated using multiplication as conjunction and subtraction from 1 as negation, as formalized in Formula 6 through Formula 8. Implication and equivalence can be derived from negation and disjunction in the same way as in classical propositional calculus. 𝜏𝜏 ¬ 𝑝𝑝 ∶= 1 − 𝜏𝜏 𝑝𝑝 Formula 6 𝜏𝜏 𝑝𝑝 ∧ 𝑞𝑞 ∶= 𝜏𝜏 𝑝𝑝 ∙ 𝜏𝜏 𝑞𝑞 Formula 7 𝜏𝜏 𝑝𝑝 ∨ 𝑞𝑞 ∶= ¬ ¬p ∧ ¬ q = 1 − 1 − 𝜏𝜏 𝑝𝑝 ∙ 1 − 𝜏𝜏 𝑞𝑞 2.1.2 Formula 8 Classification Class logic, as defined by Glubrecht, Oberschelp, and Todt (1983), is a logical system that supports statements applying a classification operator. Classes of objects can be defined according to logical propositional functions. According to Oberschelp (1994), a class, 𝐶𝐶 = 𝑖𝑖 ∈ 𝑈𝑈 | 𝛱𝛱(𝑖𝑖) , is defined as a collection of individuals, 𝑖𝑖, from a universe of discourse, 𝑈𝑈, satisfying a propositional function, 𝛱𝛱, called the classification predicate. The domain of the classification operator, . | . ∶ ℙ ⟶ 𝑈𝑈 ∗ , is the class of propositional functions ℙ and its range is the powerclass of the universe of discourse 𝑈𝑈 ∗ , which is the class of possible subclasses of 𝑈𝑈. In other words, the class operator assigns subsets of the universe of discourse to propositional functions. A universe of discourse is the set of all possible individuals considered, and an individual is a real object of reference. In the words of Bertrand Russell (1919), a propositional function is “an expression containing one or more undetermined constituents, such that, when values are assigned to these constituents, the expression becomes a proposition” (p. 155). 30 In contrast, classification is the process of grouping individuals who satisfy the same predicate into a class. A (Boolean) classification corresponds to a membership function, 𝜇𝜇 ∶ 𝑈𝑈 ⟶ {0,1}, which indicates with a Boolean truth-value whether an individual is a member of a class, given the individual’s classification predicate. As shown by Formula 9, the membership 𝜇𝜇 of individual 𝑖𝑖 in class 𝐶𝐶 = 𝑖𝑖 ∈ 𝑈𝑈 | 𝛱𝛱(𝑖𝑖) is defined by the truth-value 𝜏𝜏 of the classification predicate 𝛱𝛱(𝑖𝑖). In Boolean logic, the truth-values are assumed to be certain. Therefore, classification is sharp because the truth values are either exactly 0 or exactly 1. 𝜇𝜇 𝑖𝑖 ≔ 𝜏𝜏 𝛱𝛱 𝑖𝑖 ∈ 0,1 Formula 9 Usually, the classification predicate that defines classes refers to attributes of individuals. For example, the class “tall people” is defined by the predicate “tall,” which refers to the attribute “height.” An attribute, 𝑋𝑋, is a function that characterizes individuals by mapping from the universe of discourse 𝑈𝑈 to the set of possible characteristics 𝜒𝜒 (Formula 10). 𝑋𝑋 ∶ 𝑈𝑈 ⟶ 𝜒𝜒 Formula 10 𝜇𝜇 𝑖𝑖 ∶= 𝜏𝜏 𝑋𝑋 𝑖𝑖 = 𝑐𝑐 Formula 11 There are different types of values encoding characteristics. Categorical attributes have a discrete range of symbolic values. Numerical attributes have a range of numbers, which can be natural or real. Boolean attributes have Boolean truth-values {0,1} as a range. Ordinal attributes have a range of categories that can be ordered. On one hand, the distinction between univariate and multivariate classification, the variety, depends on the number of attributes considered for the classification predicate. The dimensionality of the classification, on the other hand, depends on the number of dimensions, or linearly independent attributes, of the classification predicate domain. In a univariate classification (𝑈𝑈𝑈𝑈), the classification predicate 𝛱𝛱 refers to one attribute, 𝑋𝑋, which is true for an individual, 𝑖𝑖, if the feature 𝑋𝑋(𝑖𝑖) equals a certain characteristic, 𝑐𝑐 ∈ 𝜒𝜒. In a multivariate classification (𝑀𝑀𝑀𝑀𝑀𝑀), the classification predicate refers to multiple element attributes. The classification predicate is true 31 for an individual, 𝑖𝑖, if an aggregation, 𝑎𝑎, of several characteristic constraints has a given value, 𝑐𝑐 ∈ 𝜒𝜒. 𝜇𝜇 𝑖𝑖 ∶= 𝜏𝜏 𝑎𝑎 𝑋𝑋 𝑖𝑖 , ⋯ , 𝑋𝑋 𝑖𝑖 = 𝑐𝑐 Formula 12 A multidimensional classification (𝑀𝑀𝑀𝑀𝑀𝑀) is a special case of a multivariate classification that refers to 𝑛𝑛-tuples of attributes, such that the resulting class is functionally dependent on the combination of all n attributes. 𝜇𝜇 𝑖𝑖 ∶= 𝜏𝜏 𝐶𝐶 𝑋𝑋 𝑖𝑖 ⋮ = ⋮ 𝐶𝐶 𝑋𝑋 (𝑖𝑖) Formula 13 This distinction between multivariate and multidimensional classification is necessary for the construction of classification functions. Multivariate classifications can be derived as functional aggregates of one-dimensional membership functions, in which the influence of one attribute to the resulting aggregate does not depend on the other attributes. In contrast, in multidimensional classification, the combination of all attributes determines the membership value, and thus, one attribute has different influences on the membership degree for different combinations with other attribute values. Therefore, multidimensional classifications need multidimensional membership functions that are defined on 𝑛𝑛-tuples of possible characteristics. 32 2.2 Fuzziness “There are many misconceptions about fuzzy logic. Fuzzy logic is not fuzzy. Basically, fuzzy logic is a precise logic of imprecision and approximate reasoning.” (Zadeh, 2008, p. 2751) Fuzziness, or vagueness (Sorensen, 2008), is an uncertainty regarding concept boundaries. In contrast to ambiguous terms, which have several meanings, vague terms have one meaning, but the extent of it is not sharply distinguishable. For example, the word tall can be ambiguous, because a tall cat is usually smaller than a small horse. Nevertheless, the disambiguated predicate “tall for a cat” is vague, because its linguistic concept does not imply a sharp border between tall and small cats. Our brains seem to love boundaries. Perhaps, making sharp distinctions quickly was a key cognitive ability in evolution. Our brains are so good at recognizing limits, that they construct limits where there are none. This is what many optical illusions are based on: for example, Kaniza’s (1976) Illusory Square (Figure 3). Figure 3: There is no square. Adapted from “Subjective Contours” by G. Kaniza, 1976, Copyright 1976 by Scientific American, Inc. An ancient symbol of sharp distinction between classes is the yin and yang symbol (Figure 4). It symbolizes a dualistic worldview—the cosmos divided into light and dark, day and night, and so on. 33 Figure 4: Black or white: conventional yin and yang symbol with a sharp distinction between opposites, representing metaphysical dualism. Adapted from http://www.texample.net/tikz/examples/yin-and-yang/ (accessed 02.2012) with permission (creative commons license CC BY 2.5). Figure 5: Shades of grey: fuzzy yin and yang symbol with a gradation between opposites, representing metaphysical monism. 34 Nevertheless, in reality, the transition between light and dark is gradual during the 24 hours of a day. This idea of gradation of our perceptions can be visualized by a fuzzy yin and yang symbol (Figure 5). Sorensen (2008) explains that many-valued logics have been proposed to solve the philosophical implications of vagueness. One many-valued approach to logic is fuzzy logic, which allows infinite truth-values in the interval between 0 and 1. In the next section, introducing membership functions, fuzzy sets, and fuzzy propositions are discussed; these are the bases for fuzzy logic, which in fact, is a precise logic for fuzziness. Additionally, it is shown how fuzzy classifications are derived from fuzzy propositional functions. 2.2.1 Fuzzy Logic Lotfi Zadeh (2008) said, “Fuzzy logic is not fuzzy” (p. 2751). Indeed, it is a precise mathematical concept for reasoning about fuzzy (vague) concepts. If the domain of those concepts is ordinal, membership can be distinguished by its degree. In classical set theory, an individual, 𝑖𝑖, of a universe of discourse, 𝑈𝑈, is either completely a member of a set or not at all. As previously explained, according to Boolean logic, the membership function 𝜇𝜇 : 𝑈𝑈 ⟶ {0,1}, for a crisp set 𝑆𝑆, maps from individuals to sharp truth-values. As illustrated in Figure 6, a sharp set (the big dark circle) has a clear boundary, and individuals (the small bright circles) are either a member of it or not. However, one individual is not entirely covered by the big dark circle, but is also not outside of it. In contrast, a set is called fuzzy by Zadeh (1965) if individuals can have a gradual degree of membership to it. In a fuzzy set, as shown by Figure 7, the limits of the set are blurred. The degree of membership of the elements in the set is gradual, illustrated by the fuzzy gray edge of the dark circle. The membership function, 𝜇𝜇 : 𝑈𝑈 → [0,1], for a fuzzy set, 𝐹𝐹, indicates the degree to which individual 𝑖𝑖 is a member of 𝐹𝐹 in the interval between 0 and 1. In Figure 6, the degree of membership of the small circles 𝑖𝑖 is defined by a normalization 𝑛𝑛 of their distance 𝑑𝑑 from the center 𝑐𝑐 of the big dark circle 𝑏𝑏, 𝜇𝜇 𝑖𝑖 = 𝑛𝑛 𝑑𝑑 𝑖𝑖, 𝑐𝑐 .In the same way as in classical set theory, set operators can construct complements of sets and combine two sets by union and intersection. Those operators are defined by the fuzzy membership function. In the original proposal of Zadeh (1965), the set operators are defined by subtraction from 1, minimum and maximum. The complement, 𝐹𝐹, of a fuzzy set, 𝐹𝐹, is derived by subtracting its membership function from 1; the union of two sets, 𝐹𝐹 ∪ 𝐺𝐺, is derived from the maximum of the membership degrees; and the intersection of two sets, 𝐹𝐹 ∩ 𝐺𝐺, is derived from the minimum of the membership degrees. 35 Figure 6: A visualization of a classical set with sharp boundaries. Figure 7: A visualization of a fuzzy set. 36 Accordingly, fuzzy subsets and fuzzy power sets can be constructed. Consider the two fuzzy sets 𝐴𝐴 and 𝐵𝐵 on the universe of discourse 𝑈𝑈. In general, 𝐴𝐴 is a fuzzy subset of 𝐵𝐵 if the membership degrees of all its elements are smaller or equal to the membership degrees of elements in 𝐵𝐵 (Formula 14). Thus, a fuzzy power set, 𝐵𝐵 ∗ , of a (potentially fuzzy) set B is the class of all its fuzzy subsets (Formula 15). Formula 14 𝐴𝐴 ⊆ 𝐵𝐵 ∶= ∀𝑥𝑥 ∈ 𝑈𝑈: 𝜇𝜇 𝑥𝑥 ≤ 𝜇𝜇 𝑥𝑥 𝐵𝐵 ∗ ≔ 𝐴𝐴 ⊆ 𝑈𝑈 𝐴𝐴 ⊆ 𝐵𝐵 Formula 15 With the tool of fuzzy set theory in hand, the sorites paradox cited in the introduction (Chapter 1) can be tackled in a much more satisfying manner. A heap of wheat grains can be defined as a fuzzy subset, 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻 ⊆ ℕ, of natural numbers ℕ of wheat grains. A heap is defined in the English language as “a great number or large quantity” (merriamwebster.com, 2012b). For instance, one could agree that 1,000 grains of wheat is a large quantity, and between 1 and 1,000, the “heapness” of a grain collection grows logarithmically. Thus, the membership function of the number of grains 𝑛𝑛 ∈ ℕ in the fuzzy set 𝐻𝐻𝐻𝐻𝐻𝐻𝐻𝐻 can be defined according to Formula 16. The resulting membership function is plotted in Figure 8. 𝜇𝜇Heap 𝑛𝑛 ≔ 0 if 𝑛𝑛 = 0 1 if 𝑛𝑛 > 1000 0.1448 ln 𝑛𝑛 else. Formula 16 Figure 8: Fuzzy set theory applied to the sorites paradox. 37 Based on the concept of fuzzy sets, Zadeh (1975a) derived fuzzy propositions (𝐹𝐹𝐹𝐹) for approximate reasoning: A fuzzy proposition has the form “𝑥𝑥 𝑖𝑖𝑖𝑖 𝐿𝐿,” where 𝑥𝑥 is an individual of a universe of discourse 𝑈𝑈 and 𝐿𝐿 is a linguistic term, defined as a fuzzy set on 𝑈𝑈. As stated by Formula 17, the truth-value 𝜏𝜏 of a fuzzy proposition is defined by the degree of membership 𝜇𝜇 of 𝑥𝑥 in the linguistic term 𝐿𝐿. 𝜏𝜏 𝑥𝑥 𝑖𝑖𝑖𝑖 𝐿𝐿 ∶= 𝜇𝜇 (𝑥𝑥) Formula 17 If 𝐴𝐴 is an attribute of 𝑥𝑥, a fuzzy proposition can also refer to the corresponding attribute value, such as 𝑥𝑥 𝑖𝑖𝑖𝑖 𝐿𝐿 ∶= 𝐴𝐴 𝑥𝑥 𝑖𝑖𝑖𝑖 𝐿𝐿 . The fuzzy set 𝐿𝐿 on 𝑈𝑈 is equivalent to the fuzzy set 𝐿𝐿 on the domain of the attribute, or dom(𝐴𝐴). In fact, the set can be defined on arbitrarily deep-nested attribute hierarchies concerning the individual. As an example, let us look at the fuzzy proposition, “Mary is blond.” In this sentence, the linguistic term “blond” is a fuzzy set on the set of people, which is equivalent to a fuzzy set blond on the color of people’s hair (Formula 18). 𝜏𝜏 "Mary is blond" = 𝜇𝜇 Mary ≡ 𝜇𝜇 color hair Mary Formula 18 Fuzzy propositions (𝐹𝐹𝐹𝐹) can be combined to construct fuzzy formulae using the usual logic operators not (¬), and (∧), and or (∨), for which the semantics are defined by the fuzzy truth function 𝜏𝜏 : ℱ ⟶ [0,1], mapping from the class of fuzzy propositions ℱ into the set of Zadehan truth values in the interval between 1 and 0. Let “𝑥𝑥 is 𝑃𝑃” and “𝑥𝑥 is 𝑄𝑄” be two fuzzy propositions on the same individual. Then their combination to fuzzy formulae is defined as follows (Formula 19 through Formula 21): negation by the inverse of the corresponding fuzzy set, conjunction by intersection of the corresponding fuzzy sets, and disjunction by union of the corresponding fuzzy sets. 𝜏𝜏 ¬ 𝑥𝑥 is 𝑃𝑃 ∶= 𝜇𝜇 𝑥𝑥 ; 𝜏𝜏 𝑥𝑥 is 𝑃𝑃 ∧ 𝑥𝑥 is 𝑄𝑄 ∶= 𝜇𝜇∩ (𝑥𝑥); 𝜏𝜏 𝑥𝑥 is 𝑃𝑃 ∨ 𝑥𝑥 is 𝑄𝑄 ∶= 𝜇𝜇∪ (𝑥𝑥) 38 Formula 19 Formula 20 Formula 21 Zadeh’s fuzzy propositions are derived from statements of the form “𝑋𝑋 is 𝑌𝑌.” They are based on the representation operator 𝑖𝑖𝑖𝑖 ∶ 𝑈𝑈×𝑈𝑈 ∗ ⟶ ℱ mapping from the universe 𝑈𝑈 of discourse and its fuzzy powerset 𝑈𝑈 ∗ to the class of fuzzy propositions ℱ. Consequently, fuzzy propositions in the sense of Zadeh are limited to statements about degrees of membership in a fuzzy set. Generally, logic with fuzzy propositions—or more precisely, a propositional logic with Zadehan truth values in the interval between 0 and 1, a “Zadehan Logic” (𝑍𝑍𝑍𝑍)—can be viewed as a generalization of Boole’s mathematical analysis of logic to a gradual concept of truth. In that sense, 𝑍𝑍𝑍𝑍 is a simple generalization of Boolean logic (𝐵𝐵𝐵𝐵), in which the truth value of any proposition is not only represented by numbers, but also can be anywhere in the interval between 0 and 1. According to the Stanford Encyclopedia of Philosophy (Hajek, 2006), fuzzy logic, in the narrow sense, is a “symbolic logic with a comparative notion of truth developed fully in the spirit of classical logic” (“Fuzzy Logic,” paragraph 3). If 𝑍𝑍𝑍𝑍 is viewed as a generalization of 𝐵𝐵𝐵𝐵, fuzzy propositions of the form “𝑋𝑋 𝑖𝑖𝑖𝑖 𝑌𝑌” are a special case, and propositions and propositional functions of any form can have gradual values of truth. Accordingly, 𝑍𝑍𝑍𝑍 is defined by the truth function 𝜏𝜏 : 𝒫𝒫 ⟶ 𝒯𝒯 mapping from the class of propositions 𝒫𝒫 to the set of Zadehan truth-values 𝒯𝒯 ≔ [0,1]. Consequently, fuzzy set membership is a special case of fuzzy proposition, and the degree of membership of individual 𝑥𝑥 in another individual 𝑦𝑦 can be defined as the value of truth of the fuzzy proposition 𝑥𝑥 ∈ 𝑦𝑦 (Formula 22). 𝜇𝜇 𝑥𝑥 ∶= 𝜏𝜏 (𝑥𝑥 ∈ 𝑦𝑦) Formula 22 𝜏𝜏 ¬ 𝑝𝑝 ∶= 1 − 𝜏𝜏 𝑝𝑝 Formula 23 𝜏𝜏 𝑝𝑝 ∧ 𝑞𝑞 ∶= 𝜏𝜏 𝑝𝑝 ∙ 𝜏𝜏 𝑞𝑞 Formula 24 The Zadehan truth function 𝜏𝜏 defines the semantics of 𝑍𝑍𝑍𝑍. As in Boolean algebra, its operators can be defined by subtraction from 1 as negation, and multiplication as conjunction, as formalized in Formula 23 and Formula 24. Disjunction, implication, and equivalence can be derived from negation and conjunction in the same way as in Boolean logic. 39 In that light, any proposition with an uncertain truth-value smaller than 1 or greater than 0 is a fuzzy proposition. Additionally, every function with the range [0,1] can be thought of as a truth function for a propositional function. For example, statistical likelihood 𝐿𝐿(𝑦𝑦|𝑥𝑥) can be seen as a truth function for the propositional function, “y is likely if x,” as a function of x. This idea is the basis for IFC proposed in the next section. The usefulness of this generalization is shown in the chapter on applications, in which fuzzy propositions such as “customers with characteristic X are likely to buy product Y” are assigned truthvalues that are computed using quantitative prediction modeling. 2.2.2 Fuzzy Classification A fuzzy class, 𝐶𝐶 : = ∼ 𝑖𝑖 ∈ 𝑈𝑈 | 𝛱𝛱(𝑖𝑖) , is defined as a fuzzy set 𝐶𝐶 of individuals 𝑖𝑖, whose membership degree is defined by the Zadehan truth-value of the proposition 𝛱𝛱 𝑖𝑖 . The classification predicate, 𝛱𝛱, is a propositional function interpreted in 𝑍𝑍𝑍𝑍. The domain of the fuzzy class operator, ∼ . | . ∶ ℙ ⟶ 𝑈𝑈 ∗ , is the class of propositional functions, ℙ, and the range is the fuzzy power set, 𝑈𝑈 ∗ (the set of fuzzy subsets) of the universe of discourse, 𝑈𝑈. In other words, the fuzzy class operator assigns fuzzy subsets of the universe of discourse to propositional functions. Fuzzy classification is the process of assigning individuals a membership degree to a fuzzy set, based on their degrees of truth of the classification predicate. It has been discussed, for example, by Zimmermann (1997), Del Amo et al. (1999), and Meier et al. (2008). A fuzzy classification is achieved by a membership function, 𝜇𝜇 : 𝑈𝑈 ⟶ [0,1], that indicates the degree to which an individual is a member of a fuzzy class, 𝐶𝐶, given the corresponding fuzzy propositional function, 𝛱𝛱. This membership degree is defined by the Zadehan truth-value of the corresponding proposition, 𝛱𝛱 𝑖𝑖 , as formalized in Formula 25. 𝜇𝜇 𝑖𝑖 ≔ 𝜏𝜏 𝛱𝛱 𝑖𝑖 Formula 25 In the same way as in crisp classification, the fuzzy classification predicate refers to attributes of individuals. Additionally, Zadehan logic introduces two new types of characteristics. Zadehan attributes have a range of truth values represented by 𝒯𝒯 ≔ [0,1]. Linguistic attributes have a range of linguistic terms (fuzzy sets) together with the Zadehan truth-value of membership in those terms (Zadeh, 1975b). In a univariate fuzzy classification (𝑈𝑈𝑈𝑈), the fuzzy classification predicate 𝛱𝛱 refers to one attribute, 𝑋𝑋, and it corresponds to the membership degree of the attribute characteristic 𝑋𝑋(𝑖𝑖) in a given fuzzy 40 restriction (Zadeh, 1975a), 𝑅𝑅 ∈ 𝜒𝜒 ∗ , which is a fuzzy subset of possible characteristics 𝜒𝜒 (Formula 26). 𝜇𝜇 𝑖𝑖 ≔ 𝜏𝜏 𝑋𝑋 𝑖𝑖 𝑖𝑖𝑖𝑖 𝑅𝑅 Formula 26 𝜇𝜇 𝑖𝑖 ≔ 𝑎𝑎 𝜏𝜏 𝑋𝑋 i 𝑖𝑖𝑖𝑖 𝑅𝑅 , … , 𝑋𝑋 i 𝑖𝑖𝑖𝑖 𝑅𝑅 Formula 27 In a multivariate fuzzy classification (𝑀𝑀𝑀𝑀𝑀𝑀), 𝛱𝛱 refers to multiple attributes. The truth function of the classification predicate for an individual, 𝑖𝑖, equals to an aggregation, 𝑎𝑎, of several fuzzy restrictions of multiple attribute characteristics, 𝑋𝑋 𝑖𝑖 , 𝑗𝑗 = 1 … 𝑛𝑛 (Formula 27). In a multidimensional fuzzy classification (𝑀𝑀𝑀𝑀𝑀𝑀), 𝛱𝛱 refers to 𝑛𝑛tuples of functionally independent attributes. The membership degree of individuals in a multidimensional class is based on an 𝑛𝑛-dimensional fuzzy restriction, 𝑅𝑅 (Formula 28), which is a multidimensional fuzzy set on the Cartesian product of the attribute ranges with a multidimensional membership function of 𝜇𝜇 : 𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 𝑋𝑋 × … × 𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 𝑋𝑋 ⟶ [0,1]. 𝜇𝜇 𝑖𝑖 ≔ 𝜏𝜏 𝑋𝑋 𝑖𝑖 ⋮ 𝑋𝑋 𝑖𝑖 is 𝑅𝑅 Formula 28 41 42 2.3 Induction Given a set of certainly true statements, deduction works fine. The problem is that the only certainty philosophy can offer is Descartes’s “I think therefore I am” proposition; however, postmodern philosophers are not so sure about the I anymore (Precht, 2007, p. 62 ff). Therefore, one should be given a tool to reason under uncertainty, and this tool is induction. In this chapter, inductive logic is analyzed, the application of induction to fuzzy classification is discussed, and a methodology for membership function induction using normalized ratios and differences of empirical conditional probabilities and likelihoods is proposed. 2.3.1 Inductive Logic Traditionally, induction is defined as drawing general conclusions from particular observations. Contemporary philosophy has shifted to a different view because, not only are there inductions that lead to particular conclusions, but also there are deductions that lead to general conclusions. According to Vickers (2009) in the Stanford Encyclopedia of Philosophy (SEP), it is agreed that induction is a form of inference that is “contingent” and “ampliative” (“The contemporary notion of induction”, paragraph 3), in contrast to deductive inference, which is necessary and explicative. Induction is contingent, because inductively inferred propositions are not necessarily true in all cases. And it is ampliative because, in Vickers words, “induction can amplify and generalize our experience, broaden and deepen our empirical knowledge” (“The contemporary notion of induction”, paragraph 3). In another essay in the SEP, inductive logic is defined as “a system of evidential support that extends deductive logic to less-than-certain inferences” (Hawthorne, 2008, “Inductive Logic,” paragraph 1). Hawthorne admits that there is a degree of fuzziness in induction: In an inductive inference, “the premises should provide some degree of support for the conclusion” (“Inductive Logic,” para. 1). The degree of support for an inductive inference can thus be viewed as a fuzzy restriction of possible inferences, in the sense of Zadeh (1975a). Vickers (2009) explains that the problem of induction is two-fold: The epistemic problem is to define a method to distinguish appropriate from inappropriate inductive inference. The metaphysical problem is to explain in what substance the difference between reliable and unreliable induction actually exists. Epistemologically, the question of induction is to find a suitable method to infer propositions under uncertainty. State of the art methods rely on empirical probabilities or likelihoods. There are many interpretations of probability (Hájek, 2009). For the context of this 43 thesis, one may agree that a mathematical probability, 𝑃𝑃 𝐴𝐴 , numerically represents how probable it is that a specific proposition 𝐴𝐴 is true: 𝑃𝑃 𝐴𝐴 ≡ 𝜏𝜏 "𝐴𝐴 is probable" ; and that the disjunction of all possible propositions, the probability space Ω, is certain, i.e., 𝑃𝑃 Ω = 1. In practice, probabilities can be estimated by relative frequencies, or sampled empirical probabilities 𝑝𝑝 in a sample of 𝑛𝑛 observations, defined by the ratio between the number of observations, 𝑖𝑖, in which the proposition 𝐴𝐴 is true, and the total number of observations (Formula 29). 𝑃𝑃(𝐴𝐴) ≈ 𝑝𝑝 𝐴𝐴 ∶= 𝜏𝜏(𝐴𝐴 ) 𝑛𝑛 Formula 29 A conditional probability (Weisstein, 2010a) is the probability for an outcome 𝑥𝑥, given that 𝑦𝑦 is the case, as formalized in Formula 30. 𝑃𝑃(𝑥𝑥 | 𝑦𝑦) = 𝑃𝑃(𝑥𝑥 ∧ 𝑦𝑦) 𝑃𝑃(𝑦𝑦) Formula 30 Empirical sampled conditional probabilities can be applied to compute likelihoods. According to James Joyce, “in an unfortunate, but now unavoidable, choice of terminology, statisticians refer to the inverse probability PH(E) as the ‘likelihood’ of H on E” (Joyce, 2003, “Conditional Probabilities and Bayes' Theorem,” paragraph 5). The likelihood of the hypothesis 𝐻𝐻 is an estimate of how probable the evidence or known data 𝐸𝐸 is, given that the hypothesis is true. Such a probability is called a “posterior probability” (Hawthorne, 2008, “inductive Logic,” paragraph 5), that is, a probability after measurement, shown by Formula 31. 𝐿𝐿 𝐻𝐻 𝐸𝐸 ∶= 𝑝𝑝 𝐸𝐸 | 𝐻𝐻 Formula 31 In the sense of Hawthorne (2008), the general law of likelihood states that, for a pair of incompatible hypotheses 𝐻𝐻 and 𝐻𝐻 , the evidence 𝐸𝐸 supports 𝐻𝐻 over 𝐻𝐻 , if and only if 𝑝𝑝 𝐸𝐸 | 𝐻𝐻 > 𝑝𝑝 𝐸𝐸 | 𝐻𝐻 . The likelihood ratio (𝐿𝐿𝐿𝐿) measures the strength of evidence for 𝐻𝐻 over 𝐻𝐻 (Formula 32). Thus, the “likelihoodist” (sic; Hawthorne, 2008, “Likelihood Ratios, Likelihoodism, and the Law of Likelihood,” paragraph 5) solution to the epistemological problem of induction is the likelihood ratio as measure of support for inductive inference. 44 𝐿𝐿𝐿𝐿 𝐻𝐻 > 𝐻𝐻 | 𝐸𝐸 ∶= 𝐿𝐿 𝐻𝐻 𝐸𝐸 𝐿𝐿 𝐻𝐻 𝐸𝐸 Formula 32 According to Hawthorne, the prior probability of a hypothesis, 𝑝𝑝 𝐻𝐻 , that is, an estimated probability prior to measurement of evidence 𝐸𝐸, plays an important role for inductive reasoning. Accordingly, Bayes’ theorem can be interpreted and rewritten using measured posterior likelihood and prior probability in order to apply it to the evaluation of scientific hypotheses. According to Hawthorne (2008), the posterior probability of hypothesis 𝐻𝐻 conditional to evidence 𝐸𝐸 is equal to the product of the posterior likelihood of 𝐻𝐻 given 𝐸𝐸 and the prior probability of 𝐻𝐻, divided by the (measured) probability of 𝐸𝐸 (Formula 33). 𝑝𝑝 𝐻𝐻 𝐸𝐸 = 𝐿𝐿(𝐻𝐻|𝐸𝐸) ∙ 𝑝𝑝 𝐻𝐻 𝑝𝑝(𝐸𝐸) Formula 33 What if there is fuzziness in the data, in the features of observations, or in the theories? How is likelihood measured when the hypothesis or the evidence is fuzzy? If this fuzziness is ordinal, that is, if the extent of membership in the fuzzy terms can be ordered, a membership function can be defined, and an empirical probability of fuzzy events can be calculated. Analogous to Dubois and Prade (1980), a fuzzy event 𝐴𝐴 in a universe of discourse 𝑈𝑈 is a fuzzy set on 𝑈𝑈 with a membership function 𝜇𝜇 : 𝑈𝑈 ⟶ [0,1]. For categorical elements of 𝑈𝑈, the estimated probability after n observations is defined as the average degree of membership of observations 𝑖𝑖 in 𝐴𝐴, as formalized in Formula 34. 𝑃𝑃 𝐴𝐴 ≈ 𝑝𝑝 𝐴𝐴 = 𝜇𝜇 (𝑖𝑖) 𝑛𝑛 Formula 34 By application of Formula 34 to Formula 31, the likelihood of ordinal fuzzy hypothesis 𝐻𝐻, given ordinal fuzzy evidence 𝐸𝐸, can be defined as a conditional probability of fuzzy events, as shown in Formula 35. 45 𝐿𝐿 𝐻𝐻 𝐸𝐸) = 𝑝𝑝(𝐸𝐸|𝐻𝐻) = 𝜇𝜇∩ (𝑖𝑖) 𝜇𝜇 (𝑖𝑖) Formula 35 The question of the metaphysical problem of induction is: what is the substance of induction? In what kind of material does the difference between reliable and unreliable inductive inference exist? The importance of this question cannot be underestimated, since reliable induction enables prediction. A possible answer could be that the substance of an induction is the amount of information contained in the inference. This answer presupposes that information is a realist category, as suggested by Chmielecki (1998). According to Shannon’s information theory (Shannon, 1948), the information contained in evidence 𝑥𝑥 about hypothesis 𝑦𝑦 is equal to the difference between the uncertainty (entropy), 𝐻𝐻(𝑦𝑦), about the hypothesis 𝑦𝑦 and the resulting uncertainty, 𝐻𝐻 (𝑦𝑦), after observation of the evidence 𝑥𝑥, 𝐼𝐼 𝑥𝑥, 𝑦𝑦 = 𝐻𝐻 𝑦𝑦 − 𝐻𝐻 𝑦𝑦 = Σ Σ 𝑝𝑝(𝑥𝑥 ∧ 𝑦𝑦)log 𝑝𝑝 𝑥𝑥 ∧ 𝑦𝑦 / 𝑝𝑝 𝑥𝑥 𝑝𝑝 𝑦𝑦 . Shannon’s quantity of information is defined in terms of joint probabilities. However, by application of Shannon’s theory, the metaphysical problem of induction is transferred to a metaphysical problem of probabilities because, according to Shannon, the basic substance of information is the probability of two signals occurring simultaneously compared to the probability of occurring individually. (One could link this solution to the concept of quantum physical particle probability waves [Greene, 2011], but this would go beyond the scope of this thesis and would be highly speculative; therefore, this link is not explored here. Suffice it to state that probability apparently is a fundamental construct of matter and waves as well as of information and induction.) 2.3.2 Inductive Classification Inductive classification is the process of assigning individuals to a set based on a classification predicate derived by an inductive inference. Inductive classification can be automated as a form of supervised machine learning (Witten & Frank, 2005): a class of processes (algorithms or heuristics) that learn from examples to decide whether an individual, 𝑖𝑖, belongs to a given class, 𝑦𝑦, based on its attributes. Generally, supervised machine learning processes induce a model from a dataset, which generalizes associations in the data in order to provide support for inductive inference. This model can be used for predicting the class membership of new data elements. Induced classification models, called classifiers, are first trained using a training set with known class membership. Then, they are applied to a test or prediction set in order to derive class membership predictions. Examples of 46 classification learning algorithms that result in classifications are decision trees, classification rules, and association rules. In those cases, the model consists of logical formulae of attribute values, which predict a crisp class value. Data are signs (signals) that represent knowledge such as numbers, characters, or bits. The basis for automated data analysis is a systematic collection of data on individuals. The most frequently used data structure for analytics is the matrix, in which every individual, 𝑖𝑖 (a customer, a transaction, a website, etc.), is represented by a row, and every attribute, 𝑋𝑋 , is represented by a column. Every characteristic, 𝑋𝑋 (𝑖𝑖), of individual 𝑖𝑖 for attribute 𝑋𝑋 is represented by one scalar value within the matrix. A training dataset 𝑑𝑑 is an 𝑚𝑚× 𝑛𝑛 + 1 matrix with 𝑚𝑚 rows, 𝑛𝑛 columns for 𝑋𝑋 , … , 𝑋𝑋 and a column 𝑌𝑌 indicating the actual class membership. The columns 𝑋𝑋 , 1 ≤ 𝑘𝑘 ≤ 𝑛𝑛 are called analytic variables, and 𝑌𝑌 is called the target variable, which indicates membership in a target class 𝑦𝑦. In case of a binary classification, for each row index 𝑖𝑖, the label 𝑌𝑌(𝑖𝑖) is equal to 1 if and only if individual 𝑖𝑖 is in class 𝑦𝑦 (Formula 36). 𝑌𝑌(𝑖𝑖) ∶= 1 0 if 𝑖𝑖 ∈ 𝑦𝑦 else. Formula 36 A machine learning process for inductive sharp classification generates a model 𝑀𝑀 (𝑖𝑖), mapping from the Cartesian product of the analytic variable ranges into the set {0,1}, indicating inductive support for the hypothesis that 𝑖𝑖 ∈ 𝑦𝑦. As discussed in the section on induction, the model should provide support for inductive inferences about an individual’s class membership: Given 𝑀𝑀 (𝑖𝑖) = 1, the likelihood of 𝑖𝑖 ∈ 𝑦𝑦 should be greater than the likelihood of 𝑖𝑖 ∉ 𝑦𝑦. The inductive model 𝑀𝑀 can be applied for prediction to a new dataset with unknown class indicator, which is either a test set for performance evaluation or a prediction set, where the model is applied to forecast class membership of new data. The test set or prediction set 𝑑𝑑′ has the same structure as the training set 𝑑𝑑, except that the class membership is unknown, and thus, the target variable 𝑌𝑌 is empty. The classifier 𝑀𝑀 , derived from the training set, can be used for predicting the class memberships of representations of individuals 𝑖𝑖 ∈ 𝑑𝑑. The model output prediction 𝑀𝑀 (𝑖𝑖) yields an inductive classification defined by 𝑖𝑖 𝑀𝑀 𝑖𝑖 = 1}. In order to evaluate the quality of prediction of a crisp classifier model, several measures can be computed. In this section, likelihood 47 ratio and Pearson correlation are mentioned. The greater the ratio between likelihood for target class membership, given a positive prediction, and the likelihood for target class membership, given a negative prediction, the better the inductive support of the model. Thus, the predictive model can be evaluated by the likelihood ratio of target class membership given the model output (Formula 37). 𝐿𝐿𝐿𝐿 𝑌𝑌 𝑖𝑖 = 1 | 𝑀𝑀 𝑖𝑖 = 1 ∶= 𝑝𝑝 𝑀𝑀 𝑖𝑖 = 1 | 𝑌𝑌 𝑖𝑖 = 1 𝑝𝑝 𝑀𝑀 𝑖𝑖 = 1 | 𝑌𝑌 𝑖𝑖 = 0 Formula 37 Working with binary or Boolean target indicators and model indicators allows the evaluation of predictive quality by a measure of correlation of the two variables 𝑀𝑀 and 𝑌𝑌 (Formula 38). The correlation between two numerical variables can be measured by the Pearson correlation coefficient as the ratio between the covariance of the two variables and the square root of the product of individual variances (Weisstein, 2010b). corr 𝑀𝑀 , 𝑌𝑌 = 𝐸𝐸 𝑀𝑀 − avg 𝑀𝑀 𝑌𝑌 − avg 𝑌𝑌 stddev 𝑀𝑀 ∙ stddev(𝑌𝑌) Formula 38 The advantage of the correlation coefficient is its availability in database systems. Every standard SQL (structured query language) database has an implementation of correlation as an aggregate function. Thus, using the correlation coefficient, evaluating the predictive performance of a model in a database is fast and simple. However, it is important to stress that evaluating predictions with a measure of correlation is only meaningful if the target variable as well as the predictive variable are Boolean, Zadehan, or numeric in nature. It will not work for ordinal or categorical target classes, except if they are transformed into a set of Boolean variables. For example, in database marketing, the process of target group selection uses classifiers to select customers who are likely to buy a certain product. In order to do this, a classifier model can be computed in the following way: Given set of customers 𝐶𝐶, we know whether they have bought product 𝐴𝐴 or not. Let 𝑐𝑐 be an individual customer, and 𝐶𝐶 be the set of customers who bought product 𝐴𝐴. Then, the value 𝑌𝑌(𝑐𝑐) of target variable 𝑌𝑌 for customer 𝑐𝑐 is defined in Formula 39. 48 𝑌𝑌(𝑐𝑐) = 1 0 if 𝑐𝑐 ∈ 𝐶𝐶 else. Formula 39 The analytic variables for customers are selected from every known customer attribute, such as age, location, transaction behavior, recency, frequency, and monetary value of purchase. The aim of the classifier induction process is to learn a model, 𝑀𝑀 , that provides a degree of support for the inductive inference that a customer is interested in the target product 𝐴𝐴. This prediction, 𝑀𝑀 (c) ∈ {0,1}, should provide a better likelihood to identify potential buyers of product 𝐴𝐴, and it should optimally correlate with the actual product usage of existing and future customers. 49 50 2.4 Inductive Fuzzy Classification The understanding of IFC in the proposed research approach is an inductive gradation of the degree of membership of individuals in classes In many interpretations, the induction step consists of learning fuzzy rules (e.g., Dianhui, Dillon, & Chang, 2001; Hu, Chen, & Tzeng, 2003; Roubos, Setnes, & Abonyi, 2003; Wang & Mendel, 1992). In this thesis, IFC is understood more generally as inducing membership functions to fuzzy classes and assigning individuals to those classes. In general, a membership function can be any function mapping into the interval between 1 and 0. Consequently, IFC is defined as the process of assigning individuals to fuzzy sets for which membership functions are generated from data so that the membership degrees are based on an inductive inference. An inductive fuzzy class, 𝑦𝑦′, is defined by a predictive scoring model, 𝑀𝑀 : 𝑈𝑈 → [0,1], for membership in a class, 𝑦𝑦. This model represents an inductive membership function for 𝑦𝑦′, which maps from the universe of discourse 𝑈𝑈 into the interval between 0 and 1 (Formula 40). 𝜇𝜇 : 𝑈𝑈 → [0,1] ∶= 𝑀𝑀 Formula 40 𝜏𝜏 “𝑖𝑖 𝑖𝑖𝑖𝑖 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙 𝑎𝑎 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑜𝑜𝑜𝑜 𝑦𝑦” ≔ 𝑀𝑀 (𝑖𝑖) Formula 41 Consider the following fuzzy classification predicate 𝑃𝑃 𝑖𝑖, 𝑦𝑦 : = “𝑖𝑖 is likely a member of 𝑦𝑦. ” This is a fuzzy proposition (Zadeh, 1975a) as a function of 𝑖𝑖 and 𝑦𝑦, which indicates that there is inductive support for the conclusion that individual 𝑖𝑖 belongs to class 𝑦𝑦. The truth function, 𝜏𝜏 , of this fuzzy propositional function can be defined by the membership function of an inductive fuzzy class, 𝑦𝑦′. Thus, 𝑃𝑃(𝑖𝑖, 𝑦𝑦) is a fuzzy restriction on 𝑈𝑈 defined by 𝜇𝜇 (Formula 41). In practice, any function that assigns values between 0 and 1 to data records can be used as a fuzzy restriction. The aim of IFC is to calculate a membership function to a fuzzy set of likely members in the target class. Hence, any type of classifier with a normalized numeric output can be viewed as an inductive membership function to the target class, or as a truth function for the fuzzy proposition 𝑃𝑃 𝑖𝑖, 𝑦𝑦 . State of the art methods for IFC in that sense include linear regression, logistic regression, naïve Bayesian classification, neural networks, fuzzy classification trees, and fuzzy rules. These are classification methods 51 yielding numerical predictions that can be normalized in order to serve as a membership function to the inductive fuzzy class 𝑦𝑦 (Formula 42). 2.4.1 𝑦𝑦 ≔ 𝑖𝑖 ∈ 𝑈𝑈 𝑖𝑖 𝑖𝑖𝑖𝑖 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙 𝑎𝑎 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑜𝑜𝑜𝑜 𝑦𝑦 Formula 42 Univariate Membership Function Induction This section describes methods to derive membership functions for one variable based on inductive methods. First, unsupervised methods are described, which do not require learning from a target class indicator. Second, supervised methods for predictive membership functions are proposed. Numerical attributes can be fuzzified in an unsupervised way, that is, without a target variable, by calculating a membership function to a fuzzy class x is a large number, denoted by the symbol ↑: the fuzzy set of attribute values that are large relative to the available data. This membership function, 𝜇𝜇↑ : dom 𝐶𝐶 ⟶ 0,1 , maps from the attribute domain of the target variable into the set of Zadehan truth values. This unsupervised fuzzification serves two purposes. First, it can be used to automatically derive linguistic interpretations of numerical data, such as “large” or “small.” Second, it can be used to transform numerical attributes into Zadehan target variables in order to calculate likelihoods of fuzzy events. There are two approaches proposed here to compute a membership function to this class: percentile ranks and linear normalization based on minimum and maximum. For a numeric or ordinal variable 𝑋𝑋 with a value 𝑥𝑥 𝜖𝜖 dom(𝑋𝑋), the percentile rank (PR) is equal to the sampled probability that the value of the variable 𝑋𝑋 is smaller than 𝑥𝑥. This sampled probability is calculated by the percentage of values in dom(𝑋𝑋) that are smaller than or equal to 𝑥𝑥. This sampled probability can be transformed into a degree of membership in a fuzzy set. Inductively, the sampled probability is taken as an indicator for the support of the inductive inference that a certain value, 𝑋𝑋 , is large in comparison to the distribution of the other attribute values. The membership degree of 𝑥𝑥 in the fuzzy class “relatively large number”, symbolized by ↑, is then defined as specified in Formula 43. 𝜇𝜇↑ 𝑥𝑥 ∶= 𝑝𝑝 𝑋𝑋 < 𝑥𝑥 Formula 43 For example, customers can be classified by their profitability. The percentile rank of profitability can be viewed as a membership function 52 of customers in the fuzzy set ↑ of customers with a high profitability. Figure 9 shows an example of an IFC-PR of customer profitability for a financial service provider. 1.00 0.90 0.80 0.70 0.60 0.50 0.40 0.30 0.20 0.10 0.00 -1'000 -500 0 500 1'000 Customer Profitability High Low Figure 9: Unsupervised IFC by percentile rank. Adapted from “An Inductive Approach to Fuzzy Marketing Analytics,” by M. Kaufmann, 2009, In M. H. Hamza (Ed.), Proceedings of the 13th IASTED International Conference on Artificial Intelligence and Soft Computing: Copyright 2009 by Publisher. A simpler variant of unsupervised fuzzification for generating a membership function for a relatively large number (↑) is linear normalization (IFC-LN). For a numerical attribute 𝐶𝐶, it is defined as the relative distance to the minimal attribute value, as specified in Formula 44. 𝜇𝜇↑ 𝐶𝐶 𝑖𝑖 ∶= 𝐶𝐶 𝑖𝑖 − min 𝐶𝐶 max 𝐶𝐶 − min 𝐶𝐶 Formula 44 For the membership function induction (MFI) methods in the following sections, the target variable for supervised induction must be a Zadehan variable, 𝑌𝑌: 𝑈𝑈 ⟶ 0,1 , mapping from the universe of discourse (the set of possible individuals) into the interval of Zadehan 53 truth values between 0 and 1. Thus, 𝑌𝑌(𝑖𝑖) indicates the degree of membership of individual 𝑖𝑖 in the target class 𝑦𝑦. In the special case of a Boolean target class, 𝑌𝑌(𝑖𝑖) is equal to 1 if 𝑖𝑖 ∈ 𝑦𝑦, and it is equal to 0 if 𝑖𝑖 ∉ 𝑦𝑦. In the analytic training data, a target class indicator 𝑌𝑌 can be deduced from data attributes in the following way: o If an attribute, 𝐴𝐴, is Zadehan with a range between 0 and 1, it can be defined directly as the target variable. In fact, if the variable is Boolean, this implies that it is also Zadehan, because it is a special case (Formula 45). Zadehan 𝐴𝐴 ⟹ 𝜇𝜇 𝑖𝑖 ∶= 𝐴𝐴(𝑖𝑖) o If an attribute, 𝐵𝐵, is categorical with a range of 𝑛𝑛 categories, it can be transformed into 𝑛𝑛 Boolean variables 𝜇𝜇 ( k = 1, 2, … , n ), where 𝜇𝜇 (𝑖𝑖) indicates whether record 𝑖𝑖 belongs to class 𝑘𝑘, as specified by Formula 46. categorical 𝐵𝐵 ⟹ 𝜇𝜇 (𝑖𝑖) ∶= o Formula 45 1 0 if 𝐵𝐵(𝑖𝑖) = 𝑘𝑘 else. Formula 46 If an attribute, 𝐶𝐶, is numeric, this thesis proposes application of an unsupervised fuzzification, as previously specified, in order to derive a Zadehan target variable, as formalized in Formula 47. This is called an inductive target fuzzification (ITF). numerical 𝐶𝐶 ⟹ 𝜇𝜇 𝑖𝑖 ∶= 𝜇𝜇↑ 𝐶𝐶 𝑖𝑖 Formula 47 The second approach for univariate membership function induction is supervised induction based on a target variable. In order to derive membership functions to inductive fuzzy classes for one variable based on the distribution of a second variable, it is proposed to normalize comparisons (ratios and differences) of likelihoods for membership function induction. For example, a normalized likelihood ratio can represent a membership degree to an inductive fuzzy class. 54 The basic idea of inductive fuzzy classification based on normalized likelihood ratios (IFC-NLR) is to transform inductive support of target class membership into a membership function with the following properties: The higher the likelihood of 𝑖𝑖 ∈ 𝑦𝑦 in relation to 𝑖𝑖 ∉ 𝑦𝑦, the greater the degree membership of 𝑖𝑖 in 𝑦𝑦 . For an attribute 𝑋𝑋, the NLR function calculates a membership degree of a value 𝑥𝑥 𝜖𝜖 dom(𝑋𝑋) in the predictive class 𝑦𝑦 , based on the likelihood of target class membership. The resulting membership function is defined as a relation between all values in the domain of the attribute 𝑋𝑋 and their NLRs. As discussed in Section 2.3.1, following the principle of likelihood (Hawthorne, 2008), the ratio between the two likelihoods is an indicator for the degree of support for the inductive conclusion that 𝑖𝑖 ∈ 𝑦𝑦, given the evidence that 𝑋𝑋(𝑖𝑖) = 𝑥𝑥. In order to transform the likelihood ratio into a fuzzy set membership function, it can be normalized in the interval between 0 and 1. Luckily, for every ratio, R = A/B, there exists a normalization, N = A/(A+B), having the following properties: o N is close to 0 if R is close to 0. o N is close to 1 if R is a large number. o N is equal to 0.5 if and only if R is equal to 1. This kind of normalization is applied to the aforementioned likelihood ratio in order to derive the NLR function. Accordingly, the membership µ of an attribute value x in the target class prediction y’ is defined by the corresponding NLR, as formalized in Formula 48. µ y ' ( x) := NLR( y | x) = L( y | x ) L( y | x) + L(¬y | x) Formula 48 In fact, one can demonstrate that the NLR function is equal to the posterior probability of y, conditional to x, if both hypotheses y and ¬y are assumed to be of equal prior probability (Formula 52), by application of the second form of Bayes’ theorem (Joyce, 2003), as presented in Formula 50. The trick is to express the probability of the evidence p(x) in terms of a sum of products of prior probabilities, p0, and measured likelihoods, L, of the hypothesis and its alternative by application of Formula 33. 55 Theorem. NLR ( y | x) = p( y | x) ⇔ p0 ( y) = p0 (¬y) Proof. Formula 49 p0 (y)L(y | x) (c.f. Formula 36) p(x) p0 (y)L(y | x) = p0 (y)L(y | x) + p0 (¬y)L(¬y | x) p(y | x) = [if p(x) = p(y)p(x | y) + p(¬y)p(x |¬y) and p(y) := p0 (y) and p(x | y) := L(y | x)] Formula 50 L(y | x) [if p0 (y) :=: p0 (¬y)] L(y | x) + L(¬y | x) =: NLR(y | x), q.e.d. = Alternatively, two likelihoods can be compared by a normalized difference, as shown in Formula 51. In that case, the membership function is defined by a normalized likelihood difference (NLD), and its application for classification is called inductive fuzzy classification by normalized likelihood difference (IFC-NLD). In general, IFC methods based on normalized likelihood comparison can be categorized by the abbreviation IFC-NLC. µ y ' ( x) := NLD ( y | x) = L( y | x) − L(¬y | x) + 1 2 Formula 51 If a target attribute is continuous, it can be mapped into the Zadehan domain of numeric truth-values between 0 and 1, and membership degrees can be computed by a normalized ratio of likelihoods of fuzzy events. If the target class is fuzzy, for example because the target variable is gradual, the likelihoods are calculated by fuzzy conditional relative frequencies based on fuzzy set cardinality (Dubois & Prade, 1980). Therefore, the formula for calculating the likelihoods is generalized in order to be suitable for both sharp and fuzzy characteristics. Thus, in the general case of variables with fuzzy truth-values, the likelihoods are calculated as defined in Formula 52. 56 n ∑ µ L( y | x) := ∑ i =1 x n i =1 (i ) µ y (i ) µ y (i) Formula 52 n L(¬y | x) := ∑ µ (i)(1 − µ (i)) ∑ (1 − µ (i)) i =1 x y n i =1 y Accordingly, the calculation of membership degrees using the NLR function (Formula 52) works for both categorical and fuzzy target classes and for categorical and fuzzy analytic variables. For numerical attributes, the attribute values can be discretized using quantiles, and a piecewise linear function can be approximated to average values in the quantiles and the corresponding NLR. A membership function for individuals based on their attribute values can be derived by aggregation, as explained in Section 2.4.2. Following the different comparison methods for conditional probabilities described by Joyce (2003), different methods for the induction of membership degrees using conditional probabilities are proposed in Table 1. They have been chosen in order to analytically test different Bayesian approaches listed by Joyce (2003) for their predictive capabilities. Additionally, three experimental measures were considered: logical equivalence, normalized correlation, and a measure based on minimum and maximum. In those formulae, 𝑥𝑥 and 𝑦𝑦 are assumed to be Zadehan with a domain of [0,1] or Boolean as a special case. These formulae are evaluated as parameters in the meta-induction experiment described in Section 4.2. Table 1 Proposed Formulae for Induction of Membership Degrees Method Formula Likelihood of y given x (L) 𝐿𝐿 𝑦𝑦 𝑥𝑥 = 𝑝𝑝(𝑥𝑥|𝑦𝑦) Normalized likelihood ratio (NLR) Normalized likelihood ratio unconditional (NLRU) Normalized likelihood difference (NLD) Normalized likelihood difference unconditional (NLDU) 𝑁𝑁𝑁𝑁𝑁𝑁 𝑦𝑦 𝑥𝑥 = 𝑝𝑝 𝑥𝑥 𝑦𝑦 𝑝𝑝 𝑥𝑥 𝑦𝑦 + 𝑝𝑝 𝑥𝑥 ¬𝑦𝑦 𝑁𝑁𝑁𝑁𝑁𝑁 𝑦𝑦 𝑥𝑥 = 𝑝𝑝 𝑥𝑥 𝑦𝑦 − 𝑝𝑝 𝑥𝑥 ¬𝑦𝑦 + 1 2 𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁 𝑦𝑦 𝑥𝑥 = 𝑝𝑝 𝑥𝑥 𝑦𝑦 𝑝𝑝 𝑥𝑥 𝑦𝑦 + 𝑝𝑝(𝑥𝑥) 𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁 𝑦𝑦 𝑥𝑥 = 𝑝𝑝 𝑥𝑥 𝑦𝑦 − 𝑝𝑝(𝑥𝑥) + 1 2 57 Conditional probability of y given x (CP) Normalized probability ratio (NPR) Normalized probability ratio unconditional (NPRU) Normalized probability difference (NPD) Normalized probability difference unconditional (NPDU) Equlivalence - if and only if (IFF) 𝑝𝑝(y|𝑥𝑥) 𝑁𝑁𝑁𝑁𝑁𝑁 𝑦𝑦 𝑥𝑥 = 𝑝𝑝 𝑦𝑦 𝑥𝑥 𝑝𝑝 𝑦𝑦 𝑥𝑥 + 𝑝𝑝 𝑦𝑦 ¬𝑥𝑥 𝑁𝑁𝑁𝑁𝑁𝑁 𝑦𝑦 𝑥𝑥 = 𝑝𝑝 𝑦𝑦 𝑥𝑥 − 𝑝𝑝 𝑦𝑦 ¬𝑥𝑥 + 1 2 𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁 𝑦𝑦 𝑥𝑥 = 𝑝𝑝 𝑦𝑦 𝑥𝑥 𝑝𝑝 𝑦𝑦 𝑥𝑥 + 𝑝𝑝(𝑦𝑦) 𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁 𝑦𝑦 𝑥𝑥 = 𝑝𝑝 𝑦𝑦 𝑥𝑥 − 𝑝𝑝(𝑦𝑦) + 1 2 Minimum – maximum (MM) avg 1−x∙ 1−y Normalized correlation (NC) min∈() 𝑝𝑝 𝑦𝑦 𝑧𝑧 ∙ 1−y∙ 1−x 𝑝𝑝 𝑦𝑦 𝑥𝑥 + min∈() 𝑝𝑝 𝑦𝑦 𝑧𝑧 corr(x, 𝑦𝑦) + 1 2 + max∈() 𝑝𝑝 𝑦𝑦 𝑧𝑧 A method for discretization of a numerical range is the calculation of quantiles or n-tiles for the range of the analytical variable. A quantile discretization using n-tiles partitions the variable range into n intervals having the same number of individuals. The quantile 𝑄𝑄 𝑖𝑖 for an attribute value 𝑍𝑍(𝑖𝑖), of a numeric attribute 𝑍𝑍 and an individual 𝑖𝑖, is calculated using Formula 53, where 𝑛𝑛 is the number of quantiles, 𝑚𝑚 is the total number of individuals or data records, 𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 (𝑖𝑖) is the position of the individual in the list of individuals sorted by their values of attribute 𝑍𝑍, and 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡(𝑟𝑟) is the closest integer that is smaller than the real value 𝑟𝑟. 𝑄𝑄 𝑖𝑖 ∶= 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑛𝑛 𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 𝑖𝑖 − 1 𝑚𝑚 Formula 53 The rank of individual 𝑖𝑖 relative to attribute 𝑍𝑍, 𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 𝑖𝑖 , in a dataset 𝑆𝑆 is the number of other individuals, ℎ, that have higher values in attribute 𝑍𝑍, calculated using Formula 54. 𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 (𝑖𝑖) ∶= ℎ ∈ 𝑆𝑆 ∀𝑖𝑖 ∈ 𝑆𝑆: 𝑍𝑍(ℎ) > 𝑍𝑍(𝑖𝑖) Formula 54 In order to approximate a linear function, the method of twodimensional piecewise linear function approximation (PLFA) is proposed. For a list of points in ℝ , ordered by the first coordinate, 𝑥𝑥 , 𝑦𝑦 , 𝑥𝑥 , 𝑦𝑦 , … , 𝑥𝑥 , 𝑦𝑦 , for every point 𝑥𝑥 , 𝑦𝑦 except the last one 58 (𝑖𝑖 = 1,2, … , 𝑛𝑛 − 1), a linear function, 𝑓𝑓 𝑥𝑥 = 𝑎𝑎 𝑥𝑥 + 𝑏𝑏 , can be interpolated to its neighbor point, where 𝑎𝑎 is the slope (Formula 55) and 𝑏𝑏 is the intercept (Formula 56) of the straight line. 𝑎𝑎 ∶= 𝑦𝑦 − 𝑦𝑦 𝑥𝑥 − 𝑥𝑥 𝑏𝑏 ∶= 𝑦𝑦 −𝑎𝑎 𝑥𝑥 Formula 55 Formula 56 For the calculation of membership degrees for quantiles, the input is a list of points with one point for every quantile k. The first coordinate is the average of the attribute values in k. The second coordinate is the inductive degree of membership µ y ' in target class y, given Z(i) is in quantile k, for example derived using the NLR function. y k := µ y ' (k ) xk := avg{Z (i ) | QnZ (i ) = k} Formula 57 Finally, a continuous, piecewise affine membership function can be calculated, truncated below 0 and above 1, and is composed of straight lines for every quantile k = 1, …, n − 1; n ≥ 2 of the numeric variable Z (Formula 58). ⎧0 ⎪a x + b 1 ⎪ 1 ⎪ ⎪ µ y ( x) := ⎨ak x + bk ⎪ ⎪ ⎪an−1 x + bn−1 ⎪ ⎩1 | a1 x + b1 ≤ 0 ∨ an−1 x + bn−1 ≤ 0 | x ≤ x2 | xk < x ≤ xk +1 Formula 58 | x > xn−1 | a1 x + b1 ≥ 1 ∨ an−1 x + bn−1 ≥ 1 The number of quantiles can be optimized, so that the correlation of the membership function with the target variable is optimal, as illustrated in Figure 10. 59 Figure 10: Computation of membership functions for numerical variables. 2.4.2 Multivariate Membership Function Induction As shown in Figure 11, the proposed process for inducing a multivariate inductive fuzzy class consists of preparing the data, inducing univariate membership functions for the attributes, transforming the attribute values into univariate target membership degrees, classifying individuals by aggregating the fuzzified attributes into a multivariate fuzzy classification, and evaluating the predictive performance of the resulting model. Figure 11: Proposed method for multivariate IFC. The idea of the process is to develop a fuzzy classification that ranks the inductive membership of individuals, 𝑖𝑖, in the target class 𝑦𝑦 gradually. This fuzzy classification will assign individuals an inductive membership degree to the predictive inductive fuzzy class 𝑦𝑦′ using the multivariate model 𝜇𝜇 . The higher the inductive degree of membership 𝜇𝜇 (𝑖𝑖) of an individual in 𝑦𝑦′, the greater the degree of inductive support for class membership in the target class 𝑦𝑦. 60 In order to accomplish this, a training set is prepared from source data, and the relevant attributes are selected using an interestingness measure. Then, for every attribute 𝑋𝑋 , a membership function, 𝜇𝜇 : dom 𝑋𝑋 ⟶ [0,1], is defined. Each 𝜇𝜇 is induced from the data such that the degree of membership of an attribute value 𝑋𝑋 (𝑖𝑖) in the inductive fuzzy class 𝑦𝑦′ is proportional to the degree of support for the inference that 𝑖𝑖 ∈ 𝑦𝑦. After that, in the univariate classification step, each variable, 𝑋𝑋 , is fuzzified using 𝜇𝜇 . The multivariate fuzzy classification step consists of aggregating the fuzzified attributes into one multivariate model, 𝜇𝜇 , of data elements that represents the membership function of individual 𝑖𝑖 in 𝑦𝑦′. This inductive fuzzy class corresponds to an IFC that can be used for predictive ranking of data elements. The last step of the process is model evaluation through analyzing the prediction performance of the ranking. Comparing the forecasts with the real class memberships in a test set does this. In the following paragraphs, every step of the IFC process is described in detail. In order to analyze the data, combining data from various sources into a single coherent matrix composes a training set and a test set. All possibly relevant attributes are merged into one table structure. The class label 𝑌𝑌 for the target variable has to be defined, calculated, and added to the dataset. The class label is restricted to the Zadehan domain, as defined in the previous section. For multiclass predictions, the proposed process can be applied iteratively. Intuitively, the aim is to assign to every individual a membership degree in the inductive fuzzy class 𝑦𝑦′. As explained in Section 2.3.1, this degree indicates support for the inference that an individual is a member of the target class 𝑦𝑦. The membership function for 𝑦𝑦′ will be derived as an aggregation of inductively fuzzified attributes. In order to accomplish this, for each attribute, a univariate membership function in the target class is computed, as described in the previous section. Once the membership functions have been induced, the attributes can be fuzzified by application of the membership function to the actual attribute values. In order to do so, each variable, 𝑋𝑋 , is transformed into an inductive degree of membership in the target class. The process of mapping analytic variables into the interval [0, 1] is an attribute fuzzification. The resulting values can be considered a membership degree to a fuzzy set. If this membership function indicates a degree of support for an inductive inference, it is called an inductive attribute fuzzification (IAF), and this transformation is denoted by the symbol ⇝ in Formula 59. 𝑋𝑋 i ⇝ 𝜇𝜇 𝑋𝑋 i Formula 59 61 The most relevant attributes are selected before the IFC core process takes place. The proposed method for attribute selection is a ranking of the Pearson correlation coefficients (Formula 38) between the inductively fuzzified analytic variables and the (Zadehan) target class indicator Y. Thus, for every attribute, 𝑋𝑋 , the relevance regarding target 𝑦𝑦 is defined as the correlation of its inductive fuzzification with the target variable (see Section 3.1.1). In order to obtain a multivariate membership function for individuals 𝑖𝑖 derived from their fuzzified attribute values 𝜇𝜇 𝑋𝑋 𝑖𝑖 , their attribute value membership degrees are aggregated. This corresponds to a multivariate fuzzy classification of individuals. Consequently, the individual’s multivariate membership function 𝜇𝜇 : 𝑈𝑈 ⟶ [0,1] to the inductive fuzzy target class 𝑦𝑦′ is defined as an aggregation, 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎, of the membership degrees of 𝑛𝑛 attributes, 𝑋𝑋 , 𝑘𝑘 = 1,2, … , 𝑛𝑛 (Formula 60). 𝜇𝜇 𝑖𝑖 ∶= 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝜇𝜇 𝑋𝑋 𝑖𝑖 , … , 𝜇𝜇 𝑋𝑋 𝑖𝑖 Formula 60 By combining the inductively fuzzified attributes into a multivariate fuzzy class of individuals, a multivariate predictive model, 𝜇𝜇 , is obtained from the training set. This corresponds to a classification of individuals by the fuzzy proposition “𝑖𝑖 is likely a member of 𝑦𝑦,” for which the truth value is defined by an aggregation of the truth values of fuzzy propositions about the individual’s attributes, 𝑋𝑋 𝑖𝑖 is 𝑦𝑦′. This model can be used for IFC of unlabeled data for predictive ranking. Applying an alpha cutoff, 𝑖𝑖 𝜇𝜇 (𝑖𝑖) ≥ 𝛼𝛼 , an 𝛼𝛼 ∈ [0,1] leads to a binary classifier. There are different possibilities for calculating the aggregation, 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎. Simpler methods use an average of the attribute membership degrees, logical conjunction (minimum, algebraic product), or logical disjunction (maximum, algebraic sum). More sophisticated methods involve the supervised calculation of a multivariate model. In this thesis, normalized or cutoff linear regression, logistic regression, and regression trees are considered. These different aggregation methods were tested as a parameter in the meta-induction experiment described in Section 4.2 in order to find an optimal configuration. Finally, in order to evaluate predictive performance, the classifier is applied to a hold-out test set, and the predictions 𝜇𝜇 𝑖𝑖 are compared with the actual target variable (𝑖𝑖). The correlation between the prediction and the target, corr 𝜇𝜇 , 𝑌𝑌 , can be used to compare the performance of different IFC models. 62 3 Analytics & Marketing 3.1 Analytics Analytics is “the method of logical data analysis” (merriamwebster.com, 2012a). According to Zimmermann (1997), data analysis is the “search for structure in data”. The more data is available, the more complex it becomes to find relevant information. Consequently, organizations and individuals analyze their data in order to gain useful insights. Business analytics is defined as “a broad category of applications and techniques for gathering, storing, analyzing and providing access to data to help enterprise users make better business and strategic decisions” (Turban, Aronson, Liang, & Sharda, 2007, p. 256). The ability of enterprises to analyze the potentially infinite space of available data—their capacity of business analytics—is a major competitive advantage. Companies that use analytics as key strategies are called “analytics competitors” by Davenport (2006, p. 3). They can differentiate themselves through a better customer understanding in a time when products and technologies are becoming more and more comparable. Analytics competitors apply predictive modeling to a wide range of fields, such as customer relationship management, supply chain management, pricing, and marketing. Their top management understands and advocates that most business functions can benefit from quantitative optimization. In fact, business analytics can be applied to almost any area that concerns an enterprise: o Customer relationship management (CRM): Prediction of the most appropriate customer relationship activity. o Web analytics: Optimization of the website according to click stream analysis. o Compliance: Prediction of illegal behavior such as fraud or money laundering. o Risk management: Prediction of credit worthiness. o Strategic management: Visualization of customer profiles for product or market strategies. o Marketing: Prediction of customer product affinity. Kohavi, Rothleder, and Simoudis (2002) identified comprehensibility and integration as the driving forces of emerging trends in business analytics. Today, good business analytics is either comprehensible or integrated: Human decision makers need 63 interpretable, visual, or textual models in order to understand and apply analytic insights in their daily business. Contrarily, information systems demand machine readable, integrated automated interfaces from analytic applications to operational systems in order to apply scorings or classifications in automated processes. In order to enhance the data basis for analytics, large data pools, such as data warehouses, have been built. Today, the problem is no longer the lack of data, but the abundance of it. Data mining (in the broader sense) is “the process of discovering patterns in data”. In a more narrow sense, those “structural patterns” help not only to explain the data but also to make “nontrivial predictions on new data” (Witten & Frank, 2005, p. 5). The common aspect of the two definitions is the discovery of patterns in data. In contrast, the second definition emphasizes the inductive aspect of data mining, namely prediction. Data mining, in its broader sense, means any form of discovery of knowledge in data, whereas in the narrower sense, it means model induction for prediction using statistics and machine learning. One aim of data mining is the induction of models for datasets. If applied correctly, models not only describe the past, but also help to forecast the future. Successful data mining is a practical demonstration of inductive logic. There are two categories of machine learning: non-supervised and supervised learning. The former extracts models such as clusters or association rules from data without labels. The latter induces a model for labeled data, representing the relationship between the data and the label. Continuous labels lead to regression models, and categorical ones lead to classification models or classifiers. Descriptive data analysis presents data as is, that is, it describes the data without generalization or conclusion. It is completely deductive, because the numbers are true without need for inductive support. In a business context, this is often called reporting. A report is an understandable tabular or graphical representation of relevant data. Usually, methods of classification and aggregation are applied to consolidate data into meaningful information. Frequently applied techniques for descriptive data analysis are deductive classification, aggregation, and grouping. For deductive classification, data records are classified according to an a priori predicate. Therefore, the class membership is known in advance. Aggregation is the calculation of a scalar value from a vector or set, such as sums, averages, or extrema. Often, these aggregations are grouped by one or more variables. In such cases, the aggregated values are calculated for each combination of values in the grouping variables For example, the average cost and benefit per customer segment could be an interesting data description for many companies. An important part of descriptive data analysis is the presentation of the results. The raw output of an analysis is usually 64 a matrix or table, but human decision makers are usually managers that want to decide quickly and intuitively based on insights that can be understood. Therefore, visualization of data descriptions can help increase the understanding of analytic insights. Data descriptions might indicate certain conclusions or inferences that cannot be directly deduced from the data. For example, if twice as many women than men have bought a certain product, an inference could be that women are more likely to buy this product in the future. The question, therefore, is, what kind of inductive inferences can be made from the given data descriptions, and how high is the degree of support in the data for this kind of inductive inference? There are two important inductive techniques in data analysis: attribute selection and prediction. In data abundance, not only the number of available records is incredibly large but also the number of available attributes. Automated attribute selection applies statistical and machine learning techniques for a ranking of association between attributes and a prediction target, and thus filters out the most relevant attributes for inductive inferences regarding a target class. Prediction means inference of an unknown feature (a target variable) from known features (the analytic variables). This can be accomplished to a certain degree of likelihood using a model induced by methods from statistics or machine learning. There are two kinds of predictions: inductive classification and regression. Inductive classification means predicting a categorical target variable, and regression means predicting a numerical target variable. Fuzzy classification is a special case in which the prediction consists of a numeric value indicating the gradual membership in a category. Insights from analytics are traditionally presented to human decision makers as tables and graphics. Today, more and more analytic results are loaded automatically from analytic systems into operational systems, a concept that is called integrated analytics. Those systems can automate certain decision processes or display analytic insights to users of operational systems. Marketing decisions can be automated, such as choosing an individualized advertisement message in the online channel (Kaufmann & Meier, 2009). The process of integrated analytics can be described in five steps. First, analytic data is collected from different sources. Second, a predictive model is induced from the data, either in a supervised form using a target variable or in an unsupervised form of clustering or association analysis. Third, a prediction, classification, or score is assigned to the original data based on the induced model. Fourth, these predictions are transmitted to the operational systems where they are applied to decision support. Finally, outcomes of decision support—for example, sales decisions and 65 actions—are fed back into the analytic data pool for meta-analysis and iterative optimization. Application of fuzzy logic techniques to analytics is called fuzzy data analysis. This permits gradual relationships between data and predictions. The application of fuzzy logic to analytics is appropriate when there is fuzziness in the data, the prediction target, or in the association between the two (Zimmermann H. J., 1997). The advantage of fuzzy classification methods is that the class boundary is not sharp: Patterns detected by fuzzy data mining provide soft partitions of the original data. Furthermore, an object can belong to several classes with different degrees of membership (Zimmermann H. J., 2000). Two main advantages of fuzzy logic techniques pointed out by Hüllermeier (2005) are the elimination of certain threshold effects because of gradual soft data partitioning, and the comprehensibility and interpretability of resulting models containing linguistic terms. Hüllermeier discusses possible fields of application of fuzzy set theory to data mining: Fuzzy cluster analysis partitions a set of objects into several fuzzy sets with similar properties in an unsupervised manner. Learning of fuzzy rules computes decision rules with fuzzy propositions. Fuzzy decision trees are a special case of fuzzy rules in which every node of the tree partitions the data into a fuzzy subset with an optimal distinction criterion. Fuzzy association analysis computes association rules between fuzzy restrictions on variables. Fuzzy classification partitions sharp data into fuzzy sets according to a classification predicate (Meier, Schindler, & Werro, 2008). If this predicate is inferred by induction, the process is called inductive fuzzy classification, or IFC (Kaufmann & Meier, 2009). In business analytics, scoring methods are used for ranking data records according to desirable features. Multivariate methods based on multiple attributes, for instance linear or logistic regression, can predict targets such as customer profitability, product affinity, or credit worthiness. The scores are used in daily decision making. Record scoring based on data in an information system is an inference about unknown target variables, which is not deductive. Rather, it is a form of inductive inference. This introduces fuzziness into decision support because there is only some degree of support for the hypothesis that a given record belongs to a certain class. In fact, statistical models can increase the likelihood of correct inductive classification. Accordingly, for every scored record, there is fuzziness in the membership to the target class. Consequently, fuzzy logic is the appropriate tool for reasoning about those fuzzy target classes. The solution is to compute a continuous membership function mapping from the data into the fuzzy target class to which every record has a degree of membership. Ranking or scoring models yield continuous predictions instead of crisp 66 classifications. Those models can serve as target membership functions. Thus, scoring methods correspond to an IFC. The proposed IFC method provides a means for computing inductive membership functions for a target class. These membership functions can be visualized. Furthermore, they can be used for inductive fuzzification of attributes, which can be applied for attribute selection and for improving predictive models. Thus, the proposed IFC methods can be applied in the following areas of data analysis: o Selection: Attributes can be scored by the correlation of automatically generated inductive membership degrees with a Boolean or Zadehan target class in order to select relevant attributes. o Visualization: Induced membership functions can serve as humanreadable diagrams of association between analytic and target variables using a plot of automatically generated membership functions. o Prediction: Datasets used for prediction can be inductively fuzzified by transforming the original data into inductive target membership degrees, which can improve the correlation of predictions with the actual class membership in existing statistical methods. 3.1.1 Selection In practice, there is an abundance of data available. The problem is to find relevant attributes for a given data mining task. Often, thousands of variables or more are available. Most machine learning algorithms are not suited for such a great number of inputs. Also, human decision makers need to know which of those customer attributes are relevant for their decisions. Therefore, the most relevant attributes need to be selected before they can be used for visualization or prediction. In order to find relevant attributes for predicting a target class y, an attribute selection method can be derived from membership functions induced by IFC, using the method proposed in Section 2.4. All possible analytic variables can be ranked by the correlation coefficient of their NLR with the target variable. For every attribute, Xk, the membership function in the predictive target class y’, denoted by µy’(Xk), is computed. The membership in target y is indicated by a Zadehan variable Y, which is a variable with a domain of gradual truth values in the interval between 0 and 1. Then, the Pearson sample correlation coefficients between the NLR-based membership degrees and the Zadehan values of Y are calculated. Thus, the relevance of attribute Xk regarding target y is defined as the correlation of its inductive 67 fuzzification with the target variable (Formula 61). The most relevant variables are those with the highest correlations. relevance( X k ) := corr ( µ y ' ( X k ), Y ) Formula 61 The fuzzification of analytic variables prior to attribute relevance ranking has the advantage that all types of analytic variables— linguistic, categorical, Boolean, Zadehan, and numeric variables—can be ranked using the same measure. Choosing correlation as a measure of association with the target has the advantage that it is a standard aggregate in SQL, and thus readily available as a well-performing precompiled function in major database systems. To illustrate the proposed method, the attributes of the German credit data are ranked regarding the target class of customers with a good credit rating (Table 2). Those attributes have been inductively fuzzified with NLRs. The Pearson coefficient of correlation between the resulting membership degrees and the Boolean target variable good credit rating has been calculated. One can see that, for a credit rating, checking status, credit history, or duration of customer relationship are quite correlated attributes, whereas for example, the number of existing credits is less relevant. This kind of attribute selection can be used as an input for visualization and prediction. When a target class is defined, the relevant correlated variables can be identified. A visualization of five to ten most relevant variables gives good insights about associations in the data. Table 2 Example of an Attribute Ranking regarding NLR/Target Correlation1 1 Attribute Correlation of NLR with target Checking status 0.379304635 Credit history 0.253024544 Duration 0.235924759 Purpose 0.190281416 Savings status 0.189813415 Credit amount 0.184522282 Housing 0.173987212 Property magnitude 0.157937117 Age 0.136176815 http://archive.ics.uci.edu/ml/datasets/Statlog+(German+Credit+Data) 68 Employment 0.128605942 Personal status 0.093525855 Installment commitment 0.091375548 Other payment plans 0.079139824 Foreign worker 0.077735317 Job 0.061875096 Other parties 0.060046535 Own telephone 0.051481771 Existing credits 0.042703728 Residence since 0.034584104 Num. dependents 0.007769441 3.1.2 Visualization The IFC-NLR method can be applied to create visualizations of associations between an analytic variable (a factor) and a class (a target). A visualization of variable association is a human-readable presentation that allows the reader to see the distribution of target likelihood in tabular form or as a graph. Using IFC for visualization, the table consists of relations between factor values and normalized target likelihood ratios, and the graph results in a plot of the inductive membership function. For categorical factors, the graph is a bar chart. For numerical factors, the membership function is plotted as a continuous line. The advantage of this method is that the notion of membership of a factor X in a target Y is semantically clear and intuitively understandable by readers. Furthermore, the semantics of the NLR function is mathematically clearly defined. As an example, for two variables from the German credit dataset, checking status and duration, the inductive fuzzy membership function in the target class of customers with a good credit rating can be visualized as shown in Figure 12. This graphic can be interpreted as follows: Customers without checking accounts or with a balance of more than $200 are more likely to have good credit histories than not. Customers with a negative balance are more likely to have bad credit ratings. For the duration of the credit (in months), the shorter the duration is, the higher the likelihood of good credit history. Credits with durations of more than 19 months have higher likelihoods of being associated with bad credit histories, and accordingly, the NLR is less than 0.5. 69 Figure 12: Visualization of relevant attributes and their association with the target as an inductive membership function. Adapted from “Fuzzy Target Groups in Analytic Customer Relationship Management,” by M. Kaufmann and C. Graf, 2012, In A. Meier and L. Donzé (Eds.), Fuzzy Methods for Customer Relationship Management and Marketing, p. 1731 Copyright 2012 by Publisher. 70 3.1.3 Prediction A method for the application of likelihood-based IFC to prediction has been introduced by Kaufmann and Meier (2009). The basic idea is to create a multivariate inductive model for target class membership with a combination of inductively fuzzified attributes derived by membership function induction (see Section 2.4). The proposed approach for application of likelihood-based IFC to prediction consists of a univariate inductive fuzzification of analytic variables prior to a multivariate aggregation. This has the advantage that non-linear associations between analytic variables and target membership can be modeled by an appropriate membership function. As presented in Figure 13, the following steps are applied in order to derive an inductive membership degree of individual i in the prediction y’ for class y based on the individual’s attributes: o A: The raw data consists of sharp attribute values. o B: An inductive definition of the membership function for the attribute values in the predictive fuzzy class y’ is calculated using the previously described IFC-NLC methods. o C: The attribute values are fuzzified using the derived membership functions from step B. This step is called inductive attribute fuzzification (IAF), defined as supervised univariate fuzzy classification of attribute values. o D: After that, the dataset consists of fuzzified attribute values in the interval [0,1], indicating the inductive support for class membership. o E: The several fuzzified analytic variables are aggregated into a membership degree of individuals in the predictive class. This can be a simple conjunction or disjunction, a fuzzy rule set, or a statistical model derived by supervised machine learning algorithms such as logistic or linear regression. o F: This results in a multivariate membership function that outputs an inductive membership degree for individual i in class y, which represents the resulting prediction. It is proposed to preprocess analytic data with IFC methods in order to improve prediction accuracy. More specifically, attributes used for data mining can be transformed into inductive membership degrees in the target class, which can improve the performance of existing data mining methods. The basic idea is to create a multivariate model for a target variable with a combination of inductively fuzzified attributes derived by membership function induction. 71 Figure 13: Proposed schema for multivariate IFC for prediction. Adapted from “Fuzzy Target Groups in Analytic Customer Relationship Management,” by M. Kaufmann and C. Graf, 2012, In A. Meier and L. Donzé (Eds.), Fuzzy Methods for Customer Relationship Management and Marketing, p. 172. Copyright 2012 by Publisher. Empirical tests (Section 4.2) have shown that using the proposed method of IAF significantly improves the average correlation between prediction and target. For binary target variables, a combination of IAF with an NLR, and the subsequent application of a logistic regression, turned out to be optimal. This configuration is illustrated in Figure 14. For numerical targets, a linear fuzzification (LF) of the target, IAF using NLD, and calculation of a regression tree have turned out to be optimal. This configuration is illustrated in Figure 15. However, this improvement by IAF can be shown only in average prediction correlation. There are instances of data in which the application of IAF lowers the predictive performance. Therefore, an IAF is worth a try, but it has to be tested whether it really improves the prediction or not in the given data domain. IAF provides a tool for finetuning predictive modeling, but answering the question about the best classification algorithm in a specific context takes place in the data mining process in which the algorithm with the best results is selected (Küsters, 2001). 72 Figure 14: IFC prediction with binary target classes based on categorical attributes. Figure 15: IFC prediction with Zadehan target classes based on numerical attributes. 73 74 3.2 Marketing Analytics “Analytics competitors understand that most business functions— even those, like marketing, that have historically depended on art rather than science—can be improved with sophisticated quantitative techniques.” (Davenport, 2006, p. 4) The application of the method of data analysis to marketing is called marketing analytics. This can optimize the marketing mix and individual marketing on multiple channels. An important challenge in marketing is its financial accountability: making costs and benefits of marketing decisions explicit. Spais and Veloutsou (2005) proposed that marketing analytics could increase the accountability of marketing decisions. They point out the need of incorporating marketing analytics in daily marketing decision making, which is a conceptual shift for marketers to work with mathematical tools. Furthermore, they suggest that the problem of fuzziness in consumer information should be addressed by fuzzy logic techniques. Individual marketing is capable of accounting for all costs and benefits of a marketing campaign to daily CRM decisions. Because all customers, advertisements, and sales are recorded in information systems, the benefit of marketing activities can be measured. For example, in an individual marketing campaign, the sales ratio of targeted customers can be compared to average or random customers, and the sales increase can be directly linked to the corresponding marketing campaigns. The application of IFC methods to data analysis can be used in marketing analytics. Specifically, customer and product analytics, target selection, and integrated analytics are proposed as possible applications for the methods that have been developed in this thesis. Using IFC methods for selection, visualization, and prediction can support these four fields in marketing analytics. The benefits of IFC include automated generation of graphics with a linguistic interpretation, clear model semantics for visualization by membership function induction, and a possibly better target selection because of optimized predictive models using IAF. As shown in Figure 16, general application of IFC to the field of analytics for selection, visualization, and prediction can be applied to marketing analytics, specifically. Visualizations of induced membership functions of attributes in marketing targets provide fuzzy customer and product profiles. Furthermore, MFI allows fuzzy definitions of target groups based on customer characteristics. Finally, scoring methods can represent membership functions to fuzzy target groups defined as fuzzy sets of customers to which every individual customer has a degree of 75 membership. These can be integrated into automated analytics processes for individual marketing. Figure 16: Proposed areas of application of IFC to marketing analytics. 3.2.1 Customer Analytics The aim of customer analytics is to make associations between customer characteristics and target classes of interesting customers with desirable features understandable to marketing decision makers. The question is, which customer features are associated with the target? A customer report visualizes the likelihood of target class membership given different values of an attribute in order to show relevant features that distinguish the target class from the rest of the customers. In the context of CRM, there are several target customer classes that are interesting for profiling: o Product affinity: Customers who have bought a given product. o Recency: Customers who are active buyers because they have recently bought a product. o Frequency: Customers who buy frequently. o Loyalty: Customers who have used products or services for a long period of time. o o 76 Profitability: Customers who are profitable to the enterprise. Monetary value: Customers who generate a high turnover. A customer profile for the mentioned target customer classes should answer the question, what distinguishes customers in this class from other customers? Thus, the association between class membership and customer attributes is analyzed. The customer attributes that can be evaluated for target likelihood include all of the aforementioned characteristics, and additionally, socio-demographic data, geographic data, contract data, and transaction behavior recorded in operational computer systems, such as CRM interactions and contacts in direct marketing channels. If one looks more closely at the target customer classes, one can see that, often, these classes are fuzzy. For example, to generate a “high turnover” is a fuzzy proposition, and the corresponding customer class is not sharply defined. Of course, one could discretize the class using a sharp boundary, but this does not reflect reality in an appropriate manner. Therefore, it is proposed to visualize fuzzy customer classes as fuzzy sets with membership functions. In order to generate customer profiles based on a target class and the relevant customer attributes, the method of MFI by NLRs presented in Section 2.4.1 can be applied. It is proposed to select the relevant customer attributes first, using the method previously described. After that, the relevant attributes are called profile variables. For a profile variable X, the values xk ∈ dom(X) are called profile characteristics. They are assigned an inductive membership degree for the predictive target class y’ defined by µy’(xk) := NLR(y|xk). A plot of the corresponding membership function represents a visual fuzzy customer profile for variable X, as illustrated by Figure 17. Two instances of a fuzzy customer profile using NLRs are shown in Figure 17, in which the customers of investment funds products of a financial service provider are profiled by customer segment and customer age. Interpretation of the graphs suggests that customers above the age of 50 and customers in the segments Gold and Premium are more likely to buy investment funds than the average customer. A fuzzy customer profile derived with the IFC-NLR method creates a visual image of the customer class to be analyzed by showing degrees of membership of customer features in the target characteristic. Marketing managers can easily interpret the resulting reports. 77 Figure 17: Schema of a fuzzy customer profile based on IFC-NLR, together with two examples of a fuzzy customer profile. Adapted from “Fuzzy Target Groups in Analytic Customer Relationship Management,” by M. Kaufmann and C. Graf, 2012, In A. Meier and L. Donzé (Eds.), Fuzzy Methods for Customer Relationship Management and Marketing, p. 173. Copyright 2012 by Publisher. 3.2.2 Product Analytics Marketing target groups can be defined by typical characteristics of existing product users. This method is based on analysis of existing customer data in the information systems of a company, which is an instance of secondary market research. The data of customers that are product users (the test group) is compared to the data of customers that do not use the product (the control group). The attributes that separate test and control group most significantly are used for defining the target group of potential customers. These attributes are the most selective ones. Accordingly, the target group is derived inductively by similarity to the set of existing product users. As an example, a customer profile 78 could show that customers between 30 and 40 years of age in urban areas are twice as likely to be product users as other customers. In such a case, the target group for this particular product could be defined accordingly. Analytic target group definitions are based on a set of customer characteristics. However, these characteristics differ in relevance. Thus, the set of relevant customer characteristics for a product target group is a fuzzy set because the boundary between relevant and non-relevant characteristics is gradual. The corresponding membership degree can be precisiated by a relevance or selectivity metric. It is proposed that an NLR be used as a measure of selectivity. The likelihood of product usage, UP (the notation is for product P), given that a customer record, i, in the existing customer database d has characteristic c, can be computed accurately as a sampled conditional probability, p(c|UP)d, defined as the number of product users that have this feature divided by the total number of product users (Formula 62). In this formula, c(i) and UP(i) are Boolean truth values that indicate presence or absence of a customer characteristic and the usage of the product. p(c | U P ) d := | {i ∈ d | c(i ) ∧ U P (i )} | | {i ∈ d | U P (i )} | Formula 62 This product usage likelihood can be compared to the likelihood, p(c |¬UP)d, of the opposite hypothesis that a customer is not a product user, given characteristic c, calculated as the number of non-users of the product that have characteristic c divided by the total number of nonusers (Formula 63). p(c | ¬U P ) d := | {i ∈ d | c(i ) ∧ ¬U P (i )} | | {i ∈ d | ¬U P (i )} | Formula 63 Thus, the selectivity of a customer characteristic c can be expressed by the ratio between the likelihood of product usage, given c, and likelihood of product non-usage, given c (Formula 64). This ratio can be normalized as formalized in Formula 65. LR (U P | c) d := p (c | U P ) d p ( c | ¬U P ) d Formula 64 79 NLR (U P | c) d := p (c | U P ) d p(c | U P ) d + p(c | ¬U P ) d Formula 65 Finally, the selectivity of characteristic c, expressed as an NLR, represents an inductive degree of membership of this characteristic in the fuzzy target group definition for product P. An inductive fuzzy target group definition, t, based on analysis of database d is a fuzzy set of customer features and its membership function is defined by the corresponding NLR (Formula 66). µt (c) d := NLR (u P | c) d Formula 66 A customer characteristic may or may not be defined by a granular attribute value. Characteristics can also be computed by functional combination of several basic attribute values. Furthermore, the customer characteristic indicator c(i) can indicate a fuzzy truth value in the interval [0,1] if the corresponding characteristic c is a fuzzy proposition such as “high turnover.” In that case, the definition of the NLR for fuzzy truth values from Section 2.4.1 can be applied. However, the aim of analytic target group definition is to find or construct optimal defining target customer characteristic indicators with the highest possible degree of membership in the target group definition. These indicators can be constructed by logical connections or functions of granular customer characteristics. This kind of analytic target group definition is a conceptual one, suited for presentation to human decision makers, because it is intuitively understandable. It results in a ranking of customer characteristics that define typical product customers. However, for integrated analytics in analytic CRM, a scoring approach is more promising because it yields better response rates, although the resulting models may be less comprehensible. 3.2.3 Fuzzy Target Groups Contemporary information technology provides the means to individualize marketing campaigns. Each customer is targeted not only directly but also individually with an advertisement message, decision, or activity. The behavior of an organization toward an individual customer is analytically customized according to the customer’s classification, and customers with different characteristics are targeted with different behaviors. Individual customers are assigned a score for different CRM targets based on a predictive multivariate model. IFC 80 methods can be applied to customer data for individual marketing in order to calculate a predictive scoring model for product usage. This model can be applied on the data to score customers for their product affinity, which corresponds to an IFC of customers in which the predictive model is a multivariate membership function. An aim of customer analytics is the application of prediction to the selection of a target group with likelihood of belonging to a given class of customers. For example, potential buyers or credit-worthy customers can be selected by applying data analysis to the customer database. This is done either by segmentation or scoring (Sousa, Kaymak, & Madeira, 2002). By applying a segmentation approach, sharp sets of customers with similar characteristics are calculated. Those segments have a given size. For individual marketing, a scoring approach is more promising, in which every customer is assigned a score predicting a likelihood of response. The score is calculated by application of a predictive multivariate model with numeric output, such as neural networks, linear regression, logistic regression, or regression trees. When a numeric score can be normalized, it represents a membership function to a fuzzy set of customers with a high response likelihood—a fuzzy target group—to which every customer has a degree of membership. This scoring process can be applied for every product. Thus, for every individual customer, the degree of membership to all possible cross-selling target groups is known, and in direct customer contact, the customer can be assigned the advertisement message with the highest score. There are different methods for fuzzy customer scoring. For example, fuzzy clustering for product affinity scoring was presented by Setnes, Kaymak, and van Nauta Lemke (1998), in which the reason for using fuzzy systems instead of neural networks is declared as the comprehensibility of the model. Kaufmann and Meier (2009) evaluated a supervised fuzzy classification approach for prediction using a combination of NLRs with an algebraic disjunction. In this thesis, a synthesis of probabilistic modeling and approximate reasoning applying fuzzy set theory is proposed for prediction (as previously explained), using univariate inductive membership functions for improving the target correlations of logistic regressions or regression trees. However, all inductive scoring methods that yield a numeric value representing response likelihood can be normalized in order to represent an inductive membership function to a fuzzy set of customers, and can, therefore, be categorized as IFC. A classical sharp CRM target group T ⊂ C is a subset of all customers C defined by a target group definition t: T := {i ∈ C | t(i)}. In the case of scoring methods for target selection, the output of the model application is numeric and can be normalized in the interval [0,1] to 81 represent a membership function. In that case, the target group is a fuzzy set T’ and the (normalized) customer score is a membership function, µT’:C→[0,1]. This score is defined by a predictive model, M, as a multivariate combination of n customer attributes, X1, …, Xn, as shown in Formula 67. µT' (i) := M ( X 1 (i),..., X n (i)) Formula 67 Because T’ is a fuzzy set, it has to be defuzzified when a campaign requires a binary decision. For example, the decision about contacting a customer by mail has to be sharp. An alpha cutoff of the fuzzy set allows the definition of individual marketing target groups of optimal size regarding budget and response rate, and leads to a sharp target group T , as formalized in Formula 68. α Tα := {i ∈ C | µT ' (i) ≥ α } 3.2.4 Formula 68 Integrated Analytics For individual marketing, the fuzzy target group membership degrees are predictive scores that are processed via the CRM system, which dispatches them to the distribution channel systems for mapping customers to individualized advertisement messages. In all computer supported channels with direct customer contact, inbound or outbound, as soon as the customer is identified, a mapping can be calculated to the product to which the customer has the highest score. Based on that mapping, the advertisement message is chosen. In the online channel, logged-in customers are displayed individual advertisement banners. Customers are sent individual letters with product advertisement. In the call center and in personal sales, if the customer can be identified, the agent can try cross-selling for the next best product. In analytic customer relationship management (aCRM), customer data is analyzed in order to improve customer interactions in multiple channels (Turban et al., 2007). This can be applied to individual marketing. Target groups for aCRM campaigns are derived analytically and individually by application of classification and regression models to individual customer data records. The aim is to increase campaign response rates with statistical methods. Cross-selling campaigns analyze product affinity of customers given their features. Churn 82 (change and turn) campaigns target customers with a low loyalty prediction in order to re-gain their trust. Figure 18 illustrates a schematic information system that can enable aCRM processes. In contemporary enterprises, due to intensive application of computing machinery and electronic databases in business processes, there exist large amounts of possibly useful customer data in various software applications that can serve as data sources for aCRM. The heterogeneity of data storage implies a necessity for data integration before they can be analyzed. A system that automates this task is called a customer data warehouse (Inmon, 2005). Based on this integrated data pool, analytics provides inductions of predictive models for desirable customer classes, such as product purchase, profitability, or loyalty. If these models output a gradual degree of membership to the target classes, their application to the customer database can be called an IFC. These membership degrees are defined by a prediction of class membership for individual customers, sometimes called lead detection. The corresponding fuzzy sets of customers can be called fuzzy target groups. These analytic results, called leads by aCRM managers, are transferred into the operational CRM application, where their presentation to human decision makers provides decision support for direct customer contact. The utilization of analytic data output (leads) takes place in individual marketing channels with direct customer contact—for instance, web presence, mailing, call center, or personal sales. The results of aCRM campaigns, such as sales, are electronically collected and fed back into the customer data warehouse in order to improve future aCRM campaigns by meta-analytics. This mechanism is called a closed loop. Generally, aCRM is an instance of a business intelligence process (Gluchowski, Gabriel, & Dittmar, 2008), which involves data sourcing, integration, analytics, presentation, and utilization. Furthermore, it is also an instance of integrated analytics, in which analytics are integrated into operational systems with feedback mechanisms. In comparison to mass marketing, in individual marketing, every customer is provided with the advertisement that fits best. Especially when customer databases, such as a data warehouse, are present, individual scoring is possible based on available data: The customer’s target membership score is used to assign an individual advertisement message to each customer. These messages are delivered electronically via customer relationship management application to individual marketing channels. Campaign target groups are individualized. All customers in the target groups are known individually and are contacted directly. 83 Figure 18: Inductive fuzzy classification for individual marketing. Adapted from “Fuzzy Target Groups in Analytic Customer Relationship Management,” by M. Kaufmann and C. Graf, 2012, In A. Meier and L. Donzé (Eds.), Fuzzy Methods for Customer Relationship Management and Marketing, p. 170. Copyright 2012 by Publisher. 84 3.2.5 Case Study: IFC in Online Marketing at PostFinance The following case study shows the application of the proposed methods in practice, from a point of view of information systems and methodology. Membership function induction is applied to a real-world online marketing campaign. A comparison with crisp classification and random selection is made. PostFinance Inc.2 is a profitable business unit of Swiss Post. Its activities contribute significantly to the financial services market in Switzerland. PostFinance is an analytic enterprise feeding business processes with information gained from predictive analytics. The online channel of PostFinance supports individual advertisement banners for logged-in customers. Based on the customer score, a customer is assigned the advertisement message for the product with the highest response likelihood computed for that particular customer. By clicking on the banner, the customer has the opportunity to order the product directly. The marketing process of PostFinance uses analytical target groups and predictive scores on product affinity for individual marketing. Target groups for online marketing campaigns are selected using inductive classification on the customer data warehouse. Figure 19 shows the process from customer data to individualized online marketing. Target groups are defined in the data warehouse. This is done using a predictive model (e.g., logistic regression) or a crisp classification (e.g., customers above the age of 50 with a balance higher than CHF 10,000). A dataset is generated that assigns an individual advertisement message to every single customer based on his or her target group. This dataset is loaded into the online platform, where it controls the online advertisements. In the online channel, for every customer that logs in, the individual advertisement message is mapped according to the previous target group selection. A case study was conducted with PostFinance in 2008 in order to test IFC in a real online marketing campaign. Inductive fuzzy classification was applied in a PostFinance online marketing campaign promoting investment funds. The aim of the prediction was to forecast customers with an enhanced likelihood of buying investments funds. The resulting fuzzy classification yielded a fuzzy target group for an individual marketing campaign in which every customer had a gradual degree of membership. 2 http://www.postfinance.ch 85 Figure 19: Analytics applied to individual marketing in the online channel at PostFinance. Adapted from “ An Inductive Fuzzy Classification Approach applied to Individual Marketing.,” by M. Kaufmann and A. Meier, 2009, In Proceedings of the 28th North American Fuzzy Information Processing Society Annual Conference, p. 4. Copyright 2009 by Publisher. The same advertisement message was shown to three groups of customers: a test group of 5,000 customers with the highest degree of membership to a fuzzy target group, a control group of 5,000 customers selected by classical crisp target group definition, and a second control group with randomly selected customers. The hypothesis was that a gradual scoring approach (an inductive fuzzy customer classification) would provide better response rates than a crisp Boolean target selection (a segmentation approach), and that a fuzzy target group selection using typical characteristics of product users would classify customers more softly and eliminate certain threshold effects of Boolean classification because attributes can be compensated for with a multivariate gradual approach. It was tested whether customers in a fuzzy target group selected with a scoring approach had a higher response rate than customers in a crisp target group selected with a classical segmentation approach. Furthermore, the two groups were compared with a random selection of customers. In the following, it is shown how the data mining methodology presented in Section 2.4 has been applied to a real-world direct marketing campaign. 86 In order to prepare a test set for model induction, a sample customer dataset was selected from the customer data warehouse. Because of the excellent quality of the cleaned and integrated data in the data warehouse, the data preparation step was accomplished by a simple database query. The dataset contained anonymous customer numbers associated with customer specific attributes. As the target variable, the class label was set to 1 if the customer had investment funds in his product portfolio and to 0 if else. Mutual information of the dependent variables with the target variable was chosen as a ranking method. The following attributes were selected as relevant: o Customer segment (CS; 0.047 bit), o Overall balance (OB; 0.035 bit), o Customer group (CG; 0.016 bit), o Age (A; 0.013 bit). o Number of products (NP; 0.036 bit), o Loyalty (L; 0.021 bit), o Balance on private account (BP; 0.014 bit), and Table 3 Conditional Probabilities and NLRs for a Categorical Attribute X1: customer segment Y=1 Y=0 p(X1 | Y=1) p(X1 | Y=0) NLRY=1(X) Basis SMB Gold Premium Total 11'455 249 12'666 5'432 29'802 308'406 2'917 54'173 10'843 376'339 0.38 0.01 0.43 0.18 0.82 0.01 0.14 0.03 0.32 0.52 0.75 0.86 Using the method presented in Section 2.4, for each of the relevant attributes, the fuzzy restriction corresponding to the likelihood of having investment funds was induced. In the following section, the induction processes for a categorical and a continuous attribute are described in detail. As the first example, in the domain of the categorical attribute customer segment (X1), there are four values: Basis, SMB, Gold, and Premium. For customers who have not yet bought investment funds, the aim is to define a degree of membership in a fuzzy restriction on the customer segment domain in order to classify them for their likelihood to buy that product in the future. The frequencies and conditional probabilities are presented in Table 3. The first column indicates the customer segment. Column Y=1 87 contains the number of customers of each segment who have bought investment funds. Column Y=0 contains the number of customers of each segment who have not bought that product. According to Formula 69, the membership degree of segment Basis in the fuzzy restriction y1 was induced as follows: µ y (" Basis" ) = 1 p( X 1 = " Basis" | Y = 1) p( X 1 = " Basis" | Y = 1) + p( X 1 = " Basis" | Y = 0) 0.38 = = 0.32 = NLRY =1 (" Basis" ) 0.38 + 0.82 Formula 69 The other degrees of the membership were induced analogically. The resulting values are shown in column NLR of Table 3. The corresponding membership function is illustrated in Figure 20. Members hip degree to product 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 B as is NL R S MB G old P remium C us tomer S egment Figure 20: Membership function induction for a categorical attribute. Adapted from “ An Inductive Fuzzy Classification Approach applied to Individual Marketing.,” by M. Kaufmann and A. Meier, 2009, In Proceedings of the 28th North American Fuzzy Information Processing Society Annual Conference, p. 4. Copyright 2009 by Publisher. As a second example, for the continuous attribute overall balance, the membership function was induced in the following way: First, the NLR for deciles of the attribute’s domain was calculated analogically to the previous example, represented by grey squares in Figure 21. Then, a function, A / (1 + exp(B – C ln(x + 1)))+D, was fitted by optimizing the parameters A to D using the method of John (1998). The resulting membership function for the customer overall balance is shown as a line in Figure 21. 88 Members hip degree to product NL R F (x) = 0.71/(1+ E X P (7.1-­‐0.80*L N(x+ 1)))+ 0.09 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 50'000 100'000 O verall B alance 150'000 Figure 21: Membership function induction for a continuous attribute. Adapted from “ An Inductive Fuzzy Classification Approach applied to Individual Marketing.,” by M. Kaufmann and A. Meier, 2009, In Proceedings of the 28th North American Fuzzy Information Processing Society Annual Conference, p. 5. Copyright 2009 by Publisher. Every relevant attribute of the original dataset was transformed to a fuzzy membership degree using SQL directly in the database. Categorical variables were transformed using a case differentiation statement. For example, the attribute customer segment was transformed using the following SQL command: select case when customer_segment = 'Basis' then 0.32 when customer_segment = 'SMB' then 0.52 when customer_segment = 'Gold' then 0.75 when customer_segment = 'Premium' then 0.86 end as fuzzy_customer_segment from ads_funds Continuous variables were transformed using a function expression. For example, the attribute overall balance was fuzzified using the following SQL expression: 89 select 0.71/(1+EXP(7.1-0.8*LN(overall_balance + 1)))+0.09 as fuzzy_overall_balance from ads_funds The individual fuzzy attribute domain restrictions were then aggregated to a multivariate fuzzy class of customers. This was done using an SQL statement implementing the gamma operator (Zimmermann & Zisno, 1980) defined in Formula 70. Γγ ( µ y1 (e j ), … , µ yn (e j )) := µ yi (e j ) γ ⋅ µ yi (e j )1−γ i Formula 70 i := (1 − ∏ 1 − µ yi ( xij ))γ ⋅ (∏ µ yi ( xij ))1−γ i i Table 4 Optimization of the Gamma Parameter for Multivariate Fuzzy Aggregation I(Y;Y') I(Y;Y'=1) LR(Y'=1) Gamma = 0 0.018486 0.4357629 6.7459743 Gamma = 0.5 0.0185358 0.4359879 6.7488694 Gamma = 1 0.0209042 0.4787567 7.2359172 In order to define the gamma parameter, different performance measures were calculated. As shown in Table 4, a gamma of 1, corresponding to an algebraic disjunction or full compensation, was most successful. Thus, the multivariate fuzzy classification was performed using the following SQL statement: Select (1(1-fuzzy_number_of_products) * (1-fuzzy_customer_segment) * (1-fuzzy_overall_balance) 90 * (1-fuzzy_loyalty) * (1-fuzzy_age) * (1-fuzzy_balance_on_private_account) * (1-fuzzy_customer_group) ) as multivariate_fuzzy_classification from f_ads_funds As a result, a fuzzy class of customers was calculated, for whom the degree of membership indicates the product affinity for investment funds and represents a product affinity score. This can be used in individual marketing for defining target groups for different products. In order to test the resulting fuzzy classifier, a pilot marketing campaign was performed using the resulting fuzzy target group. First, a target group of 5,000 customers with the highest membership degree was selected from the fuzzy class using an alpha cutoff (Test Group 1). Second, as a comparison, 5,000 other customers were selected using a crisp classification (Test Group 2), using the following crisp constraints: Select case when Customer segment in (‘Gold’, ‘Premium’, ‘SMB’) And Customer_group = 50 Plus And Loyalty > 14 And Number_of_products > 1 And Age between 35 and 75 And Balance on private account > 3000 And Overall_balance > 20000 Then 1 else 0 end as multivariate_crisp_classification From ads_funds This conventional target group selection used the same seven customer attributes as the fuzzy classification, but the classification was done using a crisp constraints predicate. Third, 5,000 customers were selected randomly (Test Group 3) in order to compare inductive classification to random selection. To each of those 15,000 customers, an online advertisement for investment funds was shown. After the marketing campaign, the product selling ratio during three months was measured. The results are shown in Table 5. The column Y=1 indicates the number of customers who have bought the product. The product selling ratio for the target group selected by IFC was the most effective. This individual marketing campaign using inductive fuzzy target group selection 91 showed that fuzzy classification can lead to a higher product selling ratio than crisp classification or random selection. In the case study, IFC predictions of product affinity were more accurate than those of the crisp classification rules on exactly the same attributes. The conclusion is that, in comparison to crisp classification, fuzzy classification has an advantageous feature that leads to better response rates because it eliminates certain threshold effects by compensation between attributes. Table 5 Resulting Product Selling Ratios per Target Group Test group 1: Fuzzy classification 2: Crisp classification 3: Random selection 92 Y=1 31 15 10 Y=0 4939 5037 5016 Sales Rate 0.63% 0.30% 0.20% 4 Prototyping & Evaluation Three software prototypes were programmed as proofs of concept of the technological aspects of the proposed methods for automated MFI in fuzzy data analysis. Master’s students developed two of them, iFCQL and IFC-Filter for Weka. The author developed the inductive fuzzy classification language IFCL. This implementation also allows experiments on the implemented methods for experimental evaluation. Using a meta-induction approach, the designed method was applied for prediction in several real-world datasets in order to analyze characteristics and optimal parameters of the constructed methodology and to compare it to conventional predictive approaches. Classical inductive statistical methods were applied to gain insights about induction by IFC. 4.1 4.1.1 Software Prototypes IFCQL The first attempt of prototyping software for IFC was developed in a master’s thesis by Mayer (2010). The basic idea was an extension of the existing fuzzy classification and query language FCQL, for which a prototype interpreter was built by Werro (2008). In order to derive fuzzy membership functions directly from the underlying data, the FCQL language was extended with commands to induce membership functions in order to classify data based on them. For example, it was intended to describe MFI using the syntax “induce fuzzy membership of <dependent variable> in <target variable> from <relation>.” For more detail on the iFCQL syntax, see the report by Mayer (2010). As shown in Figure 22, the architecture of iFCQL reflects the language-oriented design approach. The user can enter commands in iFCQL, which are translated into SQL, or he or she can enter SQL in the command shell, which is transmitted directly to the database by a database connector. Using language instead of a graphical user interface, it is possible to save and reload scripts for data mining processes—this was the intention. Nevertheless, the implementation of the iFCQL language interpreter, consisting of lexer, parser, evaluator, and SQL generator, turned out to be a complex task that is not directly associated with IFC. The original idea was to develop a tool to support the proposed data mining methodology of this thesis (Section 2.4). Thus, there was one statement class for each of the six steps: data preparation (audit), 93 MFI, fuzzification of attribute values, attribute selection, fuzzy classification of data records, and model evaluation. Eventually, only three syntax elements for the main tasks were implemented, namely MFI, univariate classification of attributes, and multivariate classification of records. Figure 22: Architecture of the iFCQL interpreter. Adapted from “Implementation of an Inductive Fuzzy Classification Interpreter,“ (master's thesis), by P. Mayer, 2010, p. 59. Copyright 2010 by Mayer, University of Fribourg, Switzerland. 4.1.2 IFCL This section presents an implementation of a tool that enables the computation of inductive membership functions based on the methodology proposed in Section 2.4. The inductive fuzzy classification language (IFCL) is a research prototype. Its goal is to show the 94 feasibility of implementing the data mining methodology based on IFC. It is a markup language designed for simplicity of description and parsing; therefore, the development of the language interpreter was kept simple. In addition to supporting the basic steps of the proposed method, the scope is to support automated experiments for benchmarking the predictive performance of the proposed methodology. This meta-induction experiment and its results are presented in Section 4.2 Figure 23: Inductive fuzzy classification language (IFCL) system architecture. As shown in Figure 23, the system architecture of IFCL consists of an IFCL file, a command line shell, the IFCL program itself, Weka regression algorithms, a relational database, and a data file. In the IFCL file, the data mining process steps are described in the IFCL language. In a command line shell, the IFCL program is invoked, and the corresponding IFCL file is passed to the program. There is no graphical user interface because the research concentrated on evaluating automated inductive inferences. The IFCL actions representing steps of the data mining process are interpreted by the IFCL program, which translates them into SQL queries to the relational database. For the supervised multivariate aggregation functions linear regression, logistic regression and M5P regression trees, open source implementations of mining algorithms from the Weka machine learning workbench (Hall et al. 2009) are accessed by the IFCL program. The IFC process steps that have been translated to SQL are executed on a database server. Analytic data is loaded into the database via a data file in comma-separated value format (CSV). The IFCL language supports a simple load functionality that creates the necessary database tables based on a data description and loads records from a file into database tables. The data file contains the data to be analyzed, and the IFCL program provides the means to compute predictive models based on the data in the form of membership functions. The functionality of the software encompasses all steps of the proposed data mining process for IFC as presented in Section 2.4.2. This 95 includes data preparation, univariate MFI, fuzzification of attribute values, attribute selection, multivariate aggregation, data classification, prediction, and evaluation of predictions. This prototype provides the possibility o to prepare data using arbitrary SQL statements, o to induce membership functions with all thirteen methods proposed in Table 1 in Section 2.4.1, o to fuzzify attribute values using the induced membership functions directly in the database, o to rank attribute relevance by sorting correlation membership degrees and target class indicators, o to aggregate many inductively fuzzified attributes into a fuzzy class membership for data records using eight different aggregation methods shown in Table 6, o to assign membership degrees by fuzzy classification to data records in the database, o and to evaluate predictive models with correlation analysis. o Executing IFCL script files in batch mode, o Dropping a database table, o Loading data into the database, o Classification of data, between All of these steps can be programmed in IFCL-syntax. IFCL is fully automatable using scripting files. All models are displayed and stored in SQL syntax. Therefore, it provides repeatability of experiments and comprehensibility of models with respect to their database implementation as queries. Details on the syntax and application of IFCL can be found in the appendix (Section A.4) To summarize, the functionality of IFCL encompasses the following points: o Connecting to the database, o Executing an SQL script, o Inducing a membership function, o Aggregating multiple variables, o Data preparation, and o Evaluating predictions, o Attribute selection. 96 Steps of the data mining process in Section 2.4.2 are invoked in so called IFCL actions. A sequence of actions is listed in IFCL files. IFCprocesses can be described in a tree-like structure of IFCL files. There are nodes and leaves of the IFCL tree. An IFCL file is either a node as a list of calls to other IFCL files or a leaf containing actual execution sequences. IFCL leaves consist of a database connection followed by a sequence of IFCL actions. An IFCL file can call the execution of several other predefined IFCL files in batch mode using the action execifcl. In order to do so, one needs to indicate the correct operation system file path of the corresponding IFCL file, either as an absolute path, or a path relative to the location of the process that invoked the IFCL program. IFCL can connect to a database with the action connect. This is necessary for operation and has to be done at the beginning of an IFCL file leaf. One needs to know the hostname of the database server, the service identifier, the port number, a valid username, and a password. The user must be granted the rights to read tables. For data classifications, the user needs grants to create tables. The action drop allows the deletion of an existing database table. The IFCL program tests whether the indicated table exists, and executes a drop command to the database if and only if the table exists in the database. This is useful in preventing an exception because of an attempt to drop a nonexisting table. IFCL allows executing SQL statements in the database with the action execsql. A single SQL command can be indicated directly within the IFCL syntax. Scripts (statement sequences) can be called from a separate SQL script file. The file system path has to be indicated in order to call an execution of an SQL file. In order to load analytic data into the database server, there are two possibilities. First, the SQL*Loader can be called, which is highly parameterized. Second, a simpler load mechanism can be invoked involving less code. The SQL*Loader has the advantage that it is extremely configurable by a control file. The drawback is that there is a large amount of code that needs to be written for simpler load tasks. Therefore, for simpler loads that do not involve transformation, the IFCL load utility is a faster method to load data into the database. The call to the SQL*Loader can be made from an IFCL file using the action sqlldr. In order to load data, one needs a data file containing the analytic data and an SQL*Loader control file for the configuration of the load process. Furthermore, one can indicate two SQL*Loader parameters, namely skip and errors. (For more details, consult the SQL*Loader documentation.) For simpler data loads, the IFCL program provides a data loading utility with the action load. The advantage is that the load action automatically creates or recreates a table for the data load based on an enumeration of attributes and their type, where 97 the type is either n (numerical) or c (categorical). In the enumerations, the number of the attribute and the number of its corresponding type must be equal: Type 3 corresponds to Attribute 3. The attribute names will correspond to table columns, so their syntax is syntactically restricted to valid column names. The load action must also be provided a path to a file containing the load data, and a delimiter that separates data cells in the text file. White spaces and semicolons cannot be used as delimiters because they are syntactical elements of the IFCL language, and an escape mechanism has not been implemented. In order to induce a univariate membership function for a single attribute to the target class, the IFCL action inducemf can be used. A database table is indicated on which the MFI will be based. One specific table column is defined as a target variable. As analytic variables, a specific table column can be defined, a list of columns can be enumerated, or all columns can be chosen for MFI. One of several different methods for MFI can be chosen (see Section 2.4.1). The output containing the induced membership function in SQL syntax is written to the indicated output file. This SQL classification template will be used later for univariate fuzzification of input variables. When more than one column is chosen as analytic variables, some of those variables can be skipped. The IFCL action will skip columns if they are enumerated in the corresponding action parameter. This means that those columns are not considered for MFI and they are also not copied into the fuzzified table. Alternatively, some columns can be left out by indicating the IFCL action to leave columns in the corresponding action parameters the way they are. This means that, for those columns, no membership function is induced, but those columns are copied into the fuzzified table in their original state. This can be useful to incorporate original key columns in a fuzzified table. In order to fuzzify the input variables using the membership functions obtained, the action classify can be invoked using the previously generated SQL classification template file. The classification action can also apply multivariate fuzzy classification templates obtained by the IFCL action aggregatemv, which aggregates multiple variables into a multivariate fuzzy class. Template files generated by the IFCL actions inducemf and aggregatemv contain an SQL query in which the input and output tables are parameterized. A data classification applies these two parameters (classified table and output table) to this query template stored in the template file. Data is read from an existing table, the classified table, and transformed using the induced membership functions, and the resulting transformation is written into the output table. In order to aggregate multiple variables into a multivariate fuzzy classification, the corresponding aggregation function can be computed 98 using the IFCL action aggregatemv. A base table is indicated on which the aggregation takes place. This is usually a transformed table containing inductively fuzzified attributes derived with the actions inducemf and classify, but for Weka regression algorithms (linreg, logreg, regtree) the aggregatemv action can also be applied to the original data. Again, the analytic variables and the target variable are indicated, which usually correspond to those variables used for MFI. As aggregation operator, either an unsupervised aggregation, such as a minimum (min), maximum (max), algebraic product (ap), algebraic sum (as), or average (avg), can be chosen or a supervised aggregation, such as a linear regression (linreg), a logistic regression (logreg), or a regression tree (regtree), can be calculated. The column that contains the aggregated membership value for each row must be given a column alias. The resulting aggregation function is written as a query template to an output file for which the path is defined in the action definition. This query template represents the multivariate model as a membership function in the target class. It can be used for data classification and prediction with the classify action. In order to evaluate correlations between columns, the IFCL action evaluate can be applied. This is useful to evaluate predictive performance, but also for attribute ranking and selection. Using IFCL, an attribute selection can be accomplished by ranking the inductively fuzzified analytic variables by their correlations with the target variable. In order to do this, for all columns of the table, a membership function to the target is induced in a training set with the inducemf action and the columns are transformed into a membership degree with the classify action. Then, the correlations of all fuzzified variables and the target variable can be evaluated with the evaluate action. 4.1.3 IFC-Filter for Weka The IFC-NLR data mining methodology introduced by Kaufmann and Meier (2009) has been implemented by Graf (2010) as a supervised attribute filter in the Weka machine learning workbench (Hall et al., 2009). The aim of this implementation is the application of IFC-NLR in a typical data mining process. This IFC-Filter allows the evaluation of the algorithm. Weka can be used for data mining in order to create predictive models based on customer data. The IFC-Filter can facilitate visualization of the association between customer characteristics and the target class, and it can improve predictive performance of customer scoring by transforming attribute values into inductive fuzzy membership degrees, as previously explained. Thus, it can perform MFI 99 and IAF. As shown in Figure 24, the Weka software provides data access to relational databases (RDB), comma separated values (CSV), and attribute relation file format (ARFF); classification and regression; and predictions. The IFC-Filter implements the functionality for MFI, IAF, and visualizations based on the calculated membership functions. Figure 24: Software architecture of the IFC-Filter. Adapted from “Fuzzy Target Groups in Analytic Customer Relationship Management,” by M. Kaufmann and C. Graf, 2012, In A. Meier and L. Donzé (Eds.), Fuzzy Methods for Customer Relationship Management and Marketing, p. 184. Copyright 2012 by Publisher. The IFC-Filter transforms sharp input data into membership degrees that indicate the inductive support for the conclusion that the data record belongs to the target class. In order to do so, first, membership functions are induced from data and optionally displayed to the screen. Then, these functions are applied to fuzzify the original attributes. Visualization and prediction based on the concepts of MFI and IAF are two main uses for the IFC-Filter software in the data mining process. In order to visualize associations between variables, inductive membership functions can be plotted with the method IFC-NLR described earlier. Thus, for every analytic variable, a function mapping from the variable’s domain into a degree of membership in the inductive fuzzy target class is displayed graphically. This plot gives intuitive 100 insights about associations between attribute values and the target class. For prediction, the transformation of crisp attribute values from a data source into inductive membership degrees can enhance the performance of existing classification algorithms. The IFC-Filter transforms the original attribute values into inductive membership indicating target class likelihood based on the original value. After that, a classical prediction algorithm, such as logistic regression, can be applied to the transformed data and to the original data in order to compare the performance of IAF. It is possible and likely that IAF improves prediction. When that is the case, IAF data transformation can be applied to huge data volumes in relational databases using the SQL code generated by the IFC-Filter. The software is available for download3 in source and binary format for researchers and practitioners for experimenting and practicing IFC. Figure 25: Knowledge flow with IFC-Filters. Adapted from “Fuzzy Target Groups in Analytic Customer Relationship Management,” by M. Kaufmann and C. Graf, 2012, In A. Meier and L. Donzé (Eds.), Fuzzy Methods for Customer Relationship Management and Marketing, p. 186. Copyright 2012 by Publisher. As proposed in the section on application of IFC to analytics (Section 3.1) the IFC-Filter can visualize membership functions that indicate target membership likelihoods. Figure 25 shows two screenshots of the membership function plots for the variables Duration and Checking status from the German Credit dataset. The IFC-Filter has the possibility to activate a frame containing a graphical 3 http://diuf.unifr.ch/is/ifc (accessed 11.2010) 101 illustration of the resulting membership functions. Each analytical variable is represented by a tab in this frame. The presentation of numerical analytical variables differs slightly from that of categorical analytical variables, because it presents a continuous membership function. As shown in Figure 26, the illustration of numerical analytical variables consists of four fields. The first field is a table containing the NLRs with the corresponding quantiles and average quantile values (AQVs). The second field shows a histogram containing the NLRs and their corresponding AQVs. The third field shows the membership function of the analytical variable. The fourth field shows the membership function in SQL syntax for this particular analytical variable, which can be used directly in a relational database for fuzzy classification of variables. The illustration of categorical analytical variables can be reduced to three fields. The first field is a table containing the NLR with the corresponding quantile and average value of the quantile. The second field shows a histogram containing the NLRs corresponding to the categorical values. The third field shows the membership function in SQL syntax. An additional tab, the SQL panel, contains the membership functions of all analytic variables in SQL. It displays a concatenation of the membership functions in SQL syntax for all analytical variables that have been input for MFI by the IFC-Filter. This database script can be applied in a database in order to transform large database tables into inductive degrees of membership in a target class. This can improve the predictive quality of multivariate models. 102 Figure 26: Visualization of membership functions with the IFC-Filter. Adapted from “Fuzzy Target Groups in Analytic Customer Relationship Management,” by M. Kaufmann and C. Graf, 2012, In A. Meier and L. Donzé (Eds.), Fuzzy Methods for Customer Relationship Management and Marketing, p. 188. Copyright 2012 by Publisher. 103 104 4.2 Empirical Tests This section describes the experiments that have been conducted using the IFCL prototype (Section 4.1.2). Sixty real-world datasets (see the appendix in Section A.1) with categorical and numerical target attributes have been used to build predictive models with different parameters. The results of these experiments allow the answering of the following research questions: Which is a suitable MFI method for the application of fuzzy classification for prediction? Which aggregation operators are suitable for the multivariate combination of fuzzy classes? Can it be statistically supported that this method of IFC leads to higher predictive performance? In order to find the answers to these research questions, the aim is to inductively infer conclusions about inductive methods, which is called a meta-induction scheme. Thus, quantitative statistical methods are applied to the data on the performance of IFC using different parameters gained by running the automated prediction experiments. 4.2.1 Experiment Design The aim of these experiments was to determine the optimal parameters for a maximal predictive performance in order to gain insights about IFC. Using the scripting functionality of the IFCL prototype, a systematic benchmarking of predictive performance of different IFC algorithms was conducted. From the UCI Machine Learning Repository,4 Weka numeric datasets archive,5 and Weka UCI datasets archive,6 60 statistical datasets were used for systematic automated prediction experiments using different parameters. These datasets are listed in Table 9 and Table 10 in Section A.1. They contain real-world data from different processes that can be used for testing machine learning algorithms. They have been chosen by their tabular structure and by the type of the prediction target. Apart from that, they were chosen randomly. For categorical target classes, a Boolean target variable was extracted with a simple predicate (see Table 9, column Target). For numerical target classes, a Zadehan target variable was generated using inductive target fuzzification using both linear and percentile fuzzification (see Table 10). http://archive.ics.uci.edu/ml/ (accessed 03.2010) http://sourceforge.net/projects/WEKA/files/datasets/datasetsnumeric.jar/datasets-numeric.jar/download (accessed 08.2010) 6 http://sourceforge.net/projects/WEKA/files/datasets/datasets-UCI.jar/datasetsUCI.jar/download (accessed 08.2010) 4 5 105 The experimental parameters included 13 methods for IAF (Table 1), two types of base target classes (numerical or categorical), two types of inductive target fuzzification for numerical target variables (ITF; Formula 43 and Formula 44), and eight methods for multivariate aggregation (Table 6). As benchmarks, three state of the art prediction methods (regression trees, linear and logistic regression) were applied for prediction without prior IAF. Table 6 Different Aggregation Methods used for Prediction Experiments Abbreviation logreg regtree linreg avg min ap as max Description Logistic regression Regression trees Linear regression Average membership degree Minimum membership degree Algebraic product Algebraic sum Maximum membership degree In order to test predictive performance, for every combination of dataset, IAF method, ITF method, and aggregation method, the correlation of the prediction with the actual class value was computed. This has been done using a repeated hold-out cross-validation method: For every parameter combination, the correlation result was calculated 10 times with different random splits of 66.7% training data versus 33.3% test data, and the results were averaged. Prediction quality of model instances was measured with the Pearson correlation coefficient (Weisstein, 2010b) between the (Boolean or Zadehan) predictive and target variables in order to measure the proximity of predictions and targets in two-dimensional space. Significance of prediction correlation for experiment parameters θ and θ was estimated with a non-parametric statistical test, the onesided Wilcoxon Signed-Rank (WSR) test (Weisstein, 2012a), where the null hypothesis, H0, supposes that the average prediction correlation, γ(θ1) := avg(corr(Y’,Y)| θ1), of experiments with parameter θ1 is smaller or equal to γ(θ2), where Y is the target variable, Y’ is the predictive model output, and both Y and Y’ are Boolean or Zadehan variables with a range of truth values within [0,1]. The statistical test hypothesis is formalized by H0: γ(θ1) ≤ γ(θ2). If the corresponding p-value returned by WSR is significantly small, it is likely that θ1 performs better than θ 2. In addition to their statistical meaningfulness, the reason for using these measures, Pearson correlation and WSR, is that both are 1 2 , 106 precompiled functions in certain database systems, and thus computed very efficiently for large numbers of experiments. 4.2.2 Results This subsection describes the results of the meta-inductive prediction experiments. It describes the findings about the best performing methods for MFI and multivariate class aggregation. Additionally, it evaluates which dataset parameters correlate with the performance improvement gained by IAF. In order to evaluate the best performing aggregation method, the average correlation between prediction and actual value of the target variable has been calculated for every aggregation method for categorical as well as numerical targets over all datasets and MFI methods. In Figure 27, the result of this evaluation for categorical variables is shown. Clearly, logistic regression is the best aggregation method for binary targets with an average correlation of 0.71.7 0.80 0.70 0.60 0.50 0.40 0.30 0.20 0.10 0.00 Average Correlation logreg regtree linreg avg min ap as max 0.71 0.69 0.69 0.64 0.53 0.52 0.45 0.45 Figure 27: Average prediction correlation for different aggregation methods for binary targets. A Wilcoxon Signed Rank (WSR)8 test returned a p-value of 0.0115 for the hypothesis that the average correlation between prediction and target for logistic regression is smaller than or equal to that of regression trees. This means that, with a high probability, the predictive performance of logistic regression is higher than that of regression tree. The p-value for the difference in performance between logistic and linear regression is even smaller: 0.00105. Therefore, 7 See 8 Query 2 in Chapter A See Query 3 and data in Table 11 in Chapter A 107 logistic regression performs significantly better as an aggregation method for prediction than the other methods. As illustrated by Figure 28, the best performing method of multivariate class aggregation for numerical targets is regression trees with an average correlation of 0.66.9 The WSR significance test10 showed, with a p-value of 1.30152E-06, that the average correlation of regression trees is smaller than or equal to the average correlation of linear regression. Again, this result is, statistically, very significant. 0.70 0.60 0.50 0.40 0.30 0.20 0.10 0.00 Average Correlation regtree linreg avg logreg ap max min as 0.66 0.58 0.52 0.52 0.45 0.42 0.41 0.39 Figure 28: Average prediction correlation for different aggregation methods for fuzzified numerical targets. In order to determine the best performing combination of membership induction method for IAF and multivariate aggregation method, the average correlation between prediction and actual value of the target variable has been calculated for every combination. As shown in Figure 29, the best combination for binary target variables is logistic regression, with an NLR as MFI method for IAF, with an average prediction correlation of 0.71.11 The best benchmark method without IAF is regression trees on rank 24 of 107 with an average prediction correlation of 0.699. The top 23 combinations all involved a form of IAF. The best performing method was to combine an IAF using NLR with a logistic regression. The WSR significance test returned a p-value of 0.180012 for the hypothesis that the average correlation between prediction and target for logistic regression with NLR is smaller than or equal to that of logistic regression with IAF using NLD. This means that, for logistic See Query 7 in Chapter A See Query 8 and data in Table 12 in Chapter A 11 See Query 4 in Chapter A 12 See Query 5 and data in Table 14 in Chapter A 9 10 108 regression with IAF, NLR does not perform significantly better than NLD. However, the WSR showed, with a p-value of 0.04888, that a logistic regression with IAF using NLR performs equally or less well compared to regression trees without IAF. Consequently, a significant performance improvement of logistic regression models can be achieved, on average, with IAF. 0.720 0.710 0.700 0.690 0.680 0.670 0.660 0.650 0.640 Average Correlation logreg(nlr): Rank 1 logreg(nld): Rank 2 logreg(cp): Rank 3 0.712 0.710 0.710 regtree(no logreg(npd): logreg(npdu) IAF): Rank Rank 4 : Rank 5 24 0.709 0.708 0.699 logreg(no IAF): Rank 30 linreg(no IAF): Rank 44 0.688 0.669 Figure 29: Average prediction correlation for combinations of membership function induction and aggregation methods for binary targets. 0.69 0.68 0.67 0.66 0.65 0.64 0.63 0.62 0.61 Average Correlation Linear Percentile 0.69 0.64 Figure 30: Average prediction correlation of predictions with linear versus percentile ITF, given regression trees as the aggregation method. In order to apply MFI methods from Section 2.4, numerical target variables need to be fuzzified. As proposed in this section, two approaches for inductive target fuzzification (ITF) have been proposed. Both were tested and compared in the experiments. In Figure 30, one can see that the average correlation between prediction and target was much higher for linear ITF.13 The WSR significance test14 returned a pvalue of 0.0000289. Thus, linear target fuzzification performs significantly better for predicting fuzzy classes than percentile target fuzzification. 13 14 See Query 9 in Chapter A See Query 10 and data in Table 13 in Chapter A 109 0.800 0.700 0.600 0.500 0.400 0.300 0.200 0.100 0.000 Average Correlation regtree(nld): regtree(nldu): Rank 1 Rank 2 0.697 0.695 regtree(nc): Rank 3 0.690 regtree(npdu) regtree(npr): : Rank 4 Rank 5 0.690 regtree(no IAF): Rank 14 linreg(no IAF): Rank 25 logreg(no IAF): Rank 38 0.621 0.591 0.569 0.689 Figure 31: Average prediction correlation for combinations of membership function induction and aggregation methods for fuzzified numerical targets. In Figure 31, the results for experiments with combinations of different IAF and aggregation methods for data with numerical targets15 are shown, given linear ITF of numerical target variables. In this case, IAF with NLD, together with a supervised aggregation using Weka M5P regression trees (regtree), is the best method with an average correlation of 0.697. The difference between this combination and the benchmark prediction using regression trees without IAF is significant with a WSR p-value16 of 0.0026. There are several parameters that distinguish datasets. These include number of variables, number and percentage of categorical or numerical variables, number of rows, ratio between number of rows and number of columns, and the linearity of the prediction target. This linearity was measured by the average correlation of the predictions of a linear regression benchmark model, YLR, with the target variable Y: Linearity := avg(corr(YLR,Y)). The question is whether any of these parameters correlate significantly with the improvement of predictive performance of regression models with IAF. In order to answer this question for binary target predictions, correlation and level of significance of correlation were calculated, using a non-parametric correlation test, between the parameters and the relative improvement of the predictive performance of logistic regression if the analytic variables are fuzzified using NLR versus logistic regression without IAF.17 As the statistical test, Spearman’s rho (Weisstein, 2012b), with a z-score significance test was applied, which exists as a precompiled function in the database.18 15 16 See Query 11 in Chapter A See Query 12 and data in Table 15 in Chapter A See Query 14 in Chapter A 18 http://docs.oracle.com/cd/B28359_01/server.111/b28286/functions029.htm (6/2012) 17 110 Table 7 Correlation and p-Value of Dataset Parameters and Improvement of Logistic Regression with IAF for Binary Target Variables Parameter Correlation with Improvement with IAF p-value Number of categorical variables 0.335516011 0.069899788 Number of numeric variables -0.097871137 0.60688689 Percentage of categorical variables 0.206624854 0.273290146 Percentage of numeric variables -0.206624854 0.273290146 Number of columns Average correlation of the prediction of linear regression 0.228400654 0.224758897 -0.50567297 0.004362976 Number of rows (n) Ratio number of rows / number of columns 0.089665147 0.637498617 -0.001557286 0.993483625 Improvement of logistic regression by IAF NLR 0.3 0.2 0.1 0 -0.1 0 0.2 0.4 0.6 0.8 1 1.2 -0.2 -0.3 Average correlation of predictions of linear regression Figure 32: Relationship between target linearity and IAF benefit for binary target variables. As shown in Table 7, the correlation between target linearity and improvement by NLR fuzzification is negative and significant (p < 0.005). This means that the less linear the connection between the analytic variables and the target variable is, the more a Boolean prediction using logistic regression can be improved with an IAF using NLRs. In Figure 32, this association is visualized in a scatter plot.19 19 See Query 15 and data in Table 16 in Chapter A 111 For fuzzified numerical prediction targets, Table 8 shows similar results.20 The improvement of regression trees with IAF NLD correlates negatively and significantly with the linearity of association between analytic and target variables. The lower the performance of linear regression, the more a predictive regression tree model can benefit from IAF using NLD. This association is illustrated21 in Figure 33. Table 8 Correlation and p-Value of Dataset Parameters and Improvement of Regression Trees with IAF for Zadean Target Variables Parameter Correlation w/ Improvement by IAF p-value Number of categorical variables 0.121461217 0.522578264 Number of numeric variables 0.03610839 0.84975457 Percentage of categorical variables 0.036497846 0.848152597 Percentage of numeric variables -0.036497846 0.848152597 Number of columns Average correlation of the prediction of linear regression 0.195910119 0.299481536 -0.583537264 0.000712151 Number of rows (n) Ratio number of rows / number of columns 0.081432863 0.668807278 -0.043381535 0.81994093 Improvement of regression trees by IAF NLD 1 0.8 0.6 0.4 0.2 0 -0.2 0 0.2 0.4 0.6 0.8 1 1.2 Average correlation of predictions of linear regression Figure 33: Relationship between target linearity and IAF benefit for fuzzified numerical target variables. 20 21 See Query 14 in Chapter A See Query 15 and data in Table 17 in Chapter A 112 “Every species is vague, every term goes cloudy at its edges, and so in my way of thinking, relentless logic is only another name for stupidity—for a sort of intellectual pigheadedness. If you push a philosophical or metaphysical enquiry through a series of valid syllogisms—never committing any generally recognized fallacy—you nevertheless leave behind you at each step a certain rubbing and marginal loss of objective truth and you get deflections that are difficult to trace, at each phase in the process. Every species waggles about in its definition, every tool is a little loose in its handle, every scale has its individual.” (H. G. Wells, 1908) 113 114 5 Precisiating Fuzziness by Induction 5.1 Summary of Contribution A methodology for IFC has been introduced. This method allows automated derivation of membership functions from data. The idea is to translate sampled probabilities into fuzzy restrictions. Thus, a conceptual switch from the probabilistic to the possibilistic view is applied in order to reason about the data in terms of fuzzy logic. Business applications of MFI have been proposed in the area of marketing analytics in the fields of customer and product analytics, fuzzy target groups, and integrated analytics for individual marketing. A prototype inductive fuzzy classification language (IFCL) has been implemented and applied in experiments with 60 datasets with categorical and numerical target variables in order to evaluate performance improvements by application of the proposed methodology. Seven questions (Section 1.1) have guided the research conducted for this thesis. The following list summarizes the answers that this thesis proposes: o What is the theoretical basis of inductive fuzzy classification (IFC) and what is its relation to inductive logic? Inductive logic is defined as “a system of evidential support that extends deductive logic to less-than-certain inferences” (Hawthorne, 2008, “”Inductive Logic,” paragraph 1). Fuzzy classes are fuzzy sets (Zadeh 1965) defined by propositional functions (Russell, 1919) with a gradual truth-value (i.e., mapping to fuzzy propositions; Zadeh 1975). Their membership functions are thus inductive if their defining propositional functions are based on less-than-certain inferences (Section 2.4). The inductive fuzzy class y’ = { i ∈U | i is likely a member of y } is defined by a predictive model, µ, for membership in class y, where “likely” is a fuzzy set of hypotheses. The truth function of the fuzzy propositional function L(i,y) := “i is likely a member of y” is a fuzzy restriction (Zadeh, 1975a) on U defined by µy‘. o How can membership functions be derived inductively from data? Membership functions can be derived using ratios or differences of sampled conditional probabilities. Different formulas have been proposed in Section 2.4.1 and tested in Section 4.2 Normalized differences and ratios of likelihoods have shown to provide optimal membership degrees. For numeric variables, a continuous membership function can be defined by piecewise 115 linear function approximation. The numeric variable is discretized using quantiles and a linear function is approximated to the average values and the membership degrees for every adjacent pair of quantiles. For numerical target variables, normalization leads to a linear fuzzification with a membership degree to a fuzzy set that can be used to calculate likelihoods of fuzzy hypotheses. o How can a business enterprise apply IFC in practice? o How can the proposed methods be implemented in a computer program? Inductive fuzzy classes can support marketing analytics by providing selection, visualization, and prediction in the fields of customer analytics, product analytics, fuzzy target selection, and integrated analytics for individual marketing. These techniques improve decision support for marketing by generating visual, intuitive profiles and improved predictive models, which can enhance sales (Section 3.2). A case study shows a real-world application with a financial service provider (Section 3.2.5). The IFCL prototype uses a database server for data storage, access, and computation (Section 4.1.2). The analytic process is configured in a text file using a synthetic language called IFCL. This language allows definition of all computations necessary for MFI, IAF, target fuzzification, attribute selection, supervised multivariate aggregation, fuzzy classification of data using predictive models, and model evaluation. Additionally, the IFCL prototype allows experiments on the proposed methods for MFI in batch mode. Furthermore, student works have shown implementations of IFC with graphical user interfaces. o How is IFC optimally applied for prediction? 116 First, data is prepared and relevant attributes are selected. Then, each attribute is inductively fuzzified, so that the membership degree indicates the degree of membership in the target class. Finally, those multiple membership degrees are aggregated into a single membership degree with a multivariate regression, which represents the inductive class prediction. Optimally, for binary targets, attributes are fuzzified with NLRs and aggregated using logistic regression. For numerical targets, the target attribute is fuzzified using a linear normalization, the dependent attributes are fuzzified using NLD and then aggregated using regression trees (Section 3.1.3). o Which aggregation methods are optimal for the multivariate combination of fuzzy classes for prediction? In the experimental phase, product, algebraic sum, minimum, maximum, average, logistic regression, linear regression, and regression trees have been tested for their predictive performance using the prototype software IFCL. For the aggregation of fuzzified attributes into a single prediction value for data records, the experiments showed that, on average, a supervised aggregation using multivariate regression models (logistic regression for Boolean targets and regression trees for Zadehan targets) are optimal (Section 4.2.2). o Can it be statistically supported that the proposed method of IFC improves predictive performance? Inductive attribute fuzzification using NLRs significantly improved average prediction results of classical regression models (Section 4.2.2). In fact, this improvement significantly and negatively correlated with the linearity of association between the data and the target class. Thus, the less linear this association is, demonstrated by a smaller correlation of the predictions of a linear regression model with the actual values, the more a multivariate model can be improved by transforming attributes into an inductive membership degree using the methods proposed in this thesis. 5.2 Discussion of Results Human perception and cognition is blurred by uncertainty and fuzziness. Concepts in our minds cluster perceptions into categories that cannot always be sharply distinguished. In some cases, binary classifications are feasible, such as detecting the presence or absence of light. Nevertheless, in many cases, our classification relies on fuzzy terms such as bright. Some concepts are gradual and can be ordered by their degree. In our previous example, brightness is a perception that is ordinal because some visions are brighter than others. By mapping an ordinal scale to Zadehan truth values, a membership function can be defined in order to clearly precisiate the semantics of fuzzy words, concepts, or terms, in the sense of Zadeh (2008). In fact, fuzzy set theory has not yet been recognized enough for its most valuable contribution: It provides a tool for assigning precise definitions to fuzzy statements! In Section 2.2.1, the sorites paradox, an age-old philosophical puzzle, was easily resolved by application of fuzzy set theory; such is the power of Zadehan logic. 117 Conditioned by fuzziness of cognition, the human mind infers and reasons based on fuzzy ideas, and often, successfully so. Induction is an uncertain type of reasoning, and thus classifies inferences into a fuzzy set: the fuzzy class of inductively supported conclusions. On one hand, induction is always uncertain, and even the most unlikely event can actually happen, even if induction indicates the contrary, such as the observation of a black swan (Taleb, 2007). On the other hand, how can we learn if not from past experience? Good inductive inferences are reliable more often than not. Furthermore, gaining insights by evaluating likelihoods of hypotheses using objective data is a cornerstone of empiricism. Thus, induction and its support measure, the likelihood ratio, can amplify past experience by leading to better and more reliable inductive inferences. While many concepts are fuzzy, induction provides a tool for precisiation. The transformation of likelihood ratios into membership functions to fuzzy sets by normalization is a tool for reasoning about uncertainty by amplification of past experience, where the fuzziness of class membership is precisiated by likelihood in the data. Accordingly, MFI with NLRs applies the law of likelihood and fuzzy set theory to make inductive inferences and to represent them as membership functions to fuzzy classes. There are three main advantages of applying likelihood-based MFI in analytics. First, a membership function makes hidden meaningful associations between attributes in the data explicit. It allows visualizing these associations in order to provide insight into automated inductive inferences. Second, a two-dimensional plot of these membership functions is easily interpretable by humans. Those visualizations are precisiations of inductive associations. Third, these membership functions are models that allow for a better quality of predictions and thus more accurate decisions. Likelihood-based precisiation of fuzziness can be applied to marketing analytics. Data analysis on customers, products, and transactions can be applied for customer relationship management (CRM) and individual marketing. This kind of analytic CRM provides decision support to company representatives in marketing channels with direct customer contact for offers, underwriting, sales, communications, gifts, and benefits. For the analytics process, it is proposed to classify customers inductively and fuzzily in order to target individual customers with the right relationship activities. First, the customers are classified by assigning them to different targets (classes), such as product offers or promotional gifts. Second, this classification is done inductively by analyzing present data as evidence for or against target membership based on customer characteristics. Third, the assignment of individual 118 customers to targets is fuzzy if the resulting classes have a gradual membership function. Finally, those inductive membership degrees to fuzzy targets provide decision support by indicating the likelihood of desired response in customer activities based on customer characteristics. These membership functions can be used in analytics to select the most important characteristics regarding a target, visualize the relationship between characteristics and a target, and predict target membership for individual customers. The proposed method for MFI is based on calculating likelihoods of target membership in existing data. These likelihoods are turned into a fuzzy set membership function by comparison and normalization using an NLR or an NLD. This algorithm has been implemented in the Weka machine learning workbench as a supervised attribute filter, which inductively fuzzifies sharp data and visualizes the induced membership functions. This software can be downloaded for experimental purposes. Sharp binary classification and segmentation lead to anomalies of threshold, and fuzzy classification provides a solution with gradual distinctions that can be applied to CRM, as pointed out by Werro (2008). Gradual customer partitioning has the advantage that the size of target groups can be varied by choosing a threshold according to conditions such as budget or profitability. Of course, scoring methods for CRM are state of the art; additionally, the present approach suggests that fuzzy logic is the appropriate tool for reasoning about CRM targets because they are essentially fuzzy concepts. Scoring provides a means for precisiation of this fuzziness, which provides numerical membership degrees of customers in fuzzy target groups. The advantages of MFI for fuzzy classification of customers are efficiency and precision. First, membership functions to CRM targets can be derived automatically, which is an efficient way of definition. And second, those inferred membership functions are precise because they indicate an objective, measurable degree of likelihood for target membership. Thus, the semantics of the membership function is clearly grounded. 5.3 Outlook and Further Research The first point of further research is further development of the IFCL software. This prototype has fulfilled its purpose in answering the research questions of this thesis, but it lacks many features to make it suitable for productive use. Further development of this software could address the following points: 119 o refactoring of the source code with a clear object oriented design methodology, o adding a graphical user interface, o redesign of certain syntactical elements that have turned out to be inconvenient, o adding a syntax checker for the IFCL language, o o o adding support for all databases with a JDBC interface, handling null values in the data, and allowing multiclass predictions. As a second research direction, the field of application of IFC will be diversified. So far, applications have been proposed and evaluated in the area of marketing. Providing applications for web semantics analytics and biomedical analytics is envisioned. Third, the logical framework of fuzzy classification by induction is intended to be generalized. “Inductive approximate reasoning” can be defined as a methodology for the application of logic with gradual truthvalues using less-than-certain inferences. Also, the epistemological problem of induction will be tackled, because the likelihood ratio as a measure of support is distorted for large values of 𝑝𝑝(𝐻𝐻 ∩ 𝐸𝐸)/𝑝𝑝(𝐻𝐻), which is exemplified by the paradox of the raven (Vickers, 2009): Is the conclusion that a Raven (𝐸𝐸) is black (𝐻𝐻) truly supported by countless observations of white clouds (𝐻𝐻 ∩ 𝐸𝐸)? At least, it increases the likelihood ratio by decreasing 𝑝𝑝(𝐸𝐸|𝐻𝐻); perhaps, there might be other useful measures of inductive support. The most important suggestion for further research is the investigation of multidimensional MFI. This thesis is concentrated on induction of membership functions for single variables and their multivariate combination. As such, not all possible combinations of all variables are evaluated (see Section 2.2.2). In a multivariate model, a given attribute value can be assigned the same weight for every combination with values of other variables, for example, in a linear regression. In a multidimensional model, the same attribute value has different weights in different contexts, because every vector of a possible attribute value combination is assigned an individual weight or membership degree. Therefore, it might be interesting for future research to investigate the properties of multidimensional MFI. Instead of a multivariate combination of univariate membership functions, a multidimensional membership function assigns a membership degree to vectors of attribute value combinations, and the influence of an attribute value is not only dependent on itself, but also on the context of the other attribute’s values. Thus, predictive performance could be 120 improved because the interdependency of attributes can be modeled. This could resolve the “watermelon paradox” stated by Elkan (1993, p. 703), because the inductive membership function to the concept of watermelon is measured in two dimensions, with “red inside” as a first coordinate and “green outside” as a second. The following research questions can be of interest: How are multidimensional membership functions induced from data? How are multidimensional membership degrees computed for vectors of categorical values, for vectors of numerical values, and for vectors of numerical and categorical values? How are continuous functions derived from those discrete degrees? Can multidimensional membership functions improve prediction? In what cases is it advisable to work with multidimensional membership functions? A possibility is to use n-linear interpolation using n-simplexes (Danielsson & Malmquist, 1992), which are hyper-triangles or generalizations of triangles in multidimensional space. Using simplexes, for every n-tuple of possible dimension value combinations, a corresponding likelihood measure (such as an NLR) could be sampled. Then, n different membership degree samples would represent the edges of a simplex. This hyper-triangle would represent a piece of the continuous multidimensional membership function, which could be approximated by combining simplexes to piecewise linear hyper surfaces. 121 122 6 Literature References Backus, J. W., Bauer, F. L., Green, J., Katz, C., McCarthy, J., Perlis, A. J., et al. (1960). Report on the algorithmic language ALGOL 60. (P. Naur, Ed.) Communications of the Association for Computing Machinery , 3 (5), pp. 299-314. Bellmann, R. E., & Zadeh, L. A. (1977). Local and Fuzzy Logics. In J. M. Dunn, & G. Epstein (Eds.), Modern Uses of Multiple-Valued Logic (pp. 283-335). Kluwer Academic Publishers. Boole, G. (1847). The Matematical Analysis of Logic, being an Essay towards a Calculus of Deductive Reasoning. London: George Bell. Carrol, L. (1916). Alice's Adventures in Wonderland. New York: Sam'l Gabriel Sons & Company. Chmielecki, A. (1998). What is Information? Twentieth World Congress of Philosophy. Boston, Massachusetts USA. Danielsson, R., & Malmquist, G. (1992). Multi-Dimensional Simplex Interpolation - An Approach to Local Models for Prediction. Chemometrics and Intelligent Laboratory Systems , 14, pp. 115128. Davenport, T. H. (2006). Competing on Analytics. Harvard Business Review . Del Amo, A., Montero, J., & Cutello, V. (1999). On the Principles of Fuzzy Classification. Proc. 18th North American Fuzzy Information Processing Society Annual Conf, (pp. 675 – 679). Dianhui, W., Dillon, T., & Chang, E. J. (2001). A Data Mining Approach for Fuzzy Classification Rule Generation. IFSA World Congress and 20th NAFIPS International Conference, (pp. 2960-2964). Dubois, D. J., & Prade, H. (1980). Fuzzy Sets and Systems. Theory and Applications. New York: Academic Press. Elkan, C. (1993). The Paradoxical Success of Fuzzy Logic. Proceedings of the Eleventh National Conference on Artificial Intelligence, (pp. 698–703). Washington D.C. 123 Glubrecht, J.-M., Oberschelp, A., & Todt, G. (1983). Klassenlogik. Mannheim: Wissenschaftsverlag. Gluchowski, P., Gabriel, R., & Dittmar, C. (2008). Management Support Systeme und Business Intelligence. Berlin: Springer Verlag. Graf, C. (2010). Erweiterung des Data-Mining-Softwarepakets WEKA um induktive unscharfe Klassifikation (Master's Thesis). Department of Informatics, University of Fribourg, Switzerland. Greene, B. (2011). The Hidden Reality. Parallel Universes And The Deep Laws Of The Cosmos. New York: Random House. Hüllermeier, E. (2005). Fuzzy Methods in Machine Learning and Data Mining: Status and Prospects. Fuzzy Sets and Systems , pp. 387406. Hájek, A. (2009). Interpretations of Probability. In E. N. Zalta (Ed.), Stanford Encyclopedia of Philosophy. Stanford: The Metaphysics Research Lab, Stanford University. Hajek, P. (2006). Fuzzy Logic. In E. N. Zalta (Ed.), Stanford Encyclopedia of Philosophy. Stanford: The Metaphysics Research Lab, Stanford University. Hall, M., Frank, E., Holmes, G., Pfahringer, B., Reutemann, P., & Witten, I. H. (2009). The WEKA Data Mining Software: An Update. SIGKDD Explorations , 11 (1). Hawthorne, J. (2008). Inductive Logic. In E. N. Zalta (Ed.), Stanford Encyclopedia of Philosophy. Stanford: The Metaphysics Research Lab, Stanford University. Hu, Y., Chen, R., & Tzeng, G. (2003). Finding Fuzzy Classification Rules using Data Mining Techniques. Pattern recognition letters , 24 (1-3), pp. 509-514. Hyde, D. (2008). Sorites Paradox. In E. N. Zalta (Ed.), The Stanford Encyclopedia of Philosophy. Stanford : The Metaphysics Research Lab, Stanford University. Inmon, W. H. (2005). Building the Data Warehouse (fourth ed.). New York: Wiley Publishing. 124 John, E. G. (1998). Simplified Curve Fitting Using Speadsheet Add-ins. International Journal of Engineering Education , 14 (5), pp. 375380. Joyce, J. (2003). Bayes' Theorem. In E. N. Zalta (Ed.), Stanford Encyclopedia of Philosophy. Stanford: The Metaphysics Research Lab, Stanford University. Küsters, U. (2001). Data Mining Methoden: Einordung und Überblick. In H. Hippner, U. Küsters, M. Meyer, & K. Wilde (Eds.), Handbuch Data Mining im Marketing - Knowledge Discovery in Marketing Databases (pp. 95-130). Wiesbaden: vieweg GABLER. Kaniza, G. (1976). Subjective contours. Scientific American (234), pp. 48-52. Kaufmann, M. A. (2009). An Inductive Approach to Fuzzy Marketing Analytics. In M. H. Hamza (Ed.), Proceedings of the 13th IASTED international conference on Artificial Intelligence and Soft Computing. Palma, Spain. Kaufmann, M. A. (2008). Inductive Fuzzy Classification. Thesis Proposal . Internal Working Paper, University of Fribourg, Switzerland. Kaufmann, M. A., & Graf, C. (2012). Fuzzy Target Groups in Analytic Customer Relationship Management. In A. Meier, & L. Donzé (Eds.), Fuzzy Methods for Customer Relationship Management and Marketing - Applications and Classification. London: IGI Global. Kaufmann, M. A., & Meier, A. (2009). An Inductive Fuzzy Classification Approach Applied To Individual Marketing. Proc. 28th North American Fuzzy Information Processing Society Annual Conf. Kohavi, R., Rothleder, N. J., & Simoudis, E. (2002). Emerging Trends in Business Analytics. Communications of the ACM , 45 (8), pp. 4548. Mayer, P. (2010). Implementation of an Inductive Fuzzy Classification Interpreter. Master's Thesis. University of Fribourg. Meier, A., Schindler, G., & Werro, N. (2008). Fuzzy classification on relational databases. In M. Galindo (Ed.), Handbook of Research 125 on Fuzzy Information Processing in Databases (Vol. II, pp. 586614). London: Information Science Reference. merriam-webster.com. (2012a). Analytics. Retrieved from Merriam Webster Online Dictionnary: http://www.merriamwebster.com/dictionary/analytics merriam-webster.com. (2012b). Heap. Retrieved from Merriam Webster Online Dictionnary: http://www.merriamwebster.com/dictionary/heap Mill, J. S. (1843). A System of Logic. London: John W. Parker, West Strand. Oberschelp, A. (1994). Allgemeine Mengenlehre. Mannheim: Wissenschaftsverlag. Oesterle, H., Becker, J., Frank, U., Hess, T., Karagiannis, D., Krcmar, H., et al. (2010). Memorandum zur gestaltungsorientierten Wirtschaftsinformatik. Multikonferenz Wirtschaftsinformatik (MKWI). Göttingen. Precht, R. D. (2007). Wer bin ich - und wenn ja wie viele? Eine philosophische Reise. München: Goldmann. Roubos, J. A., Setnes, M., & Abonyi, J. (2003). Learning Fuzzy Classification Rules from Labeled Data. Information Sciences— Informatics and Computer Science: An International Journal , Volume 150 (Issue 1-2). Russell, B. (1919). Introduction to Mathematical Philosophy. London: George Allen & Unwin, Ltd. Setnes, M., Kaymak, H., & van Nauta Lemke, H. R. (1998). Fuzzy Target Selection in Direct Marketing. Proc. of the IEEE/IAFE/INFORMS Conf. On Computational Intelligence for Financial Engineering (CIFEr). Shannon, C. (1948). A Mathematical Theory of Communication. The Bell Systems Technical Journal (Vol. 27), pp. 379–423, 623–656. Sorensen, R. (2008). Vagueness. In E. N. Zalta (Ed.), The Stanford Encyclopedia of Philosophy. Stanford: The Metaphysics Research Lab, Stanford University. 126 Sousa, J. M., Kaymak, U., & Madeira, S. (2002). A Comparative Study of Fuzzy Target Selection Methods in Direct Marketing. Proceedings of the 2002 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE '02). Spais, G., & Veloutsou, C. (2005). Marketing Analytics: Managing Incomplete Information in Consumer Markets and the Contribution of Mathematics to the Accountability of Marketing Decisions. Southeuropean Review of Business Finance & Accounting (3), pp. 127-150. Taleb, N. N. (2007). The Black Swan. The Impact of the Highly Improbable. New York: Random House. Turban, E., Aronson, J. E., Liang, T.-P., & Sharda, R. (2007). Decision Support and Business Intelligence Systems. New Jersey: Pearson Education. Vickers, J. (2009). The Problem of Induction. In E. N. Zalta (Ed.), Stanford Encyclopedia of Philosophy. Stanford: The Metaphysics Research Lab, Stanford University. Wang, L., & Mendel, J. (1992). Generating Fuzzy Rules by Learning from Examples. IEEE Transactions on Systems, Man and Cybernetics (Issue 6), pp. 1414 – 1427. Weisstein, E. W. (2010a). Conditional Probability. Retrieved from MathWorld--A Wolfram Web Resource: http://mathworld.wolfram.com/ConditionalProbability.html Weisstein, E. W. (2010b). Correlation Coefficient. Retrieved from MathWorld--A Wolfram Web Resource: http://mathworld.wolfram.com/CorrelationCoefficient.html Weisstein, E. W. (2012b). Spearman Rank Correlation Coefficient. From MathWorld--A Wolfram Web Resource: http://mathworld.wolfram.com/SpearmanRankCorrelationCoeffic ient.html Weisstein, E. W. (2012a). Wilcoxon Signed Rank Test. From MathWorld--A Wolfram Web Resource.: http://mathworld.wolfram.com/WilcoxonSignedRankTest.html Wells, H. G. (1908). First and Last Things; A Confession Of Faith And Rule Of Life. New York: G. P. Putnam's Sons. 127 Werro, N. (2008). Fuzzy Classification of Online Customers. PhD. Dissertation, University of Fribourg, Switzerland. Witten, I. H., & Frank, E. (2005). Data Mining, Practical Machine Learning Tools and Techniques (Second ed.). San Francisco: Morgan Kaufmann Publishers. Zadeh, L. A. (1965). Fuzzy Sets. Information and Control (8), pp. 338– 353. Zadeh, L. A. (1975a). Calculus of Fuzzy Restrictions. In L. A. Zadeh, K.S. Fu, K. Tanaka, & M. Shimura (Eds.), Fuzzy sets and Their Applications to Cognitive and Decision Processes. New York: Academic Press. Zadeh, L. A. (1975b). The Concept of a Linguistic Variable and its Application to Approximate Reasoning. Information Sciences , I (8), pp. 199–251. Zadeh, L. A. (2008). Is There a Need for Fuzzy Logic. Information Sciences , 178 (13). Zimmermann, H. J. (1997). Fuzzy Data Analysis. In O. Kaynak, L. A. Zadeh, B. Turksen, & I. J. Rudas (Eds.), Computational Intelligence: Soft Computing and Fuzzy-Neuro Integration with Applications. Berlin: Springer-Verlag. Zimmermann, H. J. (2000). Practical Applications of Fuzzy Technologies. Berlin: Springer-Verlag. Zimmermann, H. J., & Zisno, P. (1980). Latent Connectives in Human Decision Making. Fuzzy Sets and Systems , 37-51. 128 A. Appendix A.1. Datasets used in the Experiments Table 9 Data Sets with Categorical Target Variable, Transformed into a Binary Target Name Target Filter abalone rings <= 9 No adult class = ' >50K' No anneal class <> '3' yes balance class = 'L' No bands band_type = 'band' Yes breastw car class = 'benign' acceptable <> 'unacc' cmc contraceptive_met hod <> '1' No credit a16 = '+' No creditg class = 'good' No No No 22 Records Link (accessed 08.2010) http://archive.ics.uci.edu/ml/d 2743 atasets/Abalone http://archive.ics.uci.edu/ml/d 21623 atasets/Adult http://archive.ics.uci.edu/ml/d 597 atasets/Annealing http://archive.ics.uci.edu/ml/d 404 atasets/Balance+Scale http://archive.ics.uci.edu/ml/d 237 atasets/Cylinder+Bands http://archive.ics.uci.edu/ml/d atasets/Breast+Cancer+Wisc 437 onsin+(Diagnostic) http://archive.ics.uci.edu/ml/d 1145 atasets/Car+Evaluation http://archive.ics.uci.edu/ml/d atasets/Contraceptive+Metho 1002 d+Choice http://archive.ics.uci.edu/ml/d 431 atasets/Credit+Approval http://archive.ics.uci.edu/ml/d atasets/Statlog+(German+Cr 679 edit+Data) http://archive.ics.uci.edu/ml/d atasets/Pima+Indians+Diabe 489 tes http://archive.ics.uci.edu/ml/d 87 atasets/Acute+Inflammation glass class <> 'tested_positive' inflammation = 'yes' type in ( '''build wind float''', '''build wind nonfloat''', '''vehic wind float''', '''vehic wind nonfloat''') heart y= '2' No hepatitis class = 'LIVE' No http://archive.ics.uci.edu/ml/d 157 atasets/Glass+Identification http://archive.ics.uci.edu/ml/d 188 atasets/Statlog+(Heart) http://archive.ics.uci.edu/ml/d 59 atasets/Hepatitis horse outcome = '1' Yes 124 http://archive.ics.uci.edu/ml/d diabetes diagnosis 22 No No No See Section A.1.1 and A.1.2 129 atasets/Horse+Colic hypothyroid class <> 'negative' Yes internetads y=1 No ionosphere class = 'g' No iris class = 'Iris-setosa' No letter No lymph class = 'F' class = 'metastases' segment class = 'sky' No sonar class = 'Mine' No spectf y=1 Yes vehicle class = 'saab' No waveform class <> 1 No wine class = 2 No wisconsin diagnosis = 'B' Yes yeast cls = 'CYT' Yes 130 No http://archive.ics.uci.edu/ml/d 1800 atasets/Thyroid+Disease http://archive.ics.uci.edu/ml/d atasets/Internet+Advertisem 2153 ents http://archive.ics.uci.edu/ml/d 230 atasets/Ionosphere http://archive.ics.uci.edu/ml/d 99 atasets/Iris http://archive.ics.uci.edu/ml/d 13221 atasets/Letter+Recognition http://archive.ics.uci.edu/ml/d 99 atasets/Lymphography http://archive.ics.uci.edu/ml/d atasets/Statlog+(Image+Seg 1490 mentation) http://archive.ics.uci.edu/ml/d atasets/Connectionist+Bench 143 +(Sonar,+Mines+vs.+Rocks) http://archive.ics.uci.edu/ml/d 177 atasets/SPECTF+Heart http://archive.ics.uci.edu/ml/d atasets/Statlog+(Vehicle+Sil 552 houettes) http://archive.ics.uci.edu/ml/d atasets/Waveform+Database 3342 +Generator+(Version+2) http://archive.ics.uci.edu/ml/d 110 atasets/Wine http://archive.ics.uci.edu/ml/d atasets/Breast+Cancer+Wisc 391 onsin+(Diagnostic) http://archive.ics.uci.edu/ml/d 973 atasets/Yeast Table 10 Data Sets with Numerical Target Variable, Transformed into a Fuzzy Proposition µ↑ (see Formula 43 and Formula 44) Name Target Filter auto93 µ (price) Yes autohorse No baskball µ (horsepower) µ (points_per_minut e) bodyfat µ (bodyfat) No bolts µ (t20bolt) No breasttumor µ (tumor_size) No cholestrol µ (chol) No cloud µ-(te) No µ (violentcrimesperp op) Yes ↑ ↑ ↑− ↑ ↑ ↑ ↑ No ↑− communities No elusage µ (prp) µ (average_electric ity_usage) fishcatch µ (wheight) No forestfires µ (area) No fruitfly µ (longevity) No housing µ (price) No lowbwt µ (bwt) No cpu 23 ↑ ↑ ↑ ↑ ↑ ↑ ↑ No 23 Records Link (accessed 08.2010) http://www.amstat.org/public ations/jse/v1n1/datasets.lock. 138 html http://archive.ics.uci.edu/ml/d 65 atasets/Automobile http://lib.stat.cmu.edu/datase 62 ts/smoothmeth http://lib.stat.cmu.edu/datase 163 ts/bodyfat http://lib.stat.cmu.edu/datase 30 ts/bolts http://archive.ics.uci.edu/ml/ machine-learning181 databases/breast-cancer/ http://archive.ics.uci.edu/ml/d 203 atasets/Heart+Disease http://lib.stat.cmu.edu/datase 68 ts/cloud http://archive.ics.uci.edu/ml/d atasets/Communities+and+C 1363 rime http://archive.ics.uci.edu/ml/ machine-learning135 databases/cpu-performance/ http://lib.stat.cmu.edu/datase 35 ts/smoothmeth http://www.amstat.org/public ations/jse/datasets/fishcatch. dat http://www.amstat.org/public ations/jse/datasets/fishcatch.t 97 xt http://archive.ics.uci.edu/ml/d 346 atasets/Forest+Fires http://www.amstat.org/public ations/jse/datasets/fruitfly.da t http://www.amstat.org/public 79 ations/jse/datasets/fruitfly.txt http://archive.ics.uci.edu/ml/d 348 atasets/Housing http://www.umass.edu/statda ta/statdata/data/lowbwt.txt 124 http://www.umass.edu/statda See Section A.1.1 and A.1.2 131 ta/statdata/data/lowbwt.dat meta µ (error_rate) No parkinsons µ (motor_UPDRS) Yes pbc µ (survival_time) Yes pharynx µ (days_survived) Yes pollution µ (mort) No quake µ (richter) No sensory No servo µ (score) µ (servo_rise_time ) sleep µ (total_sleep) No slump µ (slump_cm) Yes strike µ (volume) No veteran µ(survival) No wineqred µ (quality) No wineqwhite µ (quality) No 132 ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ No http://archive.ics.uci.edu/ml/d 348 atasets/Meta-data http://archive.ics.uci.edu/ml/d 1172 atasets/Parkinsons http://lib.stat.cmu.edu/datase 114 ts/pbc http://www.umass.edu/statda ta/statdata/data/pharynx.txt http://www.umass.edu/statda 117 ta/statdata/data/pharynx.dat http://lib.stat.cmu.edu/datase 39 ts/pollution http://lib.stat.cmu.edu/datase 1463 ts/smoothmeth http://lib.stat.cmu.edu/datase 391 ts/sensory http://archive.ics.uci.edu/ml/d 108 atasets/Servo http://lib.stat.cmu.edu/datase 41 ts/sleep http://archive.ics.uci.edu/ml/d atasets/Concrete+Slump+Tes 75 t http://lib.stat.cmu.edu/datase 416 ts/strikes http://lib.stat.cmu.edu/datase 88 ts/veteran http://archive.ics.uci.edu/ml/d 1058 atasets/Wine+Quality http://archive.ics.uci.edu/ml/d 3247 atasets/Wine+Quality A.1.1. Attribute Selection Filters Data set Selected attributes in prediction experiments anneal surface_quality, family, ferro, thick, formability, chrom, condition, steel, non_ageing, phos, surface_finish, bf, enamelability, width, blue_bright_varn_clean, strength, carbon, shape, cbond, bw_me, exptl, lustre, bl Type, City_MPG, Highway_MPG, Air_Bags_standard, Drive_train_type, Number_of_cylinders, Engine_size, RPM, Engine_revolutions_per_mile, Manual_transmission_available, Fuel_tank_capacity, Passenger_capacity, Length, Wheelbase, Width, U_turn_space, Rear_seat_room, Luggage_capacity, Weight, Domestic grain_screened, ink_color, proof_on_ctd_ink, blade_mfg, cylinder_division , paper_type, ink_type, direct_steam, solvent_type, type_on_cylinder , press_type, press , unit_number , cylinder_size, paper_mill_location, plating_tank, proof_cut, viscosity, caliper, ink_temperature, humifity, roughness, blade_pressure, varnish_pct, press_speed, ink_pct, solvent_pct, ESA_Voltage, ESA_Amperage , wax, hardener, roller_durometer, current_density_num , anode_space_ratio, chrome_content pctilleg, pctkids2par, pctfam2par, racepctwhite, numilleg, pctyoungkids2par, pctteen2par, racepctblack, pctwinvinc, pctwpubasst, numunderpov, pctpopunderpov, femalepctdiv, pctpersdensehous, totalpctdiv, pctpersownoccup, pctunemployed, malepctdivorce, pcthousnophone, pctvacantboarded, pctnothsgrad, medfaminc, pcthousownocc, housvacant, pcthousless3br, pctless9thgrade, medincome, blackpercap, pctlarghousefam, numinshelters, numstreet, percapinc, agepct16t24, population, numburban, pctwofullplumb, pcthousoccup, lemaspctofficdrugun, pctemploy, mednumbr, pctoccupmgmtprof, pctimmigrec10, numimmig, pctbsormore, medrentpcthousinc, pctoccupmanu, pctimmigrec8, pctwwage, agepct12t29, pctlarghouseoccup, hisppercap, popdens, pctimmigrecent, pctimmigrec5 Age, surgery, mucous_membranes, to_number(pulse) as pulse, capillary_refill_time, to_number(packed_cell_volume) as packed_cell_volume, peristalsis, pain, abdominal_distension, temperature_of_extremities, to_number(rectal_temperature) on_thyroxine, query_on_thyroxine, on_antithyroid_medication, sick, pregnant, thyroid_surgery, I131_treatment, query_hypothyroid, query_hyperthyroid, lithium, goitre, tumor, hypopituitary, psych, to_number(replace(TSH, '?', null)) as TSH, to_number(replace(T3, '?', null)) as T3, to_number(replace(TT4, '?', null)) as TT4, to_number(replace(T4U, '?', null)) as T4U, to_number(replace(FTI, '?', null)) as FTI, referral_source auto93 bands communities horse hypothyroid parkinsons subject_no, age, sex, test_time, Jitter_prc, Jitter_abs, Jitter_rap, Jitter_PPQ5, Jitter_DDP, Shimmer, Shimmer_dB, Shimmer_APQ3, Shimmer_APQ5, Shimmer_APQ11, Shimmer_DDA, NHR, HNR, RPDE, DFA, PPE 133 pbc pharynx Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z8, Z9, Z10, Z11, Z12, Z13, Z14, Z15, Z16, Z17 Inst, sex, Treatment, Grade, Age, Condition, Site, T, N, Status slump Cement, Slag, Fly_ash, Water, SP, Coarse_Aggr, Fine_Agg spectf f12s, f22r, f10s, f9s, f16s, f3s, f5s, f8s, f5r, f19s, f2s, f13s, f15s, f20s wisconsin radius, texture, perimeter, area, smoothness, compactness, concavity, concave_points, symmetry, fractal_dimension yeast mcg, gvh, alm, mit, erl, pox, vac, nuc A.1.2. Record Selection Filters Data set Selection criteria horse surgery <> '?' and mucous_membranes <> '?' and pulse <> '?' and capillary_refill_time <> '?' and packed_cell_volume <> '?' and peristalsis <> '?' and pain <> '?' and abdominal_distension <> '?' and temperature_of_extremities <> '?' and rectal_temperature <> '?' hypothyroid TSH <> '?' and T3 <> '?' and TT4 <> '?' and T4U <> '?' and FTI <> '?' 134 A.2. Database Queries A.2.1. Database Queries for Experiments with Sharp Target Variables Query 1: View for evaluation of experiment base data create table evaluation_basis3 as select dataset, method_tmp as aggregation, ifc, holdout_no, correlation, auc,mae,rmse, c_s, c_s_sig, c_k, c_k_sig from ( select ifcl_file,dataset,case when ifc is null then 'noifc' else ifc end as ifc, correlation, percent_rank() over(partition by dataset order by correlation) as r, --correlation as r, auc,mae,rmse, replace( replace(regexp_replace(replace(ifcl_file, './metainduction/'||dataset||'/'||ifc||'/', ''), '[[:digit:]]+_', ''),'.ifcl') , './metainduction/'||dataset||'/', '') as method_tmp, holdout_no, c_s, c_s_sig, c_k, c_k_sig from ( select ifcl_file,dataset,correlation,auc,mae,rmse, replace(replace(ifc_method_tmp, './metainduction/'||dataset||'/', ''), '/', '') as ifc, holdout_no, c_s, c_s_sig, c_k, c_k_sig from 135 ( SELECT ifcl_file,correlation,auc,mae,rmse, replace(replace(REGEXP_SUBSTR(ifcl_file, './metainduction/[[:alnum:]]+/'), './metainduction/', ''), '/', '') as dataset, REGEXP_SUBSTR(ifcl_file, './metainduction/([[:alnum:]]+)/([[:alpha:]])+/') as ifc_method_tmp, holdout_no, c_s, c_s_sig, c_k, c_k_sig from evaluations_repeated ) ) ) where method_tmp not like '%numeric%' and method_tmp not like '%ct%' create index ix1 on evaluation_basis3(dataset) create index ix2 on evaluation_basis3(ifc) Query 2: Average correlation per aggregation method select aggregation, avg(correlation) from evaluation_basis3 where ifc <> 'noifc' group by aggregation order by avg(correlation) desc Query 3: Test of significance in difference between logistic regression, linear regression and regression tree as aggregation methods select stats_wsr_test(corr_logreg, corr_regtree, 'ONE_SIDED_SIG'), stats_wsr_test(corr_logreg, corr_linreg, 'ONE_SIDED_SIG') from ( select dataset, 136 sum(case when aggregation = 'logreg' then correlation else 0 end) / sum(case when aggregation = 'logreg' then 1 else 0 end) as corr_logreg, sum(case when aggregation = 'regtree' then correlation else 0 end) / sum(case when aggregation = 'regtree' then 1 else 0 end) as corr_regtree, sum(case when aggregation = 'linreg' then correlation else 0 end) / sum(case when aggregation = 'linreg' then 1 else 0 end) as corr_linreg from evaluation_basis3 where ifc <> 'noifc' group by dataset ) Query 4: Average correlation per induction and aggregation method select ifc, aggregation, avg(correlation) from evaluation_basis3 group by ifc, aggregation order by avg(correlation) desc Query 5: Test of significance of difference between logistic regression using NLR-IAF, NLD-IAF and regression trees without IAF select stats_wsr_test(corr_logreg_nlr, corr_regtree_no_iaf, 'ONE_SIDED_SIG'), stats_wsr_test(corr_logreg_nlr, corr_logreg_nld, 'ONE_SIDED_SIG') from ( select dataset, sum(case when ifc||'.'||aggregation = 'nlr.logreg' then correlation 137 else 0 end) / sum(case when ifc||'.'||aggregation = 'nlr.logreg' then 1 else 0 end) as corr_logreg_nlr, sum(case when ifc||'.'||aggregation = 'nld.logreg' then correlation else 0 end) / sum(case when ifc||'.'||aggregation = 'nld.logreg' then 1 else 0 end) as corr_logreg_nld, sum(case when ifc||'.'||aggregation = 'noifc.regtree' then correlation else 0 end) / sum(case when ifc||'.'||aggregation = 'noifc.regtree' then 1 else 0 end) as corr_regtree_no_iaf from evaluation_basis3 where dataset is not null group by dataset ) A.2.2. Database Queries for Experiments with Numerical Target Variables Query 6: View for evaluation of experiment base data create table evaluation_basis_num as select dataset, method_tmp as aggregation, ifc, fuzzification, holdout_no, correlation, auc,mae,rmse, c_s, c_s_sig, c_k, c_k_sig from ( select ifcl_file,dataset, nvl(replace(substr(ifc, 1, regexp_instr(ifc, '._l|_p')),'_', ''), 'noifc') as ifc, 138 replace(substr(ifc, regexp_instr(ifc, '._l|_p')+1, length(ifc)), '_', '') as fuzzification, correlation, percent_rank() over(partition by dataset order by correlation) as r, --correlation as r, auc,mae,rmse, replace( replace(regexp_replace(replace(ifcl_file, './metainduction_num/'||dataset||'/'||ifc||'/', ''), '[[:digit:]]+_', ''),'.ifcl') , './metainduction_num/'||dataset||'/', '') as method_tmp, holdout_no, c_s, c_s_sig, c_k, c_k_sig from ( select ifcl_file,dataset,correlation,auc,mae,rmse, replace(replace(ifc_method_tmp, './metainduction_num/'||dataset||'/', ''), '/', '') as ifc, holdout_no, c_s, c_s_sig, c_k, c_k_sig from ( SELECT ifcl_file,correlation,auc,mae,rmse, replace(replace(REGEXP_SUBSTR(ifcl_file, './metainduction_num/[[:alnum:]]+/'), './metainduction_num/', ''), '/', '') as dataset, REGEXP_SUBSTR(ifcl_file, './metainduction_num/([[:alnum:]]+)/([[:print:]])+/') as ifc_method_tmp, holdout_no, c_s, c_s_sig, c_k, c_k_sig from evaluations_repeated_num ) ) ) create index ix3 on evaluation_basis_num(dataset) 139 create index ix4 on evaluation_basis_num(ifc) create index ix5 on evaluation_basis_num(fuzzification) Query 7: Average correlation per aggregation method, given linear ITF select aggregation, avg(correlation) from evaluation_basis_num where ifc <> 'noifc' group by aggregation order by avg(correlation) desc Query 8: Test of significance in difference between regression tree, linear regression and average select stats_wsr_test(corr_regtree, corr_avg, 'ONE_SIDED_SIG'), stats_wsr_test(corr_regtree, corr_linreg, 'ONE_SIDED_SIG') from ( select dataset, sum(case when aggregation = 'avg' then correlation else 0 end) / sum(case when aggregation = 'avg' then 1 else 0 end) as corr_avg, sum(case when aggregation = 'regtree' then correlation else 0 end) / sum(case when aggregation = 'regtree' then 1 else 0 end) as corr_regtree, sum(case when aggregation = 'linreg' then correlation else 0 end) / sum(case when aggregation = 'linreg' then 1 else 0 end) as corr_linreg from evaluation_basis_num where ifc <> 'noifc' group by dataset ) 140 Query 9: Average correlation per target fuzzification method select fuzzification, avg(correlation) from evaluation_basis_num where aggregation = 'regtree' group by fuzzification order by avg(correlation) desc Query 10: Test of significance between target fuzzification methods select stats_wsr_test(corr_l, corr_p, 'ONE_SIDED_SIG') from ( select dataset, sum(case when fuzzification = 'l' then correlation else 0 end) / sum(case when fuzzification = 'l' then 1 else 0 end) as corr_l, sum(case when fuzzification = 'p' then correlation else 0 end) / sum(case when fuzzification = 'p' then 1 else 0 end) as corr_p from evaluation_basis_num where aggregation = 'regtree' and ifc <> 'noifc' group by dataset ) Query 11: Average correlation per induction and aggregation method (given linear target fuzzification) select ifc, aggregation, avg(correlation) from evaluation_basis_num where (fuzzification = 'l' or fuzzification is null) and aggregation <> 'logreg_p' group by ifc, aggregation 141 order by avg(correlation) desc Query 12: Test of significance of difference between regression trees using NLD-IAF , NLDU-IAF and regression trees without IAF select stats_wsr_test(corr_regtree_nld, corr_regtree_no_iaf, 'ONE_SIDED_SIG'), stats_wsr_test(corr_regtree_nld, corr_regtree_nldu, 'ONE_SIDED_SIG'), stats_wsr_test(corr_regtree_nld, corr_regtree_nlr, 'ONE_SIDED_SIG') from ( select dataset, sum(case when ifc||'.'||aggregation = 'nld.regtree' then correlation else 0 end) / sum(case when ifc||'.'||aggregation = 'nld.regtree' then 1 else 0 end) as corr_regtree_nld, sum(case when ifc||'.'||aggregation = 'nldu.regtree' then correlation else 0 end) / sum(case when ifc||'.'||aggregation = 'nldu.regtree' then 1 else 0 end) as corr_regtree_nldu, sum(case when ifc||'.'||aggregation = 'npr.regtree' then correlation else 0 end) / sum(case when ifc||'.'||aggregation = 'npr.regtree' then 1 else 0 end) as corr_regtree_nlr, sum(case when ifc||'.'||aggregation = 'noifc.regtree' then correlation else 0 end) / sum(case when ifc||'.'||aggregation = 'noifc.regtree' then 1 else 0 end) 142 as corr_regtree_no_iaf from evaluation_basis_num where dataset is not null group by dataset ) A.2.3. Database Queries for Both Types of Experiments Query 13: Table with data parameters for each dataset -- Execute 00_load_all.bat first create or replace view data_params as select * from ( -- improvement select dataset, (corr_logreg_nlrcorr_logreg_no_iaf)/corr_logreg_no_iaf as improvement_by_iaf from ( select dataset, sum(case when ifc||'.'||aggregation = 'nlr.logreg' then correlation else 0 end) / sum(case when ifc||'.'||aggregation = 'nlr.logreg' then 1 else 0 end) as corr_logreg_nlr, sum(case when ifc||'.'||aggregation = 'noifc.regtree' then correlation else 0 end) / sum(case when ifc||'.'||aggregation = 'noifc.regtree' then 1 else 0 end) as corr_regtree_no_iaf, sum(case when ifc||'.'||aggregation = 'noifc.logreg' then correlation else 0 end) / sum(case when ifc||'.'||aggregation = 'noifc.logreg' then 1 else 0 end) as corr_logreg_no_iaf 143 from evaluation_basis3 where dataset is not null group by dataset ) union select dataset, (corr_regtree_nld corr_regtree_no_iaf)/corr_regtree_no_iaf as improvement_by_iaf from ( select dataset, sum(case when ifc||'.'||aggregation = 'nld.regtree' then correlation else 0 end) / sum(case when ifc||'.'||aggregation = 'nld.regtree' then 1 else 0 end) as corr_regtree_nld, sum(case when ifc||'.'||aggregation = 'noifc.regtree' then correlation else 0 end) / sum(case when ifc||'.'||aggregation = 'noifc.regtree' then 1 else 0 end) as corr_regtree_no_iaf from evaluation_basis_num where dataset is not null group by dataset ) ) join ( -- column count select replace(lower(table_name), '_tr', '') as dataset, sum(case when data_type in ('CHAR', 'VARCHAR2') then 1 else 0 end) as ncatcols, sum(case when data_type in ('NUMBER', 'FLOAT') then 1 else 0 end) as nnumcols, 144 sum(case when data_type in ('CHAR', 'VARCHAR2') then 1 else 0 end)/count(*) as pcatcols, sum(case when data_type in ('NUMBER', 'FLOAT') then 1 else 0 end)/count(*) as pnumcols, count(*) as ncols from sys.all_tab_columns where table_name in ('ABALONE_TR', 'ADULT_TR', 'ANNEAL_TR', 'BALANCE_TR', 'BANDS_TR', 'BREASTW_TR', 'CAR_TR', 'CMC_TR', 'CREDIT_TR', 'CREDITG_TR', 'DIABETES_TR', 'DIAGNOSIS_TR', 'GLASS_TR', 'HEART_TR', 'HEPATITIS_TR', 'HORSE_TR', 'HYPOTHYROID_TR', 'INTERNETADS_TR', 'IONOSPHERE_TR', 'IRIS_TR', 'LETTER_TR', 'LYMPH_TR', 'SEGMENT_TR', 'SONAR_TR', 'SPECTF_TR', 'VEHICLE_TR', 'WAVEFORM_TR', 'WINE_TR', 'WISCONSIN_TR', 'YEAST_TR', 'AUTO93_TR', 'AUTOHORSE_TR', 'BASKBALL_TR', 'BODYFAT_TR', 'BOLTS_TR', 'BREASTTUMOR_TR', 'CHOLESTROL_TR', 'CLOUD_TR', 'COMMUNITIES_TR', 'CPU_TR', 'ELUSAGE_TR', 'FISHCATCH_TR', 'FORESTFIRES_TR', 'FRUITFLY_TR', 'HOUSING_TR', 'LOWBWT_TR', 'META_TR', 'PARKINSONS_TR', 'PBC_TR', 'PHARYNX_TR', 'POLLUTION_TR', 'QUAKE_TR', 'SENSORY_TR', 'SERVO_TR', 'SLEEP_TR', 'SLUMP_TR', 'STRIKE_TR', 'VETERAN_TR', 'WINEQRED_TR', 'WINEQWHITE_TR') and column_name <> 'IS_TRAINING' and column_name <> 'Y' group by table_name ) using (dataset) join ( -- correlation of linear regression select dataset, avg(correlation) as avg_corr_linreg from evaluation_basis3 where ifc = 'noifc' and aggregation = 'linreg' group by dataset union select dataset, avg(correlation) from evaluation_basis_num where ifc = 'noifc' and aggregation = 'linreg' 145 group by dataset ) using (dataset) join ( -- row count select 'abalone' as dataset, 'c' as target_type, count(*) as nrows from abalone_tr union select 'abalone', 'c', count(*) from abalone_tr union select 'adult', 'c', count(*) from adult_tr union select 'anneal', 'c', count(*) from anneal_tr union select 'balance', 'c', count(*) from balance_tr union select 'bands', 'c', count(*) from bands_tr union select 'breastw', 'c', count(*) from breastw_tr union select 'car', 'c', count(*) from car_tr union select 'cmc', 'c', count(*) from cmc_tr union select 'credit', 'c', count(*) from credit_tr union select 'creditg', 'c', count(*) from creditg_tr union select 'diabetes', 'c', count(*) from diabetes_tr union select 'diagnosis', 'c', count(*) from diagnosis_tr union select 'glass', 'c', count(*) from glass_tr union select 'heart', 'c', count(*) from heart_tr union select 'hepatitis', 'c', count(*) from hepatitis_tr union select 'horse', 'c', count(*) from horse_tr union select 'hypothyroid', 'c', count(*) from hypothyroid_tr union select 'internetads', 'c', count(*) from internetads_tr union select 'ionosphere', 'c', count(*) from ionosphere_tr union select 'iris', 'c', count(*) from iris_tr union select 'letter', 'c', count(*) from letter_tr union select 'lymph', 'c', count(*) from lymph_tr union select 'segment', 'c', count(*) from segment_tr union select 'sonar', 'c', count(*) from sonar_tr union select 'spectf', 'c', count(*) from spectf_tr union select 'vehicle', 'c', count(*) from vehicle_tr union select 'waveform', 'c', count(*) from waveform_tr union select 'wine', 'c', count(*) from wine_tr union select 'wisconsin', 'c', count(*) from wisconsin_tr union select 'yeast', 'c', count(*) from yeast_tr union select 'auto93', 'n', count(*) from auto93_tr union select 'autohorse', 'n', count(*) from autohorse_tr 146 union select 'baskball', 'n', count(*) from baskball_tr union select 'bodyfat', 'n', count(*) from bodyfat_tr union select 'bolts', 'n', count(*) from bolts_tr union select 'breasttumor', 'n', count(*) from breasttumor_tr union select 'cholestrol', 'n', count(*) from cholestrol_tr union select 'cloud', 'n', count(*) from cloud_tr union select 'communities', 'n', count(*) from communities_tr union select 'cpu', 'n', count(*) from cpu_tr union select 'elusage', 'n', count(*) from elusage_tr union select 'fishcatch', 'n', count(*) from fishcatch_tr union select 'forestfires', 'n', count(*) from forestfires_tr union select 'fruitfly', 'n', count(*) from fruitfly_tr union select 'housing', 'n', count(*) from housing_tr union select 'lowbwt', 'n', count(*) from lowbwt_tr union select 'meta', 'n', count(*) from meta_tr union select 'parkinsons', 'n', count(*) from parkinsons_tr union select 'pbc', 'n', count(*) from pbc_tr union select 'pharynx', 'n', count(*) from pharynx_tr union select 'pollution', 'n', count(*) from pollution_tr union select 'quake', 'n', count(*) from quake_tr union select 'sensory', 'n', count(*) from sensory_tr union select 'servo', 'n', count(*) from servo_tr union select 'sleep', 'n', count(*) from sleep_tr union select 'slump', 'n', count(*) from slump_tr union select 'strike', 'n', count(*) from strike_tr union select 'veteran', 'n', count(*) from veteran_tr union select 'wineqred', 'n', count(*) from wineqred_tr union select 'wineqwhite', 'n', count(*) from wineqwhite_tr ) using (dataset) Query 14: Correlation of parameters with the performance improvement by IFC select target_type, CORR_S(improvement_by_iaf, ncatcols) c_ncatcols, CORR_S(improvement_by_iaf, ncatcols, 'TWO_SIDED_SIG') p_ncatcols, CORR_S(improvement_by_iaf, nnumcols) c_nnumcols, 147 CORR_S(improvement_by_iaf, nnumcols, 'TWO_SIDED_SIG') p_nnumcols, CORR_S(improvement_by_iaf, pcatcols) c_pcatcols, CORR_S(improvement_by_iaf, pcatcols, 'TWO_SIDED_SIG') p_pcatcols, CORR_S(improvement_by_iaf, pnumcols) c_pnumcols, CORR_S(improvement_by_iaf, pnumcols, 'TWO_SIDED_SIG') p_pnumcols, CORR_S(improvement_by_iaf, ncols) c_ncols, CORR_S(improvement_by_iaf, ncols, 'TWO_SIDED_SIG') p_ncols, CORR_S(improvement_by_iaf, avg_corr_linreg) c_avg_corr_linreg, CORR_S(improvement_by_iaf, avg_corr_linreg, 'TWO_SIDED_SIG') p_avg_corr_linreg, CORR_S(improvement_by_iaf, nrows) c_nrows, CORR_S(improvement_by_iaf, nrows, 'TWO_SIDED_SIG') p_nrows, CORR_S(improvement_by_iaf, nrows/ncols) c_nrowscols, CORR_S(improvement_by_iaf, nrows/ncols, 'TWO_SIDED_SIG') p_nrowscols from data_params group by target_type Query 15: Table for scatter plot visualization of association between linearity of data and improvement by IAF select dataset, target_type, avg_corr_linreg, improvement_by_iaf from data_params order by target_type, dataset 148 A.3. Experimental Results Tables Table 11 Average Prediction Correlations per Dataset/Aggregation Method for Binary Targets Dataset Avg. Corr. Log. Reg. Avg. Corr. Reg. Tree Avg. Corr. Lin. Reg. abalone 0.638687626 0.651733317 0.636539418 adult 0.659169773 0.651350849 0.636197273 anneal 0.823367865 0.846689248 0.797382729 balance 0.920732292 0.791055945 0.840604813 bands 0.454571882 0.351967704 0.426261177 breastw 0.939085094 0.927238012 0.931453636 car 0.914349826 0.933901714 0.811581886 cmc 0.425228906 0.421732164 0.418979581 credit 0.76498662 0.757839955 0.767073216 creditg 0.457163162 0.426897568 0.437699783 diabetes 0.54510302 0.533295481 0.546568895 diagnosis 1 0.868887353 0.965967697 glass 0.794456151 0.774937317 0.802028743 heart 0.695053211 0.643374806 0.684389592 hepatitis 0.291646106 0.383819768 0.388031234 horse 0.572088107 0.529928212 0.555148535 hypothyroid 0.792125757 0.892843929 0.79338345 internetads 0.805987731 0.753679747 0.78294501 ionosphere 0.819557055 0.799538551 0.798060482 iris 1 0.999193202 0.991252264 letter 0.626368894 0.798441855 0.480644051 lymph 0.695768921 0.672304979 0.726334152 segment 0.99999997 0.997855955 0.992554443 sonar 0.558775153 0.554680801 0.578090696 spectf 0.501761759 0.447468223 0.463867849 vehicle 0.475892051 0.460322532 0.437534698 waveform 0.82107583 0.785686835 0.74716555 wine 0.918745813 0.861574492 0.914019581 wisconsin 0.908323537 0.872676408 0.88191778 yeast 0.421658925 0.424627552 0.423187415 149 Table 12 Average Prediction Correlations per Dataset and Aggregation Method for Numerical Target Variables Dataset Avg. Corr. Avg. Avg. Corr. Reg. Tree Avg. Corr. Lin. Reg. auto93 0.691201303 0.857445115 0.738746817 autohorse 0.892653343 0.926796658 0.930059659 baskball 0.536398611 0.638183226 0.539943795 bodyfat 0.744776961 0.980938537 0.977226072 bolts 0.79763048 0.894265558 0.905782285 breasttumor 0.231971819 0.380396489 0.258283305 cholestrol 0.176404133 0.345649097 0.163348437 cloud 0.8020314 0.891982414 0.865600118 communities 0.731280609 0.79667882 0.780258252 cpu 0.788972056 0.814152614 0.794450568 elusage 0.865618561 0.897333607 0.872277672 fishcatch 0.845272306 0.918434123 0.894956413 forestfires 0.018454772 0.167736369 0.014733488 fruitfly -0.131668697 0.165425495 -0.067547186 housing 0.687542408 0.908550517 0.86615543 lowbwt 0.741678073 0.810166446 0.788121932 meta 0.27658433 0.448502931 0.353513754 parkinsons 0.326735958 0.881670195 0.605425938 pbc 0.475841958 0.67048775 0.487261393 pharynx 0.606093213 0.775843245 0.683939249 pollution 0.656915329 0.811606345 0.655832652 quake 0.057471089 0.081629626 0.058700741 sensory 0.290356213 0.400912946 0.337693928 servo 0.703894008 0.828999856 0.780728183 sleep 0.713524339 0.753362622 0.601491837 slump 0.422059811 0.668746482 0.500413959 strike 0.382845386 0.485543157 0.418259534 veteran 0.358292594 0.483294002 0.413181002 wineqred 0.544798097 0.615254318 0.595187199 wineqwhite 0.507972143 0.577186397 0.543279329 150 Table 13: Average Prediction Correlations for IAF on Data with Numerical Target Variables using Linear versus Percentile ITF Dataset Linear ITF Percentile ITF auto93 0.88105593 0.833834299 autohorse 0.946780795 0.90681252 baskball 0.635879956 0.640486496 bodyfat 0.984034462 0.977842612 bolts 0.921790457 0.866740659 breasttumor 0.385000153 0.375792824 cholestrol 0.365144244 0.32615395 cloud 0.926867976 0.857096852 communities 0.82334782 0.770009819 cpu 0.937630747 0.690674481 elusage 0.905249904 0.88941731 fishcatch 0.94873926 0.888128986 forestfires 0.210580299 0.124892439 fruitfly 0.157932749 0.172918241 housing 0.940547453 0.87655358 lowbwt 0.814805887 0.805527006 meta 0.577117175 0.319888686 parkinsons 0.880604806 0.882735584 pbc 0.666064677 0.674910823 pharynx 0.785763664 0.765922825 pollution 0.807044092 0.816168598 quake 0.078567569 0.084691683 sensory 0.399599899 0.402225994 servo 0.872101166 0.785898546 sleep 0.783933708 0.722791535 slump 0.708012949 0.629480015 strike 0.522569102 0.448517211 veteran 0.515124253 0.45146375 wineqred 0.619064343 0.611444293 wineqwhite 0.58210665 0.572266143 151 Table 14 Average Prediction Correlations per Dataset and Three Different Combinations of Supervised Aggregation and IAF for Binary Target Variables Dataset Avg. Corr. Log. Reg. + IAF NLR Avg. Corr. Log. Reg. + IAF NLD Avg. Corr. Reg. Tr w/o IAF abalone 0.633651826 0.636990551 0.64867844 adult 0.662989858 0.656921233 0.608645742 anneal 0.826555309 0.823932942 0.853821973 balance 0.923393427 0.924777928 0.79058825 bands 0.461862401 0.450021541 0.343296921 breastw 0.939701709 0.939464426 0.930009743 car 0.91660187 0.913644582 0.948927087 cmc 0.42385694 0.423400481 0.455736376 credit 0.768277547 0.763557368 0.751852807 creditg 0.464104961 0.469843758 0.393045324 diabetes 0.556749014 0.545362638 0.50644607 diagnosis 1 1 0.944533837 glass 0.802605598 0.804760434 0.824622632 heart 0.694785041 0.70493683 0.657426735 hepatitis 0.374975313 0.311577565 0.339608818 horse 0.569485166 0.55213211 0.541218353 hypothyroid 0.80477987 0.800429276 0.898883448 internetads 0.807436554 0.808116466 0.798458728 ionosphere 0.809199099 0.819279121 0.764848148 iris 1 1 0.996991022 letter 0.6349395 0.62902598 0.727029396 lymph 0.68823764 0.690663197 0.727999682 segment 0.999999995 0.999999953 0.997593306 sonar 0.559774797 0.557996241 0.496422658 spectf 0.505452116 0.510651243 0.473619771 vehicle 0.46898602 0.496373681 0.559857093 waveform 0.826959479 0.821165897 0.783760649 wine 0.912450784 0.923247357 0.90726124 wisconsin 0.912735058 0.907890135 0.873368639 yeast 0.420860794 0.420696658 0.412990274 152 Table 15 Average Prediction Correlations per Dataset and Three Different Combinations of Supervised Aggregation and IAF for Numerical Target Variables Dataset Avg. Corr. Reg. Tr. + IAF NLD Avg. Corr. Reg. Tr. + IAF NLDU Avg. Corr. Reg. Tr. w/o IAF auto93 0.851949884 0.854702482 0.783694291 autohorse 0.934671172 0.932528555 0.939116035 baskball 0.651189815 0.65121036 0.623578896 bodyfat 0.989455545 0.990353116 0.991221665 bolts 0.899445255 0.90182103 0.921987087 breasttumor 0.379942005 0.37994241 0.252316629 cholestrol 0.354768905 0.346985441 0.193892889 cloud 0.901964456 0.89860454 0.913436117 communities 0.798599026 0.796617813 0.791015749 cpu 0.843304898 0.842528113 0.97677025 elusage 0.905475647 0.905995831 0.881926102 fishcatch 0.932313534 0.933532791 0.985895292 forestfires 0.175728178 0.169928128 0.014991533 fruitfly 0.212102028 0.212108602 -0.064702557 housing 0.918270044 0.917557553 0.900012141 lowbwt 0.813006747 0.812914092 0.783555356 meta 0.462534319 0.454644049 0.368499477 parkinsons 0.887066413 0.881144444 0.941203949 pbc 0.66081537 0.660799138 0.534079402 pharynx 0.773127351 0.773127987 0.708101866 pollution 0.829522663 0.831729118 0.60923147 quake 0.082057392 0.08047578 0.073515546 sensory 0.404010864 0.404010206 0.386991775 servo 0.82787911 0.827815554 0.912721346 sleep 0.77696476 0.764053467 0.730795112 slump 0.690106281 0.689333045 0.493530846 strike 0.496745411 0.496578249 0.415429314 veteran 0.471382971 0.471232266 0.437471553 wineqred 0.611102154 0.615205884 0.580172859 wineqwhite 0.572707345 0.573805738 0.563459737 153 Table 16 Relationship between Target Linearity and Improvement of Logistic Regression by IAF NLR for Binary Target Variables Dataset Target linearity Improvement by IAF NLR abalone 0.632486147 -0.015038624 adult 0.601697632 0.003616993 anneal 0.847487701 0.265333889 balance 0.839927779 0.010051891 bands 0.397808335 0.101084917 breastw 0.92253246 -0.001225938 car 0.814076541 -0.001610122 cmc 0.351769834 0.17744701 credit 0.733383933 0.063102998 creditg 0.425527893 0.040954514 diabetes 0.527451425 0.044424251 diagnosis 0.972462485 -5.2E-16 glass 0.817993073 -0.003667589 heart 0.6866888 0.030462835 hepatitis 0.381693585 0.098467765 horse 0.552106327 0.111811784 hypothyroid 0.584747606 0.080805492 internetads 0.784842676 0.00291351 ionosphere 0.681485184 0.15769256 iris 0.97214843 2.97338E-06 letter 0.45185967 0.10947387 lymph 0.723280478 0.033367981 segment 0.956800746 -4.89814E-09 sonar 0.512394902 0.043510527 spectf 0.452480291 -0.002580917 vehicle 0.57214217 -0.206318239 waveform 0.724956824 0.075158502 wine 0.910709707 154 -0.029160901 Table 17 Relationship between Target Linearity and Improvement of Regression Trees by IAF NLD for Numerical Target Variables Dataset Target linearity Improvement by IAF NLD autohorse 0.946606415 -0.004733029 auto93 0.736992093 0.087094666 baskball 0.623578896 0.044278148 bodyfat 0.990358409 -0.001781761 bolts 0.85950705 -0.024449184 breasttumor 0.236969021 0.505814364 cholestrol 0.170467119 0.82971591 cloud 0.912861146 -0.0125588 communities 0.797109195 0.009586759 cpu 0.930542139 -0.136639452 elusage 0.845600615 0.026702402 fishcatch 0.963623075 -0.054348325 forestfires 0.073146275 10.72182832 fruitfly -0.064702557 -4.278108926 housing 0.854820529 0.020286285 lowbwt 0.778262746 0.037586867 meta 0.383398892 0.25518311 parkinsons 0.459022397 -0.057519453 pbc 0.530953313 0.237297988 pharynx 0.699754036 0.091830693 pollution 0.679583809 0.361588664 quake 0.066085663 0.116191016 sensory 0.336532333 0.043977907 servo 0.836899785 -0.092955244 sleep 0.709322872 0.063177281 slump 0.436362228 0.398304251 strike 0.42286715 0.195739913 veteran 0.397186311 0.077516853 wineqred 0.583219599 0.053310483 wineqwhite 0.52352684 0.01641219 155 156 A.4. IFCL Syntax and Application A.4.1. Grammar Notation The syntax will be described with the aid of meta-linguistic formulae in the Backus-Naur Form (BNF) as proposed by Backus, et al. (1960): <…> ::= … | … <character> <string> <integer> <decimal> <empty> Meta-linguistic variables: nodes of the grammar tree Definition of syntax element placeholders Alternative choice of syntax elements A symbol Any sequence of symbols A sequence of digits (0-9) A sequence of digits (0-9) containing one decimal point An empty set of symbols: no symbol at all All symbols that are not inside of less than / greater than signs ( <…> ) except the symbols ::= and | are used literally in the IFCL language. Different meta-linguistic variable declarations are separated by an empty line. Comments can be made in IFCL files as a sequence of symbols enclosed by the character #. In fact, comments are filtered out before parsing, so they are not part of the language itself. A.4.2. IFCL File Structure <IFCL file> ::= <IFCL file node> <IFCL file leaf> <IFCL file node> ::= <IFCL file execution call> <IFCL file node> | <empty> <IFCL file leaf> ::= <connect to database> <IFCL leaf action sequence> <IFCL leaf action sequence> ::= <IFCL leaf action> <IFCL action sequence> | <empty> <IFCL leaf action> ::= | <drop database table> | <execute sql> | <load database> 157 | <induce membership function> | <aggregate multiple variables> | <data classification> | <evaluate correlations> A.4.3. o Executing IFCL Files in Batch Mode Syntax <IFCL file execution call> ::= @execifcl: file == <ifcl file path>; <ifcl file path> ::= <string> o Example @execifcl: file == ./metainduction/abalone/load.ifcl; A.4.4. o Connecting to the Database Syntax <connect to database> ::= @connect: hostname == <database host name> SID port ; == <database service identifier> ; == <database server port number> ; username == <user name> ; password == <password> ; <database host name> ::= <string> <database service identifier>::= <string> <database server port number> ::= <integer> <user name> ::= <string> <password> ::= <string> o Example @connect: HostName 158 == localhost; SID == XE; Port == 1521; UserName == ME; Password == passwort; A.4.5. o Droping a Database Table Syntax <drop database table> ::= @drop: table == <table name>; <table name>::= <string> o Example @drop: table == abalone_te_nlr_regtree A.4.6. o Executing an SQL Script Syntax <execute sql> ::= @execsql: <sql> <sql> ::= file == <sql script file path> ; | command == <sql statement> ; <sql script file path> ::= <string> <sql statement> ::= <string> o Example @execsql: file == metainduction/abalone/01_sql/table_split.sql; A.4.7. o Loading Data into The Database Syntax <load database> ::= <SQL*Loader> | <IFCL loader> <SQL*Loader>::= @sqlldr: data == <path to data file> ; control == <path to sqlldr control file> ; skip == <number of rows to skip>; 159 errors == <number of errors to accept>; <path to data file> ::= <string> <path to sqlldr control file> ::= <string> <number of rows to skip> ::= <integer> <number of errors to accept> ::= <integer> o Example @sqlldr: data == metainduction/abalone/00_data/data.csv; control == metainduction/abalone/00_data/sqlldr.ctl; skip == 0; errors == 10000; o Syntax <IFCL loader> ::= @load: file == <path to data file> ; table == <table to be created and loaded> ; delimiter == <data delimiting character> ; attributes == <attribute list> ; types == <type list>; <path to data file> ::= <string> <data delimiting character> ::= <character> <attribute list> ::= <attribute> <attribute list> | <empty> <attribute> ::= <string> <type list> ::= <type> <type list> | <empty> <type> ::= n | c 160 o Example @load: file == ./metainduction/balance/00_data/00_data.csv; table == balance_load; delimiter == ,; attributes == left_weight, left_distance, right_weight, right_distance, class; types == n, n, n, n, c; A.4.8. o Inducing a Membership Function Syntax <induce membership function> ::= @inducemf: table == <table for membership function induction> ; target variable == <table column> ; analytic variables == <column> | <column list> | <all columns> induction == <induction type> ; output file == <path to output file for sql classification template> ; <optional skipped columns> <optional left out columns> <table for membership function induction> ::= <string> <column> ::= <string> <all columns> ::= * <column list> ::= <column> <column list or empty> <column list or empty> = <column> <column list or empty> | <empty> <induction type> ::= l | nlr | nlru | nld | nldu | cp | npr | npru | npd | npdu | iff | nc | mm <path to output file for sql classification template> ::= <string> 161 <optional skipped columns> ::= skip columns == <column list> ; <optional left out columns> ::= let columns == <column list> ; o Example @inducemf: table == abalone_tr; target variable == y; analytic variables == *; induction == cp; output file == ./metainduction/abalone/02_output/cp.sql.template; A.4.9. o Classification of Data Syntax <data classification> ::= @classify: classified table == <table to be classified> ; template file == <path to sql classification template file> ; output table == <table for storing resulting classification> ; <table to be classified> ::= <string> <path to sql classification template file> ::= <string> <table for storing resulting classification> ::= <string> o Example @classify: classified table == abalone_te; template file == ./metainduction/regtree.sql.template; output table == abalone_te_rt; A.4.10. Aggregating Multiple Variables o Syntax <aggregate multiple variables> ::= @aggregatemv: 162 table == <table to be aggregated> ; analytic variables == <column> | <column list> | <all columns> ; aggregation operator == <aggretation operator>; target variable == <table column>; output file == <path to output file>; column alias == <name of column containing aggregated membership value>; <table to be aggregated> ::= <string> <aggretation operator> ::= linreg | logreg | regtree | min | max | ap | as | avg <name of column containing aggregated membership value> ::= <string> o Example @aggregatemv: table == abalone_tr_s; analytic variables == *; aggregation operator == linreg; target variable == y; output file == ./metainduction/abalone/02_output/linreg.sql.template; column alias == mfc; A.4.11. Evaluating Predictions o Syntax <evaluate correlations> ::= @evaluate: table == <table containing resulting prediction> ; <analytic variables> ::= <column> | <column list> | <all columns> ; target variable == <table column>; <optional result table> <optional output file> <optional result table> ::= 163 result table == <table for storing evaluation results> | <empty> ; <table for storing evaluation results> ::= <string> <optional output file> ::= output file == <file for storing evaluation results> | <empty> ; <file for storing evaluation results> ::= <string> o Example @evaluate: table == abalone_te_rt; target variable == y; analytic variable == mfc; result table == evaluations; output file == metainduction/anneal/attreval.csv; A.4.12. Data Preparation The following example IFCL code shows how to prepare datasets for training and evaluation using the IFCL load action. It shows also how to split training and test data randomly. o Example: @connect: HostName == localhost; SID == XE; Port == 1521; UserName == ME; Password == passwort; @load: file == ./metainduction_num/sensory/00_data/00_data.csv; table == sensory_load; delimiter == ,; attributes == Occasion,Judges,Interval,Sittings,Position,Squares,Rows_,Columns, Halfplot,Trellis,Method,Score; types == c,c,c,c,c,c,c,c,c,c,c,n; null == ?; 164 @drop: table == sensory_split; @execsql: command == create table sensory_split as select Occasion,Judges,Interval,Sittings,Position,Squares,Rows_,Columns, Halfplot,Trellis,Method,Score as y, # percent rank fuzzification # percent_rank() over (order by score) as y_p, # linear fuzzification # (score - min(score) over()) / (max(score) over()-min(score) over()) as y_l, case when dbms_random.value <= 0.667 then 1 else 0 end as is_training # random split of data for training and test sets # from sensory_load; @drop: table == sensory_tr; # create table with training set # @execsql: command == create table sensory_tr as select * from sensory_split where is_training = 1; @drop: table == sensory_te; # create table with test set # @execsql: command == create table sensory_te as select * from sensory_split where is_training = 0; A.4.13. Attribute Selection The following example IFCL code shows how to select relevant attributes from a relation regarding a target attribute. o Example: @connect: HostName == localhost; 165 SID == XE; Port == 1521; UserName == ME; Password == passwort; @inducemf: # membership function induction # table == sensory_tr; target variable == y; analytic variables == *; induction == nlr; output file == ./metainduction_num/sensory/02_output/nlr.sql.template; @classify: # inductive attribute fuzzification # classified table == sensory_tr; template file == ./metainduction_num/sensory/02_output/nlr.sql.template; output table == sensory_tr_nlr; @drop: table == attribute_selection; @evaluate: # ranking of correlation of fuzzified attribute values and target # table == sensory_tr_nlr; target variable == y; analytic variables == *; output file == metainduction_num/sensory/attreval.csv; result table == attribute_selection; 166 A.5. Curriculum Vitae Michael Alexander Kaufmann from Recherswil SO born on September 12th, 1978: 1993 – 1998: 1998 – 1999: 1999 – 2003: 2003 – 2005: 2005 – 2008: 2008 – 2011: 2011 – 2012: 2008 – 2012: College of Economics, Bern-Neufeld International Studies in Los Angeles, California Bachelor of Science in Computer Science, Fribourg Master of Science in Computer Science, Fribourg Data Warehouse Analyst at PostFinance, Bern Data Architect at Swiss Mobiliar Insurance, Bern Consultant at Nationale Suisse Insurance, Basel PhD in Computer Science, Fribourg A.6. Key Terms and Definitions IFC Inductive fuzzy classification: Assigning individuals to fuzzy sets for which membership function is generated from data so that the membership degrees provide support for an inductive inference. ITF Inductive target fuzzification: Transformation of a numerical target variable into a membership degree to a fuzzy class. MFI Membership function induction: Derivation of an inductive mapping from attribute values to membership degrees based on available data. IFCL Inductive fuzzy classification language: Software prototype implementing IFC. NLR Normalized likelihood ratio: A proposed formula for MFI. NLD Normalized likelihood difference: Another proposed formula for MFI. IAF Inductive attribute fuzzification: Transformation of attribute values into membership degrees using induced membership functions. Zadehan Variable A variable with a range of [0,1] representing truth values, analogous to Boolean variables with a range of {0,1}. Zadehan Logic A framework for reasoning with gradual truth values in the interval between 0 and 1. 167