分类5:机器学习处理帕尔默企鹅数据

1 介绍

帕尔默企鹅数据集是分类问题,每一列的含义如下:

  • species 离散值 标签信息,值为 Adelie|Chinstrap|Gentoo 之一
  • island 离散值 岛屿,值为 Torgersen|Biscoe|Dream 之一
  • culmen_length_mm 连续值 喙的长度(mm)
  • culmen_depth_mm 连续值 喙的高度(mm)
  • flipper_length_mm 连续值 脚蹼长度(mm)
  • body_mass_g 连续值 体重(克)
  • sex 离散值 性别,值为 MALE| FEMALE 之一
    如果有需要,可以联系:https://docs.qq.com/doc/DWEtRempVZ1NSZHdQ

2 导入包

import numpy as np
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.svm import SVC
from sklearn.neighbors import KNeighborsClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_split
np.random.seed(123)

3 导入数据,打印数据信息

data = pd.read_csv("penguins_size.csv")

print(data.head())
print(data.info())
print(data.shape)

# 查看相关系数
print(data.corr())

4 缺失值处理,使用impute

print(data.isnull().sum())

#缺失值填补
from sklearn.impute import SimpleImputer
imputer = SimpleImputer(strategy='most_frequent')
data.iloc[:,:] = imputer.fit_transform(data)

处理前:
在这里插入图片描述
处理后:
在这里插入图片描述

5 特征编码

from sklearn.preprocessing import LabelEncoder
data["species"] = LabelEncoder().fit_transform(data["species"])
data["island"] = LabelEncoder().fit_transform(data["island"])
data["sex"] = LabelEncoder().fit_transform(data["sex"])

6 划分标签特征,训练集测试集

x = data.drop(["species"],axis=1)
y = data["species"]
X_train, X_test, y_train, y_test = train_test_split(x, y,train_size=0.7,shuffle = True, random_state=123)

7 归一化

from sklearn.preprocessing import  MinMaxScaler
scaler = MinMaxScaler() #归一化
scaler.fit(X_train)
X_train = scaler.transform(X_train)
X_test = scaler.transform(X_test)

8 模型训练和验证

model_list = [DecisionTreeClassifier(), SVC(),KNeighborsClassifier(),RandomForestClassifier()]
for model in model_list:
    model.fit(X_train, y_train)
    y_pred = model.predict(X_test)
    acc = round(accuracy_score(y_test, y_pred), 4)
    print("model:{} acc:{}".format(model, acc))
model:DecisionTreeClassifier() acc:0.9327
model:SVC() acc:0.9904
model:KNeighborsClassifier() acc:0.9904
model:RandomForestClassifier() acc:0.9904
  • 1
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
背景描述 Palmer Penguins 数据集是近年来在数据科学和机器学习领域受到关注的一个数据集,经常被用作鸢尾花数据集的一个替代品。 数据集包含了对南极洲不同地区生活的企鹅种群的研究数据,主要用于数据探索和可视化,以及分类任务。 数据说明 penguins_size.csv :经过简化的原始数据 英文字段名 中文字段名 描述 species 种类 巴布亚企鹅、阿德利企鹅、金图企鹅) culmen_length_mm 喙长(毫米) 喙的长度(毫米) culmen_depth_mm 喙深(毫米) 喙的深度(毫米) flipper_length_mm 鳍状肢长度(毫米) 鳍状肢的长度(毫米) body_mass_g 体重(克) 体重(克) island 岛屿名称 梦想岛、托尔格森岛、比斯科岛 sex 性别 企鹅的性别 penguins_lter.csv :原始数据(3种企鹅的综合数据) 问题描述 种类分布:不同企鹅种类的分布情况如何?它们在不同岛屿上的分布有何差异? 身体测量特征的关系:企鹅的喙长、喙深、鳍状肢长度和体重之间是否存在显著的相关关系? 种类特征差异:不同种类的企鹅在体重、喙长、喙深和鳍状肢长度上有何差异? 性别差异:在体重和身体测量特征上,雄性企鹅和雌性企鹅之间是否存在显著差异? 岛屿影响:不同岛屿上的企鹅在身体测量特征上有无显著差异? 环境因素的影响:企鹅的物理特征是否与它们所在的地理位置(不同岛屿)有关? 数据可视化:如何通过散点图、直方图或箱线图等方式有效地可视化这些数据机器学习应用:可以使用哪些机器学习模型(如逻辑回归、决策树、随机森林等)来预测企鹅的种类或性别? 聚类分析:是否可以通过无监督学习方法(如 K-means 或层次聚类)发现数据中的模式或群组?

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

王小葱鸭

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

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

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

打赏作者

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

抵扣说明:

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

余额充值