先把字典向量化,然后再预测

import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.feature_extraction import DictVectorizer

def decide_play():
df = pd.read_csv(‘dtree.csv’)
dict_train = df.loc[:,[‘Outlook’,‘Temperatur’,‘Humidity’,‘Windy’]].to_dict(orient=‘record’)
#如果pandas从DataFrame取出一列数据,该数据类型会变成Series
dict_target = pd.DataFrame(df[‘Play’],columns=[‘Play’]).to_dict(orient=‘record’)
print(dict_target)
#训练数据字典向量化
dv_train = DictVectorizer(sparse=False)
x_train = dv_train.fit_transform(dict_train)
#目标数据字典向量化
dv_target = DictVectorizer(sparse=False)
y_target = dv_target.fit_transform(dict_target)

#创建训练模型并训练
d_tree = DecisionTreeClassifier()
d_tree.fit(x_train,y_target)
data_predict = {
    'Humidity':85,
    'Outlook':'sunny',
    'Temperatur':85,
    'Windy':False
}

x_data = dv_train.transform(data_predict)
print(dv_target.inverse_transform(d_tree.predict(x_data)))

if name == ‘main’:
decide_play()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值