//2019.07.26
#scikit-learn数据挖掘工具包
1、Scikit learn是基于python的数据挖掘和机器学习的工具包,方便实现数据的数据分析与高级操作,是数据分析里面非常重要的工具包。
2、Scikit Learn是数据挖掘重要的工具包,其官网为http://scikit-learn.org,可以方便地进行进行相关用法的查询。
3、scikit-learn是一种开源的工具包,其开源网址为http://github.com//scikit-learn/scikit-learn.
#机器学习和决策树(Machine Learning and Decision Tree)
4、机器学习实质是一种函数映射,它是基于人类学习的习惯和模式进行相关的学习、总结和预测的,其输出结果取决于以往的经验,而这里的经验就是指以往的数据,它是机器学习的基础,而具体结果的准确度主要取决于两个方面:一个是以往的数据,另外一个则是指机器学习算法的准确性,其中机器学习的算法是核心的部分。
5、机器学习是一种函数关系,因此它必定含有相应的输入因子和输出结果,根据输出结果的类别可以分为以下几类:
(1)对结果不打标记,则称之为聚类算法,比如对于植物的分类算法,这个机器学习就是无监督学习;
(2)对结果打标记的算法则称之为监督学习,比如对于邮件是否为垃圾邮件的判断和决定。而对于监督机器学习算法,也可以根据其结果的离散与连续将其分为分类(结果有限离散)和回归(结果是连续的)
6、决策树是一种机器学习算法,它属于机器学习算法中的监督学习算法,是一类对于结果有标记的机器学习算法;
7、决策树是一种树状结构的算法,它是根据结果的不同进行多层多属性分类决策,而对于每一层的数据属性和优先级的决定定义原则与算法原理则是不同决策树算法的不同之处,比较典型的算法决策因素有信息熵、信息增益等

该函数是指决策树算法的分层依据为信息熵函数定义(越小越好)
8、机器学习算法的过程实现整体的框架主要分为三个步骤:数据预处理、数据建模以及结果验证。
9、简单决策树的实现:

import numpy as np
import pandas as pd

#引入原始数据,进行数据的预处理
from sklearn.datasets import load_iris #导入iris原始数据集合
iris=load_iris()
print(iris)
print(len(iris["data"]))
from sklearn.model_selection import train_test_split #引入数据训练与检验模块
train_data,test_data, train_target, test_target=train_test_split(iris.data,iris.target,test_size=0.2,random_state=1)

#建立数据的模型和相应的决策树结构
from sklearn import tree #引入决策树模块
clf=tree.DecisionTreeClassifier(criterion="entropy") #建立一个分类性质的决策树(标准选择为信息熵增益)
clf.fit(train_data,train_target) #进行原始数据的训练
y_pred=clf.predict(test_data) #进行数据集的测试

#数据验证
from sklearn import metrics #引入机器学习的验证模块
print(metrics.accuracy_score(y_true=test_target,y_pred=y_pred)) #输出整体预测结果的准确率,其中第三个参数normalize=False表示输出结果预测正确的个数
print(metrics.confusion_matrix(y_true=test_target,y_pred=y_pred)) #输出混淆矩阵,如果为对角阵,则表示预测结果是正确的,准确度越大

