Candidate Elimination


Thanks for Sanketh Vedula. This is a good demo to understand candidate elimination algorithm that I have optimized based on this guy's good work.

rika@rika-UX303UB$ ./a.out
<Input> Number of Features:
<Input> Number of Attributes[]:
<Input> ():rainy
<Input> ():sunny
<Input> Number of Attributes[]:
<Input> ():cold
<Input> ():warm
<Input> Number of Attributes[]:
<Input> ():normal
<Input> ():high
<Input> Number of Attributes[]:
<Input> ():weak
<Input> ():strong
<Input> Number of Attributes[]:
<Input> ():cool
<Input> ():warm
<Input> Number of Attributes[]:
<Input> ():same
<Input> ():change Input training data: Sunny Warm Normal Strong Warm Same Yes S
< Sunny Warm Normal Strong Warm Same > G
< ? ? ? ? ? ? > Sunny Warm High Strong Warm Same Yes S
< Sunny Warm ? Strong Warm Same > G
< ? ? ? ? ? ? > Rainy Cold High Strong Warm Change No S
< Sunny Warm ? Strong Warm Same > G
< Sunny ? ? ? ? ? >
< ? Warm ? ? ? ? >
< ? ? ? ? ? Same > Sunny Warm High Strong Cool Change Yes S
< Sunny Warm ? Strong ? ? > G
< Sunny ? ? ? ? ? >
< ? Warm ? ? ? ? >

Start with negative sample:

Input training data:

Rainy Cold High Strong Warm Change No

    S
< > G
< Sunny ? ? ? ? ? >
< Cloudy ? ? ? ? ? >
< ? Warm ? ? ? ? >
< ? ? Normal ? ? ? >
< ? ? ? Weak ? ? >
< ? ? ? ? Cool ? >
< ? ? ? ? ? Same > Sunny Warm High Strong Warm Change No   // Sunny and Warm do not co-exist S
< > G
< Sunny Cold ? ? ? ? >
< Rainy Warm ? ? ? ? >
< Cloudy ? ? ? ? ? >
< ? ? Normal ? ? ? >
< ? ? ? Weak ? ? >
< ? ? ? ? Cool ? >
< ? ? ? ? ? Same >

This is complete code:

 /*
Candidate Elimination
*/ #include <cstdio>
#include <cstdlib>
#include <cctype>
#include <vector>
#include <string>
#include <stack>
#include <queue>
#include <iterator>
#include <set>
#include <map>
#include <iostream>
#include <sstream>
#include <deque>
#include <cmath>
#include <memory.h>
#include <algorithm>
#include <utility>
#include <climits> typedef long double ld;
typedef long long ll;
#define all(c) c.begin(),c.end() using namespace std; int main()
{
int numberFeatures; //number of features in the dataset
string data;
bool consistent; cout << "<Input> Number of Features:";
cin >> numberFeatures; //input the number of features vector <int> numberAttributes(numberFeatures); //number of attributes for each feature.
map <string, int> instance[numberFeatures+]; for(int i=; i<numberFeatures; i++)
{
cout <<"<Input> Number of Attributes[" << i+ << "]:";
cin >> numberAttributes[i]; for(int j=; j<=numberAttributes[i]; j++)
{
string temp;
cout <<"<Input> (" << j << "):";
cin>> temp;
instance[i][temp] = j; //map attribute name with number
}
} instance[numberFeatures]["Yes"] = ;
instance[numberFeatures]["No"] = ; /*
for any feature if attribute=0 -> null value;
attribute = INT_MAX -> all
*/ vector <int> currdata(numberFeatures+), tmpData(numberFeatures); //set used to represent the generic and specific boundaries.
set < vector<int> > specific, generic; //initialization
for(int i=; i<numberFeatures; i++)
{
tmpData[i]=;
}
specific.insert(tmpData); for(int i=; i<numberFeatures; i++)
{
tmpData[i]=INT_MAX;
}
generic.insert(tmpData); cout << endl << "Input training data:" << endl << endl;
int loop = ;
while( getline(cin, data) )
{ if(data.size()==)
{
continue;
} string temp;
int st = , count = ;
int len = data.size(); for( int i=; i<len; i++ )
{
if(data[i]==' '|| i==len-)
{
if(i==len-)
temp = data.substr(st, i-st+);
else
temp = data.substr(st, i-st); currdata[count] = instance[count][temp];
count++;
st = i+;
}
} vector<int> m, n, p; if( currdata[count-]== ) //if positive example
{
//remove inconsistent hypotheses from generic border
set < vector<int> > tempg, temps;
tempg = generic;
for(set<vector<int> >::iterator it= generic.begin(); it!=generic.end(); it++)
{
m = *it;
int er =;
for(int i=; i<numberFeatures; i++)
{
if(m[i]!=currdata[i] && m[i]!=INT_MAX )
{
er = ;
break;
}
}
if(er==)
tempg.erase(m);
}
generic = tempg; m = *(specific.begin());
n = *(specific.begin());
specific.erase(n); for(int i=; i<numberFeatures; i++)
{
if(m[i]==)
{
m[i] = currdata[i];
}
else if(m[i]!=currdata[i])
{
m[i]=INT_MAX;
}
} specific.insert(m);
}
else //if negative example
{
/*
if example is inconsistent with spec border, then it is noise
*/ set < vector<int> > tempg, temps;
n = *(specific.begin()); for(set< vector<int> >::iterator it= generic.begin(); it!=generic.end(); it++)
{
m = *it;
//cout << "Checking if the example is consistent with the present hypothesis\n"; int er=;
//check if given example is consistent with the present hypothesis
for(int i=; i<numberFeatures; i++)
{
if( m[i]!=INT_MAX && m[i]!=currdata[i])
{
er=; //curr hyp is consistent
break;
}
} if(er==)//if hyp is consistent with the example
{
tempg.insert(m);
}
else//hyp is not consistent with the example
{
vector<int> temphyp;
for(int i=; i<numberFeatures; i++)
{
if( m[i]==INT_MAX )
{
temphyp = m;
for(int j=; j<=numberAttributes[i]; j++)//values are 1-based
{
if(j==currdata[i])
continue;
else
{
temphyp[i] = j; //check if temphyp is more general than specifc hyp.
consistent = true;
for(int k=; k<numberFeatures; k++)
{
if(temphyp[k]!=INT_MAX && temphyp[k]!=n[k] && n[k]!=)
{
consistent = false;
break;
}
}
if(consistent)
tempg.insert(temphyp); // new hypo is consistent
} }
}
} } }
//cout << "Exited from the for loop\n";
generic.clear();
bool mGen;
set<vector<int> > tempgg; //remove from generic any hyp that is more specific than another hyp in generic
for(set< vector<int> >::iterator it= tempg.begin(); it!=tempg.end(); it++)
{
m = *it; for( set< vector<int> >::iterator jt= tempg.begin(); jt!=tempg.end(); jt++ )
{
if(it==jt)
continue; p = *jt;
consistent = true;
for(int k=; k<numberFeatures; k++)
{
if(m[k]!=INT_MAX && m[k]!=p[k])
{
consistent = false;
break;
}
}
if(consistent)
tempgg.insert(p);
}
} //cout << "Compared hypothesis in generic space \n"; // generic = set_difference(tempg, tempgg );
for( set< vector<int> >::iterator it= tempg.begin(); it!=tempg.end(); it++ )
{
m = *it;
//cout << "Last for loop .., \n";
if(tempgg.find(m)==tempgg.end())
{
generic.insert(m);
//cout << "Entered if in teh for loop\n";
}
}
} /********************************************
Printing Specific and General borders
********************************************/
vector<int> abc; if(specific.empty() || generic.empty())
{
cout << "Inconsistent data..\n";
}
else
{
cout<<"\n\tS " << loop << endl;
abc = *(specific.begin());
cout<<"\t< ";
for(int i=; i<numberFeatures; i++)
{
if( abc[i]==INT_MAX )
cout<<"?"<<" ";
else
{
for(map<string,int>::iterator jt = instance[i].begin(); jt!=instance[i].end();jt++)
{
if((*jt).second == abc[i])
cout<<(*jt).first<<" ";
}
}
}
cout<<">\n"; cout<<"\n\tG " << loop << endl;
for(set< vector<int> >::iterator it= generic.begin(); it!=generic.end(); it++)
{
abc = *it;
cout<<"\t< ";
for(int i=; i< numberFeatures; i++)
{
if( abc[i]==INT_MAX )
cout<<"?"<<" ";
else
{
for(map<string,int>::iterator jt = instance[i].begin(); jt!=instance[i].end();jt++)
{
//cout << abc[i] << endl;
if((*jt).second == abc[i])
cout<<(*jt).first<<" ";
}
}
}
cout<<">\n";
} } cout << endl;
loop++;
} return ;
}

