Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
PythonÊý¾ÝÍÚ¾òÓë»úÆ÷ѧϰ£¬¿ìËÙÕÆÎÕ¾ÛÀàËã·¨ºÍ¹ØÁª·ÖÎö
 
  3081  次浏览      27
 2018-5-14 
 
±à¼­ÍƼö:
À´Ô´ °¢ÀïÔÆÔÆÆÜÉçÇø£¬ÎÄÖн«Îª´ó¼Ò½éÉܾÛÀàËã·¨ºÍ¹ØÁª·ÖÎöÎÊÌâ¡£·ÖÀàËã·¨Óë¾ÛÀൽµ×ÓкÎÇø±ð£¿¾ÛÀà·½·¨Ó¦ÔÚÔõÑùµÄ³¡¾°ÏÂʹÓã¿ÈçºÎʹÓùØÁª·ÖÎöËã·¨½â¾ö¸öÐÔ»¯ÍƼöÎÊÌ⣿±¾ÎľÍΪ´ó¼Ò½ÒÏþ´ð°¸¡£

Ò»£® ¾ÛÀàÎÊÌâÓ¦Óó¡¾°½éÉÜ

¾ÛÀàÎÊÌâÖ÷ÒªÓÃÓÚ½â¾öûÓÐÃ÷È··ÖÀàÓ³Éä¹ØÏµµÄÎïÆ·¹éÀàÎÊÌ⣬¼´Î޼ලѧϰ¡£·ÖÀàËã·¨±ØÐëÐèҪѵÁ·Êý¾Ý£¬ÑµÁ·Êý¾Ý°üº¬ÎïÆ·µÄÌØÕ÷ºÍÀà±ð£¨label, Ò²¿ÉÒÔ±»³Æ×÷±êÇ©£©£¬ÕâÏ൱ÓÚ¶ÔÕâЩÊý¾Ý½¨Á¢ÁËÓ³É乿Ôò£¬ÕâÖÖÓ³É乿Ôò¿ÉÒÔͨ¹ý»úÆ÷ѧϰÏàÓ¦µÄËã·¨À´½¨Á¢£¬µ±ÐèÒª¶ÔеÄÊý¾Ý½øÐзÖÀàʱ£¬¾Í¿ÉÒÔÖ±½Óµ÷ÓÃÄ£ÐÍ£¬¶ÔÊý¾Ý½øÐÐÏàÓ¦µÄ´¦ÀíÀ´ÊµÏÖ·ÖÀà¡£ÄÇôµ±Ã»ÓÐÀúÊ·Êý¾ÝµÄʱºòÒª¶ÔÏÖ´æµÄÎïÆ·½øÐйéÀ࣬¾ÍÐèҪʹÓþÛÀàËã·¨½â¾ö¡£±ÈÈ磬¾ÛÀàËã·¨¿ÉÒÔʵÏÖ¹«Ë¾¿Í»§¼ÛÖµ×Ô¶¯»®·Ö£¬ÍøÒ³×Ô¶¯¹éÀàµÈ¡£

¶þ£® K-MeansËã·¨½éÉÜÓëʵÏÖ

K-MeansËã·¨ÊÇÒ»ÖÖ¾­µäµÄ¾ÛÀàËã·¨£¬Ò²³Æ×÷K¾ùÖµ¾ÛÀàËã·¨£¬ÏÈΪ´ó¼Ò½éÉÜK-MeansËã·¨µÄÔ­Àí¡£

¼ÙÉ轨Á¢Ò»¸ö×ø±êϵ£¬Õâ¸ö×ø±êϵµÄºá×ø±êÊǼ۸ñ£¬×Ý×ø±êÊÇÆÀÂÛ¡£È»ºó¸ù¾Ýÿ¸öÎïÆ·µÄÕâÁ½ÏîÌØÕ÷½«ÎïÆ··ÅÖÃÔÚ¸Ã×ø±êϵÖУ¬ÄÇôÈçºÎ½«ÕâЩÎïÆ·»®·ÖΪkÀ࣬´Ë´¦kΪ×Ô¶¨Òå¡£ÀýÈ磬¿ÉÒÔ¶¨ÒåkΪ2£¬¼´½«ËùÓÐÎïÆ·»®·ÖΪÁ½Àà¡£Ê×ÏÈ£¬Ëæ»úÑ¡ÔñÁ½ÀàµÄÖÐÐĵãAB£¬ÕâÁ½¸öµã³ÆÎª¾ÛÀàÖÐÐÄ¡£³õʼµÄ¾ÛÀàÖÐÐÄÊÇËæ»úÑ¡Ôñ£¬ºÜ´ó¸ÅÂÊÉϲ¢²»ÊÇÕæÕýµÄÀàÖÐÐÄ£¬Òò´ËÕâÁ½µã»áÔÚºóÐøµÄ¾ÛÀà¹ý³ÌÖв»¶Ïµ÷Õû£¬Ö±ÖÁÇ÷ÓÚÕæÕýµÄ¾ÛÀàÖÐÐÄ¡£Æä´Î£¬·Ö±ð¼ÆËã¸÷¸öÎïÆ·¾àÁ½¸ö¾ÛÀàÖÐÐÄABµÄ¾àÀ룬½«Æä»®·ÖÖÁ¾àÀë½Ï½üµÄ¾ÛÀàÖÐÐĵãÒ»Àà¡£ÀýÈ磬µã1¾àAµÄ¾àÀëСÓÚµã1¾àBµÄ¾àÀ룬Òò´Ë½«µã1»®·ÖÖÁAÀà¡£Èç´Ë£¬³õ²½½«ËùÓе㻮·ÖΪÁ½À࣬½Ó×ÅÐèÒª¶ÔÿÀàµÄ¾ÛÀàÖÐÐĽøÐе÷Õû¡£Õâ¸ö½×¶Î£¬ÐèÒª¶ÔÿһÀà¼ÆËãÖØÐÄλÖ㬽«ÕâÀàµÄ¾ÛÀàÖÐÐÄÒÆ¶¯µ½¸ÃÖØÐÄλÖ㬵õ½Á½ÀàµÄоÛÀàÖÐÐÄA¡¯ B¡¯¡£È»ºóÔÙÒ»´Î¼ÆËã¸÷¸öÎïÆ·¾àÁ½¸öеľÛÀàÖÐÐÄA¡¯ B¡¯µÄ¾àÀ룬½øÐоàÀë±È½Ï£¬µÃµ½ÐµľÛÀà½á¹û¡£°´ÕÕÕâÑùµÄ·½·¨²»¶Ïµü´ú£¬²»¶ÏµÄÏòÕýÈ·½á¹û¿¿Â££¬×îÖÕ¾ÛÀà¹ý³Ì»áÊÕÁ²£¬µÃµ½µÄ¾ÛÀàÖÐÐIJ»Ôٱ仯£¬±ãÒѾ­µÃµ½×îÖյľÛÀà½á¹û£¬Ò²¾ÍÊǽ«ÎïÆ··Ö³ÉÁËÁ½Àà¡£

