python 一个决策树分析的案例

该博客介绍了如何使用Python进行电子商品数据预处理,包括读取CSV文件,数据拆分,特征提取和标签编码。接着,利用scikit-learn库构建了决策树分类器,并进行了模型训练。最后,展示了如何使用模型预测新样本的类别。
摘要由CSDN通过智能技术生成
#23 pythoh descison tree
from sklearn.feature_extraction import DictVectorizer
import csv
import pandas as pd
from sklearn import preprocessing
from sklearn import tree
from sklearn.externals.six import StringIO

data1=pd.read_csv('D://allelectronics.csv')
data1
data1.shape[0]
column_list=data1.columns.tolist()
column_list=column_list[0].split(';')
column_list
data2=data1.iloc[:,0].str.split(';',expand=True)
data2.columns=column_list
data2


featrue_list=[]
label_list=[]

label_list=data2['class:buys_computer']
label_list
len(data2)
t=0
while t<= len(data2):
    rowdict={}
    for i in range(1,len(data2.columns)-1):
        print(i)
        rowdict[data2.columns[i]]=data2.iloc[t,i]
    featrue_list.append(rowdict)
    t+=1
featrue_list

vec=DictVectorizer()
dummy_x=vec.fit_transform(featrue_list).toarray()

print('dummyx'+str(dummy_x))
print(vec.get_feature_names())

lb=preprocessing.LabelBinarizer()
dumm_y=lb.fit_transform(label_list)
dumm_y

clf=tree.DecisionTreeClassifier(criterion='entropy')
clf.fit(dummy_x,dumm_y)
clf
# from IPython.display import Image
# dot_data = tree.export_graphviz(clf, out_file=None,
#                          feature_names=featrue_list,
#                          class_names=label_list,
#                          )
# graph = pydotplus.graph_from_dot_data(dot_data)
# Image(graph.create_png())
with open('x1.dot','w') as f:
    f=tree.export_graphviz(clf,feature_names=vec.get_feature_names(),out_file=f)
# import pydotplus
# graph=pydotplus.graph_from_dot_data(f)
# graph.write_pdf('1.pdf')
onerow=dummy_x[0,:]
onerow
print('onerowx'+str(onerow))

onerow[0]=1
onerow[1]=0
import  numpy as np
onerow=np.array(onerow).reshape((1,-1))
PredictedY=clf.predict(onerow)
PredictedY

关注 

回复 ele 获取源数据 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值