Python-使用Magellan進行數據匹配總結


  參考:http://www.biggorilla.org/zh-hans/walkt/

 

    使用Magellan進行數據匹配過程如下:

    假設有兩個數據源為A和B,

              A共有四列數據:(A_Column1,A_Column2,A_Column3,A_Column4)

    B共有五列數據: (B_Column1,B_Column2,B_Column3,B_Column4,B_Column5)

    假設A_Column1和B_Column1是相關的,而A_Column2和B_Column2相關的

 

    1、首先建立合並列表

 

      分別在A和B數據中建立一個混合列mixture

      在A中 mixture = A_Column1 + A_Column2 就是把 A_Column1 和 A_Column2兩列的數據合並到mixture列里面,

      同理,在B中 mixture = B_Column1+ B_Column2

      

 

    2、尋找一個候選集

      這個過程就是使用重疊系數連接兩個表,我們可以使用混合列創建所需的候選集(我們稱之為C)。

      

      注意:這個過程中threshold這個參數代碼這要C這個集合中要創建一列_sim_score ,表示相似度分數,如何經過匹配_sim_score 的數據小於0.65,那么就是不合格的,說白了就是相識度很小,

    threshold這個設置的過多大,導致可能C的集合很小,值越大代表數據相識度越大 ,threshold最大值是1,代表匹配數據完全一樣,值越小代表數據相識度越小,如果所有數據的匹配結果都小於threshold的值,那么

    C就是空集合,因此這個值要根據選擇的匹配列數進行設置。

 

    3、指定要素

      就是指定在py_entitymatching程序包中哪些列對應於各個數據幀中的要素

      

    

    4、攔截工具故障排除

      確保候選集足夠松動,能夠容納並不十分接近的電影配對。如果不是這樣,那么可能我們已經清除了可能潛在匹配的配對

      

 

    5、從候選集采樣

      目標是從候選集中獲取一個樣本,並手動標記抽樣候選者;也就是指定候選配對是否是正確的匹配。

      

      要在導出的labeled.csv文件中增加一個label列,根據_sim_score列的數據和實際數據情況,來人為的判斷是否是正確的匹配,如果是則在label列中填入數值1,否則,填入數值0

      注意:這個label.csv數據集合實際上作為下面機器學習一個訓練集,因此這個label列數據之間影響下面機器學習的效果。

      

     

     6、機器學習算法訓練

      下面用了幾種機器學習算法

      

        在應用任何機器學習方法之前,我們需要抽取一組功能。幸運地是,一旦我們指定兩個數據集中的哪些列相互對應,py_entitymatching程序包就可以自動抽取一組功能。指定兩個數據集的列之間的對應性,

      將啟動以下代碼片段。然后,它使用py_entitymatching程序包確定各列的類型。通過考慮(變量l_attr_typesr_attr_types中存儲的)各個數據集中列的類型,並使用軟件包推薦的編譯器和類似功能,我們可以抽取一組

      用於抽取功能的說明。請注意,變量F並非所抽取功能的集合,相反,它會對說明編碼以處理功能。

      

 

      考慮所需功能的集合F,現在我們可以計算訓練數據的功能值,並找出我們數據中丟失數值的原因。在這種情況下,我們選擇將丟失值替換為列的平均值。

      

      使用計算的功能,我們可以評估不同機器學習算法的性能,並為我們的匹配任務選擇最佳的算法。

      

 

    7、評估匹配質量

 

      評估匹配質量非常重要。可以針對此目的使用訓練集,並衡量隨機森林預測匹配的質量。我們可以發現,我們獲得最高精確性,並且能夠重現測試集。

      

 

    8、使用訓練的模型匹配數據集

      使用訓練的模型對兩個標記進行如下匹配

      

      請注意,匹配數據幀包含了很多存儲數據集抽取功能的列。以下代碼片段移除了所有非必要的列,並創建一個格式良好的擁有最終形成的整合數據集的數據幀。

 

      

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

      

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM