采用决策树算法,对“双十一”期间顾客是否买服装的数据集进行分析与预测。
顾客购买服装数据集:包含review(商品评价变量)、discount(打折程度)、needed(是否必需)、shipping(是否包邮)、buy(是否购买)。
1.读取顾客购买服装的数据集(数据集路径:…/3_buy.csv),探索数据。
2.分别用ID3算法和CART算法进行决策树模型的配置、模型的训练、模型的预测、模型的评估。
import pandas as pd
import numpy as np
from sklearn import tree
from sklearn import metrics
from sklearn.model_selection import train_test_split
#1.读取顾客购买服装的数据集(数据集路径:data/data76088/3_buy.csv),探索数据。
data=pd.read_csv("E:/python/SpyderCode/work/3_buy.csv")
data.info()
print(data.columns)
print(data.head())
#2.分别用ID3算法和CART算法进行决策树模型的配置、模型的训练、模型的预测、模型的评估。
X=data.iloc[:,0:4]
y=data.iloc[:,4:]
X=np.array(X.values)
y=np.array(y.values)
train_X,test_X,train_y,test_y=train_test_split(X,y,test_size=0.5)
#用ID3算法
#模型配置
model=tree.DecisionTreeClassifier(criterion='entropy')#ID3
#模型训练
model.fit(train_X,train_y)
#模型的预测
pre_y=model.predict(test_X)
#模型的评估
print("\nID3算法的准确率:",metrics.accuracy_score(test_y,pre_y))
#用CART算法
#模型配置
model2=tree.DecisionTreeClassifier(criterion='gini')#CART
#模型训练
model2.fit(train_X,train_y)
#模型的预测
pre_y=model2.predict(test_X)
#模型的评估
print("\nCART算法的准确率:",metrics.accuracy_score(test_y,pre_y))