°´ÕÕÉÏÊö¹ý³Ì£¬K-MeansµÄ²½Öè´óÖÂÈçÏ£º1. ³õʼ»¯¾ÛÀàÖÐÐÄ£¨Ëæ»úÑ¡Ôñ£©£»2. ¼ÆËãÑù±¾µãµ½¸÷¾ÛÀàÖÐÐĵľàÀ룻3. ½«Ñù±¾µã¹éΪ¾àÀë½Ï½üµÄ¾ÛÀàÖÐÐÄÒ»Àࣻ4. ÒÆ¶¯¾ÛÀàÖÐÐĵ½Àà±ðµÄÖØÐÄλÖ㬵÷Õû¾ÛÀàÖÐÐÄ£» 5. ÖØ¸´234²½Ö裬ֱµ½¾ÛÀàÖÐÐIJ»Ôٸı䡣

ÄÇôK-MeansËã·¨ÈçºÎʵÏÖ£¿ÔÚPythonÖÐʵÏÖK-MeansËã·¨ÆäʵÊÇÏà¶ÔÈÝÒ׵ģ¬Ê×ÏÈÐèÒªµ¼ÈëK-MeansÄ£ÐÍ£¬µ¼ÈëÄ£Ðͺó¿ÉÒÔÉèÖþÛÀàµÄ¸öÊý£¬È»ºóÖ±½ÓʹÓÃfit_predictÀ´ÊµÏÖ¾ÛÀà¹ý³Ì£¬¾ßÌå´úÂëÈçÏ£º

from sklearn.cluster import KMeans
kms=KMeans(n_clusters=3)
y=kms.fit_predict(x)

½ÓÏÂÀ´¾ÍʹÓÃK-MeansËã·¨À´½â¾ö¹«Ë¾¿Í»§¼ÛÖµ×Ô¶¯»®·ÖµÄÎÊÌâ¡£

Èý£® ʹÓÃK-MeansËã·¨¶Ô¹«Ë¾¿Í»§¼ÛÖµ½øÐÐ×Ô¶¯»®·Ö°¸Àýʵս

¿ªÊ¼¾ÛÀàʱ£¬¹«Ë¾µÄ¿Í»§Ö»ÊǾßÓÐÄ³Ð©ÌØÕ÷£¬Ã»ÓоßÌåµÄ·ÖÀà±ê×¼¡£ÄÇô¿ÉÒÔÖ±½Ó¸ù¾ÝÌØÕ÷½øÐоÛÀ࣬µÃ³ö¾ÛÀà½á¹ûºóÔÙ·ÖÎöÑо¿ÕâЩÀà±ðµÄÕæÊµº¬Òå¡£

¼ÙÉè³õʼʱ´æÔÚ²¿·Ö¿Í»§µÄÊý¾ÝÈçÏ£¬°üº¬¿Í»§ÄêÁ䣬ƽ¾ùÿ´ÎÏû·Ñ½ð¶î£¬Æ½¾ùÏû·ÑÖÜÆÚµÈÊý¾Ý¡£

ÏÖÐèÒª¶ÔÉÏÊö¿Í»§½øÐоÛÀ࣬ÒÔ°ïÖú¹«Ë¾¿ìËÙÇø±ð³öÆÕͨ¿Í»§£¬VIP¿Í»§ºÍ³¬¼¶VIP¿Í»§¡£ÔÚÓÐÆäËûÀúÊ·Êý¾ÝµÄÇé¿öÏ£¬¿ÉÒÔ½«ÕâЩÓû§µÄÌØÕ÷ºÍ¿Í»§ÀàÐͽ¨Á¢ÆðÓ³Éä¹ØÏµ£¬Í¨¹ý»úÆ÷ѧϰѵÁ·±ã¿ÉÒԵõ½Î´ÖªµÄ¿Í»§ÀàÐÍ¡£µ«ÔÚûÓÐÀúÊ·Êý¾ÝµÄÇé¿öÏ£¬Õâ¾ÍÊǵäÐ͵ľÛÀàÎÊÌâ¡£¾ßÌå´úÂëÈçÏ£º