From 血糯米Otomii, which will help you to understand more.


样本集:

aaarticlea/png;base64,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" alt="" />

把S集合初始化为H中极大特殊假设:aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAANMAAAASCAIAAABO0XyfAAAC40lEQVRoge1YW3LEIAzz0TgaR8vN6Act6/ohbJxsZzrrr9SAkIXIOqXxiU/kg4iOR7/n3EemGvViPvG22B7HfsJ9ZErRewejRPRm52E+wahzvqVwIqqXo2kU3xT/xHlc3DOhe+98l7Ojop8Yp7YjFuPUeRqkgjBDC/Ks81pr/SduuTpezC0Ohiar3vt1XVzu1NZEdF3XYP7LVtp7b61xwIPznmpXQAT5A0H0vkCQpZsJsqG65cG3edR5Hlcv72mUElrP/0MQLu+qLg6iNQRvLEAjVYvnyJLzNOPnnDegw7x8UWjg3fh56/nHIOKeF53HvfucIGY+wnnjvNSt1Wuzl95MeqoJ/PcI7dG43XnzOVWOKYjOgzAFMcEFT8zEZhvhATotPnm1g9wBIHiLYG6B2wVR3myzZnK1XFvOHGQ9p3osYbL5nG06hcPW87HzeN955rxZgmgZvSUmGbMFfE3AVOh3xGdGQrc1JibecT1vNdLBhRYEsqYh9XaJiCZAuNt0Pgiynt8jyCPvPI4Sl4DP305eAa4O3mioOo+FNsG3IZxn5oMgqe9KD0STPxNELPFAsqf2mhMhZDoPK5s1H3Ae7vPERqmj8oROMefirFWp32tcyxmISGYFMc/aW+Ix2bCNEBqqALJ+GioBWrqI8zyekU1TQgdpZJ03LJ95zvOq4+UIEL3E45YSxJP63Hl65cysnlE4D/eSkQDO8z4X+AeQx5MnTXxtkZnRmwJPd/Vv9taad94YZP25vlH0TA9kLVlD3gUw7SWWLA07+087IBwcenGws87V4c/6/VeJszIET3xUeIhfpGMQTCMIwiMFwt95GAGApGh44NvRsXWetz094DzE0hd6wOPECDwfBAE/LuaPnTl5C44RvKsYedMIzscIx2W+JuDhbeO/RN9R3QSu2ZMpjg+clwLxnJcCSeV11NUe5Qa9aLsR/8LQ0Pd+YYydoBW5e++33I1bQOo98S1ddRGhHl8A81kg6WjmqgAAAABJRU5ErkJggg==" alt="" />

把G集合初始化为H中极大一般假设:aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMoAAAAPCAIAAAAqIsf4AAAB3UlEQVRoge1YWxICIQzr0TgaR+Nm9WPHHeQRSpvd1RnzpTxCCqFWRJ9Gzhn0ppRuU/IHgIjgkxKRQeNleqwYyjqBQ/rjTuCT2raXiGBGCsASsxtDUZVzjvPIG8FrcPJQSCI8gAQzW+1Vs1PCxpiRgwgpm3jYK8JzWipC0u+2m6fW47N7LWB4/QCzyV4ppYbiEXsNY2sa3emnicgdYD3r2LegmOOz2xlBe533rf7aDxtWw7PBH03D27y7+47xRpImhogtmhN1kOin8mD2ooiJZ6+ZsBqzcsVqr4gaB8PSRvaJDlByM+U4KbWg8n5tZiTTRIXt5TNHM9eCfmIfgGXF6y6og4cihqLkhohm9uqnEOy15a1micftFWTQ67PFt4kJZa/lmeU36sZSytFoJMGySil4jyib2EfhA8XoSnpApngL8zhL+94ZINmwCgWFDxO7U7bAerBl6QR/+H+iDPBkr1pWbal77LW7hCN3spaekbB4IgzxF75azFbXOns1KvvPQdDt9Q0n+utixl6BDAt7qWrOOaV0VlciUkqpe++0l07Ko+b1r+81FjHgIdT+RgqODesc8gy77FuNV7Tn9SHJUsbaXhj322vWS9lEMGwrut0LvQt7RJgkKMZxTKr6AmwhL1IdxKgcAAAAAElFTkSuQmCC" alt="" />

首先加载第一条和第二条样本:

aaarticlea/png;base64,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" alt="" />

这个过程是特殊向一般的转变,这个过程非常地类似FIND-S算法

接着我们处理第三条样本:

