8、鸢尾花预测率 、决策树分类器

本文通过鸢尾花数据集演示了如何使用pyspark实现逻辑回归和决策树分类器。实验涵盖了模型原理、环境配置、数据预处理、模型训练与评估,旨在掌握逻辑回归和决策树的使用以及预测结果保存方法。
摘要由CSDN通过智能技术生成

实验目的

1.掌握逻辑回归与决策树模型模型的原理及使用场景
2.掌握pyspark库使用
3.掌握模型预测结果保存的方法

实验背景

下面以鸾尾花数据集(Iris)为例进行分析,Iris 以鸾尾花的特征作为数据来源,数据集包含 150 个数据,分为 3 类,每类 50 个数据,每个数据包含 4 个属性,是在数据挖掘、数据分类中非常常用的测试集、训练集。为了便于理解,这里主要用后两个属性(花瓣的长度和宽度)来进行分类。

首先来看一下逻辑回归分类器。逻辑斯蒂回归(Logistic Regression)是统计学习中的经典分 类方法,属于对数线性模型。逻辑回归的因变量可以是二分类的,也可以是多分类的。

其次看一下决策树(Decision Tree)分类器,决策树是一种基本的分类与回归方法,这里主要介绍用于分类的决策树。决策树模式呈树形结构,其中每个内部节 点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。学习 时利用训练数据,根据损失函数最小化的原则建立决策树模型;预测时,对新的数据,利用 决策树模型进行分类。

实验原理

1.逻辑回归模决策树模型原理型的原理
2.使用pyspark进行模型的创建、训练、评估、保存

实验环境

ubuntu 16.04
Python 3.6
numpy 1.18.3
pandas 0.25.0
pyspark 2.4.4

实验步骤

下载数据
wget http://i9000.net:8888/sgn/HUP/spark/iris.txt
安装numpy库:
pip install numpy
首先来看一下逻辑回归分类器

打开终端,输入指令打开pyspark

pyspark

(1)导入本地向量 Vector 和 Vectors,导入所需要的类

from pyspark.ml.linalg import Vector,Vectors
from pyspark.sql import Row,functions
from pyspark.ml.evaluation import MulticlassClassificationEvaluator
from pyspark.ml import Pipeline
from pyspark.ml.feature import IndexToString,StringIndexer,VectorIndexer,HashingTF,Tokenizer
from pyspark.ml.classification import LogisticRegression,LogisticRegressionModel,BinaryLogisticRegressionSummary

(2)定制一个函数,来返回一个指定的数据,然后读取文本文件,第一个 map 把每行的数据用","隔开,如在数据集中,每行被分成了 5 部分,前 4 部分是鸾尾花的 4 个特征,最后一部分是鸾尾花的分类;这里把特征存储在 Vector 中,创建一个 Iris 模式的 RDD,然后转化成 dataframe;最后调用 show()方法来查看一下部分数据。

def f(x):
    rel = {
   }
    rel['features']=Vectors.dense(float(x[0]),float(x[1]),float(x[2]),float(x[3]))
    rel['label'] = str(x[4])
    return rel

data = spark.sparkContext.textFile("/home/ubuntu/iris.txt").map(lambda line:line.split(',')
  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值