1.机器学习的定义
机器学习是一门人工智能的分支,专注于开发算法和统计模型,使计算机能够在没有明确编程的情况下从数据中自动学习和改进。通过识别数据中的模式和规律,机器学习系统可以做出预测或决策。常见的应用包括图像识别、语音识别、推荐系统等。
2.为什么使用鸢尾花数据集(Iris dataset)
鸢尾花数据集是一个经典的多类分类问题数据集,由英国统计学家和遗传学家 Ronald Fisher 在 1936 年引入。它包含 150 个样本,每个样本有四个特征:花萼长度、花萼宽度、花瓣长度和花瓣宽度。目标是根据这四个特征来预测鸢尾花属于哪一种类型(Setosa, Versicolor, 或 Virginica)。由于其简单性和清晰的分类结构,鸢尾花数据集常被用作机器学习入门示例。
3.详细代码
import tkinter as tk
from tkinter import messagebox
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
# 加载鸢尾花数据集
iris = datasets.load_iris()
X = iris.data # 特征矩阵,包含花萼长度、花萼宽度、花瓣长度、花瓣宽度
y = iris.target # 目标向量,包含三种鸢尾花的类别(0: Setosa, 1: Versicolor, 2: Virginica)
# 数据预处理 - 标准化特征值
scaler = StandardScaler() # 创建StandardScaler对象,用于标准化特征
X_scaled = scaler.fit_transform(X) # 对特征进行标准化处理
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(
X_scaled, y, test_size=0.2, random_state=42
) # 将数据集划分为训练集和测试集,测试集占20%
# 训练模型 - 使用支持向量机
model = SVC(kernel='linear', C=1.0, random_state=42) # 创建SVM模型,使用线性核
model.fit(X_train, y_train) # 使用训练集训练模型
def