info

决策树

霸气de小男生 提交于 2020-02-05 10:34:18
版权声明: 本文为博主原创文章,发表自 知一的指纹 。转载需向 我的邮箱 申请。 简单解释: 熵 为信息的期望值,计算公式如下。 $$ info(D) = -sum_{i=1}^m p_i log_2(p_i) $$ 信息增益 是指在划分数据集之前之后信息发生的变化。对信息按属性A划分后取得的熵。 $$ info_A(D) = sum_{j=1}^v frac{|D_j|}{|D|}info(D_j) $$ 计算两者之间的变化就是信息增益。 $$ gain(A) = info(D) - info_A(D) $$ 如下算法计算最大信息增益。 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 # -*- coding:utf-8 -*-"""决策树算法"""from __future__ import divisionimport mathimport operatorfrom collections import

python logging模块介绍

℡╲_俬逩灬. 提交于 2020-02-05 05:28:51
1.日志级别 日志一共分成5个等级,从低到高分别是:DEBUG INFO WARNING ERROR CRITICAL。 DEBUG:详细的信息,通常只出现在诊断问题上 INFO:确认一切按预期运行 WARNING:一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来(例如磁盘空间低)。这个软件还能按预期工作。 ERROR:更严重的问题,软件没能执行一些功能 CRITICAL:一个严重的错误,这表明程序本身可能无法继续运行 这5个等级,也分别对应5种打日志的方法: DEBUG、INFO、WARNING、ERROR、CRITICAL。日志级别大小关系为:CRITICAL > ERROR > WARNING > INFO > DEBUG。默认的是WARNING,当在WARNING或之上时才被跟踪。 2.简单的将日志打印到屏幕 import logging logging.debug('This is debug message') logging.info('This is info message') logging.warning('This is warning message') 屏幕上打印: WARNING:root:This is warning message 3.通过logging.basicConfig函数对日志的输出格式及方式做相关配置 import

TypeError: type str doesn't define __round__ method

℡╲_俬逩灬. 提交于 2020-02-05 03:49:02
一开始把我给唬住了,后来发现是基础问题, 最终结果如下: #!/usr/bin/env python3 # -*- coding:utf-8 -*- import subprocess def collect(): filter_keys = ['Manufacturer', 'Serial Number', 'Product Name', 'UUID', 'Wake-up Type'] raw_data = {} for key in filter_keys: try: res = subprocess.Popen("sudo dmidecode -t system|grep '%s'" % key, stdout=subprocess.PIPE, shell=True) result = res.stdout.read().decode() data_list = result.split(':') if len(data_list) > 1: raw_data[key] = data_list[1].strip() else: raw_data[key] = '' except Exception as e: print(e) raw_data[key] = '' data = dict() data['asset_type'] = 'server' data[

MyBatis_1_MaBatis入门

ⅰ亾dé卋堺 提交于 2020-02-05 00:15:38
下载与安装 我是直接找的授课资源 反正下好之后解压之后是这样 MyBatis的工作原理 所以基本步骤就有: 读取MyBatis配置文件mybatis-config.xml 加载映射文件mapper.xml 创建会话工厂 创建会话 通过Executor操作数据库 输入参数和输出结果的映射 MyBatis的增删改查 先做一些前置工作 创建数据库 这个数据库我是直接拿的课程资源里的,方便嘛,不是重点。 干脆把sql放在这里,方便你我他 /* SQLyog v10.2 MySQL - 5.5.27 : Database - eshop ********************************************************************* */ /*!40101 SET NAMES utf8 */ ; /*!40101 SET SQL_MODE=''*/ ; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */ ; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */ ; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE

Python语法入门02

你离开我真会死。 提交于 2020-02-04 23:47:38
引子 上一篇我们主要了解到了python这门编程语言,今天来说一下关于用户交互,数据类型和运算符方面的学习内容 用户交互 什么是用户交互? 用户交互就是人往计算机里输入数据(input),计算机输出结果(print) 很简单一个例子,我们在pycharm中输入以下代码 age = input("请输入年龄:") #往计算机中输入数据 print(type(age)) #让计算机输出age的数据类型 这时,计算机就会接收用户输入,其实无论输入什么类型的数据,最终返回的一定是字符串(str) PS:python2中input一定要声明你输入的类型,python2中的raw_input与python3中的input一样 格式化输出 把一段字符串里面的某些内容替换掉之后再输出,就是格式化输出。 如何格式化输出? 1、占位符,如:%s、%d: # %s占位符:可以接收任意类型的值 # %d占位符:只能接收数字,如果不是数字就会报错 print('亲爱的%s你好!你报名的%s月课程已成功,学费是%d' % ('Tom', 10, 18000)) 输出结果为: 2、format 废话不多说,直接举例说明: # .fomat的用法 name = 'Tom' age = '18' print("my name is {}, my age is {}".format(name, age))

