数据科学作业3_鸢尾花分类

这是我去年选修数据科学时候的作业三,当时是肖若秀老师教的,但听说我们这届之后计科和物联信安一个难度授课了这篇文章可能也就只是自己记录帮不上学弟学妹了,但当时我上数据科学时候肖老师不签到老好了最后四个作业完成之后就有个还不错的分数虽然不出国选修课分数也无所谓就是了。

前文链接:

                数据科学作业1        

                数据科学作业2_房屋交易价格预测


目录

前文链接:

一、作业描述

二、作业过程

1.导入相关的库

2.读取数据

3.绘制  Violinplot

4.绘制pointplot

5.使用 Andrews Curves 将每个多变量观测值转换为曲线并表示傅立叶级数的系数,这对于检测时间序列数据中的异常值很有用。

6.线性回归的可视化

7.通过热图找出数据集中不同特征之间的相关性

8.机器学习

三、可视化结果

四、源代码附上

五、心得体会


一、作业描述

在本作业中,提供鸢尾花数据一套,数据为iris,包括150条记录,字段已经在课程上说明。本次作业旨在根据花瓣宽度、花瓣长度、花萼宽度、花萼长度4个特征实现对鸢尾花类别的精准预测,主要考察学生对于分类算法的理解和应用。

具体要求:

(1)选择合理的三分类拆解方式,在逻辑回归、k-NNSVM、决策树中实现2种分类器,合理的确定超参数,并选定合理的评价指标分析分类器性能。

(2)实现一种集成的分类器,并选定合理的评价指标分析分类器性能。 

 二、作业过程

1.导入相关的库

import numpy as np
import pandas as pd
from pandas import plotting

import matplotlib.pyplot as plt
plt.style.use('seaborn')

import seaborn as sns
sns.set_style("whitegrid")

from sklearn.linear_model import LogisticRegression 
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
from sklearn.neighbors import KNeighborsClassifier
from sklearn import svm
from sklearn import metrics 
from sklearn.tree import DecisionTreeClassifier

 2.读取数据

iris = pd.read_csv('iris.csv')

3.绘制  Violinplot

f, axes = plt.subplots(2, 2, figsize=(8, 8), sharex=True)
sns.despine(left=True)

sns.violinplot(x='targetname', y='sepal length (cm)', data=iris, palette=antV, ax=axes[0, 0])
sns.violinplot(x='targetname', y='sepal width (cm)', data=iris, palette=antV, ax=axes[0, 1])
sns.violinplot(x='targetname', y='petal length (cm)', data=iris, palette=antV, ax=axes[1, 0])
sns.violinplot(x='targetname', y='petal width (
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,您想了解关于LDA在鸢尾花分类中的应用,对吧? LDA(Linear Discriminant Analysis)是一种经典的线性降维算法,它可以将高维数据降到低维,并且保持数据的分类性质。在鸢尾花分类问题中,我们可以使用LDA来降维,并且提取出对分类有用的特征。 具体来说,我们可以使用sklearn库中的LDA模块来进行降维和分类。首先,我们需要加载鸢尾花数据集,并将其分为训练集和测试集。然后,我们可以使用LDA模块对训练数据进行降维,并训练一个分类器。最后,我们可以使用测试数据对分类器进行测试,以评估其分类性能。 以下是一个简单的Python代码示例,展示了如何使用LDA对鸢尾花数据集进行分类: ``` from sklearn.discriminant_analysis import LinearDiscriminantAnalysis from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score # 加载鸢尾花数据集 iris = load_iris() X, y = iris.data, iris.target # 将数据集分为训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42) # 使用LDA进行降维 lda = LinearDiscriminantAnalysis(n_components=2) X_train_lda = lda.fit_transform(X_train, y_train) X_test_lda = lda.transform(X_test) # 训练一个分类器 from sklearn.linear_model import LogisticRegression clf = LogisticRegression(random_state=42) clf.fit(X_train_lda, y_train) # 在测试集上进行测试 y_pred = clf.predict(X_test_lda) acc = accuracy_score(y_test, y_pred) print("Accuracy:", acc) ``` 在这个示例中,我们首先加载了鸢尾花数据集,并将其分为训练集和测试集。然后,我们使用LDA模块对训练数据进行降维,将它们投影到二维空间中。接下来,我们使用LogisticRegression模块训练了一个分类器,并在测试集上进行了测试。最后,我们计算了分类器的准确度,并将其打印出来。 希望这个简单的示例可以帮助您了解LDA在鸢尾花分类中的应用。如果您有任何问题,请随时问我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

LeeYotta

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

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

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

打赏作者

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

抵扣说明:

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

余额充值