#ͨ¹ý¾ÛÀà·ÖÎö¿Í»§¼ÛÖµ
import pandas as pda
import numpy as npy
import matplotlib.pylab as pyl
fname="D:\\ÎҵĽÌѧ\\Python\\°¢ÀïÔÆÏµÁÐÖ±²¥\\µÚ4´ÎÖ±²¥´úÂë\\company.csv"
dataf=pda.read_csv(fname,encoding="gbk")
x=dataf.as_matrix()
from sklearn.cluster import KMeans
kms=KMeans(n_clusters=3)
y=kms.fit_predict(x)
print(y)
#ÄêÁä-Ïû·Ñ½ð¶îͼ£¬Ïû·Ñʱ¼ä-Ïû·Ñ½ð¶îͼ£¬ÄêÁä-Ïû·Ñʱ¼äͼ
for i in range(0,len(y)):
if(y[i]==0):
print(str(i)+"´óÖÚ¿Í»§")
pyl.subplot(2,3,1)
#ÄêÁä-Ïû·Ñ½ð¶îͼ
pyl.plot(dataf.iloc[i:i+1,0:1].as_matrix(), dataf.iloc [i:i+1,1:2].as_matrix(),"*r")
pyl.subplot(2,3,2)
#Ïû·Ñʱ¼ä-Ïû·Ñ½ð¶îͼ
pyl.plot(dataf.iloc[i:i+1,2:3].as_matrix(), dataf.iloc [i:i+1,1:2].as_matrix(),"*r")
pyl.subplot(2,3,3)
#ÄêÁä-Ïû·Ñʱ¼äͼ
pyl.plot(dataf.iloc[i:i+1,0:1].as_matrix(), dataf.iloc [i:i+1,2:3].as_matrix(),"*r")
elif(y[i]==1):
print(str(i)+"³¬¼¶VIP¿Í»§")
pyl.subplot(2,3,1)
#ÄêÁä-Ïû·Ñ½ð¶îͼ
pyl.plot(dataf.iloc[i:i+1,0:1].as_matrix(), dataf.iloc[i:i+1,1:2].as_matrix(),"sy")
pyl.subplot(2,3,2)
#Ïû·Ñʱ¼ä-Ïû·Ñ½ð¶îͼ
pyl.plot(dataf.iloc[i:i+1,2:3].as_matrix(), dataf.iloc[i:i+1,1:2].as_matrix(),"sy")
pyl.subplot(2,3,3)
#ÄêÁä-Ïû·Ñʱ¼äͼ
pyl.plot(dataf.iloc[i:i+1,0:1].as_matrix(), dataf.iloc[i:i+1,2:3].as_matrix(),"sy")
elif(y[i]==2):
print(str(i)+"VIP¿Í»§")
pyl.subplot(2,3,1)
#ÄêÁä-Ïû·Ñ½ð¶îͼ
pyl.plot(dataf.iloc[i:i+1,0:1].as_matrix(), dataf.iloc[i:i+1,1:2].as_matrix(),"pb")
pyl.subplot(2,3,2)
#Ïû·Ñʱ¼ä-Ïû·Ñ½ð¶îͼ
pyl.plot(dataf.iloc[i:i+1,2:3].as_matrix(), dataf.iloc[i:i+1,1:2].as_matrix(),"pb")
pyl.subplot(2,3,3)
#ÄêÁä-Ïû·Ñʱ¼äͼ
pyl.plot(dataf.iloc[i:i+1,0:1].as_matrix(), dataf.iloc[i:i+1,2:3].as_matrix(), "pb")
pyl.show()

Ê×ÏȼÓÔØ¿Í»§Êý¾ÝÎļþ company.csv£¬´ÓÖжÁÈ¡¿Í»§Êý¾Ý£¬È»ºóµ¼ÈëK-MeansÄ£ÐÍ£¬ÕâÀïÉèÖþÛÀà³É3À࣬Ȼºó½«¾ÛÀà½á¹ûͨ¹ýͼÏñÀ´·ÖÎö£¬µ«µ±¾ÛÀàÓжà¸öÌØÕ÷ֵʱ£¬»æÍ¼·ÖÎö»áÓÐÒ»¶¨µÄÄѶȡ£ÀýÈçÔÚ±¾ÀýÖÐÓÐ3¸öÌØÕ÷Öµ£¬ÔÚ×÷ͼʱ¾ÍÐèÒª½«ÌØÕ÷ÖµÁ½Á½×éºÏ£¬¶ÔÄêÁä-Ïû·Ñ½ð¶îͼ¡¢Ïû·ÑÖÜÆÚ-Ïû·Ñ½ð¶îͼ¡¢ÄêÁä-Ïû·ÑÖÜÆÚ·Ö±ð½øÐзÖÎö¡£ÔÚ×÷ͼ֮ǰ£¬¿ÉÒÔ½«ºÁÎÞ¹ØÁªµÄÌØÕ÷Öµ×éºÏɾ³ý£¬ÀýÈçÕâÀï¿ÉÒÔ½«ÄêÁä-Ïû·ÑÖÜÆÚͼÌÞ³ý¡£ÈôÎÞ·¨Åжϣ¬Ò²¿ÉÒÔÈ«²¿»æÖÆÔÙ¸ù¾ÝͼÏñ·ÖÎö¡£ÔÚ»æÍ¼Ê±£¬½«Ô¤²â³öµÄÀà±ð×÷Ϊ¿Í»§·ÖÀà±ê×¼£¬ÀýÈçÈç¹ûijÁ½¸ö¿Í»§±»·Öµ½±êǩΪ0ÕâÒ»À࣬´Ëʱ²¢²»Á˽âÔ¤²â³öµÄ±êÇ©0ÀàÓкÎʵ¼ÊÒâÒ壬µ«¿ÉÒÔÈÏΪÕâÁ½¸ö¿Í»§ÊÇÒ»Àà¡£½ÓÏÂÀ´ÔÚÿ¸öÀà±ðÖзֱð»æÖÆÉÏÊöÈýÖÖͼÏñ£¬ÕâÀォͬһÀà±ðÖеÄͼÏñ²ÉÓÃÒ»ÖÖÑÕÉ«ÒÔ×÷Çø·Ö¡£×ö³öͼÏñ½á¹ûÈçÏ£º

