决策树建模

1.通过对训练样本的学习,并建立分类规则,然后依据分类规则,对新样本数据进行分类预测。
2.虚拟变量:
sklearn包的算法,一般只支持连续值的变量,离散值的变量需要用连续值来表示,这种表示方法为虚拟变量。
例如:男女性别,用0,1表示。
虚拟变量的生成方法:
.DictVectorizer.fit_transform(dict)
dict 接受一个字典参数

import numpy,pandas
data=pandas.read_csv('filepath')
#转成dict,to_dict()
fData=data[['ParentIncome','IQ','Gender','ParentEnourage']].to_dict('records')
tData=data[['ColleagePlans']].as_matrix()

#虚拟变量生成,并且(toarray)将特征字典转换成一个大的稀疏矩
from sklearn.feature_extraction import DictVectorizer
dictvectorizer=DictVectorizer()
pdata=dictvectorizer.fit_transform(fData).toarray()
#取值,对每个离散变量字段去(n-1)列
pdata=pdata[:,1,2,3,5]
# 重排序
permutation=numpy.random.permutation(data.shape[0])
pdata=pdata[permutation]
tdata=tdata[permutation]
# 建模
from sklearn import tree
TModel=tree.DecisionTreeClassifier(max_leaf_nodes=8)
#训练模型
TModle.fit(data[:6000],data[:6000])
#评估模型
TModle.score(pdata[6000:],tdata[6000:])
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容