让我们回到数据aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqMAAABQCAIAAACiZOuhAAAQG0lEQVR4nO2dW6KzKgxGM7QOzaF1ZpwH/p0Tc6HaihD81pMiUhJyEaVKBQAAAADrQqM7AAAAAICOINMDAAAAK4NMDwAAAIxk27au7SPTAwAAOAd5jO5UL26QdNu2rjpcdmwAALfBMxIVrb6IXBlzhpv2MgpyCing2sKesuqas081fqTZH1l2bO7n/X6rOzDbtvW+J3MP7/fbFrZF2wzdetcReaH9fr/r9i+yuFFAFWbUVVULq+v1enFhrXAq/KXLGVVqthDezjiUB1Fz0Ht8fFQk4THlbjQq20TwsfFLhGq72BQetcb1oL2QX0Ou4gnSFo0zIldLqgflPJ0G9OwkYEKUzdfI9bVQ6RKktPO6cWRMU18KcKz7KAIrRJbIXXVIXUAold7vKTaw2/JICe6JX9Rxa6oOfIjJRxo9OKK/sECk4+hGD8j0H+uXfbBLGtGUCJ1Gs9FyFr1Zm/9aVxnzn4229vaeygoqqNp4O3n0iDoZZSMptVUCC25vFUiVDlFIJKk73Er2aKMcu75RFqI27DykJUVbPLmLTN8gGpLscpUzl5yKBaaqv2f6D+7X1G0i+1E237gXQnu4jhvdsiClJu9ChwupOSWwWrpTilO4klrpIjGlgO1TuPGxmb6YMY1mMpHg5OWIqDWlAVcnro2FUnwU7x6vm9mmj0BEr9dL3ZKqQ3v2sc1UyPirCm0dJaZSCNfkctk4mcv5qjemo5Ax9Pf42Z1qyDqyXCokOouf49qkKMOBbLk+/C5TOouUhf6e08ujKupxcK+FSjp3Xcjk0B4VCqp0VT9VOtaJPEsqYeagwXZexCIeO8rVyPks1kzkUGSymvyhIXHArrdwZ3SyAi9SIXErQkotnVo2K6VWv6Jakz9kT3f5kOml0m25GlfXdiPrtz9nf6LR7wlxdVKMA2zmin5mrAjl8NNr13KKpxBpIW7LbePpRyRmlOlLc4KyNS/bG9vcVDFanYS2p7t+UbxYmcUvLEoD6pCVzrUQecotvf4SN69YiRqBwvqFPEUFhIGW3xbBLVRjbdN5pARZLWpNdqbRsuV0ppeHZEkxI20LZadVIw1NZUHaaAnu2JCZzcyMO1LFy1iuOKrQbUoZSaPlGTI9b3M/rTjSelWYkCJYg1etWa2ScfV5UGbvTlZU/6V+bHC4X4Qfof01a+OQu11rZgl9P2Z6VU3uKtQF8f1qsV3iQzYf2+3IF2zjB4ODe0FgW3YEaUtYvMgS9cyOtNvp6KgVfnJzd1FKoH1qzyUXiQCkTDw6JM9V5Y0S3mjMeu/P9JH7FbMAx70GL0GSU24lTUIZjHXsaS1HiSMPRfdslOCR1FlQlmyPKiXImjZWTDvQlUYca/e8LRoFlz52e1o+Wu+RkZXWclnH2j8mS1TUU7s2YPEhdYo18bL3kxQjyihFkQnxSpz53bjSyDH2bps93YppvdcajLSiqTK9O8oqQBcTqlTYsn6h/Fm2Zn1h5kwfKcoWKkNSdbJ4BwAubes9GMR6uMDRTL9tmw1ncpdP4ddHqE7TgUwvq8lfnBmOyHLthsz0FE8NZ0bqnxfH1d3X68VCuesNrdTcYFWULJEtyF/ZxEoWun2VlttVPqr63HilhjrLbSGqf/wQAGAg1Z0bExKOfh+b6pT4/KxDHipP24TN1eS1eZTp5XRHXcuvfV2PeH2QhW3gO6AQAKblo3uO9d8Bvy0vC+7/9eEg0x/kmebRAJYDAPiOYZn+/t+dgcbtHaB4rJFYnuwyAIDfGZbpM74c4xfcR9cgIssqDQAAmB9MFAAAAIC+tG/LtRexqRbskrgIPguZHgAAMsFZQRba0L95by84mCHAbKhxVNvuH6B2u31MEQCwFDKg8LYNOhXkkryoEWe24HUOUTmYCowQSAAFr1K2IMckogQ3JwsWIQJwKUd9Sb4exCLfrKI+QbYw9ZtsbUh8xYjPIvFCGPpLTrVcllwIN25blv1Uu6DafLTNrvGTCwIAQGeuTSj64QF5U7H6w9v+1h/CJQAAANAD3B8DAAAAVgaZHgAAALge2v8DYmRPRncAAADAItgHtQ/HPrMe040hvwpAUtSKPLtAr9MPTUhdkUp/H3Ic3Z0x8Kc7t7/FthX+suWjViDNkNJmQ6pioDFgMMBpovWYcpXlqrCksqTfb02bJ2TfZu7nDbDNK/tf2xEsy/v+10gLGdaHUT+cFJXYRndnDJv37q3yjAt5e2cSmV6V39+ZsURXuk9WhVsud6WuVNyIGsmLKxFLrYynk9d30eZi4ySRYzBtFO7N5r0crTxDIfJSj0v6/da0KnWD18KO30a5QzG+ION4MVZEASNE+Qnbf7thq7lZP6kGIqw48pbYDcIi05+jPpus23g2WfZZ//V6yWr8/pmyf59S491K86tUxqZt//rxKgKJ9LztX0nEeiMifshNf9915GqsRpo405dS1GPpsn+0oeYoUhXKciKlsfHMj8pYchC5QjFpjwVUOU/ZVTrkcEurJpHppeB2Y1vuOaAVRxo5K0p608UduLzFsnSmJ4EsKfFrwDfz7qAF9KNiE5l5DJn7UR8VkkIt5M1LZEkxJsHnyl1qRj11aHKs4Ko82m4rYX5jkKieq4FT1hIpyrWQLJCXySLRGpn+7n7fgrVntbt1vluMTH+OKGMVL9PXU9wA554yQqAvIUNpZvqySnRTo6mkc8eXzz2S6ZXlpMj0xcxZudAaf/HCuvWm+S1BoUZ/M3fvbR17bi5fUFihSizakUyfTgMNlHJKMzgg089CI6xbT3YDnD0lS0xnyPCEeYwVQUrXiG6lmekjg5nWKmzYKscyvVIUH2VJZYVE0D572ateeWgNX1BIwe1wqxL3hl/ZT6XSaaCBtQouV3U6SY1M/z3khXVVWPbhzD3Kp98uwU9Yj1VHD87pXV1NixWzMb5rZ3qZm9VtiSjxl9g1ojSZCKkQdYgC1NEohiSinczAKJDpT6BiUF10wy76Xabns+ZfjKbY9otubAqUK7bkx/SKkHoTH/dLYTZVXne3bqs1m7KyWorIp2Rcoqj6qcplBfXdP1VZlbvWAgD4EWT6E6jr8c3cb7S5XG24KW1hdY3uAkiGukSGCQFwCcj044GuAKi4N8MAAD8CXxoPIhoAjLw3BgC4BLjTSPhR9+iOAAAAWBZkegAAAGBlkOkBAACAlUGmBwAAAFYGmR4AAABYGWR6AAAA1zDtu56GoF4tpd4cdSfI9AAA8CXb/nvq7uuznoNVApB6GPg3KwwGAGPIHg234JMHj8K+A1vuju7dreD9hi5b54/UHQSDAcBPqGwnd7f9F27cE2/qZQc284WbZ6KG+7Hv+FP2/DTxI5bN9Py5jstbnoFNfNblsU+k5AdIOLHZj508BxnjVLhvKCR1pifxTSb2hWcagLR/mfWVKo5oZtt/D+nyrnalil+/8GQ/eqSeVctCeVR+7el+ETrBFiIL3++3DJsseKeYcH2jtOfy9seyeV/iehruHcvyYIXQ/lHcQctP7SCuj6sSG+CUvNKEbul1L5Q7FOMLSl2N3ezB0xWtmE8222p8SNYZIEAfrDiRMfTqwOUtbvsvvF3e/kDo2XcpGTV3oQPz17WRph4pJzorb1iXnd/236e3Fcqf+9gKZe9ZGXXCSpBDryoUL7jL08l8n/5uMS4iEkfKKw3GbqQzgI9YcZSk6v7o9R24vMX/m15rqCqnTNCtuUY6lBGNgkwvdaXsmAKSKseVpZhM33DspJ6iBk4ZvNzlbVXIGzLT26Ym56MlK8OIFKUmvjdKcD3kebo8VIJMP7DP/bD2rHal/SPTj8c6s/JSMlemarojjb4xCZgcKZ0rgvLzEmcFu5EO2fPGnD4SPG+mr0QjKHetGRQv0+c1BtXzI3N6e27qTK86bIODO9xcokxiMaw9R55S+uSCXmrdFv1Km1w34cZr68lRsFOnvF6vEQJ9iTsvV4sYeOHeweiWLrgzykvd6FYVIv3CrZYFEivyyp/1RkNcgkTohn5rSykgIqkEqRz6W6fGoikZeVeZxxBBvkZKUZGFytplFFVHVQsLwOJIq6iphI/K3R596GVM6cz0CyhO2+61uZvz5Cm3S/ATykvViNt8FqWBNTI9iYwemcFHDSSCzP324t3pIZPP2l6g6uTCKoSRArouY8MFABdyvVVlDFsHof1Ug+JMr6IYb7RzXjrIpHN5yEUdLbFaEiF7Ls2gBDksu7z9iAwGAPAL1zvSwoFMRfAtfgAfbZBZflwyK4riiYjSSUPqdDczvsMqZHSPZkS5WFK/AGA2emX6hS/JXbl+kXRVRQEJ7e9jI9O7qGvBgT0BYCXgS+NBRHsCvCJvpaVGPYCKALgc5JiRLLymAQAAwCQgzYwEExcAAAC9QaYHAAAAVgaZHgAAAFgZZHoAAABgZZDpAQAAgF6o/5wPeaMGMj0AAFyAff3z6B7dQeO9YYBR2f1+/WA8AADfYN97+EA271NP7kshl4TMdw0KMr0HMn1W1IeJHk591Ul9M4xb4f1+R+8WzP5Xw018f6zEX7ixpA6IeOUfo4a7aqMa/Oiu9cUacPQVDMDXQJv3ocIbskmX8Vh4mN1L+KjyEyzeftAlqrlqpi/NL9wcPCsd7sClluhrbKYv374qI5f2ouF2w6P6gp8KpB9/JXugoP2lvwyYvxjMiQ5c3+Kx8cuLlO5Isr+xawNQ09bHZnrefk6mt8avSmyAVvJKJ7ql171gSaPALdVlkxwFjBHmGI1OKkm50B6ifdorRhXu57/TIa3C9ZHS/32p1zetvvB2efvDcV10dKeGcVx8tyatkulZtLN37/Paj4rIJcj0NnCTl97cx72DJDuNK52qUPaiuYpqtDAbDdN17V9pIErhkaKi38qCHWu5WzJm+srCb3S3bimf0Vbe77f8UMe2Z2j3L4biVF0f29M+DRTxYFs94c4Li1MXK7jeKw8RES9cYD0MleBL1CCqcOxGNOky8qhswXrW5DRigqpA+0wmj5Y4/82Jzb6up3NlOaOVh16vl2xTXu5Ul6mHUq+L+ugXKTO9tOn1IEMt56Gy/uw6udrIEtQU0UDTfpbWuFmXVHCJlCia05NJh7c5eQ/aIZ7r2IimfIGP2kx/ixyXYUWIDpVYUbkyfTFu3jBsNfofbaOSTiEuNkiq0S8Zn9P/a9eM2TKoUGU9Vh2VV7KleasqI1HnKcj0VmMPyfRl3I27HqgOn830qhHa58KMHkHBjY1SdHqzMvJudEE8M1aiSJxIA1Ed1f4CgWIgPW8XJHTXI7g2XbzVpHbDbpc8Lu3iJrPyaU5PJsSnRmqgMad3Q1hJm+nV+BYvxJOZ80XeQSbWjxHsB6Sk6hAFyKNlbzwZNfA7rn7A7yDTn8YNTCW+ey+9t8RZISkfM72N7O497dTYqG0Dltq1zyzTmYHb7bYUH8cagf7JkHnqMbAzi3G9Kre/NWhrBHEFL6RS8Xr7W2+lZvbk3b1nC15DS5tBlZdS5BJFuS3rrw0R1SWKddBTLy/qB7vDGq4BTrGJt289JzLcw3/4rppY2UTM0QAAAABJRU5ErkJggg==" alt="" />

