保姆级别&使用Python实现“机器学习“案例

从安装到运行手把手教学,保证不迷路~


零基础友好版教程


第一步:安装必备工具包

别慌!这里有两种安装方式,选你顺手的

方式1:用代码自动安装(推荐新手)
直接在你的Python代码最前面加这几行,运行时会自动安装:

# 把这坨代码贴在文件最前面!
import sys
import subprocess

# 需要装的包列表
packages = ['numpy', 'pandas', 'matplotlib', 'scikit-learn']

# 自动安装 missing 的包
for package in packages:
    try:
        __import__(package)
    except ImportError:
        subprocess.check_call([sys.executable, "-m", "pip", "install", package])

方式2:手动安装(知道在哪写命令的用)

  1. Win键+R 输入 cmd 回车(Windows)
  2. Mac在启动台搜「终端」
  3. 复制下面命令粘贴进去回车:
pip install numpy pandas matplotlib scikit-learn

第二步:完整代码(带逐行解析)

新建文件 iris_demo.py完整代码+注释 如下:

# -*- coding: utf-8 -*-
# 自动安装包(如果没装的话)
import sys
import subprocess
packages = ['numpy', 'pandas', 'matplotlib', 'scikit-learn']
for package in packages:
    try:
        __import__(package)
    except ImportError:
        subprocess.check_call([sys.executable, "-m", "pip", "install", package])

# ---------- 正式代码开始 ----------
# 1. 导入工具库
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score

# 2. 加载数据(系统自带的鸢尾花数据集)
iris = load_iris()
# 把数据转成表格形式,方便查看
data = pd.DataFrame(iris.data, columns=iris.feature_names)
data['类别'] = iris.target  # 添加类别列(0/1/2代表三种花)

# 3. 快速看一眼数据
print("=== 数据预览 ===")
print(data.head())  # 显示前5行
print("\n=== 类别分布 ===")
print(data['类别'].value_counts())  # 查看每种花有多少样本

# 4. 画个图观察特征(散点图)
plt.figure(figsize=(10, 6))
plt.scatter(data['sepal length (cm)'], 
            data['sepal width (cm)'], 
            c=data['类别'],  # 用不同颜色表示类别
            cmap='viridis')  # 颜色方案
plt.xlabel('花萼长度 (cm)')
plt.ylabel('花萼宽度 (cm)')
plt.title('鸢尾花分类分布')
plt.colorbar(label='类别')  # 显示颜色对应类别
plt.savefig('iris_plot.png')  # 保存图片(防止弹窗不显示)
print("\n图表已保存为 iris_plot.png,去文件夹看看吧!")

# 5. 数据预处理
X = data.iloc[:, :4].values  # 前四列是特征(花萼花瓣的尺寸)
y = data['类别'].values       # 最后一列是标签

# 数据标准化(重要!让不同特征的数值范围一致)
scaler = StandardScaler()
X = scaler.fit_transform(X)

# 6. 拆分训练集和测试集(80%训练,20%测试)
X_train, X_test, y_train, y_test = train_test_split(
    X, y, 
    test_size=0.2, 
    random_state=42  # 随机种子,保证每次拆分结果一致
)

# 7. 创建模型(使用支持向量机分类器)
model = SVC(kernel='linear')  # 线性核函数,适合小数据
model.fit(X_train, y_train)  # 喂数据训练模型

# 8. 预测并评估
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(f"\n=== 模型准确率 ===\n{accuracy:.2%}")

# 9. 模拟预测新数据
new_flower = [[5.1, 3.5, 1.4, 0.2]]  # 新花的四个特征
new_flower = scaler.transform(new_flower)  # 必须同样标准化!
pred = model.predict(new_flower)

# 翻译数字标签为花名
flower_names = ['山鸢尾', '变色鸢尾', '维吉尼亚鸢尾']
print(f"\n=== 预测结果 ===\n这朵花是:{flower_names[pred[0]]}")

第三步:运行指南
  1. 复制全部代码到 iris_demo.py 文件
  2. 直接右键运行,或命令行运行:
    python iris_demo.py
    
  3. 如果看到报错,大概率是包没装上,手动运行一次:
    pip install numpy pandas matplotlib scikit-learn
    

可能出现的问题
  • 弹窗图片不显示? 代码已自动保存为 iris_plot.png,去文件所在文件夹找
  • 安装报错? 尝试在命令前加 python -m
    python -m pip install 包名
    
  • 版本问题? 指定版本安装:
    pip install scikit-learn==1.2.2
    

最终效果

运行成功后你会看到:

  1. 数据表格预览
  2. 散点图保存为本地图片
  3. 打印出准确率(通常90%以上)
  4. 预测新花的种类结果

搞定!现在你已经是入门级机器学习玩家了 接下来可以试着改代码里的参数(比如把 kernel='linear' 换成 'rbf'),看看准确率会不会更高~

你可能感兴趣的:(随笔,python,机器学习,开发语言)