Python数据分析与挖掘实战》的数据和代码,可从“泰迪杯”竞赛网站(http://www.tipdm.org/tj/661.jhtml)下载获得

1、Python数据结构

2、Numpy数组

import numpy as np #一般以np作为numpy的别名
a = np.array([2, 0, 1, 5]) #创建数组
print(a) #输出数组
print(a[:3]) #引用前三个数字(切片)
print(a.min()) #输出a的最小值
a.sort() #将a的元素从小到大排序,此操作直接修改a,因此这时候a为[0, 1, 2, 5]
b= np.array([[1, 2, 3], [4, 5, 6]]) #创建二维数组
print(b*b) #输出数组的平方阵,即[[1, 4, 9], [16, 25, 36]]
[2 0 1 5]
[2 0 1]
0
[[ 1 4 9]
[16 25 36]]

3、Scipy矩阵

from scipy.optimize import fsolve #导入求解方程组的函数
from scipy import integrate #导入积分函数 def f(x): #定义要求解的方程组
x1 = x[0]
x2 = x[1]
return [2*x1 - x2**2 - 1, x1**2 - x2 -2]
result = fsolve(f, [1,1]) #输入初值[1, 1]并求解
print(result) #输出结果,为array([ 1.91963957, 1.68501606]) #数值积分
def g(x): #定义被积函数
return (1-x**2)**0.5
pi_2, err = integrate.quad(g, -1, 1) #积分结果和误差
print(pi_2 * 2) #由微积分知识知道积分结果为圆周率pi的一半
[ 1.91963957  1.68501606]
3.141592653589797

4、Matplotlib可视化

import numpy as np
import matplotlib.pyplot as plt #导入Matplotlib x = np.linspace(0, 10, 1000) #作图的变量自变量
y = np.sin(x) + 1 #因变量y
z = np.cos(x**2) + 1 #因变量z plt.figure(figsize = (8, 4)) #设置图像大小
plt.plot(x,y,label = '$\sin x+1$', color = 'red', linewidth = 2) #作图,设置标签、线条颜色、线条大小
plt.plot(x, z, 'b--', label = '$\cos x^2+1$') #作图,设置标签、线条类型
plt.xlabel('Time(s) ') # x轴名称
plt.ylabel('Volt') # y轴名称
plt.title('A Simple Example') #标题
plt.ylim(0, 2.2) #显示的y轴范围
plt.legend() #显示图例
plt.show() #显示作图结果

5、Pandas数据分析和探索

Pandas基本数据结构是Series和DataFrame

s = pd.Series([1,2,3], index=['a', 'b', 'c']) #创建一个序列s
d = pd.DataFrame([[1, 2, 3], [4, 5, 6]], columns = ['a', 'b', 'c']) #创建一个表
d2 = pd.DataFrame(s) #也可以用已有的序列来创建表格

        

#读取文件,注意文件的存储路径不能带有中文,否则读取可能出错。
pd.read_excel('data.xls') #读取Excel文件,创建DataFrame。
pd.read_csv('data.csv', encoding = 'utf-8') #读取文本格式的数据,一般用encoding指定编码。 #d.head() #预览前5行数据
d.describe() #数据基本统计量

    

6、Keras神经网络

构建一个MLP(多层感知器),  无法运行,需要适配相应的数据

from keras.models import Sequential
from keras.layers.core import Dense,Dropout,Activation
from keras.optimizers import SGD model=Sequential() #模型初始化
model.add(Dense(64,input_dim=20)) #添加输入层(20节点)、第一隐藏层(64节点)的连接
model.add(Activation('tanh')) #第一隐藏层用tanh作为激活函数
model.add(Dropout(0.5)) #使用Dropout防止过拟合
model.add(Dense(64,input_dim=64, init='uniform')) #添加第一隐藏层(64节点)、第二隐藏层(64节点)的连接
model.add(Activation('tanh')) #第二隐藏层用tanh作为激活函数
model.add(Dropout(0.5))
model.add(Dense(1,input_dim=64)) #添加第二隐藏层(64节点)、输出层(1节点)的连接
model.add(Activation('sigmoid')) #输出层用sigmoid作为激活函数 sgd = SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True) #定义求解算法
model.compile(loss='mean_squared_error', optimizer=sgd) #编译生成模型,损失函数为mean_squared_error model.fit(X_train, y_train, nb_epoch=20, batch_size=16) #训练模型
score=model.evaluate(X_test,y_test,batch_size=16) #测试模型

[Python数据挖掘]第2章、Python数据分析简介的更多相关文章

  1. [Python笔记][第四章Python正则表达式]

    2016/1/28学习内容 第四章 Python字符串与正则表达式之正则表达式 正则表达式是字符串处理的有力工具和技术,正则表达式使用预定义的特定模式去匹配一类具有共同特征的字符串,主要用于字符串处理 ...

  2. [Python数据挖掘]第7章、航空公司客户价值分析

    一.背景和挖掘目标 二.分析方法与过程 客户价值识别最常用的是RFM模型(最近消费时间间隔Recency,消费频率Frequency,消费金额Monetary) 1.EDA(探索性数据分析) #对数据 ...

  3. [Python数据挖掘]第4章、数据预处理

    数据预处理主要包括数据清洗.数据集成.数据变换和数据规约,处理过程如图所示. 一.数据清洗 1.缺失值处理:删除.插补.不处理 ## 拉格朗日插值代码(使用缺失值前后各5个未缺失的数据建模) impo ...

  4. Python开发【第一章】:简介和入门

    Python简介 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承. ...

  5. [Python数据挖掘]第6章、电力窃漏电用户自动识别

    一.背景与挖掘目标 相关背景自查 二.分析方法与过程 1.EDA(探索性数据分析) 1.分布分析 2.周期性分析 2.数据预处理 1.数据清洗 过滤非居民用电数据,过滤节假日用电数据(节假日用电量明显 ...

  6. [Python数据挖掘]第8章、中医证型关联规则挖掘

    一.背景和挖掘目标 二.分析方法与过程 1.数据获取 2.数据预处理  1.筛选有效问卷(根据表8-6的标准) 共发放1253份问卷,其中有效问卷数为930  2.属性规约 3.数据变换 ''' 聚类 ...

  7. [Python数据挖掘]第5章、挖掘建模(下)

    四.关联规则 Apriori算法代码(被调函数部分没怎么看懂) from __future__ import print_function import pandas as pd #自定义连接函数,用 ...

  8. [Python数据挖掘]第5章、挖掘建模(上)

    一.分类和回归 回归分析研究的范围大致如下: 1.逻辑回归 #逻辑回归 自动建模 import pandas as pd from sklearn.linear_model import Logist ...

  9. [Python数据挖掘]第3章、数据探索

    1.缺失值处理:删除.插补.不处理 2.离群点分析:简单统计量分析.3σ原则(数据服从正态分布).箱型图(最好用) 离群点(异常值)定义为小于QL-1.5IQR或大于Qu+1.5IQR import ...

随机推荐

  1. vmware您无权输入许可证密钥,请请使用系统管理员账户重试

    vmware15,输入许可证时报“您无权输入许可证密钥,请请使用系统管理员账户重试”,切换到Administrator以后,并没有什么作用. 网上的各种进入cmd的方法也无效. 后来发现,只要是已经存 ...

  2. [Day21]异常

    1.异常-Java代码在运行时期发生的问题,在Java中,把异常信息封装成了一个类.当出现了问题时,就会创建异常类对象并抛出异常相关的信息 1.1 异常的继承体系 Throwable:它是所有错误与异 ...

  3. php java aes

    class CryptAES{ protected $cipher = MCRYPT_RIJNDAEL_128; protected $mode = MCRYPT_MODE_ECB; protecte ...

  4. xcode10对应的xcode command line tool编译的坑

    众所周知,xcode10新增的编译系统new build system会不支持一些老项目的编译,一般的做法是在Xcode编译配置Xcode->File->Project Settings/ ...

  5. springMVC--XML解析

    一 springMVC 入口 web.xml; DispatcherServlet二 初始化过程 1.寻找init(); 查看DispatcherServlet时候时,继承自servlet,肯定有初始 ...

  6. debian9升级安装到python3.6和pip3.6

    安装步骤 1.添加testing源 vim /etc/apt/sources.list deb http://mirrors.163.com/debian/ testing main 2.更新源 ap ...

  7. Servlet基本知识总结

    Servlet 简介 Servlet是什么? Servlet是一个Java编写的程序,此程序是基于Http协议的,并运行在web服务器上或者应用服务器上.它主要是作为web浏览器或其他Http客户端的 ...

  8. CentOS 7 内核优化

      [root@DaMoWang ~]# vim /etc/sysctl.conf #关闭ipv6 net.ipv6.conf.all.disable_ipv6 = net.ipv6.conf.def ...

  9. Python之jinja2

    jinja2简介 python的模板引擎,设计思想来自与django的模板引擎,和其非常相似 pip install jinjia2 pip install MakeupSafe #模块加载 from ...

  10. 解决多版本共存时,python/pip等命令失效

    问题呈现: Windows环境下,多版本Python解释器共存时,由于未配置环境变量或者反复卸载重装解释器等原因,CMD交互下输入Python或者pip等命令时失效 解决方式: 1)配置各个解释器的环 ...