设计机器学习模型

发布日期:2026-07-10 00:19:04   来源 : 杭州电子商务研究院    浏览量 :10
杭州电子商务研究院 发布日期:2026-07-10 00:19:04  
10

介绍

在本指南中,我们将从头开始实现逻辑回归模型,并将其准确性与 scikit-learn 逻辑回归包进行比较。逻辑回归是机器学习分类技术的一部分,它解决了数据科学中的许多问题。

逻辑回归也是最简单和最常用的模型之一。它为任何二元分类问题实现了基线,其结果要么是True/False,要么是Yes/No。它可以预测邮件是否为垃圾邮件或预测个人是否患有糖尿病,但无法预测房价等。另一类是多项分类,其中确定两个以上的类别,例如天气是晴天、下雨还是潮湿,动物种类等。

在本指南中,我们将使用 UCI 机器学习库中的鸢尾花数据集探索已知的多类问题,根据给定的尺寸预测花的种类。

您可以在此处下载数据集。请注意,您需要拥有一个Kaggel 帐户才能获取数据集。

在本指南结束时...

  1. 通过可视化,您将能够从数据集中获取见解。可视化就像用文本数据讲述一个故事,使分析更加高效。
  2. 您将通过将数学步骤转换为运行代码从头开始构建 ML 算法。这也将更容易理解算法背后的机制。
  3. 您将成功设计一个逻辑回归机器学习模型,可以在不同的数据科学平台上展示。

那么让我们开始我们的旅程吧!

数据集简介

鸢尾花数据集包含三种鸢尾花的观测数据:山鸢尾 (Iris-setosa)变色鸢尾 (Iris-versicolor ) 和维吉尼亚鸢尾 (Iris-virginica)

每个物种有 50 个观测点,总共 150 个观测点,每个观测点有 4 个特征(萼片长度、萼片宽度、花瓣长度、花瓣宽度)。基于上述四个特征的组合,数据科学家 RA Fisher 开发了一个线性判别模型来区分各个物种。

在开始之前,我们需要定义一些 ML 术语。

  • 属性(特征):属性是数据集中用于确定分类的一系列规格。在本例中,属性是花瓣和萼片的长度和宽度。

  • 目标变量:在 ML 上下文中,这是作为或应该是输出的变量。此处的目标变量是三种花卉。

      # import libraries
from subprocess import check_output
import numpy as np # linear algebra
import pandas as pd # data processing
import warnings 
warnings.filterwarnings('ignore') #ignore warnings
from math import ceil 

#Visualization
import matplotlib.pyplot as plt
import seaborn as sb
from sklearn.metrics import confusion_matrix #Confusion matrix
from sklearn.metrics import accuracy_score # Accuracy score

# Spliting training and testing
from sklearn.model_selection import train_test_split

#Advanced optimization
from scipy import optimize as op
    

加载和预览数据

      # Loading the data
data_iris = pd.read_csv('Iris.csv') # If your input csv file is placed with working directory
# data_iris=pd.read_csv('../input/Iris.csv') # Enter the path of the directory where input csv is stored
    
      data_iris.head() # first 5 entries of the dataset
    
ID 萼片长厘米 萼片宽 花瓣长度厘米 花瓣寬闊 物种
0 1 5.1 3.5 1.4 0.2 鸢尾
1 2 4.9 3.0 1.4 0.2 鸢尾
2 3 4.7 3.2 1.3 0.2 鸢尾
3 4 4.6 3.1 1.5 0.2 鸢尾
4 5 5.0 3.6 1.4 0.2 鸢尾
      data_iris.tail() # last 5 entries of dataset
    
ID 萼片长厘米 萼片宽 花瓣长度厘米 花瓣寬闊 物种
145 146 6.7 3.0 5.2 2.3 维吉尼亚鸢尾
146 147 6.3 2.5 5.0 1.9 维吉尼亚鸢尾
147 148 6.5 3.0 5.2 2.0 维吉尼亚鸢尾
148 149 6.2 3.4 5.4 2.3 维吉尼亚鸢尾
149 150 5.9 3.0 5.1 1.8 维吉尼亚鸢尾
      data_iris.info()
    

以下命令给出所有 150 个观测值的描述性统计数据(百分位数、平均值、标准差)。

      data_iris.describe()
    
ID 萼片长厘米 萼片宽 花瓣长度厘米 花瓣寬闊
数数 150.000000 150.000000 150.000000 150.000000 150.000000
意思是 75.500000 5.843333 3.054000 3.758667 1.198667
标准 43.445368 0.828066 0.433594 1.764420 0.763161
分钟 1.000000 4.300000 2.000000 1.000000 0.100000
25% 38.250000 5.100000 2.800000 1.600000 0.300000
50% 75.500000 5.800000 3.000000 4.350000 1.300000
75% 112.750000 6.400000 3.300000 5.100000 1.800000
最大限度 150.000000 7.900000 4.400000 6.900000 2.500000
      data_iris['Species'].value_counts()
    
      Iris-setosa        50
Iris-virginica     50
Iris-versicolor    50
Name: Species, dtype: int64
    
<div class="rich-text-editor text aem-GridColumn--tablet--12
以上内容来自杭州电子商务研究院推送
关注
关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 关注 数据