我们会发现,Sky,AirTemp和Foreast和以前的数据不一致,我们可以怀疑是这三个数据导致最后结果的变化。

所以,我们就针对这3个数据进行一次特殊化:

aaarticlea/png;base64,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" alt="" />

接着,我们输入第四条样本:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeQAAAFUCAIAAAB6BtjbAAAgAElEQVR4nO2dUbqrOghGHVqH5tA6s9wHz86lQBCtNUm71sP5rEYChPzauOtZCgAADM/S2wEAANgHsQYAmADEGgBgAhBrAIAJQKwBACYAse7MCgAhvefoKCDWPVnXdQGAEPR6A7HuyVBiXUrp7cIFZCb2MmewtVqq860oaphxs1lArDcQ657I6QcACmaHhET0BLEGCGB2SEhETxBrgACWQSTIRE8Qa4AAxFqCTPQEsQYIQKwlyMQBat1cJa+INUAAYi1BJvZ5Pp+1aK6VV8QaIACxliAT+yhJvUesTxQoNV1IwuSo6YBYSxDrfT53/9uyfKhA7Y8IrnbzgAPyY10yunO+HcpD37xV1G+j5Efp5z05VDm5WShVp4i1BLHeR06ea+vGFeujwlHbd1xUseqsptydYl1yk3yEvClnFu/Hh+XSL3MZT+Q43tOp60BBrF9BrFPIe40LzZ4W69rgc0s0h3DFuotLydv5IG8dE9hdrAepJcTaBbHOYr+cKp7PZ31P2PP5lCe2qu2oWK/r+ng8ZAP58LOIFVvZafVnNbR2KgsyHBdXrLeEqMnW6shS8xnn0M3S7gxv5U2mN0iLm6jqthvsrv+13+rb8voakJbNVgKtn8lxfDwe9RS3X/nRZkBFKnfW9AYJQaxbINbHCJR0ecXut6esabGuRmzhuoeUA+urjFotaO231losr4ut8qP1092/y64P5S+lmZatvLUcW19Xw1SiXD9Vg4w/yqAKR7WxsbyfQ9tMniuP7vYSpCXwZ0GsGyDWOyztyew2a5Wmazwj1pmZ5nYqD1nf1EZtVk+UvmVmSzxvlbXWoZYdGVHMoYm9O1i7fpZQy1olETsT51C2j/1czPgmcxgkYXekbL9ukZd2YdsuEOsNxHqHoHCD9rJNcK9n69ienpxmqplb7nZbndi6jzsk1sWbh1asbS/KjhXHXR/yzYLeW9ZaVzIVuLwrPCfWmat+cCi+qORzIgfL7de1bNMS9Ls2lhaVNcR6A7HeQdVcXc6z1CXauJkkc2e9inXqNVwNV/NEzQRXX+ry6GZh60gZ3BzYjUXOKxuXtGx7qdvSn1UsPecXN3aXZUs7b/YqIgOXEUnfajO5s7xWzqGr3RaCLSTVez2kminfFiF8gRtb9dZtVSrSss1GdUDGWzdsp9vOVgMVWjJ7vwBifSVyfqqdbvuMWLvG7UQq5n5EiYWaXdaa3N/6uBu7/BhcSFoh2LtX60kwe9WhlsTv5i0OwYbj3gurXgJ/Wr0vDek/5Key0Oq99XUnGLjW17Wl/a1I3kC0nLE+I9YbiPXF2JoOSvOQWNtTgtmraIm1O0Vts4xji5EMq5vWW7dZ3XZzEszewJpqpnLo9mIjaqXami3e0GfEuvXROtBKiDJiLyTuOAYD1Nrv3ry3TnRT1MoDYu2CWF+PW6BuyxNi3epLnWLvpzI2W7dX5xyzlpe/1QbXVXvIbZafvck72ZblVgh2vOx2tSxPyS/mZMI5KmGuvCrjNsDWPXIQtdx/QmoR6xaI9fXYcm+1fF+sP8qYjuV9eFMcT9O6yPXyRzHIOLZArFuMO2YTsf498KlPTt55wFhen7F0wZ0kzJkk698jvjq+W+oyDz9v8G3kcdzSVROFWEsQ62tYXkme1RLr7gzo0oygMm+CWEuYkz0ZVqwBRgCxliATPUGsAQIQawky0RPEGiAAsZYgEz1BrAECEGsJMtETxBqgRX1cj1hvIBM9kb9EqH+EKz/ejJoV0p98OPLcYv5OJsnpEw910cI2WBIjcoPPp8kMX6vZIoZS/cxHbVSurV7EegOx7kkXRQaYC8R6A7HuifzPZQBuYPn7tc5E9J6mo4BYA/zPwvMDGBVKE+B/EGsYFkoT4H+2RdLeXgA4UJcA/4NYw7BQlwD/w98ewLAg1gD/w201DAulCfA/iDUMC6UJ8D+INQwLpQnwP6xZw7Ag1gD/w1+DwLBQlwD/g1jDsFCXAP9AqWFkKE2AfyDWMDKUJsA/EGsYGUoT4B+INYwMpQnwD8QaRobSBPgHYg0jQ2kC/AOxhpGhNAH+gVjDyFCaAP9ArGFkKE2AfyDWMDKUJsA/EGsYGUoToKzrugjWdeXdezAaiDVAWQy9PQLQUJQAiDVMAEUJgFjDBFCUAKUYve7tDoCGogQo5VWse/sC4EBdApSCWMPwUJcApSDWMDzUJcA/EGsYGeoS4B8oNYwMpQnwD8QaRobSBPgfxBqGhdIcC/vrjDu5Npb6eo1lWeR27av+67rx0UjdV3/kk7Cd7jaWrxmp2zac7ZDs9KPxHhu5i1BJWEzaY1c7ej4m5KIn6v1BAGDpPU1HgUT0pIr1OgZ1eqzmLXRyWzZ+PB7j+J9nc1uG4PJ4PNZGKqop2Uz1EmfmzrwFoa0iotagx7laX/PpdrR6JVQPKZS13tN0FEhET1bxNRkAJIi1gkT0BLEGaIFYK0hETxBrgBaItYJE9KQuGvZ2BGA4EGsFiegJd9YALRBrBYnI8onSWf/+2BYAFIi1gkTs4/4N07WWL7EG8E0g1goSsY+8/732Xvi2O2uWxWE6EGsFidhnq5hV/GD6Ksv3PGBcluXxeBw9q/7apdeEkT/WKGbqqkG5wZMtIbuNu+dNIb8XPp/P3cb1Nyn53H7ongOxVpCIfWS5f8jytWYVJ0RNedVXrN2Pd7pU+90drCBvvUSnKmmmDPKR2hPfcTJwBrGukIh91Jr1bvt8eY0j1upGdXCx7vJgNjNYqkErn11IXrOX168Fycs8Yn0DJCJFXqyV6sWMINYyNNnMetVS8JaGygZyKSO5oGRvpYOOVAhLA+XDoeQnrxDWputbEIKyExjMO2/HN0D6luwo70meozF+PSRih1rfu4shz+dTTcuytyrdUay31cnl76069iy7cOnKnP1TGdl4Mbdpy98Cema93u1Fydz2MiBrsDaukbbISNi2krvbrOZtMUK8ruvz+ayeyBdgKT+lw/KVRjIP+ZXlWpaHlFo2Vv64dvL286iKAhKxw+IJlttSCYpsv3vK5W5XXPtJnVLOW8lwt+25NodqY9eBpfFaZOuePNQaOOlYUmUOjVErb62Pyk97A64cdu20SH4hkA7kQzvdS9KTZIw/AonYoSUNbkurJiWs/k+UuOuVuzMzE2Q4tX1LrFtS4iYk37uyvzQU2fbeukLYiDJu7DZrnWK3W37WjzZqm5CkS4dueHfNtrpGrG+AROywGFrN3Fu/mBvurIvRSrnfDUp+3JUPdTftdrp4N7mZqFVL92Mg1m5Q8qxrkx/kTe3f/RjEcrTGrqJVLfLoh3q81uy8kIgdlleCZurba8Z4X7EuZsW5tpfnLq9irdoHJ7YSkp+E1jH7UfayNFTYnnXIjSRuj67PgWNuVj/ncxKVXrfB5zq93PKkkIgLWDy2Q/ZxjeSGZZASinV1Q1KnZUsN5aMtKz3qCrRty6dzWy/yrMCxxbsAyKPL6xO5+hBPtbS3+TWi+giulT11yG0s89PKm+vYIp4iboc2f+T28vd8UhZYTWngvE3voUjL3/NbNWS7vVxCjfRyy5NCIi5g8VCH3BMHEWuXz33LtvLxoY7yHBWFm5cgaqfL66WrbuT9+ZD8IdY3QCKuRN5GZdqPLNYfwjrT3bejo9Arn62L3FHnr/Tpk2YRawWJuJgBxbp87H7qhA/d3ZgX9eSg+0Wu8rm7dQpGQiIu5oRYU46QxK6zfTG/E2kSEtGT+PEjwC+DWCtIRE+4swZogVgrSERPEGuAFoi1gkT0BLEGaIFYK0hET64V693/BwRgIhBrBYnoSetn3ABQ6T1NR4FE9ASxBtil9zQdBRLRk0NiLU/ZthfxJn5V1uf+HPDaCbZ7VEW03PtXjBcGm8ftV+1UrzGpbZTz4wd7CVcM9ZdALgAAJgCxBgCYAMQaAGACEGsAgAlArAEAJgCxBgCYAMQaAGACEGsAgAlArAEAJgCxBgCYAMQaAGACEGsAgAlArAEAJgCxBgCYAMQaAGACEGsAgAlArAEAJgCxBgCYAMQaAGACEGsAgAlArAEAJgCxBgCYAMQaAGACEGsAgAlArAEAJgCxBgCYAMQaAGACEGsAgAlArAEAJgCxBgCYAMQaAGACEGsAgAlArAEAJgCxBgCYAMQaAGACEGsAgAlArAEAJgCxBgCYAMQaAGACEGsAgAlArAEAJgCxBgCYAMQaAGACEGsAgAlArAEAJgCxBgCYAMQaAGACEGsAgAlArAEAJgCxBgCYAMQaAGACEGsAgAlArAEAJgCxBgCYAMT6y1mWZVmWdV3lHttA7ZyXLVI3qPrxa4KFn4KqvZgFADrRe/Z/li8P72Zq0Twej3Vdt+26sW0rWvslm7WtcdzyfTJTQvkjY1RG6vbj8ZCnBwm5B+lDkhq1Sw2nWl7FwO068248IUcjbfGOqe1cN9KlUQat/UGAvQXgs3x5eDfzI0UDMBq/MO++PLybQawBuvAL8+7Lw7sZxBqgC78w7748vJtBrAG68Avz7svDuxnEGqALvzDvvjy8m0GsAbrwC/Puy8O7GcQaoAu/MO++PLxd7B+EXmLN3X/IVP3r0fL3q7zxOeTn0ZzkG/e6ZGZ6rL6tr3+NLo8OO9z5lG7RfcJyaVQOYv3N2InxIbHe/m7/qB31w5N3vDrH8/lc/n6V8Hg8dtsv4qdAecuZ6KS67TZWP6nYdfsS1tffBwUtZYWs4qc09ehtPh8qsKNDIH8Ulrecd95aRqy/lg/dfLlmkzdc6rLRZQK3yCfqaFbz0Z2Yz6t4T8i1OWx5ckislW+95CYpqWrjKsu2cf7icbqvSfny8FzqhLlcBI+KtftduLRr0c6Z5RV3Z50Dajsf1CE9PTE/k42TLa1ld1zOEZjKFJU7Iq5Y22Fd937tLU88FE6ycfnwZVueGJ9uj141viPz5eG5qEly6JQTzVq9BEVp97uTvOzpsoxURZ0s7kNz4NDN79HZdXSwXN/emdK7Fo6m1I6OaqO62xVre0rSk3zjz122pWUVacuZeM/38eXhudQieD6fdqctx22NNVMNbjP1UVoLSr++D0haXte1nm57XF5ndet+re6PYylmCsUkl7bPWVaDFTcOLNtl4qTB5W9F3m1TV+EzBjcH5Kquckle8+y2/bi+vj0qKVtxomzjQ0nLV0JguWbeNrAlkYx6ar48PJeWpLbGW86oEsq6NWJttpY+Yj/rhpqNatvdaf3JVPaJNeJky89ZLns34Pnw7VnxNeCotcW73Mo9dlvlTVaCPJQM7XNDUA5+Ddpt4I7Xsrdy+H18eXgurla2Bnt5pXV6YGfXbKux7bR4U932K31zheDry9ry5jJIa7xOm2oNUDE1oE6sH5VA25K4kC4FE0w0N2lfX9VfHp6LWwTuYNdmViKDGlJ2ghtJKwF2Wzkg27uNpW+7kX59fW+443KU91e9pTPx1VRutwYrEGtbHnNx4vHAvMHm+fLwWljtcwdb1f1uNbjN4rNantgvudbVxcx5eXppi3XGtyAbrSjUntZ34UMz7c3GxYjjm2SGOK4Wdcj65o51qxd1qHWu9cHtNOPw0cbBzYp7KPb8hEtfw5eHF7MK7POrWjTqfzYp7Ycz7uOd4MGUPHFzYH1FuVpKeT6fdb90W23LE23IMsbAJbUnmA82IYE+tlKdtLyGTzKTzyHfxLokP+5eHoIBKqIG1FEVWstIsMAi2yhrW5G3GrsBuqm2sykQa1nMgW8WxBpesDcpS+NXwvYUuTMo1ttofa/M328enQz5xkfzE+vgCAwiHB8ar3IwwE+kArEGHyXQ58S6byWN4APAJbiV/Avl/eXhXYVS4VZluGINAJ/mF+bdl4d3FUkVRqwBuvAL8+7Lw7sZVhsAuvAL8+7Lw7sZ7qwBuvAL8+7Lw7sZxBqgC78w7748vPv5haIBGI1fmHdfHt7NcGcN0IVfmHdfHt7NINYAXfiFeffl4d3M8jN8QbC7IZSD7/sfH/nGGPetMoeGdTc590+KLrP+Nr48vJu5sy4BQNFbAD7Ll4d3M71rdYfSeLGGPDosl2S4/L2q4gqPYDhune238+XhAST5kQkP80JpApSCWMPwUJoApSDWMDyUJkApiDUMD6UJoJ839nYHwIG6BECsYQKoSwDEGiaAuoRfx/0lXm+nADQUJfw6iDVMAUUJv87z+VT/D/Lg/3s6/CaINUAp5vVGAKOBWAP8A7GGkUGsAf6BWMPIINYA/0CsYWQQa4B/INYwMog1QCk8YIThQawBSkGsYXgQa4BSEGsYHsQaoBTEGoYHsQYoBbGG4UGsAUpBrGF4EGuAUhBrGB7EGqAUxBqGB7EGKAWxhuFBrAFKQaxheBBrgFIQaxgexBqgFMQahgexBigFsYbh+RKxtnNM/i9Nas8hbg/lGNv/R1X+ott21m15SO6021MEW/4icve7sQSxuxbuEWvlgOpUfnQLWx5S4WwhzDKaGeRQ7rYZlriu1Jg2m13p0RskZBMA4CfwRfJmUW7ROzkAAKPgi+TNotyi5WL3NUSVwcV8v3Y/dnf7HItZSHGZNDqJ/O/M4zlTt+XyglyCUIUxIJkw3YS09i/eGppEreSo/fZ06afttK71qaDcOtwJNUExq0mtFaeWb++PlH/0qm7eJHARAOAXiJ83jKKPiDUA/DiINQDABCDWAAAT8Cmxfj6fFz5oQqwB4Me5Xqxbj1DfAbEGgB/nSrF21RmxBgB4n4+Itd1/0rtXy62PSa/6Kn7egdoyuY50wnIyD12SluxUxSK37/9Fdb47+TfCecuZxuqvjzPGL+FzFXUoV+dqO9+yy1wor35eJtZBZt+P0Hp86ET3r9bv5NB41zbJGs1H9znLF5LsVBWuyu2dPtcaS2a1vJblVZbd98B8mkOdHlW9z+Xq6GQ85Pbl1H7vEOv3kWbj8VjXVY6rOrHXj+vWdX0+nyVX09XPTI1ulpP3kicsS5+3j9eiBiWfKFes5aHLXQ082UhK6raRHIJqedd4HR05tz9R8LIMZEXtRlQbH8pVUqwPWZZlE1tu1dhVZMboO8XaOuCOtLKmdkojdVtGp1KWnw+H8nMok/c0vnaI469iu10Ed9bq3EWg5v/ySjEFk4/0xBe+zzW21Zs8PWPctfahiI7W24nGGbFu2bQW1PdCtyrcug3cVtaazgRhKOzcszMhjjNAWrDx7/bitq/brrfLa7m39pd0fSTvj6QzyeSckInTloNUHyIwkg/HHabyqrDqe7qcS0nyEeVbfrTxJ4ZsRyY+HNHnGu+2r83UlFFX+rJXVMraoTGq+z97Z+06EUfi+yEOqckcx1m8UVGd2mbWKxWd3D76zStDEM4gluOc7zqwtC8YJ76pKKQFNe5KrHdNJQMMwrHRHR2vQwkJDsVp3z2xZfxoRX00V8mWJ+6cbLXU7cwdgOrUdh3k2bXg+JkJZjcqucd+91xeZTGw3NreTbr1KmNW2XdDK2lx2XWy5e0uR9XtEssnlkSSp5wTa7VOJRvI7dYyaGbEYzeSPh/SymstHx0veUpwZT1hMNn4o7l6x21VY/YOwJZleS3XVu/uUdeac24+nvI6G+VjoqRnwVq7bPZ4POQpMhL56EM9BqkW6jjZRc/H41HMBVANhnIpOerKt93GyZYbXSzXLB2yKc9qnZgPRw29LaclFO7akRxEW72ZoJIOf7RxZrAOjdc2RvFZR3+oPFdjmVKlCdshWWN1v6s2RSiGqwY124/HQ7knTwxq8phYS9OSjARnbG7brj7K7myz4Pq2NER5Ma+sVfbVWYc4cconiPPfrAmTh9Ndu+N42kgwOqoUbUur6ZeE2Z2ropgxG+/PMltOdsMWlUyUEuugoyC9VoX8ZscDzLIItj1BclvxK1x5VacvhtKY2LJBINZ2O3A+GUJ8ujok8/Y5y6WRhNNYa26nQV/BcBRvHJfGF0k79OV1Kh4aXBtCq/EJy3E2XAuXDFZ5TUir02tzZQv7ZsuqnGRfLZQzrdtEdXMQj1Ft0E2sy6v3JaxFG39strxqgR3IumFvtdS264PbMq4P+fGEpH7OstvYWi6f+UKwm8N4rOOW7rAG9VC8Oeme4nZR9yRl4oTlfCV8iOUrxFo2blleXrHyKg+5lVZeJ93uDV+L2qanWJe/BehDU2J9XYu8n7p4pKo275Jdlgo4ZPnQGmLfNGZY13V7kNCRbTX8UFaTy+5HLW+Fl2zchd0bKcXRXB1y46pR6J7zUcQ6ObonLkefo2/vAPA72PvU+8RafRdICh/6CAA/Tk+xzkswYg0AP06HZZCjSl0QawD4eTqvWSdBrAHgx0GsAQAmALEGAJgAxBoAYAJmEuv1j/L3A4HulNe3vai/w1//XLX/VrafsXThaBqDAapHVbP4rPL6Q4+Mt+rEesim8Z0iefP/xHFf09M61EpIK5zLC+adSMtrYWeiq82ujWLNjfibweZZvYmwvhZw3ZbvFJMNFPInhJaxxBoAAHyRvFmUW/RODgDAEDRF8k5FBhiH5fX1BmrPN7GI3xJXOVhf3wOxNlZL1/DFYR9z+TxXaaX8qI62VPXTCfnO6gQA+DIQawCACUCsAQAmALEGAJgAxBoAYAIQawCACUCsAQAmALEGAJgAxBoAYAIQawCACUCsAQAmALEGAJgAxBoAYAIQawCACUCsAQAmALEGAJgAxBoAYAIQawCACUCsAQAmALEGAJgAxBoAYAIQawCACUCsAQAmALEGAJgAxBoAYAIQawCACUCsAQAmALEGAJgAxBoAYAIQawCACUCsAQAmALEGAJgAxBoAYAIQawCACUCsAQAmALEGAJgAxBoAYAIQawCACfgVsV7XdV1XtfP5fHZxBgDgKEOI9bIsVUnl9vZRtazb67qqo7ZZtbYsi22sdm7bbksAgL6MokpSXotQzECspaq2mi2v2E5tA8QaAAZkFFXKiLXV1pYQt9qolRDbl9sMAKA7/cV6/WP72BLrbdHDiq8S1tqsmn08HvJjbVmb7Wo6AEB3+ou1vDV2N1rN3HvqYtYxXBW2Ah00+2z8AAAJRlGiXbEur9Ipb4pLKfaWOaPCiDUAzMIoSrTsrVnH8mo1Xeq4FdykWAMADMJYYi01Oi/Wyo5V3l1NR6wBYHAGEmupp1asi3gUuenv9uRw4/F4VDvb0eQDxrrxfD7lw8lbgwcA2GMIsbZ3vlasW1JuNb0YiV+8dWd1Ny0PsWYNAKMxhBK5Yh1sSKU+LdbKgvyIWAPAaIyiRMH9b6uZ/GuQ4KzMr9LVTpZBAGA0RhFrAAAIQKwBACYAsQYAmADEGgBgAhBrAIAJQKwBACYAsQYAmADEGgBgAhBrAIAJQKwBACYAsQYAmADEGgBgAkYU6/ffo9R69+k92Le5Sjfu8cr+lwvuqw3jVB91Vb5aa5y3FS6vnLaQLEuZeWXhRNcduWEStf5nPnAZsYDeqY/FcK1veR+UP/LonW5YZ+QLYK8V66VxfeqF1E1XQ5PkxbpVfoMkJMnRSXQ6OtnFIGKt/BnLt94OaE7MKPf/fyn9ZohV5/pR/W81N7hhk/N8PqszGQuHupMfay9dar3+h0Fy5zuaUvMWdKeadSnFS76YqrLZ7TFOTquX+h88XVgkb5pSL17ODP1tjCXW+Yt5Cb9v2inqGpRDYu83T88uO9huR0W8a/toX5n542YmkA9r8x2xdjsNzs33km95etLazMT9Bq9W37VwaOh3K7mkcx73cvrcjfy3kEM+tKZPPfR+7EVoyPumrmUkV/5Sk0nQInD31z3upVJZCHbaYcsMoWosjbshBL0HBA6oNetWR64ny98aYr47NzOtVYig65YzrcaxJ4FkKN/c/a24WtZiZ5IRqT32i1FspLUnj7Kj/tckmx/lZysim6jdbLQiau18J2o3CYF78c4PMZ9Y72ZHHVUPMU5UgLKZGZjFm3i2F7ku5kbnWojDV1HHDqhtN1eZ7tzMB6HJ6FQSWg6reZ7xJBBr1Z3cH+Rn11pwNBgCV8JUCDY/KlLrg2qZxHV1Nwo5iCqxtqgCD1U4sQVVoq174d25ECTB7rSDVa74LpJhFLF2U9BqFie6vOa6NdKyjTSodrb2x+FY4+os13KrU2kn+e1MzYrWVUo50LqwxXeOrV7i0NyjanyDLMWexCmybtSNlji+350aOys6qrH1Z1cQT/gWtHcHqzUurTvuEhZScFaru8y9eSsoSTIJcVqO5vZNRhFrm003C3V07TMN98tsEaMbrGYs3sNfuV1eizIZznau9Nnterf4ns+nPHSi2uKVHBladfLxeMj2QV/uV/XaqRt18LFu1KhlCNu/9cFUMnzlrfSqDmhNdcufd7qzCQnqoUan2jwej9ZXH/c7xLquyZubIDkqxufz6dZSHaztFDV29dAWWmuqSgsyNOm8KsvFFHkrrso2xG7G3CSUMNWt5H+CUcRakp8etiC2bVsBbvvgVsV1I1/0LWfU0VhDiycZyTtr1UDVsZs6VXaBV0Gw1tXdZqUxM3fvwnZdsvPNHlrad4XyUKY7u7N4ldCKXfrj+ql62b2btknYxQbSmiNqWyXKLWwVmo2rbtj563poXXUTIsdXESTBXqhss6DTTzC6WMdXS3eky55Yu6WjhtAdUVUowTRYwknVqpu4u+W1juspcQLdPbuRSsuBhy0/latBEoJmKlJXN4NRcLNXXqdi3XYTUswtlZtt1zc3Y0o1SqMSrD7aj6WtaKoL5afrv5u0uqdl373ND+wsoVgH1eKabXVho25FGifBvdIrZ6yrH2VEsQ5uryxqpG2lujVtRz2+5tc9q/fV1Q3B3VaWJcGEl9t2VgTGd/dYZ6SdVmP7TdA1khFr9xR7umqv7oudAWif0uo6DmHZu8tuJcHtotXeNnbvJ9xO5c5WQuLZZF0KHAv2u1kKWi7muri0SyUY+lbXh7AdtXwLgv0QI4r1m3+Cvp76E/2WKbm9vK5p7q6c3sCbPrRuYcrrKNiVXNfUoW/c9axMMw667bsAAACuSURBVDl5ZEfL2R8sbGuv1hl3Z92wAmFPP5GEzM9t1tfnH66Hu8RivXrYLup+tTBd2hlwy8Z2UcO0CTmR1XPUjlwf7E3Ynb+XGVGsR6N1te/lz4XYbyS9PfKJb6nuoUunG3Vo3hymC0NIepJ3eOTyGwSys893l5FU6o56tIu8rvT25W4GvKBeLsHjhDYsZAcAYAIQawCACUCsAQAmALEGAJgAxBoAYAIQawCACfgPxeu/EZGBeLcAAAAASUVORK5CYII=" alt="" />

