码迷,mamicode.com
首页 > 其他好文 > 详细

特征选取--卡方选择器

时间:2018-08-17 12:49:55      阅读:319      评论:0      收藏:0      [点我收藏+]

标签:cal   一个   两种   png   .sql   putc   向量   rom   output   

特征选择(Feature Selection)指的是在特征向量中选择出那些“优秀”的特征,组成新的、更“精简”的特征向量的过程。它在

高维数据分析中十分常用,可以剔除掉“冗余”和“无关”的特征,提升学习器的性能。

特征选择方法和分类方法一样,也主要分为有监督(Supervised)和无监督(Unsupervised)两种,卡方选择则是统计学上常用的一

种有监督特征选择方法,它通过对特征和真实标签之间进行卡方检验,来判断该特征和真实标签的关联程度,进而确定是否对其进行

选择。和ML库中的大多数学习方法一样,ML中的卡方选择也是以estimator+transformer的形式出现的,其主要由ChiSqSelector和

ChiSqSelectorModel两个类来实现。

#引入卡方选择器所需要使用的类

from pyspark.ml.feature import ChiSqSelector
from pyspark.ml.linalg import Vectors
from pyspark.sql import SparkSession
#创建SparkSession对象,配置spark
spark = SparkSession.builder.master(‘local‘).appName(‘FeaturesSecectedDemo‘).getOrCreate()
#创造实验数据,这是一个具有三个样本,四个特征维度的数据集,标签有1,0两种
df = spark.createDataFrame([
(7, Vectors.dense([0.0, 0.0, 18.0, 1.0]), 1.0,),
(8, Vectors.dense([0.0, 1.0, 12.0, 0.0]), 0.0,),
(9, Vectors.dense([1.0, 0.0, 15.0, 0.1]), 0.0,)],
["id", "features", "clicked"])
#用卡方选择进行特征选择器的训练,为了观察地更明显,我们设置只选择和标签关联性最强的一个特征可以通过numTopFeatures参数方法进行设置)
selector = ChiSqSelector(numTopFeatures=1, featuresCol="features",
outputCol="selectedFeatures", labelCol="clicked")
#用训练出的模型对原数据集进行处理
result = selector.fit(df).transform(df)
result.show()
技术分享图片

 

特征选取--卡方选择器

标签:cal   一个   两种   png   .sql   putc   向量   rom   output   

原文地址:https://www.cnblogs.com/SoftwareBuilding/p/9492331.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!