自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Call Me Hi Johnny~~

路漫漫其修远兮

  • 博客(88)
  • 资源 (12)
  • 收藏
  • 关注

原创 pandas值替换

import pandas as pd from pandas import * import numpy as np data = Series([1,-999,2,-999,-1000,3]) print(data.replace(-999,np.nan)) print(data.replace([-999,-1000],np.nan)) print(...

2017-10-16 14:25:37 4603

原创 pandas利用函数或映射进行数据转换

data = DataFrame({‘food’:[‘bacon’,’pull_pork’,’bacon’,’Pastrami’,’corned beef’,’Bacon’,’pastrami’,’honey ham’,’novs lox’], ‘ounces’:[4,3,12,6,7.5,8,3,5,6]}) print(data) meat_

2017-10-16 14:04:14 3550

原创 pandas移除重复项

import pandas as pd from pandas import * import numpy as np data = DataFrame({‘k1’:[‘one’]*3+[‘two’]*4,’k2’:[1,1,2,3,3,4,4]}) print(data) print(data.drop_duplicates())如果希望对指定的列进行重复值删除则

2017-10-16 12:58:57 422

原创 pandas 轴向连接

numpy中提供来用于合并数组的函数 arr = np.arange(12).reshape(3,4) print(arr) result = np.concatenate([arr,arr],axis=1) print(result) s1 = pd.Series([0,1],index=[‘a’,’b’]) s2 = pd.Series([2,3,4],in

2017-10-15 23:18:12 314

原创 pandas表连接 索引上的合并

left1 = pd.DataFrame({‘key’:[‘a’,’b’,’a’,’a’,’b’,’c’],’value’:range(6)}) right1 = pd.DataFrame({‘group_val’:[3.5,7]},index = [‘a’,’b’]) print(left1) print(right1) result = pd.merge(left1,ri

2017-10-15 22:23:22 7572

原创 pandas 表连接

df1 = pd.DataFrame({‘key’:[‘b’,’b’,’a’,’c’,’a’,’a’,’b’],’data1’:range(7)}) print(df1) df2 = pd.DataFrame({‘key’:[‘a’,’b’,’d’],’data2’:range(3)}) print(df2) result = pd.merge(df1,df2,on = ‘k

2017-10-15 16:59:58 719

原创 pandas中set_index用法

frame = pd.DataFrame({‘a’:range(3),’b’:range(0,3),’c’:[‘one’,’two’,’three’]}) result = frame.set_index(‘c’) print(result)

2017-10-15 16:12:06 5504

原创 pandas层次化索引

data = pd.Series(np.random.randn(10),index=[ [‘a’,’a’,’a’,’b’,’b’,’b’,’c’,’c’,’d’,’d’], [1,2,3,1,2,3,1,2,2,3] ]) print(data) print(data.index) data = pd.Series(np.random.ran

2017-10-15 16:06:07 383

原创 pandas处理缺失值

from numpy import nan as NA data = pd.Series([1,NA,3.5,NA,7]) print(data) print(data.dropna())以上是对于Serise,对于DataFrame来说,默认丢弃含有缺失值的行 from numpy import nan as NA data = pd.DataFrame([[1,6.

2017-10-15 15:27:02 777

原创 pandas apply value_counts

data = pd.DataFrame( {'Qu1':[1,3,4,3,4],'Qu2':[2,3,1,2,3],'Qu3':[1,5,2,4,4]})print(data)result = data.apply(pd.value_counts).fillna(0)print(result)

2017-10-15 14:50:22 764

原创 pandas排序

obj = pd.Series(range(4),index=[‘d’,’a’,’b’,’c’]) a = obj.sort_index() print(a) frame = pd.DataFrame(np.arange(8).reshape(2,4),index=[‘three’,’one’],columns=[‘d’,’a’,’b’,’c’]) a = frame.s

2017-10-15 01:00:53 361

原创 pandas函数应用和映射

frame=pd.DataFrame(np.arange(12).reshape(4,3),columns=list(‘bde’),index=[‘one’,’two’,’three’,’four’]) print(frame) f = lambda x:x.max() -x.min() result = frame.apply(f) print(result) f

2017-10-15 00:10:23 741

原创 pandas行列传播运算

frame = pd.DataFrame(np.arange(12).reshape(4,3),columns=list(‘bde’),index=[‘one’,’two’,’three’,’four’]) print(frame) series2 = pd.Series(range(3),index=[‘b’,’e’,’f’]) print(frame + series2)上述

2017-10-14 23:44:27 844

原创 pandas通过ix 索引

data = pd.DataFrame(np.arange(16).reshape(4,4),index = [‘one’,’two’,’three’,’four’],columns=[‘one’,’two’,’three’,’four’]) print(data) result = data.ix[‘three’,’three’] print(result)

2017-10-14 22:49:24 277

原创 python list extend用法

a = [1,2,3] a.extend([4]) print(a)

2017-10-13 20:58:50 297

原创 python处理csv文件

读取csv文件import csv with open(‘some.csv’, ‘r’) as f: # 采用b的方式处理可以省去很多问题 reader = csv.reader(f) for row in reader: # do something with row, such as row[0],row[1]import csv with

2017-10-13 20:18:33 404

原创 机器学习线性回归中,用矩阵求导方法求最小二乘法的方法

在我们推导最小二乘法的时候,Andrew提供了两种方法,一个是梯度下降法则,另一个是矩阵求导法则。后来在《机器学习实战里》面看线性回归代码的时候,里面就是用了矩阵求导法则。要看懂矩阵求导法则,是需要一些矩阵论的知识的,还记得今年夏天我在苦逼地到处求矩阵论地速成资料,还真让我找到了,名字叫《matrix+vector+derivatives+for+machine+learning》,这本书我已经上传

2017-10-12 09:53:43 2756 1

原创 padans 做关联分析时常做的叠加图方法

import matplotlib.pyplot as plt import tkinter import numpy as np import pandas as pd from pandas import Series,DataFrame data = {‘a’:[1,2,3],’b’:[2,3,1]} data.plot(kind = ‘bar’,stack

2017-10-03 21:46:26 587

原创 pandas group by的用法

import matplotlib.pyplot as plt import tkinter import numpy as np import pandas as pd from pandas import DataFrame data_train = pd.read_csv(‘train2.csv’) store = data_train[[‘Age’,’Se

2017-10-03 20:35:40 4065

原创 pandas 多个列,行读取方法

import matplotlib.pyplot as plt import tkinter import numpy as np import pandas as pd from pandas import DataFrame data_train = pd.read_csv(‘train2.csv’) print(data_train[[‘Sex’,’Age’

2017-10-03 20:15:37 14599 2

原创 pandas Dataframe行 列读取的方法

import matplotlib.pyplot as plt import tkinter import numpy as np import pandas as pd from pandas import Series,DataFrame data = {‘a’:[1,2,3], ‘c’:[4,5,6], ‘b’:[7,8

2017-10-03 16:40:34 8240

原创 padans中Serise.name的用法意义

The name argument allows you to give a name to a Series object, i.e. to the column. So that when you’ll put that in a DataFrame, the column will be named according to the name parameter.example: In [

2017-10-03 16:29:14 710

转载 pandas get_dummies的使用方法

import pandas as pd xiaoming=pd.DataFrame([1,2,3],index=[‘yellow’,’red’,’blue’],columns=[‘hat’]) print(xiaoming) hat_ranks=pd.get_dummies(xiaoming[‘hat’],prefix=’hat’) print(hat_ranks.head(

2017-09-29 20:11:44 3498

原创 pandas的一些奇怪用法

因为奇怪,所以记录在这里 import pandas as pd df = pd.read_csv(‘test.txt’) print(df[[‘Names’,’Births’]])加入文件中有 Names 和 Births 这两个属性,我们需要把这两个属性输出出来,那我们要用[] 这个中括号把这两属性给括起来!

2017-09-29 10:14:49 193

原创 python print的简单用法

import numpy as np print(‘a = %d c = %d’%(1,2))

2017-09-27 09:32:51 460

原创 python绘图实践-泰坦尼克号绘图

最数据分析,通过直观的图来观察,无论是出自于分析还是呈现给别人看,都是很有必要的,所以就决定要学一学基本的绘图 以下是kaggle里著名的泰坦尼克号的数据分析,绘图的过程 import pandas as pd #数据分析 import numpy as np #科学计算 from pandas import Series,DataFrame data_train = p

2017-09-22 16:40:21 1572

原创 Matplotlib的用法

在做泰坦尼克 数据分析的时候遇到这样的一个函数subplot2grid 下面就简单实现一下关于这个函数的功能from matplotlib import pyplot as pltax1 = plt.subplot2grid((3,3), (0,0), colspan=3) ax2 = plt.subplot2grid((3,3), (1,0), colspan=2) ax3 = plt.su

2017-09-22 11:28:29 248

原创 ubuntu 文本编辑

这样我们就完成了整个文件在vi编辑器中的操作过程了。特别注意,在插入模式(Insert mode)中如果你想删除输错的字符用“backspace”是无效的哦,光标只会往前移动,并不会删除字符,在vi中直接在命令模式使用字符命令即可对文件内容进行修改:“x”:每按一次,删除光标所在位置所在位置的那个字符。“X”:大写的X,每按一次,删除光标所在位置的“前面”一个字符。当然如果你想在插入模式(Inse

2017-09-21 10:02:19 1739

原创 Github写公式

在文章中添加如下代码https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML">script>然后到Latex在线编辑网站http://www.codecogs.com/latex/eqneditor.php  编写就OK了

2017-09-13 18:28:13 4331

原创 机器学习knn算法

KNN算法很早就写过了,但是一直耿耿于怀,今天特以此篇来终结这个算法因为不止一个同学跟我说KNN算法速度没那么慢,但是我自己写的代码跑一遍要用将近一个小时的时间。不知道是算法问题,还是电脑机器的问题。我的电脑是ThinkPad i5处理器,4G内存。这个代码是网上的,跑一遍用了1个半小时的时间。还在这个代码层次还是比较清晰的,所以手撸代码部分就用这个吧。 在这个代码里用了很多预处理,如下: 以下

2017-09-11 17:37:54 525

原创 python 字典的排序

在实际使用的时候,经常会碰到对python字典的排序,首先要声明的是python字典是通过哈希映射来存储,不存在顺序关系,也就谈不上排序,我们这里所说的排序实际上是 对键值对的排序,排序后返回的结果是个列表。 对字典排序有两种方法。 第一种: import operator dic = {‘d’:2,’b’:4,’c’:1} b = sorted(dic.ite

2017-08-27 16:55:20 283

原创 python jason 关于中文乱码的解决办法

import json dic = {‘崔’:1} file = open(‘testfile’,’w’,encoding=’utf8’) b = json.dumps(dic,ensure_ascii=False) print(type(b)) print(b) file.write(b)

2017-08-22 03:49:30 510

原创 re.sub的用法

多少次要用到的时候,都是各种百度查啊,还不如自己写下来 import re pattern = re.compile(‘[^\u4e00-\u9fa5]’) name = ‘中国人aa哈哈’ b = pattern.sub(”,name) print(b) 以上是把非中文的部分替换掉

2017-08-18 22:37:45 1207

原创 ubuntu python 安装使用的问题

在安装python的时候,按照下面的步骤进行,决对可以避开90%的坑 sudo apt-get install python3-dev libffi-dev libssl-dev wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz tar xvf Python-3.6.0.tgz cd Python-3.6.0 .

2017-08-07 19:22:20 415

原创 机器学习:Factor analysis因子分析

这部分内容还是挺奇怪的,学生的时候感觉不难啊,但是把复盘的时候,总是各种难以明说的困惑,不知道是不是因为戒烟,注意力不够专注,总之,学的不是很容易。说归来因子分析,解决的是维度高,样本不足的情况下,模型建立的问题。我们之前讲的混合高斯模型里都是维度数远小于样本数的情况,如果维度是远大于样本数的话,我们仍然用以前的方法建立混合高斯模型会遇到问题,因为在这种情况,协方差会等于0,也就是说我们无法表

2017-06-07 01:58:15 9407 2

原创 机器学习:混合高斯模型和EM算法

这篇博客里,我们来介绍混合高斯模型和EM算法,也标志着进入到无监督学习新的篇章。EM算法会在混合模型里有应用。(其实之前还有一个k-means算法,但是这个算法比较简单,就不在博客里介绍了) 我们首先来介绍 EM算法的推导,然后介绍在混合高斯模型中的应用。 EM算法 EM算法大概的思路就是,对于没有标注的数据,我们会假设一个数据,然后通过不断地迭代,让我们假设的数据不断地趋近于正确的值。是不

2017-06-02 01:48:17 1245 1

原创 机器学习-特征选择

在此前做过文本分类的算法,其中特征长度是1万7多个,样本是1000个,但是做过文本分类的童鞋都知道,如此长的特征使得文本分类非常慢,一般都是去进行特征选择,而我因为当时不懂,所以也就没有做优化。 接下来,正式介绍一下特征选择。 首先,我们先来谈谈理论基础。从上一篇关于VC维的介绍中,我们知道,VC维他是和样本数量m是成正比的,而我们特征个数如果非常大,那我们的VC维就很可能很大,我们有理由相信,

2017-05-23 22:39:51 1658

原创 机器学习 —误差理论

学习误差理论,会让我一肚子疑惑,学完了之后不知道怎么用。按照目前的理解是,这就是理论,知道有这样的性质,就像我们学高数的时候,一个个公式,我们知道有这么回事就OK了。这部分内容对以后算法调试会奠定理论基础,多读书总是好的!开始正式内容 最主要的两个概念偏差和方差 方差都知道,现在来说说什么是偏差 这个图是我们针对样本进行的拟合的效果,其中图1,我们是用线性拟合,图中我们能看到拟合效果很弱,这个

2017-05-23 03:10:06 3312

原创 机器学习 - 非线性划分-软间隔

到目前为止,我们已经基本把SVM都学习了一遍,但是有一个问题就是,我们在SVM中是假设数据可以线性划分,但是如果不能线性划分呢? 那你可能说,我们把他映射到更高维的空间,这种方法确实可行,但是不可避免会带来的问题是,过于依赖数据,以至于收到极端值的影响大,为了解决这个问题,我们就引进来的软间隔的概念 如图,因为极端值的影响,会使得我们的超平面发生变化。我们使用软间隔的意义就是 使得不满足约束条

2017-05-20 00:33:46 629

原创 机器学习 核函数

提到SVM,就不可避免提到核函数。这篇博客中,介绍一下核函数的基本概念。 核函数实现算法非常简单 到这里,我们还需要回顾一下,前面的知识,还记得我们在前面optimal margin classier博客中,最终要优化的式子 这里面是不是就有xi,xj的内机啊,那我们核函数是干啥的呢? 就是把这些内机式子 变成很函数,而函数的值代表的意义是高维数组之间的内积。我们在这里讨论一下

2017-05-20 00:08:29 394

CN2规则学习算法

这个文档详细介绍了如何通过算法自动学习规则,对于样本不太大的数据来说,用CN2可以快速学习规则,是一个不错的方法

2018-02-04

数据挖掘导论(完整版)

数据挖掘

2017-06-25

推荐系统实践

内容简介:, 随着信息技术和互联网的发展,人们逐渐从信息匮乏的时代走入了信息过载(information overload)的时代 。在这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战:对于信息消费者,从大量信息中找到自己感兴趣的信息是一件非常困难的事情;对于信息生产者,让自己生产的信息脱颖而出,受到广大用户的关注,也是一件非常困难的事情。推荐系统就是解决这一矛盾的重要工具。推荐系统的任务就是联系用户和信息,一方面帮助用户发现对自己有价值的信息,另一方面让信息能够展现在对它感兴趣的用户面前,从而实现信息消费者和信息生产者的双赢。

2017-06-24

统计自然语言处理基础(中文版 带书签)

自然语言中文版

2017-06-23

Python机器学习及实践从零开始通往Kaggle竞赛之路.pdf

机器学习 kaggle

2017-06-15

凸优化和机器学习.pdf

机器学习之凸优化

2017-06-15

机器学习实战-2.pdf

机器学习

2017-06-15

数学之美.pdf

数学之美

2017-06-15

斯坦福机器学习讲义(全)Stanford-Machine-Leaning.pdf

斯坦福机器学习讲义

2017-06-15

斯坦福机器学习讲义

2017-04-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除