真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何利用Python進行商品的親和性分析

這篇文章將為大家詳細(xì)講解有關(guān)如何利用Python進行商品的親和性分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

從策劃到設(shè)計制作,每一步都追求做到細(xì)膩,制作可持續(xù)發(fā)展的企業(yè)網(wǎng)站。為客戶提供成都網(wǎng)站制作、網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)頁設(shè)計、域名申請網(wǎng)站空間、網(wǎng)絡(luò)營銷、VI設(shè)計、 網(wǎng)站改版、漏洞修補等服務(wù)。為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,以客戶的口碑塑造優(yōu)易品牌,攜手廣大客戶,共同發(fā)展進步。

01數(shù)據(jù)挖掘簡介

數(shù)據(jù)挖掘旨在讓計算機根據(jù)已有數(shù)據(jù)做出決策。決策可以是預(yù)測明年的銷量,人口的數(shù)目,攔截垃圾郵件,檢測網(wǎng)站的語言。到目前為止,數(shù)據(jù)挖掘已經(jīng)有很多的應(yīng)用,即使這樣很多新的應(yīng)用領(lǐng)域也在不斷出現(xiàn)。

數(shù)據(jù)挖掘涉及到算法,最優(yōu)策略,統(tǒng)計學(xué),工程學(xué)和計算機科學(xué)相關(guān)領(lǐng)域的知識。除此之外我們還會用到語言學(xué),神經(jīng)科學(xué),城市規(guī)劃等其他領(lǐng)域的概念或知識。想要充分發(fā)揮數(shù)據(jù)挖掘的威力,算法肯定是必備的。(在這里推薦讀者去刷一刷LeetCode)

一般來說數(shù)據(jù)挖掘有這三個基本步驟:1、創(chuàng)建數(shù)據(jù)集。數(shù)據(jù)集能直接反應(yīng)一些真實事件;2、選擇算法。選擇一個合適的算法才能更好的對數(shù)據(jù)進行處理;3、優(yōu)化算法。每種數(shù)據(jù)挖掘算法都有參數(shù),它們或是算法自身包含的,或是使用者添加的,這些參數(shù)會影響算法的具體決策。

02親和性分析案例

現(xiàn)在讓我們用一個例子說明。不知道你逛超市的時候,是否發(fā)現(xiàn)超市里面基本上都是按照商品的種類來分區(qū)域的,然而有些東西是存在例外的,一件商品的旁邊擺放著不一樣種類的商品。不知道你是否有發(fā)現(xiàn)這個現(xiàn)象,有沒有對此感到不解。這邊我想跟你說的是,這種擺放也是有道理的,這個道理是商品之間的親和性!

前置知識:

(1)defaultdict(int):初始化為 0     (2)defaultdict(float):初始化為 0.0    (3)defaultdict(str):初始化為 ''

這里的defaultdict(function_factory)構(gòu)建的是一個類似dictionary的對象其中keys的值,自行確定賦值,但是values的類型,是function_factory的類實例而且具有默認(rèn)值。比如default(int)則創(chuàng)建一個類似dictionary對象里面任何的values都是int的實例,而且就算是一個不存在的key,  d[key] 也有一個默認(rèn)值,這個默認(rèn)值是int()的默認(rèn)值0。

03代碼實現(xiàn)

現(xiàn)在進行代碼部分:

import  numpy as np from collections import defaultdict dataset_filename = "affinity_dataset.txt" features = ["bread","milk","cheese","apple","banana"]  #猜一下這個是干嘛用的 X = np.loadtxt(dataset_filename) print(X[:5])   #打印前五行的購物信息

如何利用Python進行商品的親和性分析

統(tǒng)計一下購買蘋果和香蕉的人數(shù):

num_apple_purchases = 0 # 初始化一個購買蘋果人數(shù)的變量 for sample in X:     if sample[3] == 1:         num_apple_purchases+=1 print("{0} people bought Apples ".format(num_apple_purchases)) num_banana_purchases = 0 for sample in X:     if sample[4] == 1:         num_banana_purchases += 1 print("{0} people bought banana".format(num_banana_purchases))

如何利用Python進行商品的親和性分析

現(xiàn)在為了計算規(guī)則的置信度還有支持度,我們可以用字典的形式來存放計算結(jié)果:

valid_rules = defaultdict(int) invalid_rules = defaultdict(int) num_occurances = defaultdict(int) for sample in X:     for premise in range(4):         if sample[premise] ==0 :             continue         num_occurances[premise] +=1  #當(dāng)顧客有購買物品時key對應(yīng)的時value變?yōu)?         for conclusion in range(4):             if premise == conclusion:  #訪問同一個key 的時候是沒有意義的直接跳過                 continue             if sample[conclusion] == 1:                 valid_rules[(premise,conclusion)] +=1             else:                 invalid_rules[(premise,conclusion)] +=1

得到所有必要的統(tǒng)計量后,我們再來計算每條規(guī)則的支持度和置信度。如前所述,支持度就是規(guī)則應(yīng)驗的次數(shù):

support = valid_rules #置信度的計算方法類似,遍歷每條規(guī)則進行計算 confidence = defaultdict(float) for premise,conclusion in valid_rules.keys():     rule = (premise,conclusion)     confidence[rule] = valid_rules[rule]/num_occurances[premise]

聲明一個函數(shù),接收的參數(shù)有:分別作為前提條件和結(jié)論的特征索引值、支持度字典、置信度字典以及特征列表。

def print_rule(premise, conclusion,support , confidence,features):     premise_name = features[premise]     conclusion_name = features[conclusion]     print("Rule:if a person buys {0} they will also buy {1} ".format(premise_name,conclusion_name))     print(" - Support : {0}".format(support[(premise,conclusion)]))     print(" - Confidence : {0:.3f}".format(confidence[(premise,conclusion)])) premise = 1 conclusion = 3 features = ["bread","milk","cheese","apple","banana"] print_rule(premise,conclusion,support,confidence,features)  from  operator import itemgetter sorted_support = sorted(support.items(),key=itemgetter(1),reverse=True)

排序完成后,就可以輸出支持度最高的前5條規(guī)則:

for index in range(5):     print("Rule #{0}".format(index+1))     premise,conclusion = sorted_support[index][0]     print_rule(premise,conclusion,support,confidence,features)

如何利用Python進行商品的親和性分析

關(guān)于“如何利用Python進行商品的親和性分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。


網(wǎng)站欄目:如何利用Python進行商品的親和性分析
本文鏈接:http://weahome.cn/article/ipicph.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部