µÃ³öͼÏñºó£¬ÒòΪ·Ö²¼ÔÓÂÒµÄͼÏñ±íÃ÷ÕâÁ½¸öÌØÕ÷ÖµÖ®¼äÊÇûÓÐʵ¼Ê¹ØÁªµÄ£¬¿ÉÒÔ½«Æäɸȥ£¬Áôϲã´Î·ÖÃ÷µÄͼÏñ·ÖÎö¡£¹Û²ìͼÏñ¿ÉÒÔ·¢ÏÖÄêÁä-Ïû·ÑÖÜÆÚͼ·Ç³£ÔÓÂÒ£¬ºÍÉÏÊö²ÂÏëÏàͬ£¬¿ÉÒÔɾȥ¡£¶øÄêÁä-Ïû·Ñ½ð¶îͼÖУ¬À¶É«µã¿Í»§ÏÔʾÄêÁäÏà¶Ô½ÏС£¬Ïû·Ñ½ð¶îÒ²½ÏÉÙ£¬Æ«ÏòÓÚÆÕͨÓû§£¬ºìÉ«µã¿Í»§ÄêÁä²»¶¨£¬µ«Ïû·Ñ½ð¶îÆÕ±é½Ï¸ß£¬Æ«ÏòÓÚVIP¿Í»§£¬¶øÂÌÉ«µã¿Í»§ÄêÁä½Ï´ó£¬Ïû·Ñ·Ç³£¸ß£¬ÊôÓÚ³¬¼¶VIP¿Í»§¡£Èç¹ûͼһÖеÄÀà±ð·ÖÎö¿É¿¿£¬ÄÇô¿ÉÒÔ½«ÕâЩÀà±ðÓ¦ÓÃÓÚͼ¶þÖмÌÐøÑéÖ¤¡£ÔÚͼ¶þÏû·ÑÖÜÆÚ-Ïû·Ñ½ð¶îͼÖУ¬À¶É«µã¿Í»§Ïû·ÑÖÜÆÚ²»¶¨£¬Ïû·Ñ½ð¶î²»¸ß£¬·ûºÏÆÕͨ¿Í»§µÄÌØÕ÷£¬ºìÉ«µã¿Í»§Ïû·ÑÖÜÆÚÆ«¶Ì£¬Ïû·Ñ½ð¶îÖеȣ¬ÊôÓÚVIP¿Í»§£¬¶øÂÌÉ«µã¿Í»§Ïû·ÑÖÜÆÚ¶Ì£¬Ïû·Ñ½ð¶î¸ß£¬·ûºÏ³¬¼¶VIP¿Í»§µÄÌØÕ÷¡£·ÖÎöµÃ³öÓû§Àà±ðºó£¬±ã¿ÉÒÔ¶ÔËùÓй«Ë¾¿Í»§½øÐÐ×Ô¶¯»®·Ö£¬»ùÓÚ»®·ÖµÄ½á¹û£¬¿ÉÒÔΪ³¬¼¶VIP¿Í»§ÌṩһЩ¸£Àû£¬ÈçÉúÈÕ×£¸£µÈ£¬¼ÓǿӪÏúµÄÕ³ÐÔ¡£

ËÄ£® ¹ØÁª·ÖÎöÎÊÌâÓ¦Óó¡¾°½éÉÜ

¹ØÁª·ÖÎöÊÇÒ»ÖÖÓÃÓÚ·ÖÎöÎïÌåÖ®¼ä¹ØÁª³Ì¶ÈµÄÒ»ÖÖ·½Ê½£¬¹ØÁª·ÖÎö³£¼ûµÄÓ¦Óó¡¾°ÓУº·ÖÎöÎïÆ·Ö®¼äµÄ¹ØÁª³Ì¶È¡¢¸öÐÔ»¯ÍƼö¡¢³¬ÊлõÆ·°Ú·Åµ÷ÕûµÈ¡£ÀýÈçÔÚ³¬ÊлõÆ·°Ú·Åʱ£¬¿ÉÒÔ¸ù¾ÝÓû§¹ºÂòÉÌÆ·Ê±µÄ¼Ç¼£¬¼ÆËãÉÌÆ·Ö®¼äµÄ¹ØÁª³Ì¶È£¬½«¹ØÁª³Ì¶È¸ßµÄÉÌÆ·°Ú·ÅÔÚÒ»Æð¡£½ÓÏÂÀ´Îª´ó¼Ò½éÉÜÁ½ÖÖ¹ØÁª·ÖÎöËã·¨¡£

