机器学习sklearn之菜鸟入门三
来源:互联网 发布:网络技术支持工程师 编辑:程序博客网 时间:2024/05/20 20:47
特征选择
1交叉验证
2皮尔森相关系数
import numpy as np
from scipy.stats importpearsonr
np.random.seed(0)
size = 300
x = np.random.normal(0,1, size)
print "Lowernoise", pearsonr(x, x + np.random.normal(0, 1, size))
print "Highernoise", pearsonr(x, x + np.random.normal(0, 10, size))
Lower noise (0.71824836862138386,7.3240173129992273e-49)Higher noise (0.057964292079338148, 0.31700993885324746)
Pearson相关系数的一个明显缺陷是,作为特征排序机制,他只对线性关系敏感。如果关系是非线性的,即便两个变量具有一一对应的关系,Pearson相关性也可能会接近0。
x = np.random.uniform(-1, 1, 100000)
print pearsonr(x, x**2)[0]
-0.00230804707612
3 互信息和最大信息系数 Mutual information andmaximal information coefficient (MIC)
想把互信息直接用于特征选择其实不是太方便:1、它不属于度量方式,也没有办法归一化,在不同数据及上的结果无法做比较;2、对于连续变量的计算不是很方便(X和Y都是集合,x,y都是离散的取值),通常变量需要先离散化,而互信息的结果对离散化的方式很敏感。
最大信息系数克服了这两个问题。它首先寻找一种最优的离散化方式,然后把互信息取值转换成一种度量方式,取值区间在[0,1]。 minepy 提供了MIC功能。
反过头来看y=x^2这个例子,MIC算出来的互信息值为1(最大的取值)。
from minepy import MINE
m = MINE()
x = np.random.uniform(-1, 1, 10000)
m.compute_score(x, x**2)
print m.mic()
1.0
MIC的统计能力遭到了 一些质疑 ,当零假设不成立时,MIC的统计就会受到影响。在有的数据集上不存在这个问题,但有的数据集上就存在这个问题
4距离相关系数 (Distance correlation)
from scipy import spatial
x=np.random.uniform(-1,1,1000)
spatial.distance.correlation(x,x**2)
0.99133695904559382
- 机器学习sklearn之菜鸟入门三
- 机器学习sklearn之菜鸟入门一
- 机器学习sklearn之菜鸟入门二
- Python机器学习Sklearn入门之神经网络
- Python机器学习Sklearn入门之线性回归
- python 机器学习之sklearn-LR
- 机器学习之sklearn特征工程
- 机器学习之线性回归 (Python SKLearn)
- 总结:sklearn机器学习之特征工程
- 菜鸟机器学习之路
- 【机器学习sklearn】pickling
- 机器学习sklearn knn
- 机器学习 SVM sklearn
- 机器学习sklearn指东
- sklearn 机器学习练习
- Python机器学习Sklearn入门案例(上)
- Python机器学习Sklearn入门案例(下)
- CSS学习之菜鸟入门
- Java Swing设置图标Icon
- 完美解决access双精度和单精度字段内容变成科学记数法
- tensorflow10 《TensorFlow实战Google深度学习框架》笔记-05-03模型持久化code
- 9. Palindrome Number
- 毕设ing|【翻译】部分UI掘进之路
- 机器学习sklearn之菜鸟入门三
- 关于命令行上执行java命令的错误分析
- xml之SAX解析
- 正则表达式全部符号解释
- 同一个世界 三生梦醒 遗迹 攻略
- 二分查找的思想和实现
- 同一个世界 三生梦醒 探索 攻略
- 同一个世界 三生梦醒 历史 攻略
- 同一个世界 三生梦醒 同伴 攻略