在处理第四条样本的时候,我们先对于S集合进行一般化:aaarticlea/png;base64,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" alt="" />

然后,为了让G集合覆盖S集合,我们需要剔除aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJEAAAAWCAIAAABPD+kUAAABq0lEQVRoge1XQZLDIAzz0/I0nsbP2ANdj2qDsQnZlh106jSuLCRwKJWDfZBSIiL6tIyDAE5m++Fkth9OZvvhZLYflmVGv1he/JLoqyeAX4m/MkS+ENh0TWaVpfgsiC4emVNKHnLW41cS0vyRycR95zPLOfPnlFJ10+MsFzud9TNzsT8z/mAzY05PZMaeeDTMZGbYF1rPxFxazlx8u8EWoBlwn5XOHtL7wJY9mRm/WmxSD76qeFjPZSJafNcSzPAeBJvoaycXzmy4ESacGk6DCuegQ3Jnpb0FNa0oFjHg2TIyw6a6teFzLDNm6bk8YWvI2eeY78hGQ3Rm5d03/aUhtflUstkL45Y9+3LOIWf3KsbblrC+Pqr+YGbVEHEykKG6iswsqRZf1yXk4Q8DG9PeHd+JUIpNUGseNg9Ts6CozIxGw8NXJu6NQmJTR/SqYpxgUvexv2cWmWGvHkorM1KzEUersS6xusn/Z/8jMyzuMYswtMv4CBl0ZqIRvW+FYQp3M7Mx8W7Xk72JnLOfucoIMRuD9P6MvYlnMztYDn1qT2Y74WS2H05m+6Fm9gMEu3m+03v+3QAAAABJRU5ErkJggg==" alt="" />,过程为aaarticlea/png;base64,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" alt="" />