Î壮 AprioriËã·¨½éÉÜ

AprioriËã·¨ÊÇÒ»ÖÖ»ù´¡µÄ¹ØÁª·ÖÎöËã·¨£¬µ«Ð§Âʽϵͣ¬²»½¨ÒéÓÃÓÚÉÌÒµ³¡¾°¡£AprioriËã·¨µÄÔ­ÀíÈçÏ£º

¼ÙÉèÈç½ñÓÐÒ»ÅúÉÌÆ·µÄ¹ºÂò¼Ç¼£¬ABCDE·Ö±ð´ú±í²»Í¬µÄÉÌÆ·£¬Ã¿Ò»Ðдú±íijһÓû§µÄÉÌÆ·¹ºÂò¼Ç¼¡£Ê×ÏȶԸ÷ÉÌÆ·½øÐÐÒÀ´ÎɨÃ裬ÀýÈçÉÌÆ·AÔÚËùÓÐ4ÌõÉÌÆ·¼Ç¼ÖгöÏÖ3´Î£¬ÄÇôÉÌÆ·AµÄÖ§³Ö¶È¼´Îª3/4£¬¼ÆËã³öµÄÖ§³Ö¶È±íÃ÷Á˸òúÆ·ÔÚËùÓйºÂò¼Ç¼ÖгöÏֵĸÅÂÊ´óС£¬ÏÔÈ»¸ÅÂÊÔ½´ó£¬Ö§³Ö¶ÈÔ½¸ß¡£Í¬Àí£¬¼ÆËã³öBCDEµÄÖ§³Ö¶È·Ö±ðΪ3/4¡¢3/4¡¢3/4¡¢1/4¡£½ÓÏÂÀ´ÐèÒªÉèÖÃãÐÖµÀ´É¸Ñ¡³ö¹ØÁª¶È½Ï¸ßµÄÉÌÆ·Êý¾Ý£¬ÕâÀï¼ÙÉèÈ¡1/2£¬ÄÇô¾ÍÏȽ«Eɸ³ý£¬ÁôÏÂÉÌÆ·ABCD£¬´Ëʱ±ã²úÉúƵ·±Ò»Ï{{A},{B},{C},{D}}¡£È»ºó½«Æµ·±Ò»ÏÖеļ¯ºÏÁ½Á½×éºÏ£¬µÃµ½ºòÑ¡Ï{{AB},{AC},{AD},{BC},{BD},{CD}}£¬¼ÆËãÿ¸öÏµÄÖ§³Ö¶È¡£ÀýÈçÏABÔÚËùÓÐ4ÌõÉÌÆ·¼Ç¼ÖгöÏÖ2´Î£¬ÄÇôABµÄÖ§³Ö¶È¼´Îª2/4¡£Í¬ÀíµÃ³öAC,AD,BC,BD,CDµÄÖ§³Ö¶È·Ö±ðΪ3/4,2/4,2/4,2/4,3/4,2/4¡£ÔÚãÐֵΪ1/2µÄÇé¿öÏÂÖ»ÁôÏÂACºÍBD¡£Èç´Ë±ã¿ÉÒÔ¼ÌÐøÉú³ÉºòÑ¡¼¯ABCD£¬Ö§³Ö¶ÈΪ2/4£¬¿ÉÒÔɸȥ¡£µÃµ½ACºÍBDµÄ¹ØÁª³Ì¶È×î¸ß£¬ÕâÒâζ×Å£¬Èç¹ûijһ¿Í»§¹ºÂòÁËÉÌÆ·A£¬ÄÇô¸ø¸Ã¿Í»§ÍƼöÉÌÆ·C³É¹¦Âʸü´ó£¬ÀàËÆµÄ£¬Èç¹û¿Í»§¹ºÂòÁËÉÌÆ·B£¬ÄÇôÉÌÆ·D¿ÉÄÜÒ²¸üÊܸÃÓû§Çàíù¡£

AprioriË㷨ΪʲôЧÂʽϵÍÄØ£¿´ÓÉÏÊö¹ý³Ì¿ÉÒÔ¿´µ½Ã¿Ò»´Î¼ÆËãºòÑ¡¼¯µÄÖ§³Ö¶Èʱ¶¼ÐèÒª·µ»ØÖÁÀúÊ·¼Ç¼ÖнøÐÐɨÃ裬Òò´Ë´¦Àí¸´ÔÓ£¬ºÄʱÑÏÖØ¡£

Áù£® FP-GrowthËã·¨½éÉÜ

Ïà±ÈAprioriËã·¨£¬FP-GrowthËã·¨ÊÇÒ»ÖÖЧÂʱȽϸߵĹØÁª·ÖÎöËã·¨£¬¸üÊÊÓÃÓÚÉÌÒµÓ¦Óá£ÏÂÃæÎª´ó¼Ò½éÉÜFP-GrowthËã·¨µÄÔ­Àí¡£

¼ÙÉèÈÔȻȡÉÏÊöÀý×Ó£¬ABCDE·Ö±ð´ú±í²»Í¬µÄÉÌÆ·£¬ÏÖÔÚÓÐÈçͼËùʾµÄ²úÆ·¹ºÂòÀúÊ·¼Ç¼£¬Ã¿Ò»Ðдú±íijһÓû§µÄÉÌÆ·¹ºÂò¼Ç¼£¬ÏÖÔÚÀ´·ÖÎö¸÷ÉÌÆ·¼äµÄ¹ØÁª¹ØÏµ¡£

