<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Interval Pattern Concept Lattice as a Classifier Ensemble</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Yury Kashnitsky</string-name>
          <email>ykashnitsky@hse.ru</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sergei O. Kuznetsov</string-name>
          <email>skuznetsov@hse.ru</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>National Research University Higher School of Economics</institution>
          ,
          <addr-line>Moscow</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Decision tree learning is one of the most popular classification techniques. However, by its nature it is a greedy approach to finding a classification hypothesis that optimizes some information-based criterion. It is very fast but may lead to finding suboptimal classification hypotheses. Moreover, in spite of decision trees being easily interpretable, ensembles of trees (random forests and gradient-boosted trees) are not, which is crucial in some domains, like medical diagnostics or bank credit scoring. In case of such “small, but important-data” problems one is not obliged to perform a greedy search for classification hypotheses, and therefore alternatives to decision tree learning techniques may be considered. In this paper, we propose an FCA-based classification technique where each test instance is classified with a set of the best (in terms of some information-based criterion) classification rules. In a set of benchmarking experiments, the proposed strategy is compared with decision tree and nearest neighbor learning.</p>
      </abstract>
      <kwd-group>
        <kwd>machine learning</kwd>
        <kwd>classification</kwd>
        <kwd>decision tree learning</kwd>
        <kwd>formal concept analysis</kwd>
        <kwd>pattern structures</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The classification task in machine learning aims to use some historical data
