- 博客(92)
- 资源 (7)
- 收藏
- 关注
转载 Python 获取当前目录路径和上级路径
转载在使用python的时候总会遇到路径切换的使用情况,如想从文件夹test下的test.py调用data文件夹下的data.txt文件:.└── folder ├── data │ └── data.txt └── test └── test.py一种方法可以在data文件下加入__init__.py 然后在test.py 中imp...
2018-09-22 15:58:31
1473
原创 python b 'string'
str = '...' literals = a sequence of Unicode characters (UTF-16 or UTF-32, depending on how Python was compiled) bytes = b'...' literals = a sequence of octets (integers between 0 and 255)
2018-09-22 15:56:01
10558
1
转载 集成学习算法
内容来自国内机器学习大牛周志华《机器学习》一书。集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务。典型的集成学习结构如下:通过训练数据产生一组个体学习器,然后使用某种结合策略将个体学习器组结合起来。其中,个体学习器通常由一个现有的学习算法从训练数据中产生,如决策树算法、神经网络算法等。根据个体学习器类型的相同与否将集成分为同质集成和异质集成。同质集成即待集成的个...
2018-07-13 17:27:31
2494
转载 学习中防止过拟合的处理方法
原文地址:一只鸟的天空,http://blog.youkuaiyun.com/heyongluoyao8/article/details/49429629防止过拟合的处理方法过拟合 我们都知道,在进行数据挖掘或者机器学习模型建立的时候,因为在统计学习中,假设数据满足独立同分布(i.i.d,independently and identically distributed),即当前已产生的数据可以对未来的数据...
2018-07-10 20:52:12
325
转载 偏差 方差
原始博客链接When we discuss prediction models, prediction errors can be decomposed into two main subcomponents we care about: error due to "bias" and error due to "variance". There is a tradeoff between a m...
2018-07-10 20:03:49
350
原创 交叉验证
交叉验证(Cross Validation)是用来验证分类器的性能一种统计分析方法,基本思想是把在某种意义下将原始数据进行分组,一部分做为训练集(training set),另一部分做为验证集(validation set),首先用训练集对分类器进行训练,在利用验证集来测试训练得到的模型(model),以此来做为评价分类器的性能指标。常见的交叉验证方法如下:留出法 Hold-Out Metho...
2018-07-10 17:11:33
3709
原创 梯度下降
梯度下降是机器学习中最基本的概念,分为BGD(Batch Gradient Descent)、SGD(Stochastic Gradient Descent)和MBGD(Mini-Batch Gradient Descent)三种。一般线性回归函数的假设函数对应的损失函数下图作为一个二维参数(\theta _{0} ,\theta _{1} )组对应能量函数的可视化图:批量梯度下降BGD机器学习算...
2018-07-10 09:44:06
426
原创 箱型图
箱形图的价值1.直观明了地识别数据批中的异常值上文讲了很久的识别异常值,其实箱线图判断异常值的标准以四分位数和四分位距为基础,四分位数具有一定的耐抗性,多达25%的数据可以变得任意远而不会很大地扰动四分位数,所以异常值不会影响箱形图的数据形状,箱线图识别异常值的结果比较客观。由此可见,箱线图在识别异常值方面有一定的优越性。2.利用箱线图判断数据批的偏态和尾重对于标准正态分布的样本,只有极少值为异常...
2018-07-09 20:21:29
745
原创 特征工程
https://machinelearningmastery.com/discover-feature-engineering-how-to-engineer-features-and-how-to-get-good-at-it/
2018-07-09 17:58:15
206
翻译 随机森林总结
1. 什么是随机森林?随机森林是一种多功能的机器学习算法,能够执行回归和分类的任务。同时,它也是一种数据降维手段,用于处理缺失值、异常值以及其他数据探索中的重要步骤,并取得了不错的成效。另外,它还担任了集成学习中的重要方法,在将几个低效模型整合为一个高效模型时大显身手。在随机森林中,我们将生成很多的决策树,并不像在CART模型里一样只生成唯一的树。当在基于某些属性对一个新的对象进行分类判别时,随机...
2018-07-07 23:56:58
1300
原创 pandas group分组与agg聚合
import pandas as pddf = pd.DataFrame({'Country':['China','China', 'India', 'India', 'America', 'Japan', 'China', 'India'], 'Income':[10000, 10000, 5000, 5002, 40000, 50000, 8000,...
2018-07-03 01:24:49
54314
10
原创 利用pandas 处理缺失值
处理缺失值def missing_values(dataframe): missing_ratio = (dataframe.isnull().sum() / len(dataframe))*100 missing_ratio = missing_ratio.drop(missing_ratio[missing_ratio == 0].index).sort_values(asce...
2018-07-01 23:51:46
418
原创 pandas.get_dummies
Convert categorical variable into dummy/indicator variables参数data : array-like, Series, or DataFrameprefix : string, list of strings, or dict of strings, default NoneString to append DataFrame column ...
2018-06-30 15:58:53
1462
转载 OneHot Encoder 和 Label Encoder
为什么要独热编码? 正如上文所言,独热编码(哑变量 dummy variable)是因为大部分算法是基于向量空间中的度量来进行计算的,为了使非偏序关系的变量取值不具有偏序性,并且到圆点是等距的。使用one-hot编码,将离散特征的取值扩展到了欧式空间,离散特征的某个取值就对应欧式空间的某个点。将离散型特征使用one-hot编码,会让特征之间的距离计算更加合理。离散特征进行one-hot编...
2018-06-29 17:03:28
644
转载 随机森林
1. 算法简介随机森林由LeoBreiman(2001)提出,它通过自助法(bootstrap)重采样技术,从原始训练样本集N中有放回地重复随机抽取k个样本生成新的训练样本集合,然后根据自助样本集生成k个分类树组成随机森林,新数据的分类结果按分类树投票多少形成的分数而定。其实质是对决策树算法的一种改进,将多个决策树合并在一起,每棵树的建立依赖于一个独立抽取的样品,森林中的每棵树具有相同的分布...
2018-06-29 15:44:18
1452
原创 shell脚本 echo命令的颜色显示
shell脚本中echo命令打印彩色输出需要使用参数-e,格式如下:echo -e "\e[字背景颜色;文字颜色m字符串\e[0m"例如:echo -e "\e[41;36m Hello world.\e[0m"代码输出以41(红)为背景色和36(天蓝色)为字体颜色的Hello world.如果不想设置背景颜色,使用如下格式即可echo -e "\e[36m Hello world.\e[0m"字...
2018-02-28 09:43:37
1788
转载 什么是过拟合
原文链接,纯属笔记过拟合很好理解,今天在知乎上看到eyounx这么解释,挺形象的,大致是这么个说法:在机器学习中,我们提高了在训练数据集上的表现力时,在测试数据集上的表现力反而下降了,这就是过拟合。 过拟合发生的本质原因,是由于监督学习的不适定性。比如我们再学习线性代数时,给出n个线性无关的方程,我们可以解出来n个变量,但是肯定解不出来n+1个变量。在机器学习中,如果数据(对应于方程)远小于模型...
2018-02-19 22:54:44
832
转载 图像的上采样(up-sampling)和下采样(down-sampling)
原文地址:http://blog.youkuaiyun.com/majinlei121/article/details/46742339 缩小图像(或称为下采样(subsampled)或降采样(downsampled))的主要目的有两个:1、使得图像符合显示区域的大小;2、生成对应图像的缩略图。放大图像(或称为上采样(upsampling)或图像插值(interpolating))
2018-02-06 21:04:21
6569
翻译 训练集 验证集 测试集
通常,在训练有监督的机器学习模型的时候,会将数据划分为训练集、验证集和测试集。机器学习早期,数据集较小,比如一千条数据,一般工程实践上将三者的划分比例定为对原始数据进行三个集合的划分,是为了能够选出效果(可以理解为准确率)最好的、泛化能力最佳的0.6:0.2:0.2(训练集:验证集:测试集)。有验证集0.7:0.3 (训练集:测试集)。无验证集模型。随着
2018-02-05 17:48:17
1161
原创 Kaggle笔记:DigitRecognition 数字识别 kNN解法
import numpy as npimport pandas as pdimport operatorimport csv# inX:进行类别判断的一条数据# trainSet:训练数据# labels:每条数据对应的标签# k:近邻数量def classify(inX, trainSet, labels, k): trainSetSize = trainSet.sh
2017-09-14 14:26:39
1226
原创 计算两点间的距离(HDU)
Problem Description输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。Input输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。Output对于每组输入数据,输出一行,结果保留两位小数。Sample Input 0 0 0 1 0 1 1 0Sample Output 1.00 1.41#include <i
2017-05-30 14:18:12
448
原创 ASCII码排序(HDU)
Problem Description 输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。Input 输入数据有多组,每组占一行,有三个字符组成,之间无空格。Sample Input qwe asd zxcSample Output e q w a d s c x z#include <iostream>#include <vector>#include <st
2017-05-30 11:03:33
459
原创 function name should be lowercase
作为一个pyCharm新手,不得不说这款IDE写Python确实挺舒服。 不过因为代码风格问题,遇到了function name should be lowercase问题,着实烦人,在这里分享一下解决方案。File –>Settings–>Editor–>Inspections–>Python–>PEP 8 naming convention violation在右下角有一个Ignored er
2017-05-13 11:02:14
30978
4
转载 层次遍历二叉树
著作权所有者:何海涛 《剑指Offer——名企面试官精讲典型编程题》代码题目23: 层次遍历二叉树 题目: 从上到下打印二叉树的每个结点,同一层的结点按照从左到右的顺序打印。#include <iostream>#include <exception>#include <queue>using namespace std;struct BinaryTreeNode{ int
2017-05-08 21:22:33
418
转载 matplotlib-绘制精美的图标 第一节 快速绘图(II)
配置属性matplotlib所绘制图表的每个组成部分都和一个对象对应,可以通过调用这些对象的属性设置方法set_*()或者pyplot模块的属性设置函数setp()来设置它们的属性值。例子import matplotlib.pyplot as pltimport numpy as npplt.figure(figsize=(4,3))x = np.arange(0, 5
2017-05-06 16:43:40
459
翻译 matplotlib.pyplot.subplot
matplotlib.pyplot.subplot(*args, **kwargs)Return a subplot axes positioned by the given grid definition.Typical call signature:subplot(nrows, ncols, plot_number)Where nrows and ncols are used to notion
2017-05-06 16:05:03
1040
翻译 enumerate
enumerate(sequence, start=0)Return an enumerate object. sequence must be a sequence, an iterator, or some other object which supports iteration. The next() method of the iterator returned by enu
2017-05-06 15:51:00
362
翻译 matplotlib.pyplot.figure
matplotlib.pyplot.figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True, FigureClass=<class 'matplotlib.figure.Figure'>, **kwargs)Creates a new figure.P
2017-05-06 14:24:43
3022
翻译 matplotlib.pyplot.plot(*args, **kwargs)
matplotlib.pyplot.plot(*args, **kwargs)Plot lines and/or markers to the Axes. args is a variable length argument, allowing for multiple x, y pairs with an optional format string. For example, ea
2017-05-06 14:14:45
3306
转载 matplotlib-绘制精美的图标 第一节 快速绘图(I)
声明:内容全部来自《Python科学计算》(张若愚),仅供学习记录使用。如有兴趣,请尊重知识,购买正版。Github 链接使用pyplot模块绘图matplotlib的pyplot模块提供了与MATLAB类似的绘图函数调用接口,方便用户快速绘制二维图表。# -*- coding: utf-8 -*-"""@author: xusworld@file:
2017-05-06 12:59:22
2116
转载 蛙跳
题目9:一只青蛙一次可以跳上一级台阶,也可以跳上两级。求该青蛙跳上一个n级台阶总共有多少种情况。#include using namespace std;//N 代表目标数字#define N 10class Solution{private: int * mNumArray = new int[N + 1]; int mSteps[2]; int mArrayIn
2017-04-27 11:07:35
473
转载 用两个栈实现队列
题目:用两个栈实现一个队列。队列声明如下,请实现它的两个函数 appendTail 和deleteHead, 分别完成在队列尾部插入结点和在队列头部删除结点的功能。template class CQueue{public: CQueue(void);~CQueue(void);void appendTail(const T & node);T delete
2017-04-19 20:55:25
309
转载 重建二叉树
题目:输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序序列和中序序列中都不含重复的数字。例如输入前序{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6}重建二叉树如图所示(省略)。二叉树节点的定义如下:struct BinaryTreeNode{ int mValue; BinaryTreeNode* mLeftChild; Bi
2017-04-17 10:40:57
360
转载 链表基本操作
#include using namespace std;struct ListNode{ int mValue; ListNode * mNextNode;};void AddToTail(ListNode ** pHead, int value){ ListNode * pNew = new ListNode(); pNew->mValue = value; pNew
2017-04-15 19:56:54
236
转载 面试题4:替换空格
题目:请实现一个函数,把字符串中的每个空格替换成 “%20”。例如输入“We are happy.”,则输出“We%20are%20happy.”要求:在原来的字符串上做替换,并保证输入的字符串后面有足够的空余内存,常数空间复杂度。#include using namespace std;void ReplaceBlank(char string[], int ma
2017-04-12 20:12:39
231
1
转载 面试题3:二维数组中的查找
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排列。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。#include using namespace std;bool Find(int martix[][4], int rows, int columns, int target){ if (mart
2017-04-12 16:23:58
236
原创 Lists
Lists使用一个doubly linded list(双向链表)来管理元素,决定了list的内部结构和vector与deque迥然不同,所以先在几个主要方面与前述二者存在明显的区别。根据链表的性质,list不支持随机存取,意思是如果你想存取第i位置上的元素就必须顺着链表访问到i位置。任何位置上的插入删除操作都能在常数时间内完成,毕竟无需移动任何元素只通过内部的一些指针操作即可。安插和删除动作
2017-01-19 17:21:23
313
原创 Deques
deque同样是采用动态数组来管理元素,提供随机存取,并有着和vector几乎相同的接口。不同之处在于deque的动态数组头尾都开放,因此在头尾两端均能快速进行快速安插和删除。Deques VS Vectors不同点Deque两端都能进行快速安插和移除元素,均能在常数时间内完成。存取元素时,deque的内部结构会多一个间接过程,所以元素的存取和迭代器的动作会稍慢与vector。迭代器不需要再不
2017-01-19 15:54:42
808
C++代码设计与重用
2014-11-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人