从数据库读出的数据分页在前端显示

淺唱寂寞╮ 提交于 2020-02-04 23:41:33
//添加Pager类package Model; import java.util.List; public class Pager<E> { //数据总条数? private int totalRecord; //每一页显示的数据条数 private int pageSize; //页码数 private int pageIndex; //总页数 private int totalPage; //查询到的数据的集合 private List<E> datas; public int getTotalRecord() { return totalRecord; } public void setTotalRecord(int totalRecord) { this.totalRecord = totalRecord; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public int getPageIndex() { return pageIndex; } public void setPageIndex(int pageIndex) { this.pageIndex = pageIndex; }

java 性能测试框架工具-junitperf

人走茶凉 提交于 2020-02-04 21:25:27
性能测试工具 对于 Java 开发者来说,要去学习性能测试工具未免很麻烦。 但有时候会有性能测试的需求。 junitperf junitperf 就是一款为 Java 开发者设计的性能测试框架,如果你会 Junit,很容易就可以学会。 特性 支持 Junit4+JDK1.7+,入门简单 (@since 1.0.0) 支持 Junit5+JDK1.8+,使用方便 (@since 2.0.0) 支持 I18N 性能报告支持自定义拓展 使用例子 入门案例 入门案例地址 jar 包引入 <dependency> <groupId>com.github.houbb</groupId> <artifactId>junitperf</artifactId> <version>2.0.0</version> </dependency> 使用例子 import com.github.houbb.junitperf.core.annotation.JunitPerfConfig; public class HelloWorldTest { @JunitPerfConfig(duration = 1000) public void helloTest() throws InterruptedException { Thread.sleep(100); System.out.println("Hello

模块

给你一囗甜甜゛ 提交于 2020-02-04 14:52:28
第五章节 函数 截止目前:面向过程编程。【可读性差/可重用性差】。 发邮件 ```python 面向过程编程 user_input = input('请输入角色:') if user_input == '管理员': import smtplib from email.mime.text import MIMEText from email.utils import formataddr msg = MIMEText('管理员,我想演男一号,你想怎么着都行。', 'plain', 'utf-8') msg['From'] = formataddr(["李邵奇", '15776556369@163.com']) msg['To'] = formataddr(["管理员", '344522251@qq.com']) msg['Subject'] = "情爱的导演" server = smtplib.SMTP("smtp.163.com", 25) server.login("15776556369@163.com", "qq1105400511") server.sendmail('15776556369@163.com', ['管理员', ], msg.as_string()) server.quit() elif user_input == '业务员': import smtplib

安装Elastic Stack组件(Elasticsearch,Logstash,Kibana,Filebeat)报错锦集

怎甘沉沦 提交于 2020-02-04 05:50:37
报错一:kibana登录出错,查看日志发现:crypt_r() failed $ cat /var/log/nginx/error.log 2020/01/28 12:11:38 [ crit ] 8863 #8863: *3 crypt_r() failed (22: Invalid argument), client: 10.20.44.113, server: xx.xx.xx.xx, request: "GET /status HTTP/1.1", host: "xx.xx.xx.xx" 原因分析 # 最初创建用户时,我已经犯规了。结果,htpasswd文件如下所示: $ cat /etc/nginx/htpasswd.users kibanaadmin: kibanaadmin: $apr1 $sNJR /eWP $4YZjLMfSka13 /UfkLH2.J. 解决方法 # 删除空白用户后,一切正常。 $ sudo nano /etc/nginx/htpasswd.users $ cat /etc/nginx/htpasswd.users kibanaadmin: $apr1 $sNJR /eWP $4YZjLMfSka13 /UfkLH2.J. 报错二:安装有filebeat采集日志的服务器上连接elasticsearch失败 Failed to connect to

logging 模块

倾然丶 夕夏残阳落幕 提交于 2020-02-04 04:27:26
logging模块  什么是日志  程序出现bug的时候 来帮助我们记录过程 排除错误 import logging logging.basicConfig(level=logging.INFO) # 配置报错等级(info指:info以上等级写入日志) logging.debug('debug message') # 计算或者工作的细节 logging.info('info message') # 记录一些用户的增删改查的信息 logging.warning('input a string type') # 警告操作 logging.error('error message') # 错误操作 logging.critical('critical message') # 批判的 直接导致程序出错退出 简单配置 import logging logging.basicConfig(level=logging.INFO, format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s') logging.warning('input a string type') # 警告操作 logging.error('EOF ERROR') # 警告操作 logging.info('你忘记给钱了') #