基于sklearn 实现决策树(含最简代码,复杂源码:预测带不带眼镜)

最简代码:

1 #简单的决策树分类
2 from sklearn import tree
3 features = [[300,2],[450,2],[200,8],[150,9]]
4 labels = [‘apple‘,‘apple‘,‘orange‘,‘orange‘]
5 clf = tree.DecisionTreeClassifier()
6 clf = clf.fit(features,labels)
7 print(clf.predict([[400,6]]))

预测代码:

数据集下载地址

代码:

 1 # -*- coding: UTF-8 -*-
 2 from sklearn.preprocessing import LabelEncoder, OneHotEncoder
 3 from sklearn.externals.six import StringIO
 4 from sklearn import tree
 5 import pandas as pd
 6 import numpy as np
 7 import pydotplus
 8
 9 if __name__ == ‘__main__‘:
10     with open(‘data\lenses.txt‘, ‘r‘) as fr:                                        #加载文件
11         lenses = [inst.strip().split(‘\t‘) for inst in fr.readlines()]        #处理文件
12     lenses_target = []                                                        #提取每组数据的类别,保存在列表里
13     for each in lenses:
14         lenses_target.append(each[-1])
15
16     lensesLabels = [‘age‘, ‘prescript‘, ‘astigmatic‘, ‘tearRate‘]            #特征标签
17     lenses_list = []                                                        #保存lenses数据的临时列表
18     lenses_dict = {}                                                        #保存lenses数据的字典,用于生成pandas
19     for each_label in lensesLabels:                                            #提取信息,生成字典
20         for each in lenses:
21             lenses_list.append(each[lensesLabels.index(each_label)])
22         lenses_dict[each_label] = lenses_list
23         lenses_list = []
24     # print(lenses_dict)                                                        #打印字典信息
25     lenses_pd = pd.DataFrame(lenses_dict)                                    #生成pandas.DataFrame
26     print(lenses_pd)                                                        #打印pandas.DataFrame
27     le = LabelEncoder()                                                        #创建LabelEncoder()对象,用于序列化
28     for col in lenses_pd.columns:                                            #序列化
29         lenses_pd[col] = le.fit_transform(lenses_pd[col])
30     print(lenses_pd)                                                        #打印编码信息
31
32     clf = tree.DecisionTreeClassifier(max_depth = 4)                        #创建DecisionTreeClassifier()类
33     clf = clf.fit(lenses_pd.values.tolist(), lenses_target)                    #使用数据,构建决策树
34     print(lenses_target)
35     print(clf.predict([[1,1,1,0]]))                    #预测

预测眼镜

原文地址:https://www.cnblogs.com/smartisn/p/12403907.html

时间: 2024-10-07 10:30:02

基于sklearn 实现决策树(含最简代码,复杂源码:预测带不带眼镜)的相关文章

[Android阅读代码]android-async-http源码学习一

android-async-http 下载地址 一个比较常用的Http请求库,基于org.apache.http对http操作进行封装. 特点: 1.每一个HTTP请求发生在UI线程之外,Client通过回调处理HTTP请求的结果,使得Client代码逻辑清晰 2.每一个请求使用线程池管理执行 3.支持gzip , cookie等功能 4.支持自动重试连接功能 [Android阅读代码]android-async-http源码学习一,布布扣,bubuko.com

基于新唐M0的XXTEA加密解密算法源码

