SparkMLib决策树和逻辑斯蒂回归的示例

SparkMLib 编程基础

实验目的:

  • 通过实验掌握Spark MLlib 的基本编程方法;
  • 熟悉spark与数据挖掘和机器学习的综合使用;

实验内容:
数据从美国 1994 年人口普查数据 库抽取而来,可用来预测居民收入是否超过 50K / y e a r 。 该 数 据 集 类 变 量 为 年 收 入 是 否 超 过 50 k /year。该数据集类变量为年收入是否超过 50k /year50k,属性变量包含年龄、工种、学历、职业、人种等重要信息,值得一提的是,14 个属 性变量中有 7 个标签变量。

#step0.环境准备

from pyspark import SparkConf, SparkContext
from pyspark.sql import SparkSession

spark = SparkSession.builder.master('local[6]').appName('spark-ml').getOrCreate()
spark.sparkContext.setLogLevel('WARN')

#step1.从文件中导入数据adult.data.txt和测试数据adult.test.txt,并转化为 DataFrame

from pyspark.sql.types import *

# 设置schema
schema = StructType([
    StructField('age', IntegerType()),
    StructField('workclass', StringType()),
    StructField('fnlwgt', IntegerType()),
    StructField('education', StringType()),
    StructField('educationNum', IntegerType()),
    StructField('maritalStatus', StringType()),
    StructField('occupation', StringType()),
    StructField('relationship', StringType()),
    StructField('race', StringType()),
    StructField('sex', StringType()),
    StructField('capitalGain', IntegerType()),
    StructField('capitalLoss', IntegerType()),
    StructField('hoursPerWeek', IntegerType()),
    StructField('nativeCountry', StringType()),
    StructField('50K', StringType())
])

adult_data_path = 'file:///home/chenE2000/code/pyspark/data/adult.data.csv'
adult_test_path = 'file:///home/chenE2000/code/pyspark/data/adult.test.csv'

# 读入rdd
adult_data = spark.read.csv(adult_data_path, header=False, schema=schema, ignoreLeadingWhiteSpace=True)
adult_test = spark.read.csv(adult_test_path, header=False, schema=schema, ignoreLeadingWhiteSpace=True)

不要忘记ignoreLeadingWhiteSpace参数 它可以有效地去除数据之前的空格

#step2.进行主成分分析(PCA)

对6个连续型的数值型变量进行主成分分析。PCA(主成分分析)是通过正交变换把一 组相关变量的观测值转化成一组线性无关的变量值,即主成分的一种方法。PCA 通过使用 主成分把特征向量投影到低维空间,实现对特征向量的降维。请通过setK()方法将主成分数 量设置为3,把连续型的特征向量转化成一个3维的主成分。

分析:

如下的features为连续值:

age fnlwgt educationNum capitalGain capitalLoss hoursPerWeek

from pyspark.ml
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GUAPOchen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值