pyhton机器学习入门基础(机器学习与决策树)的更多相关文章

  1. 机器学习入门 - Google机器学习速成课程 - 笔记汇总

    机器学习入门 - Google机器学习速成课程 https://www.cnblogs.com/anliven/p/6107783.html MLCC简介 前提条件和准备工作 完成课程的下一步 机器学 ...

  2. web安全之机器学习入门——2.机器学习概述

    目录 0 前置知识 什么是机器学习 机器学习的算法 机器学习首先要解决的两个问题 一些基本概念 数据集介绍 1 正文 数据提取 数字型 文本型 数据读取 0 前置知识 什么是机器学习 通过简单示例来理 ...

  3. web安全之机器学习入门——3.1 KNN/k近邻

    目录 sklearn.neighbors.NearestNeighbors 参数/方法 基础用法 用于监督学习 检测异常操作(一) 检测异常操作(二) 检测rootkit 检测webshell skl ...

  4. paper 56 :机器学习中的算法:决策树模型组合之随机森林(Random Forest)

    周五的组会如约而至,讨论了一个比较感兴趣的话题,就是使用SVM和随机森林来训练图像,这样的目的就是 在图像特征之间建立内在的联系,这个model的训练,着实需要好好的研究一下,下面是我们需要准备的入门 ...

  5. 机器学习入门:极度舒适的GBDT原理拆解

    机器学习入门:极度舒适的GBDT拆解 本文旨用小例子+可视化的方式拆解GBDT原理中的每个步骤,使大家可以彻底理解GBDT Boosting→Gradient Boosting Boosting是集成 ...

  6. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  7. Azure机器学习入门(三)创建Azure机器学习实验

    在此动手实践中,我们将在Azure机器学习Studio中一步步地开发预测分析模型,首先我们从UCI机器学习库的链接下载普查收入数据集的样本并开始动手实践: http://archive.ics.uci ...

  8. 机器学习入门 - Google的机器学习速成课程

    1 - MLCC 通过机器学习,可以有效地解读数据的潜在含义,甚至可以改变思考问题的方式,使用统计信息而非逻辑推理来处理问题. Google的机器学习速成课程(MLCC,machine-learnin ...

  9. 机器学习入门 一、理解机器学习+简单感知机(JAVA实现)

    首先先来讲讲闲话 如果让你现在去搞机器学习,你会去吗?不会的话是因为你对这方面不感兴趣,还是因为你觉得这东西太难了,自己肯定学不来?如果你觉的太难了,很好,相信看完这篇文章,你就会有胆量踏入机器学习这 ...

随机推荐

  1. DMVPN基础配置

    DMVPN基础拓扑: 配置步骤:    1. 基本IP地址配置实现网络可达    2. 配置GRE多点隧道(mGRE)和NHRP(下一跳解析协议)    3. 配置EIGRP路由协议    4. 配置 ...

  2. C++11常用特性介绍——for循环新用法

    一.for循环新用法——基于范围的for循环 for(元素类型 元素对象 : 容器对象) { //遍历 } 1)遍历字符串 std::string str = "hello world&qu ...

  3. windows下mysql 8.0.12安装步骤及基本使用教程

    本文实例为大家分享了windows下mysql 8.0.12安装步骤及使用教程,供大家参考,具体内容如下 补充:mysql 已经更新到了 8.0.19,大致步骤和这个差不多,照着来就完事了. 我下载的 ...

  4. 助力企业战疫提效保质,腾讯wetest远程办公工具包请查收!

    导语 疫情当前,减少个人的出行与聚集成为了抗击疫情的重要防线.不少企业为了员工的安全与战疫的目标,开始实行在家远程办公的措施.作为开发测试人员,对工作环境与设备软件的条件要求相对较高,当前在远程办公的 ...

  5. 【NGINX】LINUX安装NGINX

    安装依赖() · yum install gcc · yum install pcre-devel · yum install zlib zlib-devel · yum install openss ...

  6. 基于Struts2+Hibernate开发小区物业管理系统 附源码

    开发环境: Windows操作系统开发工具: MyEclipse+Jdk+Tomcat+MySql数据库 运行效果图: 源码及原文链接:https://javadao.xyz/forum.php?mo ...

  7. [转]使用Struts 2防止表单重复提交

    转自 用户重复提交表单在某些场合将会造成非常严重的后果.例如,在使用信用卡进行在线支付的时候,如果服务器的响应速度太慢,用户有可能会多次点击提交按钮,而这可能导致那张信用卡上的金额被消费了多次.因此, ...

  8. 时间和日期实例-<Calender计算出生日期相差几天>

    String day1="1994:10:04"; String day2="1994:10:03"; SimpleDateFormat format= new ...

  9. 「Luogu P5494 【模板】线段树分裂」

    (因为没有认证,所以这道题就由Froggy上传) 线段树分裂用到的地方确实并不多,luogu上以前也没有这道模板题,所以就出了一道,实在是想不出怎么出模板了,所以这道题可能可以用一些其他的算法水过去. ...

  10. [CMake笔记] 初识CMake

    与CMake相遇 做C/C++的人都应该经历过,以往拿到一个开源代码,想自己编译出来,总会因为VS的版本不同而出现各种各样的问题,使编译过程困难重重,更多时候就会放弃使用它了.而这个过程反过来,也会使 ...