![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
yangxuejunwinner
励志成为一名优秀的大数据分析师!
展开
-
用Python实现八大排序算法--堆排序
一、堆排序概述1.堆是一种数据结构 可以将堆看作一棵完全二叉树,这棵二叉树满足,任何一个非叶节点的值都不大于(或不小于)其左右孩子节点的值。 2.堆的存储 一般用数组来表示堆,若根节点存在于序号0处,i结点的父结点下表就为(i-1)/2,i结点的左右子结点下标分别为2i+1和2i+23.堆排序思想 利用大顶堆(小顶堆)堆顶记录的是最大关键字(最小关键字)这一特性,使得每次从无序中选择最大记录原创 2016-11-03 09:30:08 · 5655 阅读 · 3 评论 -
用Python实现八大排序算法--快速排序
一、概述最近在用Python学习经典的8大排序算法,以巩固基础知识,同时强化自己的Python技能。下面对快速排序做一个简要介绍。快速排序:设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。值得注意的是,快速排序不是一种稳定的排序算法,也就是说,多个相同的值的相原创 2016-11-02 11:05:07 · 1967 阅读 · 0 评论 -
【CSDN学院视频】以性别预测为例,谈谈数据挖掘中常见的分类算法
一、数据挖掘概念1.数据挖掘工程师数据挖掘工程师 = 大数据工程师 + 算法工程师2.数据挖掘主要任务1) Prediction Tasks 预测性任务 Use some variables to predict unknown or future values of other variables 2) Description Tasks 描述性任务 Find human-interpret原创 2016-11-14 16:13:05 · 2430 阅读 · 0 评论 -
Python 网络爬虫学习(一)
最近在学习一些Python网络爬虫的东西,现将所学习内容整理如下,希望与大家相互交流,共同进步。一、网络爬虫基本概念1.网络爬虫(Web Spider) 是通过网页的链接地址来寻找网页的。从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其他链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。如果把整个互联网当成一个网站原创 2016-11-29 15:29:20 · 911 阅读 · 0 评论 -
常见面试题整理---Python代码篇
Python常见面试题整理原创 2016-11-14 17:55:07 · 1140 阅读 · 0 评论 -
用Python实现八大排序算法--直接选择排序
一、选择排序概述选择排序(Selection sort)是一种简单直观的排序算法,它的工作原理是每次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,知道全部待排序的数据元素排完。算法基本思想: n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果 算法分析: (1) 关键字比较次数 在第i趟排序中选出最小关键字的记录,需要做n-i次比较,因此总的比较次数原创 2016-11-02 11:38:09 · 3194 阅读 · 1 评论 -
用Python实现八大排序算法--归并排序
一、归并排序概述1.归并排序将待排序序列R[0…n-1]看成是n个长度为1的有序序列,将相邻的有序表成对归并,得到n/2个长度为2的有序表;将这些有序序列再次归并,得到n/4个长度为4的有序序列;如此反复进行下去,最后得到一个长度为n的有序序列。 综上可知: 归并排序其实要做两件事: (1)“分解”——将序列每次折半划分。 (2)“合并”——将划分后的序列段两两合并后排序。2.算法特性分析时原创 2016-11-02 21:02:58 · 2921 阅读 · 2 评论 -
Scikit-learn Cookbook (三) --- Postmodel Workflow
stratified k-fold ---- 等分布抽样grid-search ---- 调参random-gridSearch ---随机调参原创 2016-11-18 12:35:08 · 794 阅读 · 0 评论 -
机器学习算法 -- 集成学习
一、关于集成学习的概念1.集成学习概念集成学习是机器学习中一个非常重要且热门的分支,是用多个弱分类器构成一个强分类器,其哲学思想是“三个臭皮匠赛过诸葛亮”。一般的弱分类器可以由决策树,神经网络,贝叶斯分类器,K-近邻等构成。已经有学者理论上证明了集成学习的思想是可以提高分类器的性能的,比如说统计上的原因,计算上的原因以及表示上的原因。2. 为什么要集成1)模型选择 假设各弱分类器间具有一定差异性(原创 2016-11-15 15:15:16 · 5936 阅读 · 1 评论 -
机器学习 --- 分类算法模型评估
一、 ROC曲线1. 混淆矩阵针对二分类问题,将实例分成正类(postive)或者负类(negative)。但是实际中分类时,会出现四种情况. (1)若一个实例是正类并且被预测为正类,即为真正类(True Postive TP) (2)若一个实例是正类,但是被预测成为负类,即为假负类(False Negative FN) (3)若一个实例是负类,但是被预测成为正类,即为假正类(False Po原创 2016-11-15 15:30:31 · 3401 阅读 · 0 评论 -
【机器学习实战】Loan Status
一、LoanStatus案例介绍数据集变量: 预测变量: Loan_Status贷款是否成功评价指标: Cross_validation Score (ROC曲线–AUC得分)数据集大小 训练集样本数:614 测试集样本数:367二、查看数据集1.导入Python数据挖掘库import pandas as pdimport numpy as npimport matplotlib原创 2016-11-26 15:59:16 · 3393 阅读 · 1 评论 -
【机器学习实战】美国波斯顿房价预测
一、读入数据及描述#1.读入数据from sklearn.datasets import load_boston#从读取的房价数据存储在boston变量中boston=load_boston()#输出数据描述print(boston.DESCR)二、数据分割及样本构建#数据分割from sklearn.cross_validation import train_test_splitimp原创 2017-03-11 16:33:36 · 9306 阅读 · 0 评论 -
【机器学习实战】决策树预测Titanic遇难者生还情况
一、导入数据#导入pandas用于数据分析import pandas as pd#利用pandas的read_csv模块直接从互联网手机泰坦尼克号乘客数据titanic = pd.read_csv('http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic.txt')#观察前几行数据titanic.head()二、分析数原创 2017-03-05 11:49:38 · 7699 阅读 · 0 评论 -
Python正则表达式(一)
一. 正则表达式基础1.简单介绍正则表达式的大致匹配过程: 依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。 2.Python支持的正则表达式元字符和语法3.反斜杠正则表达式中使用“\”作为转义字符,Python原生字符正则表达式则可以写成r”\”二、re模块2.1 开始使用rePython通过re模块提供对正则表达式的支持,然后使用Pat原创 2016-11-29 16:14:08 · 568 阅读 · 1 评论 -
【机器学习算法】 决策树ID3,C4.5
一、决策树基本概念及算法优缺点1.什么是决策树分类决策树模型是一种描述对实例进行分类的树形结构。决策树由结点和有向边组成。结点有两种类型:内部结点和叶结点。内部结点表示一个特征或属性,叶结点表示一个类。 决策树(Decision Tree),又称判定树,是一种以树结构(包括二叉树和多叉树)形式来表达的预测分析模型。原创 2016-11-13 21:56:19 · 4593 阅读 · 2 评论 -
机器学习算法--逻辑回归原理介绍
本博文针对逻辑回归的原理进行了介绍:逻辑回归就是这样的一个过程:面对一个回归或者分类问题,建立代价函数,然后通过优化方法迭代求解出最优的模型参数,然后测试验证我们这个求解的模型的好坏。Logistic回归虽然名字里带“回归”,但是它实际上是一种分类方法,主要用于两分类问题(即输出只有两种,分别代表两个类别)回归模型中,y是一个定性变量,比如y=0或1,logistic方法主要应用于研究某些事件发生的概率原创 2016-11-13 11:23:00 · 130121 阅读 · 7 评论 -
机器学习 -- 模型集成与调优
一、数据集介绍1. 样本介绍本数据集为患者乳腺癌患病检测样本,共有569个,它的前两列为唯一的ID号和诊断结果(M= malignant,B=benign),它的3-> 32列为实数值特征。2. 读入数据,查看样本import pandas as pddf=pd.read_csv('http://archive.ics.uci.edu/ml/machine-learning-databases/b原创 2016-11-06 09:32:09 · 2513 阅读 · 1 评论 -
Scikit-learn Cookbook (一) --- Premodel Workflow
一、通过datasets获取数据datasets ▪ 小型数据 — 存在于sklearn package中 — run datasets.load_* ▪ 大型数据 — must be fetched boston = datasets.load_boston() print(boston.DESCR) #数据集简要描述 housing = datase原创 2016-11-15 22:16:25 · 723 阅读 · 0 评论 -
Scikit-learn Cookbook (二) --- Classifying Data with scikit-learn
Doing Basic classifications with Decision Trees原创 2016-11-16 14:06:39 · 843 阅读 · 0 评论 -
用Python学习数据结构1--队列
队列是一种特殊的线性表,特殊之处在意它只允许在表的前端(front 队头)进行删除操作,而在表的后端(队尾)进行操作。即“先进先出”原创 2016-11-01 15:24:02 · 406 阅读 · 0 评论 -
用Python学习数据结构2--链表
一、链表简介链表是一组数据项的集合,其中每个数据项都是一个节点的一部分,每个节点还包含指向下一个节点的链接 2.根据结构的不同,链表可分为单项链表,单项循环链表,双向链表,双向循环链表等。 单项链表和单项循环链表结构如图所示: 二、单项循环列表操作三、Python实现单向循环列表Python中采用“引用+类”来实现链表,Node类代表链表中的一个节点# -*- coding: utf-8 -*原创 2016-11-01 14:59:25 · 587 阅读 · 0 评论 -
用Python学习数据结构3--堆栈
一、概述堆栈(Stack):先进后出(LIFO)的线性数据结构,对堆栈的插入和删除操作都只能在栈顶(top)进行二、ADT堆栈ADT(抽象数据类型)一般提供一下接口:创建堆栈 Stack()向栈顶插入项 push(item)返回栈顶的项,并从堆栈中删除该项 pop()清空堆栈 clear()判断堆栈是否为空 empty()返回堆栈中项的个数 size()返回栈顶的项 top()栈的调原创 2016-10-29 22:41:37 · 525 阅读 · 1 评论 -
机器学习案例1---A journey through Titanic
// 1.Imports 引入Python库// pandasimport pandas as pdfrom pandas import Series,DataFrame//#2. numpy,matplotlib,seabornimport numpy as npimport matplotlib.pyplot as pltimport seaborn as sns #数据可视化模块原创 2016-09-22 14:25:45 · 1990 阅读 · 0 评论 -
机器学习算法----KNN K近邻
一、机器学习基础1、机器学习的主要任务是分类,另一项任务是回归 2、目标变量是机器学习算法的预测结果 分类 算法: 目标变量–标称型 回归算法: 目标变量–连续性 3、两套独立的样本集:训练数据和测试数据二、K-近邻算法(KNN)工作原理: python代码# -*- coding: cp936 -*-"""Created on Sun Jul 31 11:13原创 2016-07-31 15:33:42 · 449 阅读 · 0 评论 -
用Python实现八大排序算法--插入排序
一、概述 八大排序算法分别为: 插入排序,希尔排序,冒泡排序,快速排序,直接选择排序,堆排序,归并排序,基数排序等二、插入排序 1. 概念:插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数+1的有序数据,算法适用于少量数据的排序。 2.时间复杂度:O(n^2) 3.算法稳定性:稳定 4.Python实现# -*- coding: utf-8 -*-"原创 2016-11-01 16:19:29 · 750 阅读 · 0 评论 -
机器学习算法 --- 用Python原生码实现Logistic回归
Sigmoid函数 Sigmoid函数的输入记为z,由下面公式得出: 梯度上升法(有的也叫做梯度下降法,只是符号不一样) Python Logistic代码from numpy import *#打开文本文件并逐行读取,x0=1,每行前两个值为x1,x2,第三个值是数据对应的类别标签def loadDataSet(): dataMat = []; labelMat = []原创 2016-07-31 20:33:48 · 915 阅读 · 0 评论 -
用Python实现八大排序算法--冒泡排序
一、冒泡排序介绍冒泡重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。原创 2016-11-01 16:41:02 · 6617 阅读 · 0 评论 -
【机器学习实战】网格搜索--贝叶斯新闻文本分类器调优
#对文本分类的朴素贝叶斯模型的超参数组合进行网格搜索#从sklearn.datasets中导入20类新闻文本抓取器from sklearn.datasets import fetch_20newsgroupsimport numpy as np#抓取新闻数据news=fetch_20newsgroups(subset='all')#数据集分割from sklearn.cross_valid原创 2017-03-12 13:57:07 · 2168 阅读 · 0 评论