工具篇(一)机器学习常用的python包

一、处理数据------pandas

主要做数据处理:

  • 读取数据(CSV / Excel / SQL)
  • 清洗数据(缺失值、重复值)
  • 数据计算(分组、聚合)
  • 数据结构(DataFrame)

📊 plotly 是干嘛的

主要做可视化,而且是:

👉 交互式图表(能缩放、悬停、点击)

例子:

复制代码

import plotly.express as px

fig = px.bar(df, x=df.index, y="sales")

fig.show()

👉 这一步是"把数据画出来"

二、数据可视化------Matplotlib&Seaborn&plotly

这三个库本质上是同一类工具(数据可视化),但定位不一样。

  • Matplotlib:最底层、最灵活(但最麻烦),适合需要精细控制(论文/定制图)
  • Seaborn:Matplotlib 的"美化+简化版",适合做数据分析(Jupyter里自己看)
  • Plotly:现代交互式图表(最炫、最适合展示),适合做展示/dashboard

1、Matplotlib(基础款 / 工具箱)

👉 Python 最原始的画图库

特点

  • 非常底层、可控性强
  • 什么都能画
  • 但代码比较"啰嗦"

示例

import matplotlib.pyplot as plt

x = 1, 2, 3

y = 4, 5, 6

plt.plot(x, y)

plt.title("Line Chart")

plt.show()

优点

  • 灵活到极致
  • 所有其他库都基于它

缺点

  • 写起来繁琐
  • 默认样式比较"丑"

2、Seaborn(美化版 Matplotlib)

👉 在 Matplotlib 上封装了一层,让图更好看、更简单

特点

  • 默认就很好看
  • 专注统计图(分布、关系、分类)

示例

import seaborn as sns

sns.barplot(x="A", "B", "C", y=10, 20, 15)

优点

  • 代码更少
  • 自动美化
  • 很适合数据分析

缺点

  • 灵活性不如 Matplotlib
  • 本质还是静态图

3、Plotly(交互式图表)

👉 现代 Web 风格图表

特点

  • 可以缩放、悬浮提示、点击
  • 支持网页展示 / dashboard
  • 非常适合汇报、BI

示例

import plotly.express as px

df = px.data.iris()

fig = px.scatter(df, x="sepal_width", y="sepal_length")

fig.show()

优点

  • 交互性强(鼠标悬停、缩放)
  • 很适合展示给别人看
  • 和网页/前端结合好

缺点

  • 有时在 Jupyter 里显示会有兼容问题(你刚遇到的)
  • 自定义细节不如 Matplotlib

**三、工具箱------**scikit-learn

复制代码
pip install scikit-learn

👉 sklearn = 用来做机器学习(预测 / 分类 / 聚类)的工具箱

对于机器学习来说,最常用的算法工具包是 scikit-learn,简称 sklearn,它是使用最广泛的开源 Python 机器学习库,堪称机器学习神器。sklearn 提供了大量用于数据挖掘的机器学习工具,覆盖数据预处理、可视化、交叉验证和多种机器学习算法。

1、分类(Classification)

比如:

  • 判断邮件是不是垃圾邮件
  • 判断用户会不会流失

from sklearn.linear_model import LogisticRegression


2、 回归(Regression)

比如:

  • 预测房价
  • 预测销量

from sklearn.linear_model import LinearRegression


3、聚类(Clustering)

比如:

  • 用户分群
  • 客户画像

from sklearn.cluster import KMeans


4、数据预处理

比如:

  • 标准化
  • 缺失值处理

from sklearn.preprocessing import StandardScaler


5、模型评估

比如:

  • 准确率
  • 混淆矩阵

from sklearn.metrics import accuracy_score

相关推荐
海的透彻14 分钟前
dockerfile如何快速构建容器(java服务)
java·开发语言
code2cat27 分钟前
Java工具篇之Gradle:用任务图组织构建与交付
java·开发语言·单元测试·gradle
北京中科新远科技32 分钟前
高速交换机端口预算怎么做?下行、上联、拆分和冗余计算框架
开发语言·php
zh路西法39 分钟前
【PACE】面向永磁同步电机PMSM 执行器的参数辨识与能耗感知强化学习 Sim-to-Real
python·cma-es·pmsm·sim-to-real·issac·pace
xiaoye-duck1 小时前
《C++ 项目:手写大模型接入 SDK》DeepSeek接口设计(下):流式响应实现和测试
开发语言·网络·c++·语言模型
后台模板学习1 小时前
大模型 Prompt 工程在电商订单系统中的踩坑记录
java·python·prompt
2601_967987371 小时前
如何运行 Python 代码
python·最佳实践·脚本文件·代码运行·交互式环境
WiKiLeaks_successor1 小时前
重构Time库的抽象设计
python·重构
AI源码2 小时前
基于 Python 的短视频用户行为分析系统
开发语言·python
第九序言T2 小时前
数据分析岗 Pandas 面试题 20 道(上):概念与读代码
python·数据分析·pandas·数据处理