源:基于新唐M0的XXTEA加密解密算法源码 /*--------------------------------------------------------------------------------------------------------- 在数据的加解密领域,算法分为对称密钥与非对称密钥两种.对称密钥与非对称密钥由于各自的特点,所应用的领域是不尽相 同的.对称密钥加密算法由于其速度快,一般用于整体数据的加密,而非对称密钥加密算法的安全性能佳,在数字签名领域得到广 泛的应用.

基于Docker的TensorFlow机器学习框架搭建和实例源码解读

概述:基于Docker的TensorFlow机器学习框架搭建和实例源码解读,TensorFlow作为最火热的机器学习框架之一,Docker是的容器,可以很好的结合起来,为机器学习或者科研人员提供便捷的机器学习开发环境,探索人工智能的奥秘,容器随开随用方便快捷.源码解析TensorFlow容器创建和示例程序运行,为热爱机器学者降低学习难度. 默认机器已经装好了Docker(Docker安装和使用可以看我另一篇博文:Ubuntu16.04安装Docker1.12+开发实例+hello world+w

基于Zlib算法的流压缩、字符串压缩源码

原文:基于Zlib算法的流压缩.字符串压缩源码 Zlib.net官方源码demo中提供了压缩文件的源码算法.处于项目研发的需要,我需要对内存流进行压缩,由于zlib.net并无相关文字帮助只能自己看源码解决.通过对SharpZipLib的demo研究,写出了Zlib.net的流压缩算法. 中间花费了不少的时间,应为通过Stream压缩出来的数据全是空的,呵呵,主要原因就是忽略了ZOutputStream.flush()和ZOutPutStream.close()方法.大家自己看吧.关于字符串压缩

年末最代码部分源码大出血分享-freemarker,bootstrap,springdata jpa分页代码

原文:年末最代码部分源码大出血分享-freemarker,bootstrap,springdata jpa分页代码 源代码下载地址:http://www.zuidaima.com/share/1606851189656576.htm 项目截图: eclipse jee Deployment Assembly设置截图: eclipse java build path设置截图: eclipse java compile设置截图: eclipse jee project facets设置截图: ecl

基于Java NIO的多人在线聊天工具源码实现(登录,单聊,群聊)

近来在学习Java NIO网络开发知识,写了一个基于Java NIO的多人在线聊天工具练练手.源码公开在Coding上: https://coding.net/u/hust_wsh/p/MyChat/git ,开发环境是Ubuntu14.04+Eclipse Mars+JDK1.8. 要想编写一个基于Java NIO的多人在线聊天工具,我总结需要以下几方面的地址:客户端服务器模型,Java NIO中的Selector,SocketChannel,ByteBuffer,Collections以及序

微信小程序支付代码asp源码下载

昨天晚上给朋友写了一个asp的微信小程序支付接口,我这朋友的小程序服务器端用的asp做的,以前没有支付,非让我给写一个支付,因为必须是asp来写,他不会,所以我就帮他写了,顺便还写了一个asp获取用户资料头像和微信名入库的代码,也是asp源码,数据库用的是mdb的格式,还可以比较好用,微信小程序用asp做服务器端估计很少,应该有朋友需要,下载这个代码:ly.ftphn.com/wxpay.rar ============================================= 互相学习

PHP基于MVC模式下的化妆品销售网站,源码分享

大家好,我是全微毕设团队的创始人,本团队擅长JAVA(SSM,SSH,SPRINGBOOT).PYTHON.PHP.C#.安卓等多项技术. 今天将为大家分析一个化妆品销售网站,随着科技的迅速发展,计算机网络信息技术在当代社会越来越普及,基于Web平台上的商业活动也越来越密集.传统的交易大部分是面对面交易,在这种信息化时代,人们已经不能满足于传统的交易平台.信息的网络化管理在市场上的地位变得越来越重要,相对于人为管理而言,网络化管理更简单,工作效率更高.本文着重研究网络信息技术运用在化妆品购买,改

基于JSP的在线学校论坛网站系统,源码分享

随着计算机技术的飞速发展,学校也已进入信息化时代.为了方便大学的学生管理以及学生进行互动交流,决定开发采用MVC模式,基于JSP的木兰县高级中学校园论坛系统,数据库使用SQL Server,在系统设计过程中,尽量采用易懂易读的人机界面,使用户可以在短期内完全掌握.软件开发过程中始终把系统的正确性放在首位,力求数据的完整和处理的正确性.在此基础上优化程序代码,加速系统运行和减少对系统资源的占用. 在互联网技术高速发展的推动下,互联网跨入了虚拟社区时代.根据2010年1月<第25次中国互联网发展状况