Ê×ÏÈÈÔÈ»ÐèÒª½øÐеÚÒ»´ÎɨÃ裬µÃµ½ÉÌÆ·ABCDE³öÏֵĴÎÊý£¬Ò²¾ÍÊÇÖ§³Ö¶È£¬·Ö±ðΪ5,3,5,7,2¡£È»ºóɸ³ýÖ§³Ö¶È½ÏСµÄÉÌÆ·£¬ÕâÀïɸ³ýÉÌÆ·E¡£½ÓÏÂÀ´°´´ÎÊý´óС½øÐÐÅÅÐò´´½¨ÏîÍ·±í£¨´Ë´¦ÏîÍ·±íÖеÄ˳ÐòÒ²¿ÉÒÔΪDCAB£©£¬Îª´´½¨FPÊ÷×ö×¼±¸¡£ÔÚFPÊ÷ÖУ¬¹«ÓÃÔªËØÒª¾¡Á¿¶à£¬ÒÔ¼Ó¿ìºóÐø²éÕÒʱµÄ¼ìË÷ËÙ¶È¡£FPÊ÷µÄ¸ù½Úµã¿ÉÒÔÉèÖÃΪnull£¬½«ÏîÍ·±íÖеÄÊý¾Ý°´ÕÕ˳ÐòÌí¼ÓÖÁFPÊ÷ÖС£

½ÓÏÂÀ´Ö»ÐèÒªÔÙ±éÀúÒ»´Î¹ºÂò¼Ç¼£¬½«ËùÓмǼ²åÈëµ½³õʼµÄFPÊ÷Öм´¿É¡£µ«ÔÚ²åÈë֮ǰ£¬ÐèÒª½«Ã¿Ò»Ìõ¼Ç¼°´ÕÕÏîÍ·±íÖеĴóС˳Ðò½øÐÐÖØÅÅ¡£ÀýÈçµÚÒ»Ìõ¼Ç¼ABCD£¬¸ÄΪDACB»òÕßDCAB£¨¸ù¾Ý³õʼµÄÏîÍ·±í¶ø¶¨£©£¬µÚËÄÌõ¼Ç¼BCD£¬¸ÄΪDCB¡£ÀúÊ·¼Ç¼ÅÅÐòÍê³Éºó£¬½«Ã¿Ò»Ìõ¼Ç¼´Ó¸ù½Úµã¿ªÊ¼²åÈëÖÁÊ÷ÖС£ÀýÈ磬µÚÒ»Ìõ¼Ç¼DACB£¬Óë³õʼFPÊ÷¹«Óã¬Òò´Ë²»ÓòåÈë¡£µÚ¶þÌõ¼Ç¼AC£¬Í¬Ñù´Ó¸ù½Úµã¿ªÊ¼£¬µÚÒ»¸ö½ÚµãºÍ³õʼ¸ù½Úµã²»¹²Óã¬Òò´Ë½¨Á¢ÐµĽڵ㣬²åÈë¼Ç¼AC£¬ÇÒ³öÏÖ´ÎÊý¶¼Îª1¡£µÚÈýÌõ¼Ç¼DCB£¬µÚÒ»¸ö½ÚµãDÊÇ¿ÉÒÔ¹«Óõģ¬ºóÐø½ÚµãCB²»¹²Óã¬Òò´ËÔÚ½ÚµãDϽ¨Á¢Ð½ڵãCB£¬´ËʱCBµÄ´ÎÊýÒ²¶¼Îª1¡£µÚÆßÌõ¼Ç¼DC²åÈëʱ£¬ÒѾ­Óй«ÓõĽڵãÁË£¬¾ÍÖ±½Ó½«³ý³õʼ½ÚµãÖ®ÍâµÄÆäËû½ÚµãÖ§³Ö¶È¼Ó1¼´¿É£¬ÕâÀïDµÄÖ§³Ö¶È²»±ä£¬CµÄÖ§³Ö¶È´Ó1±ä³É2¡£ÄÇôÕâÀïÖ»ÐèÒª½øÐÐÒ»´ÎɨÃ裬¾Í¿ÉÒÔ½«ËùÓÐÀúÊ·¼Ç¼²åÈëµ½½¨Á¢µÄFPÊ÷ÖС£FPÊ÷½¨Á¢Íê³Éºó±ã¿ÉÒÔ½øÐÐÆµ·±ÏµÄÍÚ¾ò¡£

