
$ 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中分类用户,无论他们是否会根据诸如用户是否在周末购物,他们使用的网络浏览器,访问了多少页面的网络浏览器,他们访问了多少页面等功能,等等。