
$ git clone https://github.com/krvaibhaw/Customer-Purchase-Predection.git
$ cd Customer-Purchase-Predection
$ pip install requirements.txt
$ python model.py <data folder path>/<file.csv>
例子 :
$ python model.py data/activity_data.csv
我們通過使用命令行參數為網站加載客戶活動數據集開始評估。在研究中,我們已將客戶在線活動數據集用於網站,涉及流量類型,區域,產品相關的持續時間,與產品相關,月份等參數。
if len ( sys . argv ) != 2 :
sys . exit ( "Usage: python shopping.py data" )
evidence , labels = load_data ( sys . argv [ 1 ])有必要將分類特徵轉換為數值,因為所有機器學習算法僅解釋數字值。下一個步驟涉及基於功能重要性的特徵選擇,然後替換字符串值數值值。
month_index = dict ( Jan = 0 , Feb = 1 , Mar = 2 , Apr = 3 , May = 4 , June = 5 ,
Jul = 6 , Aug = 7 , Sep = 8 , Oct = 9 , Nov = 10 , Dec = 11 )
( month_index [ row [ "Month" ]],
1 if row [ "VisitorType" ] == "Returning_Visitor" else 0 ,
1 if row [ "Weekend" ] == "TRUE" else 0 )
labels . append ( 1 if row [ "Revenue" ] == "TRUE" else 0 )該過程涉及取數據集並將其分為兩個子集。第一個子集用於擬合模型,並稱為培訓數據集。第二個子集不用於訓練模型。取而代之的是,將數據集的輸入元素提供給模型,然後進行預測並將其與預期值進行比較。第二個數據集稱為測試數據集。然後,我們使用train_test_split()函數從Sklearn模塊準備模型的培訓和測試數據。
from sklearn . model_selection import train_test_split
X_train , X_test , y_train , y_test = train_test_split (
evidence , labels , test_size = TEST_SIZE
)然後,我們使用我們在“需求安裝”部分中安裝的Sklearlen模型創建AUR K-Nearest鄰居(KNN)模型。 KNN算法假定相似的事物在近距離上存在。換句話說,類似的事物彼此接近。
def train_model ( evidence , labels ):
model = KNeighborsClassifier ( n_neighbors = 1 )
model . fit ( evidence , labels )
return model培訓數據將用於訓練KNN(K-Neartivt鄰居)模型。並且測試數據將用於驗證模型。它將預測給定未見特徵向量的標籤。
model = train_model ( X_train , y_train )
predictions = model . predict ( X_test )最後,然後評估模型。模型評估旨在估計模型對未來(看不見/樣本外)數據的概括精度。
sensitivity , specificity = evaluate ( y_test , predictions )
# Displaying the results
print ( f"Correct: { ( y_test == predictions ). sum () } " )
print ( f"Incorrect: { ( y_test != predictions ). sum () } " )
print ( f"True Positive Rate: { 100 * sensitivity :.2f } %" )
print ( f"True Negative Rate: { 100 * specificity :.2f } %" )
# Displaying the classification report for model evaluation
print ( " n Classification Report n " )
print ( classification_report ( y_test , predictions ))
print ( "Accuracy : " , accuracy_score ( y_test , predictions ) * 100 )在研究中,我將客戶在線活動數據集用於網站,其中涉及流量類型,區域,產品相關的持續時間,相關,月份,月份等參數。
為了提高機器學習技術的發展,該項目可能對在線購物網站有所幫助,這些網站蓬勃發展以增加其客戶參與度。
該項目的未來範圍包括,除其他客戶參與參數(例如,涉及特定感興趣的物品的價格下降)等其他客戶參與參數之外,還可以在更大範圍內實施。
在在線正常購物期間,最常見的發生是並非所有用戶最終都會購買一些東西。通常,大多數訪問者可能最終不會在該網絡會議期間進行購買。因此,對於AE Commerce網站,預測用戶是否打算進行購買並顯示不同的內容並相應地提供折扣或優惠券等,如果網站懷疑用戶不打算完成購買,將是有益的。
為了解決此問題,我們繼續進行k-nearest分類器,以在兩個預定義的IE中分類用戶,無論他們是否會根據諸如用戶是否在周末購物,他們使用的網絡瀏覽器,訪問了多少頁面的網絡瀏覽器,他們訪問了多少頁面等功能,等等。