ÔÚÆµ·±ÏÍÚ¾òʱ£¬Òª°´ÕÕÏîÍ·±íÖÐÖ§³Ö¶È´ÓСµ½´óµÄ˳Ðò½øÐУ¬Èç´ËÔ½ÏòºóÍÚ¾ò£¬¹«ÓýڵãÔ½¶à¡£Òò´ËÊ×ÏȶÔBµã½øÐÐÍÚ¾ò£¬ÕÒ³öËùÓÐÒÔB½Úµã½áβµÄ·ÖÖ§£¬½«ÕâЩ·ÖÖ§×é³ÉµÄÊ÷È¡³ö£¬ÕÒ³öÆäÖеĸ¸½ÚµãD,A,C£¬É¾³ýÖ§³Ö¶È½ÏСµÄC£¬µÃµ½BµÄÌõ¼þģʽ»ùD:3ºÍA:2¡£½«BÓëÌõ¼þģʽ»ùÖÐµÄ½Úµã½øÐÐ×éºÏ£¬µÃµ½Æµ·±Ï{DB},{AB},{DAB}£¬È¡Ã¿¸öÏÖÐÖ§³Ö¶È½ÏСµÄÌõ¼þģʽ»ùÖ§³Ö¶È×÷Ϊ¸ÃÏµÄÖ§³Ö¶È£¬ÈçDBµÄÖ§³Ö¶ÈÈ¡DµÄÖ§³Ö¶È3£¬ABµÄÖ§³Ö¶ÈÈ¡AµÄÖ§³Ö¶È2,£¬DABµÄÖ§³Ö¶ÈÈ¡AµÄÖ§³Ö¶È2¡£

ͬÀí£¬¶ÔC½øÐÐÍÚ¾ò£¬È¡³öº¬½ÚµãCµÄ²¿·ÖÊ÷£¬µÃµ½CµÄÌõ¼þģʽ»ùΪD:4ºÍA:2¡£ÒÔ¼°Æµ·±ÏΪ{DC}4,{AC}2,{DAC}2¡£

ÒÔ¼°¶ÔA½øÐÐÍÚ¾òµÃµ½µÄÌõ¼þģʽ»ùΪD:4£¬Æµ·±ÏΪ{DA}4¡£Ö§³Ö¶È×î¸ßµÄDµã²»ÐèÒª½øÐÐÍÚ¾ò¡£

×îºó½«ËùÓÐÆµ·±ÏºÏ²¢£¬µÃµ½×îÖÕ¸÷µãµÄƵ·±Ï{DC}4, {DA}4, {DB}3, {AC}2, {DAC}2, {AB}2, {DAB}2¡£Èç´Ë±ã¿ÉÅжϳöDÓëCºÍAµÄ¹ØÁª¶È×î¸ß£¬ºÍB¹ØÁª¶ÈÒ²½Ï¸ß¡£ÈôÓû§¹ºÂòÁËÉÌÆ·D£¬¿ÉÒÔÏòÆäÍÆ¼öÉÌÆ·CºÍA£¬»òÕßÉÌÆ·B¡£

ÔÚFP-GrowthËã·¨ÖУ¬Ö»ÐèÒª½øÐÐÁ½´ÎɨÃè±ã¿ÉÍê³É¹ØÁª¶È·ÖÎö£¬ËùÒÔÏà±ÈAprioriËã·¨ÐÔÄܸü¼Ñ¡£

Æß£® ʹÓùØÁª·ÖÎöËã·¨½â¾ö¸öÐÔ»¯ÍƼöÎÊÌâ

ÏÈÓÃAprioriËã·¨À´½â¾öÒ»¸ö¿Î³ÌµÄ¸öÐÔ»¯ÍƼöÎÊÌâ¡£¼ÙÉèÏÖÔÚÓÐÈçÏÂËùʾÏà¹ØÊý¾Ý£¬Ã¿Ò»Ðдú±íÿһλ¿Í»§¹ºÂòµÄÊé¼®ÐÅÏ¢£¬ÐèÒª·ÖÎö³ö¿Î³ÌÖ®¼äµÄ¹ØÁªÐÔ£¬½«¹ØÁª¶È½Ï¸ßµÄ¿Î³ÌÍÆ¼ö¸øÏà¹ØµÄÓû§Ê¹¹ºÂòת»¯ÂÊ×î¸ß¡£

Ê×ÏÈʹÓÃAprioriËã·¨À´½â¾öÕâ¸öÍÆ¼öÎÊÌâ¡£ÔÚʵÏÖ¹ý³ÌÖУ¬ÖµµÃ×¢ÒâµÄÊÇÐèÒª½«ÊäÈëÊý¾Ý½øÐÐת»¯£¬½«¿Î³Ì¼Ç¼ת»¯Îª¾ØÕóÐÎʽ£¬ÈçÏÂͼËùʾ£¬¾ßÌåÓ¦ÓôúÂëÈçÏ£º

from apriori import *
import pandas as pda
filename="D:/Python35/data/lesson_buy.xls"
dframe=pda.read_excel(filename,header=None)
change=lambda x:pda.Series(1,index=x[pda.notnull(x)])
mapok=map(change,dframe.as_matrix())
data=pda.DataFrame(list(mapok)).fillna(0)
#ÉèÖÃÖÃÐŶÈãÐÖµºÍÖ§³Ö¶ÈãÐÖµ
surpport=0.2
cfd=0.3
print(find_rule(data,surpport,cfd))

µÃµ½¹ØÁª½á¹ûÈçÏ£¬ÆäÖÐsupportΪ֧³Ö¶È£¬confidenceΪÖÃÐŶȡ£ÔÚ±¾ÀýÖУ¬Èô¿Í»§¹ºÂò»úÆ÷ѧϰ£¬ÄÇô±ãÓнϴóµÄ¸ÅÂʻṺÂòPythonÅÀ³æ£¬Õâ¾ßÓÐÒ»¶¨µÄʵ¼ÊÒâÒå¡£AprioriËã·¨µÄʵÏÖ´úÂëÔÚÍøÉÏÓпªÔ´×ÊÔ´£¬ÈôÓÐÐèÒª¿É×ÔÐÐÔĶÁ¡£

