人工智能决策树

        根据用户的年龄、收入等信息构建一个决策树模型,判断哪些人购买计算机的意愿更大,最终公司通过决策树模型的结果,针对购买意愿强烈的客户发送传单以及推销信息,降低公司成本,使得利益达到最大化。通过构建决策树,可以识别出与购买意愿强烈相关的特征(如年龄和收入),帮助公司理解目标客户的特征。决策树能够将用户根据特征分为不同的类别,例如,"高意愿"和"低意愿"客户,便于公司进行针对性营销。通过用户特征数据构建一个决策树模型,判断哪些人购买计算机的意愿更大。

        main.py

main.py如下
#导入需要的包
#导入需要的包
from graphviz import Source
import pandas as pd
from sklearn import tree
from sklearn.feature_extraction import DictVectorizer
from sklearn import preprocessing
import warnings
 
warnings.filterwarnings('ignore')
#读取决策树.xlsx数据
data=pd.read_excel('./computer-sales.xlsx')
data=pd.DataFrame(data)
valuedata=data.values #表里面的数据

header=list(data.columns)[1:6] #表头
#这个列表用于存放处理后得到的字典
featureList=[] 
#存放表中Class_buys_computer属性的数据
labelList=data['buys-computer'] 
for value in valuedata:
    featureDict={}
    for i in range(4):
         featureDict[header[i]]=value[i+1]
    featureList.append(featureDict)
vec=DictVectorizer()
dummyX=vec.fit_transform(featureList).toarray()
lb=preprocessing.LabelBinarizer()
dummyY=lb.fit_transform(labelList)  
#调用tree.DecisionTreeClassifier()以建立决策树,采用entropy算法
clf=tree.DecisionTreeClassifier(criterion='entropy')
#拟合dummyX和dummyY
clf=clf.fit(dummyX,dummyY)
print(clf)

graph=Source(tree.export_graphviz(clf,feature_names=vec.get_feature_names_out(),out_file=None))
graph
graph.render('decision_tree', format='png', cleanup=True)