在处理完了这四个样本后,我们就可以获取所有的假设:

aaarticlea/png;base64,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" alt="" />

当前为6个假设,当我们可以获取到更多的训练集的时候,我们可以划出更小的设计空间。

当我使用这6个假设对测试集进行测试的时候,我们可以使用这6个假设同时对测试样本进行检测,每个假设都有自己的权重,如果最后的结果超过80%,那么就测试通过。

本算法弊端

  1. 对噪点兼容性非常差
  2. 当我们Sky属性有10+个的时候,往往这个属性必然被一般化,所以我们需要对数据进行预处理

[ML] Naive Bayes for email classification的更多相关文章

  1. [ML] Naive Bayes for Text Classification

    TF-IDF Algorithm From http://www.ruanyifeng.com/blog/2013/03/tf-idf.html Chapter 1, 知道了"词频" ...

  2. ML | Naive Bayes

    what's xxx In machine learning, naive Bayes classifiers are a family of simple probabilistic classif ...

  3. [Scikit-learn] 1.9 Naive Bayes

    Ref: http://scikit-learn.org/stable/modules/naive_bayes.html 1.9.1. Gaussian Naive Bayes 原理可参考:统计学习笔 ...

  4. Naive Bayes Theorem and Application - Theorem

    Naive Bayes Theorm And Application - Theorem Naive Bayes model: 1. Naive Bayes model 2. model: discr ...

  5. MLLib实践Naive Bayes

    引言 本文基于Spark (1.5.0) ml库提供的pipeline完整地实践一次文本分类.pipeline将串联单词分割(tokenize).单词频数统计(TF),特征向量计算(TF-IDF),朴 ...

  6. 基于Naive Bayes算法的文本分类

    理论 什么是朴素贝叶斯算法? 朴素贝叶斯分类器是一种基于贝叶斯定理的弱分类器,所有朴素贝叶斯分类器都假定样本每个特征与其他特征都不相关.举个例子,如果一种水果其具有红,圆,直径大概3英寸等特征,该水果 ...

  7. 6 Easy Steps to Learn Naive Bayes Algorithm (with code in Python)

    6 Easy Steps to Learn Naive Bayes Algorithm (with code in Python) Introduction Here’s a situation yo ...

  8. [机器学习] 分类 --- Naive Bayes(朴素贝叶斯)

    Naive Bayes-朴素贝叶斯 Bayes' theorem(贝叶斯法则) 在概率论和统计学中,Bayes' theorem(贝叶斯法则)根据事件的先验知识描述事件的概率.贝叶斯法则表达式如下所示 ...

  9. 机器学习---朴素贝叶斯分类器(Machine Learning Naive Bayes Classifier)

    朴素贝叶斯分类器是一组简单快速的分类算法.网上已经有很多文章介绍,比如这篇写得比较好:https://blog.csdn.net/sinat_36246371/article/details/6014 ...

