python数据分析(预测性分析与机器学习)

本文涉及到的主题如下所示:

  • 预处理
  • 基于逻辑回归的分类
  • 基于支持向量机的分类
  • 基于ElasticNetCV的回归分析
  • 支持向量回归
  • 基于相似性传播
  • 均值漂移算法
  • 遗传算法
  • 神经网络
  • 决策树算法

1、预处理

在上一章,我们已经做过一次预处理,即过滤掉停用词。一些机器学习算法对某些数据比较头疼,因为这些数据不服从高斯分布,即不满足数学期望为0,标准差为1的条件。模块sklearn.preprocessing从而应运而生,本节详细介绍该模块的使用方法。在https://www.knmi.nl/nederland-nu/klimatologie/daggegevens下载编号260的De Blit数据。我们所要的数据只是原始数据文件中的一列而已,这一列记录的是日降雨量。

代码:

#coding:utf8
import numpy as np
from sklearn import preprocessing
from scipy.stats import anderson

# 加载数据
rain = np.load('rain.npy')
rain = .1 * rain
rain[rain < 0] = .05 / 2

print("Rain mean", rain.mean())  #计算期望值
print("Rain Variance", rain.var())  #计算标准差
print("Anderson Rain", anderson(rain))#安德森检验

scaled = preprocessing.scale(rain)  #对数据进行缩放处理,使满足期望为0,方差为1
print("Scaled mean", scaled.mean())
print("Scaled Variance", scaled.var())
print("Anderson Scaled", anderson(scaled))

# 把特征值从数值型转换布尔型,(正值用1,负值为0表示)
binarized = preprocessing.binarize(rain)
print("binarized", np.unique(binarized), binarized.sum())

# 分类标准类别,输出0-62之间的整数
lb = preprocessing.LabelBinarizer()
lb.fit(rain.astype(int))
print(lb.classes_)
运行结果:

Rain mean 2.17919594267
Rain Variance 18.803443919
Anderson Rain AndersonResult(statistic=inf,critical_values=array([ 0.576, 0.656,  0.787,  0.918, 1.092]), significance_level=array([ 15. ,  10. ,  5. ,   2.5,   1. ]))
Scaled mean 3.41301602808e-17
Scaled Variance 1.0
Anderson ScaledAndersonResult(statistic=inf, critical_values=array([ 0.576,  0.656, 0.787,  0.918,  1.092]), significance_level=array([ 15.,  10. ,  5. ,   2.5,   1. ]))
binarized [ 0.  1.] 24594.0
[ 0 1  2  3 4  5  6 7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 2324
 2526 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 43 44 45 46 47 48 49 50
 5253 55 58 61 62]

2、基于逻辑回归的分类



你可能感兴趣的:(python数据分析(预测性分析与机器学习))