Spark MLlib编程API入门系列之特征选择之卡方特征选择(ChiSqSelector)
2024-08-30 16:31:19
不多说,直接上干货!
特征选择里,常见的有:VectorSlicer(向量选择) RFormula(R模型公式) ChiSqSelector(卡方特征选择)。
ChiSqSelector用于使用卡方检验来选择特征(降维)。即来特征选择。
我这里,采取手动创建。(但是,这仅仅是为了初学者。我不建议,最好用maven)
完整代码
ChiSqSelector .scala
package zhouls.bigdata.DataFeatureSelection import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.spark.ml.feature.ChiSqSelector//导入mi里的特征选择里的ChiSqSelector算法
import org.apache.spark.mllib.linalg.Vectors//特征向量 /**
* By zhouls
*/
object ChiSqSelector extends App { val conf = new SparkConf().setMaster("local").setAppName("ChiSqSelector")
val sc = new SparkContext(conf) val sqlContext = new org.apache.spark.sql.SQLContext(sc)
import sqlContext.implicits._ //构造数据集
val data = Seq(
(, Vectors.dense(0.0, 0.0, 18.0, 1.0), 1.0),
(, Vectors.dense(0.0, 1.0, 12.0, 0.0), 0.0),
(, Vectors.dense(1.0, 0.0, 15.0, 0.1), 0.0)
)
val df = sc.parallelize(data).toDF("id", "features", "clicked")//将构造的数据集,转成DF,即DataFrame
df.select("id", "features","clicked").show() //使用卡方检验,将原始特征向量(特征数为4)降维(特征数为3)
val selector = new ChiSqSelector().setNumTopFeatures().setFeaturesCol("features").setLabelCol("clicked").setOutputCol("selectedFeatures") val result = selector.fit(df).transform(df)
result.show() }
由
变成
最新文章
- This build of Sublime Text 2 has expired
- VUE2.0不可忽视的很多变化
- QT 数据库编程二
- MongoDb学习1
- 蒟蒻修养之cf橙名计划2
- 给Apache增加SSI支持(shtml的奥秘)
- Oracle管道函数(Pipelined Table Function)介绍
- leetcode算法题3:分组,让每个组的最小者,相加之后和最大。想知道桶排序是怎么样的吗?
- Caused by: java.lang.ClassNotFoundException: org.jboss.logging.BasicLogger
- ubuntu安装pycharm桌面快捷方式
- Centos7下安装PHP5.5,5.6,7.0----(转载记录一下)
- MySQL--字符集参数
- MVC应用程序实现上传文件(续)
- 排查CentOS7.0的联网情况
- day06--元组、字典、集合与关系运算
- oracle下导出某用户所有表的方法
- 转:JavaBean 、 Serverlet 总结
- 第二章:走进shell
- 兼容的动态加载JS【原】
- Python读取 csv文件中文乱码处理