随机推荐

  1. 智能配置item

    iTerm配置说明 ==== **这是一个很智能的配置,不论你电脑里面有没有安装iTerm,不管你有没有.zshrc配置文件,git配置文件,git忽略文件,以及git的默认编辑器都已经更改为vim, ...

  2. 24单行插入与批量插入-insert(必学)-天轰穿sqlserver视频教程

    大纲:insert语句,简单插入数据与批量插入数据 为了冲优酷的访问量,所以这里只放优酷的地址了,其实其他网站还是都传了的哈. 代码下载http://www.cnthc.com/?/article/1 ...

  3. Chrome Apps將是Google送給微軟的特洛伊木馬?

    今天,Google 發表了 Chrome Apps,不同於之前 web app,此舉是要把 Chrome 瀏覽器升級為真正的 app 平台,將 Chrome OS 發展成一個成熟的作業系統,可以視為 ...

  4. Javacript和AngularJS中的Promises

    promise是Javascript异步编程很好的解决方案.对于一个异步方法,执行一个回调函数. 比如页面调用google地图的api时就使用到了promise. function success(p ...

  5. 【转】对 Xcode 菜单选项的详细探索(干货)

    http://www.cocoachina.com/ios/20151204/14480.html 本文调研Xcode的版本是 7.1,基本是探索了菜单的每一个按钮.虽然从xcode4一直用到了xco ...

  6. Ubuntu 汉化及kate汉化和使用自带终端的解决方式

    汉化方法:1,打开屏幕上方的“system”(系统),里面有个“Administration”(系统管理),选择“Snaptic Package Manager”(软件包管理器),打开,输入密码后进入 ...

  7. Scala 深入浅出实战经典 第51讲:Scala中链式调用风格的实现代码实战及其在Spark中应用

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...

  8. 有时候为了方便sql语句的对比和查询,我们可以使用declare来定义变量 上下篇的问题

    --定义一些参数 declare @nodeId int,@ekid int ,@ecid int,@eid int,@pid int --列表 SELECT * FROM ( SELECT *,RO ...

  9. ps中如何用抽出功能扣取头发

    一些图片中需要扣取人的头发,非常不好扣,本文介绍抽取扣除 打开一个人物图片,用ctrj+j分别复制几个图层,从下往上分别为:背景副本,图层2(用于修改成别的背景),图层1抽头发白色(用于抽头发,强制前 ...

  10. EF OnModelCreating

      http://www.cnblogs.com/libingql/p/3353112.html     protected override void OnModelCreating(DbModel ...