//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. float元素上-margin的用法

    css标准,float元素上的负margin表示把下面的元素向对应方向移动,并且覆盖上一个元素(这里是指html中元素的声明顺序). 标准情况下我们用float 时候是这样的. -margin通俗点说 ...

  2. org.springframework.data.redis.RedisConnectionFailureException

    org.springframework.data.redis.RedisConnectionFailureException: Cannot get Jedis connection; nested ...

  3. jsp分割字符串并遍历

    1.先引入JSTL库 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> ...

  4. 获取当前表中的最大自增id的下一个自增id值

    SELECT auto_increment FROM information_schema.`TABLES` WHERE TABLE_SCHEMA='{$db_name}' AND TABLE_NAM ...

  5. JavaScript - Compiling Vs Transpiling

    参考 https://blog.csdn.net/napolunyishi/article/details/20473799 https://www.stevefenton.co.uk/2012/11 ...

  6. php的弱类型比较

    1.==和=== ==为弱相等,也就是说12=="12" --> true,而且12=="12cdf" --> true,只取字符串中开头的整数部分 ...

  7. python 基础之文件读操作

    创建一个名为‘尘曦’的文件内容如下 Hadoop是一个由Apache基金会所开发的分布式系统基础架构. 用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速运算和存储. ...

  8. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 网格系统实例:偏移列

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  9. Java基础 -4.3

    While循环结构 while循环 public static void main(String[] args) { while(布尔表达式) { 条件满足时执行; 修改循环条件; } } do wh ...

  10. LeetCode 19. Remove Nth Node From End of List(删除链表中倒数第N个节点)

    题意:删除链表中倒数第N个节点. 法一:递归.每次统计当前链表长度,如果等于N,则return head -> next,即删除倒数第N个节点:否则的话,问题转化为子问题“对head->n ...