- 博客(117)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 【Python那些事儿】用图表分析单变量数据
准备工作我们采用EDA(探索性数据分析)方式对数据集进行探索,并通过可视化进行展示。这里使用pyplot来绘制图形进行数据可视化,pyplot是matplotlib绘图库的状态机接口。 数据集:1946,411947,231948,161949,281950,201951,111952,191953,141954,391955,321956,1957,141958,195
2017-06-09 21:01:40
1451
原创 Python外观模式
外观模式许多情况下,我么不想把内部复杂性暴露给客户端。外观模式有助于隐藏系统的内部复杂性,并通过一个简化的接口向客户端暴露必要的部分。外观模式跟代理模式有点像,都是在客户端和目标类之间建一个中间的类,客户端不直接调用目标的类,而是通过先调用中间类的方法,由中间类来实现怎么调用目标类。外观模式的目的是通过建立一个中间类,把调用目标类的代码都封装好,例如有时候目标类有很多个,逐一得去调用它们会很麻
2017-06-06 10:53:09
507
原创 Python修饰器模式
无论何时,在对一个对象添加额外功能时,都有以下可选方法:如果合理,直接将功能添加到对象所属的类;使用组合;使用继承。设计模式为我们提供了第四种可选方法,以支持动态地(运行时)扩展一个对象的功能,这种方法就是修饰器(Decorator)。修饰器模式能够以透明的方式(不影响其他对象)动态地将功能添加到一个对象中。在很多编程语言里,使用继承来实现修饰器模式。在Python中,可以使用内置的修饰
2017-06-04 16:54:21
1511
原创 Python适配器模式
适配器模式(Adapter Pattern)通常情况下,原系统的代码要么无法获取——如库等、要么难以冒险重构——如运行5年以上的老旧系统牵一发而动全身。在设计中使用适配器模式,可以保证在不修改原系统代码的前提下,实现新需求与原系统的对接。适配器模式是一种结构型设计模式,实现两个不兼容接口之间的兼容。以保证程序符合开放/封闭原则,保持新老代码间的兼容性。结构型设计模式处理一个系统中不同实体(类和
2017-06-02 20:29:02
1125
原创 Pyhotn工厂模式
工厂模式形式工厂方法:对不同的输入参数返回不同对象;抽象工厂:是一组用于创建一系列相关事物对象的工厂方法。工厂方法数据来源形式:人们可读文件:XML、Atom、YAML、JSON等二进制文件:.sq3、.mp3问题:有一些数据存储在XML和JSON文件中,对这两个文件进行解析,获取一些信息;对这些外部服务进行集中式的客户端连接。数据形式:JSON[ {
2017-05-16 20:10:38
406
原创 Git将本地仓库上传到Github
记录如何将创建的本地代码,通过命令行上传到Github上:在Github上new一个repository;进入本地的项目目录下,建立git仓库: git init将项目所有文件添加到仓库中: git add . #全部git add filename #指定文件将添加的文件提交到仓库: git commit -m "文件描述"将本地仓库关联到Github上: git r
2017-04-15 11:45:03
5671
1
原创 Git入门
版本控制介绍关于版本控制一种记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况的系统。可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。可以比较文件的细节变化,查出最后是谁修改了哪个地方,从而找出导致怪异问题出现的原因。版本控制的方式本地版本控制集中化版本控制分布式版本控制Git工作方式在工作目录中修改文件; 已修改状态:自上次取出后,作了修改,
2017-04-15 10:04:18
299
原创 解決Ubuntu16.04搜狗输入法失效的问题
问题:Ubuntu16.04系统安装的搜狗输入法能正常启动,也可以显示搜狗输入法图标和界面,但无法输入中文。重启后问题依然存在。解决方法:删除搜狗拼音输入法的配置文件,并重启输入法。执行如下命令:cd ~/.config #进入存放配置文件的位置find . -name sogou* #删除搜索到的配置文件sogou-qimpanelfind . -name Sogou* #删除搜索到的
2017-04-04 12:44:01
3568
原创 Logistic回归
Logistic 回归优点: 易于理解,计算量不大缺点 容易欠拟合,精度不高适用数据类型: 数值型、标称型Sigmoid函数Sigmoid函数: Sigmoid函数的输入记为z,由下面公式得出: 式中,向量x为分类器的输入数据,向量w为最佳回归系数。最佳回归系数的确定——梯度上升法思想:要找到某函数的最大值,最好的方法就是沿着该函数的梯度方向探寻。公式:梯度记为,则函数
2017-03-15 21:57:49
653
原创 算法复杂度分析
进行算法复杂度分析的原因:预测算法所需要的资源: 计算时间(CPU消耗)内存空间(RAM消耗)通信时间(带宽消耗)预测算法的运行时间: 在给定输入规模时,所执行的基本操作数量或称为算法复杂度(Algorithm Complexity)如何衡量算法复杂度:内存(Memory)时间(Time)指令的数量(Number of Step)特定操作的数量: 磁盘访问数量网络包数量
2017-03-06 21:40:59
456
原创 Python小程序
1.验证码生成器from string import ascii_uppercase, ascii_lowercase, digitsimport randomdef get_check_code(len_, mode = (True, True, True)): '''check code creater. len_ : length of check code. mo
2017-02-24 19:19:21
467
原创 Python Cookbook 2 ——搜索和排序
Donald Knuth教授曾在《 The Art of Computer Programming》中提到:有很多计算机花了超过一半的计算时间在排序上。可以理解为:确实有很多非常重要的和排序有关的应用;有很多人在进行一些不必要的排序;低效的排序算法被广泛应用造成了计算时间的浪费。在Python中,对于排序的策略:当需要排序的时候,尽量设法使用内建Python列表的sort方法
2017-01-15 15:30:03
392
原创 Python Cookbook 2——Python技巧
对象拷贝new_list = copy.copy(existing_list)浅拷贝,虽然生成一个新对象,但是对象内部的属性和内容仍然引用原对象,一旦修改一个,两个均被改变。new_list = copy.copy(existing_list) 深拷贝,修改new_list同时不改变existing_list。这种拷贝会消耗相当的时间和内存。若列表中某元素存在则返回之def
2017-01-10 21:27:09
1025
原创 Python操作MySQL
这篇文章主要记录如何使用Python操作MySQL数据库的基础知识点。准备工作在开始之前需要先安装MySQL数据库,以及应用模块MySQLdb。很简单:$ sudo apt-get install mysql-server$ sudo apt-get install python-mysqldb接下来,需要在MySQL中建立一个新的数据库testdb和新用户Do,以便操作。$ mysql -
2016-12-23 20:54:17
1071
原创 【Python那些事儿】Python中的生成器
生成器(generator)生成器,即生成一个容器。在Python中,一边循环,一边计算的机制,称为生成器。生成器可以理解为一种数据类型,这种数据类型自动实现了迭代器协议(其他数据类型需要调用自己的内置iter()方法或__iter__()的内置函数),所以,生成器就是一个可迭代对象。在Python中,使用生成器可以很方便的支持迭代器协议。生成器优点python使用生成器对延迟操作提供了支
2016-12-21 20:08:33
3506
原创 【Python那些事儿】Python中的迭代器
主要记录:迭代器(iterator)协议对象必须提供一个next()方法,执行该方法时,要么返回迭代中的下一项,要么引起一个StopIteration异常。只能往前访问,不会后退。在Python中,支持迭代器协议就是实现对象的__iter__和next()方法。 __iter__方法:返回迭代器对象本身;next()方法:返回容器中的下一个元素,在结尾时引发StopIteration异常终
2016-12-21 17:25:28
3642
原创 MySQL into outfile 问题解决:ERROR 1 (HY000): Can't create/write to file
任务:从MySQL导数据导出数据到本地——select * into outfile '/home/spark/data.csv' fields terminated by ',' lines terminated by '\n' from mytable;错误信息:ERROR 1 (HY000): Can't create/write to file '/home/spark/data.csv'
2016-12-15 14:04:48
7001
原创 MySQL数据库操作
主要内容:MySQL安装基本MySQL命令行操作数据库知识数据库(database):即容器——保存有组织的数据;表(table):某种特定类型数据的结构化清单;模式(schema):关于数据库和表的布局及特性的信息;列(column):表中的一个字段,所有表都是由一个或者多个列组成的;数据类型(datatype):所容许的数据的类型。每个表列都有相应的数据类型,它限制该列中存储的数
2016-12-14 21:47:47
452
原创 Ubuntu16.04安装R及RStudio
主要内容:介绍在Ubuntu16.04上安装R及RStudio安装R安装RStudio之前需要先安装R。<1>添加镜像源添加镜像源到/etc/apt/sources.list注意Ubuntu版本(本人Ubuntu版本是xenial,即16.04。根据版本改变对应的名字。)# Ctrl+Alt+T打开终端$ sudo echo "deb http://cran.rstudio.com/bi
2016-12-13 16:57:20
30519
10
转载 如何选择机器学习算法
英文原文:Choosing a Machine Learning Classifier 译文原文:如何选择机器学习算法 How do you know what machine learning algorithm to choose for your classification problem? Of course, if you really care about accuracy, yo
2016-12-13 14:41:39
500
原创 Python生成词云——WordCount入门
主要内容:介绍词云用Python的WordCount包实现词云词云关键词的视觉化描述;图形可视化;用于汇总用户生成的标签或一个网站的文字内容;重要程度能通过改变字体大小或颜色来表现;大多数标签本身就是超级链接,直接指向与标签相联的一系列条目。Python实现词云构造词云的方法很多,这里推荐Python的WordCount包,实现非常方便,且能够自定义图片。具体可参考:WordCou
2016-12-13 13:43:47
4999
原创 在Ubuntu16.04中配置Anaconda(Python2.7)以支持Spark2.0(Pyspark)
本文主要内容:对比Spark和Hadoop介绍PysPark和Anaconda搭建并配置运行WordCount最近想学习大数据分析平台Spark,由于实验室设备不足,只能先在本地搭建一个独立式的Spark环境,进行简单分析,逐步探索Spark的奥秘,为以后Spark集群操作打好基础。 对于从事数据挖掘和机器学习人员来说,使用anaconda的ipython notebook无疑是最棒的体
2016-12-12 20:28:29
7940
原创 对Python中的Pandas进行SQL查询——pandasql
背景众所周知,用SQL语句进行数据查询十分方便,因为跟自然语言更接近。pandas其实是模仿R语言中的DataFrame设计的一个Python库。R语言中可以使用sqldf实现SQL查询;pandas中也有类似的库:pandasql。pandasql介绍Overview pandasql allows you to query pandas DataFrames using SQL sy
2016-12-05 20:27:53
28474
2
转载 机器学习的特征工程
原文地址引言在之前学习机器学习技术中,很少关注特征工程(Feature Engineering),然而,单纯学习机器学习的算法流程,可能仍然不会使用这些算法,尤其是应用到实际问题的时候,常常不知道怎么提取特征来建模。 特征是机器学习系统的原材料,对最终模型的影响是毋庸置疑的。特征工程的重要意义数据特征会直接影响你使用的预测模型和实现的预测结果。准备和选择的特征越好,则实现的结果越好。 影响预测结
2016-11-06 17:41:04
1993
原创 Python基础篇—Pandas应用(三)
为某行添加求和项导入数据:import pandas as pddata = pd.read_csv('data.txt')data 添加总和栏显示wid、uid、fans的总和:data['total'] = data['wid']+data1['uid']+data1['fans']data 对各列进行汇总:data['fans'].sum()data['fans'].mean(
2016-10-31 20:43:43
4350
原创 【Python那些事儿】Python中的读写文件
综述在Python中读写文件,你不需要导入任何库;第一步就是获取文件对象;主要利用“open()”函数。文件类型文本文件二进制文件Open()函数打开文件进行读写操作,需要使用Python的内置函数:open()。它返回一个文件对象,最常用的参数有两个。语法:file_object = open(filename, mode) where file_object is the v
2016-10-30 10:50:37
13091
原创 Ubuntu16.04安装WPS
最近实验室给配了一台式机,配置还是很不错的!接下来再遇到上G的数据时,就不愁了。内存:16G处理器:Intel® Core™ i7-4790 CPU @ 3.60GHz × 8 图形:Intel® Haswell Desktop 基本系统:Ubuntu 16.04 LTS 64 位磁盘:1T就是可惜了自己刚买的4G的内存条。。。还有就是很多软件要重新安装,下面简单介绍一下在Ubuntu1
2016-10-28 14:03:47
18515
原创 大数据的应用——用户画像
什么是画像?什么是画像呢?可能大家看到过一些外文资料或者演讲中出现过profile一词,其实和画像是一个概念,都是从不同的维度来表达一个人,这些维度可以是事实的,可以是抽象的;可以是自然属性,比如性别、年龄;可以是社会属性,比如职业、社交特征;可以是财富状况,比如是否高收入人群,是否有固定资产;可以是家庭情况,比如是否已经结婚,是否有孩子;可以是购物习惯,比如喜欢网购还是喜欢逛商场;可以是位置特征,
2016-10-27 21:45:28
10870
原创 【Python那些事儿】Python中的类型转换
int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x ) 将x转换到一个浮点数 complex(real [,imag ]) 创建一个复数 str(x ) 将对象 x 转换为字符串 repr(x ) 将对象 x 转换为表达式字符串 eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象 tu
2016-10-19 16:57:27
404
原创 【Python那些事儿】Python字符串连接的5种方法
总结了一下Python字符串连接的5种方法:加号 很多语言里面是用加号连接两个字符串,Python里面也是如此直接用 “+” 来连接两个字符串:print 'Pyt' + 'hon'结果:Python逗号 如果两个字符串用“逗号”隔开,那么这两个字符串将被连接,但是,字符串之间会多出一个空格:print 'Pyt','hon'结果:Pyt hon直接连接 Python 独有的,只要把两
2016-10-19 15:26:00
7699
原创 【Python那些事儿】range()和xrange()
无论是range()还是xrange()都是Python里的内置函数。这个两个内置函数最常用在for循环中。range()和xrange() 在Python 2里是两种不同的实现。 但是在Python 3里,range()这种实现被移除了;保留了xrange()的实现,且将xrange()重新命名成range()。首先,我们来看Python 2里range()。它是一个内置函数,这个函数用于创
2016-10-18 11:17:06
807
原创 Chrome 键盘快捷键
了解各种键盘快捷键,成为 Chrome 使用达人。标签页和窗口快捷键 Google Chrome 功能快捷键 地址栏快捷键 网页快捷键 鼠标快捷键
2016-10-13 19:29:26
603
原创 关于Ubuntu16.04中WPS不能输入中文的问题
问题:Ubuntu16.04自带的libre对于office的格式兼容性太差,只好安装了WPS。但是WPS文字、表格、演示均不能输入中文。 原因:环境变量未正确设置 解决办法:WPS文字打开终端输入:sudo vim /usr/bin/wps添加一下文字到打开的文本中(添加到“#!/bin/bash”下面):export XMODIFIERS="@im=fcitx"export QT_
2016-09-30 15:37:08
14980
12
原创 KNN算法实战——手写数字识别
KNN算法简介KNN算法的简介可参考:K-近邻算法(KNN)手写数字识别kNN算法主要被应用于文本分类、相似推荐,本文将描述一个分类的例子。 何为手写识别?可参考维基百科介绍:手写识别数据下载:手写识别数据数据说明:每个手写数字已经事先处理成32*32的二进制文本,存储格式为txt文件。分为训练样本和测试样本:“trainingDigits”、“testDigits”。编程实现步骤: 将每
2016-09-26 19:36:26
2801
原创 COURSERA机器学习笔记——归一化(二)
过拟合问题(THE PROBLEM OF OVERFITTING)通过学习得到的假设,可能能够非常好地适应训练集(代价函数可能几乎为 0),但是可能会不能推广到新的数据。 下图是一个回归问题的例子: 第一个模型是一个线性模型,低度拟合,不能很好地适应我们的训练集。这个问题的另一个术语叫做高偏差(high bias);第三个模型是一个四次方的模型,过度拟合,虽然能非常好地适应我们的训练集但在新
2016-09-25 18:14:45
1236
转载 DO’S AND DON’TS OF DATA SCIENCE
原文地址Don’t Start with the Data Do Start with a Good QuestionDon’t think one person can do it all Do build a well-rounded teamDon’t only use one tool Do use the best tool for the jobDon’t brag about t
2016-09-20 12:25:18
557
原创 COURSERA机器学习笔记——归一化(一)
逻辑回归(LOGISTIC REGRESSION)分类问题在分类问题中,我们尝试预测的是:结果是否属于某一个类(例如正确或错误)。分类问题的例子有:判断一封电子邮件是否是垃圾邮件;判断一次金融交易是否是欺诈等等。从二元的分类问题开始讨论: 将因变量(dependant variable)可能属于的两个类分别称为负向类(negative class)和正向类(positive class),则
2016-09-14 14:26:13
1036
原创 COURSERA机器学习笔记——多变量线性回归
多维特征 ( MULTIPLE FEATURES)目前为止,我们探讨了单变量/特征的回归模型,现在我们对房价模型增加更多的特征,例如房间数楼层等,构成一个含有多个变量的模型,模型中的特征为(x1x_{1},x2x_{2},…xnx_{n})。 增添更多特征后,我们引入一系列新的注释:n 代表特征的数量x(i)x^{\left ( i \right) }代表第 i 个训练实例,是特征矩阵中的
2016-09-11 17:38:15
1005
原创 COURSERA机器学习笔记——单变量线性回归
模型表达(MODEL REPRESENTATION)以之前的房屋交易问题为例,假使我们回归问题的训练集(Training Set)如下表所示: 我们将要用来描述这个回归问题的标记如下:m 代表训练集中实例的数量x 代表特征/输入变量y 代表目标变量/输出变量(x,y) 代表训练集中的实例(x (i) ,y (i) ) 代表第 i 个观察实例h 代表学习算法的解决方案或函数也称为假设
2016-09-11 16:09:29
560
原创 COURSERA机器学习笔记——机器学习介绍
什么是机器学习对于机器学习,并没有一个一致认同的定义,一个比较古老的定义是由 Arthur Samuel 在 1959年给出的: “机器学习研究的是如何赋予计算机在没有被明确编程的情况下仍能够学习的能力。(Field of study that fives computers the ability to learn without being explicitly programmed.)”
2016-09-11 15:31:52
724
CSDN中编写公式,为何公式后面有一个竖杠?
2016-09-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