ÏÖÔÚʹÓÃFP-GrowthËã·¨½â¾ö³¬ÊлõÆ·µÄÍÆ¼öÎÊÌâ¡£¼ÙÉèÏÖÔÚÓÐÈçÏÂËùʾÏà¹Ø¶þάÁбíÊý¾Ý£¬·ÖÎöÕâЩÉÌÆ·¼äµÄ¹ØÁª¶È¡£

¾ßÌåʵÏÖ´úÂëÀ´Ô´ÓÚgithub£¬´Ë´¦Ò²¸½ÉÏ£º

import FP_Grow_tree
sample=[
['milk','eggs','bread','chips'],
['eggs','popcorn','chips','beer'],
['eggs','bread','chips'],
['milk','eggs','bread','popcorn','chips','beer'],
['milk','bread','beer'],
['eggs','bread','beer'],
['milk','bread','chips'],
['milk','eggs','bread','butter','chips'],
['milk','eggs','butter','chips']
]
sample1=[
[u'Å£ÄÌ',u'¼¦µ°',u'Ãæ°ü',u'ÊíÆ¬'],
[u'¼¦µ°',u'±¬Ã×»¨',u'ÊíÆ¬',u'Æ¡¾Æ'],
[u'¼¦µ°',u'Ãæ°ü',u'ÊíÆ¬'],
[u'Å£ÄÌ',u'¼¦µ°',u'Ãæ°ü',u'±¬Ã×»¨',u'ÊíÆ¬',u'Æ¡¾Æ'],
[u'Å£ÄÌ',u'Ãæ°ü',u'Æ¡¾Æ'],
[u'¼¦µ°',u'Ãæ°ü',u'Æ¡¾Æ'],
[u'Å£ÄÌ',u'Ãæ°ü',u'ÊíÆ¬'],
[u'Å£ÄÌ',u'¼¦µ°',u'Ãæ°ü',u'»ÆÓÍ',u'ÊíÆ¬'],
[u'Å£ÄÌ',u'¼¦µ°',u'»ÆÓÍ',u'ÊíÆ¬']
]
#print(sample1)
##²ÎÊý˵Ã÷ sampleΪÊÂÎñÊý¾Ý¼¯ []ΪµÝ¹é¹ý³ÌÖеĻù,supportΪ×îС֧³Ö¶È
support=3
ff=FP_Grow_tree.FP_Grow_tree(sample1,[],support)
##´òӡƵ·±¼¯
ff.printfrequent()

¹ØÁª½á¹ûÈçÏÂËùʾ¡£ÀàËÆµÄ£¬ÕâÖÖ¹ØÁª¶È·ÖÎö¿ÉÒÔʹÓÃÓÚ³¬ÊÐÉÌÆ·µÄ»õ¼Ü°Ú·ÅµÈÎÊÌ⣬Ôö¼ÓÓû§µÄ¹ºÂòת»¯ÂÊ¡£

°Ë£® ×÷ÒµÁ·Ï°£ºÊ¹ÓùØÁª·ÖÎöËã·¨½â¾ö³¬ÊÐÉÌÆ·»õÆ·°Ú·Åµ÷ÕûÎÊÌâ

¼ÙÈçÓÐÒ»¸ö³¬ÊеÄÉÌÆ·¹ºÂò¼Ç¼Êý¾Ý¼¯£¬ÐèÒª·ÖÎö¸÷ÉÌÆ·Ö®¼äµÄ¹ØÁª³Ì¶ÈÒÔµ÷Õû»õÆ·°Ú·Å¡£Êý¾Ý¼¯¸ñʽÈçÏÂËùʾ£¬ListNoPosIDCashierIDΪ²»Í¬Óû§µÄ¹ºÂò¼Ç¼ID£¬¸÷ÉÌÆ·ÏÂF±íʾδ¹ºÂò£¬T±íʾ¹ºÂò¡£Çë·Ö±ðʹÓÃAprioriËã·¨ºÍFP-GrowthË㷨ʵÏÖ¹ØÁª·ÖÎö£¬²¢±È½ÏÁ½ÖÖËã·¨µÄºÄʱ¡£ÕâÀïÒ²Ìṩһ·ÝһλͬѧËùдµÄÓÅÐã×÷Òµ´úÂ빩´ó¼Ò²Î¿¼£¬¾ßÌåÊý¾Ý¼¯ºÍ²Î¿¼´úÂëµã»÷ÕâÀïÏÂÔØ¡£

   
3081 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

ÊÖ»úÈí¼þ²âÊÔÓÃÀýÉè¼ÆÊµ¼ù
ÊÖ»ú¿Í»§¶ËUI²âÊÔ·ÖÎö
iPhoneÏûÏ¢ÍÆËÍ»úÖÆÊµÏÖÓë̽ÌÖ
AndroidÊÖ»ú¿ª·¢£¨Ò»£©
Ïà¹ØÎĵµ

Android_UI¹Ù·½Éè¼Æ½Ì³Ì
ÊÖ»ú¿ª·¢Æ½Ì¨½éÉÜ
androidÅÄÕÕ¼°ÉÏ´«¹¦ÄÜ
Android½²ÒåÖÇÄÜÊÖ»ú¿ª·¢
Ïà¹Ø¿Î³Ì

Android¸ß¼¶Òƶ¯Ó¦ÓóÌÐò
Androidϵͳ¿ª·¢
AndroidÓ¦Óÿª·¢
ÊÖ»úÈí¼þ²âÊÔ