(a training set) to predict unknown discrete variables in unknown data (a test
set). While there are dozens of popular methods for solving the classification
problem, usually there is an accuracy-interpretability trade-off when choosing
a method for a particular task. Neural networks, random forests and ensemble
techniques (boosting, bagging, stacking etc.) are known to outperform simple
methods in difficult tasks. Kaggle competitions also bear testimony for that –
usually, winners resort to ensemble techniques, mainly to gradient boosting [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
The mentioned algorithms are widely spread in those application scenarios where
classification performance is the main objective. In Optical Character
Recognition, voice recognition, information retrieval and many other tasks typically we
are satisfied with a trained model if it has a low generalization error.
      </p>
      <p>
        However, in lots of applications we need a model to be interpretable as well as
accurate. Some classification rules, built from data and examined by experts, may
be justified or proved. In medical diagnostics, when making highly responsible
decisions (e.g., predicting whether a patient has cancer), experts prefer to extract
readable rules from a machine learning model in order to “understand” it and
justify the decision. In credit scoring, for instance, applying ensemble techniques
can be very effective, but the model is often obliged to have “sound business
logic”, that is, to be interpretable [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>
        In what follows, we introduce some notions from Formal Concept Analysis
(FCA) [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and provide a technique to express decision tree learning in terms
of a search for a hypothesis in a concept lattice (section 3). In section 4, we
propose an algorithm which by its design guarantees that each test object is
classified with a better (in terms of some criterion such as information gain or
Gini impurity) rule than in case of applying a decision tree. Finally, we discuss
the results of the experiments with several popular datasets (section 5), make
conclusions and directions of further work on developing the performed ideas.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Pattern Structures and Projections</title>
      <p>
        Pattern structures are natural extension of Formal Concept Analysis to
objects with arbitrary partially-ordered descriptions [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>
        Definition 1. Let G be a set (of objects), let (D; u) be a meet-semi-lattice (of
all possible object descriptions) and let : G ! D be a mapping between objects
and descriptions. Set (G) := f (g)jg 2 Gg generates a complete subsemilattice
(D ; u) of (D; u), if every subset X of (G) has infimum uX in (D; u).
Pattern structure is a triple (G; D; ), where D = (D; u), provided that the
set (G) := f (g) j g 2 Gg generates a complete subsemilattice (D ; u) [
        <xref ref-type="bibr" rid="ref4 ref9">4, 9</xref>
        ].
Definition 2. Patterns are elements of D. Patterns are naturally ordered by
subsumption relation v: given c; d 2 D one has c v d , c u d = c. Operation u
is also called a similarity operation. A pattern structure (G; D; ) gives rise
to the following derivation operators ( ) :
      </p>
      <p>A = l (g)
g2A</p>
      <p>for A 2 G;
d = fg 2 G j d v (g)g
for d 2 (D; u):</p>
      <p>Pairs (A; d) satisfying A
pattern concepts of (G; D; ).</p>
      <p>G; d 2 D; A
= d, and A = d are called</p>
      <p>As in classical FCA, pattern concepts form a pattern concept lattice. In case
it is too computationally demanding to build the whole lattice, projections are
used to simplify object descriptions and boost the formation of a pattern concept
lattice.</p>
      <p>
        Definition 3. A projection [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] of a semilattice (D; u) is a kernel function
D ! D, i.e 8x; y 2 D :
:
– x v y ) (x) v (y) (monotonicity)
– (x) v x (contractivity)
– ( (x)) = (x) (idempotence)
      </p>
    </sec>
    <sec id="sec-3">
      <title>Interval Pattern Structure Projections</title>
      <p>
        The theoretical part of the proposed approach is based on Formal Concept
Analysis and pattern structures, in particular, on Interval Pattern Structures [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]
that provide a way to apply FCA techniques to data with numeric attributes.
Unfortunately, the size of the concept lattice is usually too large to be used
efficiently in learning [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Hence, we introduce a so-called discretizing projection on
interval pattern structures which helps to build more general object descriptions
based on numeric attributes.
      </p>
      <p>Definition 4. Let (G; (D; u); ) be an interval pattern structure.
Let Ti = f i1; : : : ; iti g; i = 1; : : : ; m be m sets of real numbers where m is a
cardinality of each d 2 D. Then, (h[ai; bi]ii2[1;m]) =
h[maxf j 2 Ti [ f 1; +1g; aig; minf j 2 Ti [ f 1; +1g; big]i
is called a discretizing projection of a semilattice (D; u).</p>
      <p>The discretizing projection, as defined in Def. 4, is a projection according to
the definition Def. 3.</p>
      <p>
        Example 1. Consider a toy dataset with only 4 objects and 1 numeric attribute
as shown in Fig. 1 (left). In order to apply decision tree learning for some
classification task with this dataset, one would apply some discretization method to
produce binary attributes from attribute a. Consider the discretization shown in
Fig. 1 (middle). The corresponding concept lattice is shown in the same figure
on the right-hand side.
([a; b]) = [maxf j 2 T +; ag; minf j 2 T +; bg] with
T + = f 1; 1:5; 3:5; +1g is a projection of the semilattice built for a context
that arises from the interordinal scaling of the initial many-valued numerical
context. Address to [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] for more details on the link between interordinal scaling
and interval pattern structures. The pattern concept lattice corresponding to
the discretizing projection ([a; b]) is isomorphic to the concept lattice of the
discretized context shown in Fig. 1 (middle).
      </p>
      <p>Introducing a discretizing projection is a general way to express any
discretizing procedure (essential part of decision tree learning algorithms) in terms
of FCA.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Learning with Pattern Concept Lattices</title>
      <p>
        For classification tasks with complex data we propose Algorithm 1. The main
idea is to find the classification rule for each test instance that maximizes some
information criterion (Gini index, pairwise mutual information etc.). In case
of interval pattern structures, by its design, the algorithm guarantees to classify
each test instance with at least as good rule (in terms of an information criterion)
as a decision tree. We apply a modification of the CloseByOne algorithm [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] to
build all pattern concepts – the search space for classification rules.
      </p>
      <p>Let P Strain = (Gtrain; ((D; u); ctrain); train) and P Stest =
(Gtest; (D; u); test) be two pattern structures corresponding to a train and a
test set in a classification task. Let CbOP S (P S; min_supp) be the algorithm used
to find all pattern concepts of a pattern structure P S with support greater or
equal to min_supp. Let inf : D [ ctrain ! R be an information criterion used to
rate classification rules (we use Gini impurity by default). Finally, let min_supp
and n_rules be the parameters of the algorithm (the minimal support of each
classification rule’s premise and the number of rules to be used for prediction of
each test instance’s class attribute).</p>
      <p>With this designations, the main steps of the proposed algorithm are the
following:
1. Initialize a list of predicted labels for test instances ctest and a dictionary of
classification rules rtest for each test instance.
2. Calculate the proportion of positive objects in the training set: fpos = jc0trainj
jGtrainj
3. With the CbOP S algorithm, find S – a dictionary of all pattern concepts
(with support greater or equal to min_supp) of a pattern structure P Strain
Meanwhile, calculate the value of the criterion inf (values in the dictionary
S) for each concept intent (keys in the dictionary S).
4. Sort S by its values.
5. For each test instance gt 2 Gtest:
– Find first nrules concept intents from S such that</p>
      <p>(Ai; di) 2 S; gt v di; i = 1; : : : ; nrules
– For each “top-ranked” concept intent di determine ci – the proportion of
positive objects among di : fi+ = jdi \ c0trainj .</p>
      <p>jdi j
– Thus, form fdi ! f +</p>
      <p>i gi2[1;n_rules] – a set of classification rules for gt.</p>
      <p>Set rtest[t] be equal to this set of rules.
– Predict the value of the class attribute for gt as an indicator of the
average antecedent of rtest[t] being greater or equal to the proportion of
positive objects in the training set:</p>
      <p>n_rules
ctest[i] = [ X</p>
      <p>fi+
i=1
fpos
n_rules]
Algorithm 1 Concept Lattice-Based Rule-learner (CoLiBRi)
Input: P Strain = (Gtrain; ((D; u); ctrain); train)
P Stest = (Gtest; (D; u); test)
min_supp 2 R+; nrules 2 N;
CbOP S(P S; min_supp) : P S ! S;
inf : D ctrain ! R;
sort(S; inf ) : S ! S
Output: ctest; rtest
ctest = ;; rtest = ;
fpos = jc0trainj</p>
      <p>jGtrainj
S = f(A; d) : inf (d; ctrain) j A
CbOP S(P Strain; min_supp)
S = sort(S; inf )
for gt 2 Gtest do
fdigi2[1;nrules] = fd j (A; d) 2 S; gt v dg
fi+ = jdi \ c0trainj</p>
      <p>jdi j
rtest[i] = fdi ! fi+gi2[1;nrules]
ctest[i] = [Pin=_1rules fi+ fpos n_rules]
end for</p>
      <p>Gtrain; d 2 D; A = d; d = A; jAj
min_suppg =</p>
      <p>In case of a classification task with numeric attributes we apply the same
Algorithm 1 for interval pattern structures. To make it tractable, we apply it to
projections (P Strain) and (P Stest) of a training and a test interval pattern
structure. Here (P S); is a discretizing pattern structure projection as defined
in Def. 4.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Experiments</title>
      <p>
        We compare the proposed classification algorithm (denoted as “CoLiBRi” for
“Concept Lattice-Based Rule-learner”) with Scikit-learn [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] implementations of
CART [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], Random Forest [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and kNN on several datasets from the UCI machine
learning repository.1
1 http://repository.seasr.org/Datasets/UCI/csv/
      </p>
      <p>
        We used Gini impurity as a criterion for rule selection and MDL [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] for
continuous feature discretization. CART, Random Forest and kNN parameters
(min_samples_leaf 2 [1; 10] for tree-based algorithms and k 2 f1; 2; 5; 15; 30; 50g
for kNN) were chosen in stratified 5-fold cross-validation. We built 10 trees for
each instance of Random Forest classifier.
      </p>
      <p>Parameter min_supp for “CoLiBRi” was taken equal to CART’s
min_samples_leaf for each dataset. We used n = 10 classification rules to vote
for a test instance label. The described algorithms were implemented in Python
2.7.3 and run on a 4-CPU machine with 4 GB RAM.</p>
      <p>The results are presented in Table 1. Each entry stands for the average metric
(accuracy or F1-score) in 5 runs of 5-fold cross-validation. In the table, the
algorithm with the best performance on each metric is boldfaced. Other algorithm’s
whose performance is not statistically distinguishable from the best algorithm
at p = 0.05 using paired t-tests on the 5 runs are *’ed. The best parameters for
each algorithm are mentioned in Table 2.</p>
      <p>As it can be seen, the proposed approach performs better than CART and
is statistically indistinguishable from RF on most of the datasets. Surprising
enough, kNN seems to be the best-performer (on average over all datasets) in
terms of accuracy but not F1-score.</p>
    </sec>
    <sec id="sec-6">
      <title>Conclusions and further work</title>
      <p>In this paper, we have shown how searching for classification hypotheses in
a formal concept lattice may yield accurate results while providing interpretable
classification rules.</p>
      <p>Further we plan to test the proposed strategy in classification tasks such as
predicting biological activity (toxicology, mutagenicity, etc.) and telecom client
dataset
audiology
balance-scale
breast cancer
car
hayses-roth
lymph
mol-bio-prom
nursery
primary tumor
solar flare
soybean
spect train
tic-tac-toe
satisfaction where objects have complex descriptions (graphs and sequences
correspondingly).</p>
      <p>We also plan to introduce some randomization in mining rules for each test
instance (as it is done with random forests) in order to further improve the
classification quality.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>L.</given-names>
            <surname>Breiman</surname>
          </string-name>
          . “
          <article-title>Random Forests”</article-title>
          .
          <source>In: Machine Learning 45.1</source>
          (
          <issue>Oct</issue>
          .
          <year>2001</year>
          ), pp.
          <fpage>5</fpage>
          -
          <lpage>32</lpage>
          . issn:
          <fpage>0885</fpage>
          -
          <lpage>6125</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>L.</given-names>
            <surname>Breiman</surname>
          </string-name>
          et al.
          <article-title>Classification and Regression Trees</article-title>
          .
          <source>The Wadsworth and Brooks-Cole statistics-probability series. Taylor &amp; Francis</source>
          ,
          <year>1984</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>U. M.</given-names>
            <surname>Fayyad</surname>
          </string-name>
          and
          <string-name>
            <given-names>K. B.</given-names>
            <surname>Irani</surname>
          </string-name>
          .
          <article-title>“Multi-Interval Discretization of ContinuousValued Attributes for Classification Learning</article-title>
          .” In: IJCAI.
          <year>1993</year>
          , pp.
          <fpage>1022</fpage>
          -
          <lpage>1029</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>B.</given-names>
            <surname>Ganter</surname>
          </string-name>
          and
          <string-name>
            <given-names>S. O.</given-names>
            <surname>Kuznetsov</surname>
          </string-name>
          . “
          <article-title>Pattern Structures and Their Projections”</article-title>
          .
          <source>In: Conceptual Structures: Broadening the Base. Ed. by Harry Delugach and Gerd Stumme</source>
          . Vol.
          <volume>2120</volume>
          . Lecture Notes in Computer Science. Berlin/Heidelberg: Springer,
          <year>2001</year>
          , pp.
          <fpage>129</fpage>
          -
          <lpage>142</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>B.</given-names>
            <surname>Ganter</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Wille</surname>
          </string-name>
          .
          <source>Formal Concept Analysis: Mathematical Foundations. 1st. Secaucus</source>
          , NJ, USA: Springer-Verlag New York, Inc.,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>M.</given-names>
            <surname>Kaytoue</surname>
          </string-name>
          et al. “
          <article-title>Mining gene expression data with pattern structures in formal concept analysis”. en</article-title>
          .
          <source>In: Information Sciences 181.10 (May</source>
          <year>2011</year>
          ), pp.
          <fpage>1989</fpage>
          -
          <lpage>2001</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>S. O.</given-names>
            <surname>Kuznetsov</surname>
          </string-name>
          . “
          <article-title>A fast algorithm for computing all intersections of objects from an arbitrary semilattice”</article-title>
          .
          <source>In: Nauchno-Tekhnicheskaya Informatsiya Seriya 2-Informatsionnye Protsessy I Sistemy</source>
          <volume>1</volume>
          (
          <year>1993</year>
          ), pp.
          <fpage>17</fpage>
          -
          <lpage>20</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>S. O.</given-names>
            <surname>Kuznetsov</surname>
          </string-name>
          . “
          <article-title>Fitting Pattern Structures to Knowledge Discovery in Big Data”</article-title>
          .
          <source>In: Formal Concept Analysis, 11th International Conference, ICFCA</source>
          <year>2013</year>
          , Dresden, Germany, May 21-24,
          <year>2013</year>
          . Proceedings. Vol.
          <volume>7880</volume>
          . Lecture Notes in Computer Science. Springer,
          <year>2013</year>
          , pp.
          <fpage>254</fpage>
          -
          <lpage>266</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>S. O.</given-names>
            <surname>Kuznetsov</surname>
          </string-name>
          . “
          <article-title>Scalable Knowledge Discovery in Complex Data with Pattern Structures”</article-title>
          . In: PReMI. Ed.
          <article-title>by Pradipta Maji et al</article-title>
          . Vol.
          <volume>8251</volume>
          . Lecture Notes in Computer Science. Springer,
          <year>2013</year>
          , pp.
          <fpage>30</fpage>
          -
          <lpage>39</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>X.</given-names>
            <surname>Li</surname>
          </string-name>
          and
          <string-name>
            <surname>Y. Zhong. “</surname>
          </string-name>
          <article-title>An Overview of Personal Credit Scoring: Techniques and Future Work”</article-title>
          .
          <source>In: International Journal of Intelligence Science</source>
          <volume>2</volume>
          .4A (
          <year>2012</year>
          ), pp.
          <fpage>181</fpage>
          -
          <lpage>189</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>A.</given-names>
            <surname>Masyutin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Kashnitsky</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S. O.</given-names>
            <surname>Kuznetsov</surname>
          </string-name>
          . “
          <article-title>Lazy classification with interval pattern structures: Application to credit scoring”</article-title>
          .
          <source>In: Proceedings of the 4th International Workshop "What can FCA do for Artificial Intelligence?"</source>
          ,
          <year>FCA4AI 2015</year>
          ,
          <article-title>co-located with the</article-title>
          <source>International Joint Conference on Artificial Intelligence (IJCAI</source>
          <year>2015</year>
          ), Buenos Aires, Argentina, July
          <volume>25</volume>
          ,
          <year>2015</year>
          . Vol.
          <volume>1430</volume>
          .
          <year>2015</year>
          , pp.
          <fpage>43</fpage>
          -
          <lpage>54</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>F.</given-names>
            <surname>Pedregosa</surname>
          </string-name>
          et al. “
          <article-title>Scikit-learn: Machine Learning in Python”</article-title>
          .
          <source>In: Journal of Machine Learning Research</source>
          <volume>12</volume>
          (
          <year>2011</year>
          ), pp.
          <fpage>2825</fpage>
          -
          <lpage>2830</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>G.</given-names>
            <surname>Tsoumakas</surname>
          </string-name>
          et al. “
          <article-title>WISE 2014 Challenge: Multi-label Classification of Print Media Articles to Topics”. eng</article-title>
          .
          <source>In: 15th International Conference on Web Information Systems Engineering (WISE</source>
          <year>2014</year>
          ).
          <source>Proceedings Part II</source>
          . Vol.
          <volume>8787</volume>
          . Lecture Notes in Computer Science. Springer, Oct.
          <year>2014</year>
          , pp.
          <fpage>541</fpage>
          -
          <lpage>548</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>