sklearn 机器学习练习

from sklearn.feature_extraction import DictVectorizer
from sklearn import tree,preprocessing
import csv
from sklearn.externals.six import StringIO
from sklearn.externals import joblib
f = open('w.csv','rb')
csv_r = csv.reader(f)
header = csv_r.next()


f_list = []   #存储的是每条数据 以字典的形式 key 是该数据对应的key
l_list = []  #存储的是最后结果的集合
for row in csv_r :
    l_list.append(row[-1])
    r_dict = {}
    for i in range(1,len(row)-1):
        r_dict[header[i]] = row[i]
    f_list.append(r_dict)

# print f_list

vec = DictVectorizer()
dummyX = vec.fit_transform(f_list).toarray()  #将列表里全是字典的格式 转换成 列表中全是列表 但是每个元素对应不同属性 以 0  1 表示
# print dummyX
# # print vec.get_feature_names()  #这个是对应关系
#
#
# lb = preprocessing.LabelBinarizer()
# dummyY = lb.fit_transform(l_list)  #将结果列表转成同样的格式
# # print dummyY
#
# clf = tree.DecisionTreeClassifier(criterion="entropy")  #分类器  创建决策树  参数是选择的算法  这里是用信息熵
# clf = clf.fit(dummyX,dummyY)   #建模
# joblib.dump(clf,"my_model.m")   #保存模型
#
# print clf
# with open("ppp.dot","w") as fff:
#     fff = tree.export_graphviz(clf,feature_names=vec.get_feature_names(),out_file=fff)  #这里是画图 feature_names是把特征值属性还原成原来的名字不再是 0 1#
clf = joblib.load("my_model.m")   #取出保存的模型
#测试数据
oneX = dummyX[0,]
# print oneX
nnnn = oneX
nnnn[1] = 0
nnnn[2] =1
# print nnnn
predictedY = clf.predict([nnnn])   #这里注意了 传入的参数是个二维数组
print predictedY
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值