工具篇(一)机器学习常用的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

相关推荐
认真的酒窝17 小时前
自己动手开发编译器(十一)语义分析
java·开发语言
Lyn_Li17 小时前
扫描 PDF 歪了怎么办?用 6 种检测方法做本地批量扶正(附开源工具)
python·pdf·ocr·tesseract·开源工具·文档处理·本地处理·扫描件纠偏
金銀銅鐵18 小时前
费马小定理
python·数学·算法
wbs_scy19 小时前
Linux C++ 高并发编程:线程池全链路深度解析,从原理到手撕实现
java·开发语言
JAVA面经实录91719 小时前
Linux 常用命令完整知识体系
java·linux·开发语言·汇编
贪玩的蛋挞19 小时前
C#与闭包
开发语言·c#
端庄的战斗机20 小时前
javascript 设计模式(文章很长,请自备瓜子,水果和眼药水)
开发语言·javascript·设计模式
Full Stack Developme20 小时前
Java LRU 与 LFU 算法及应用
java·开发语言·算法
疋瓞1 天前
python和C++对比(1)_数据类型和数据结构
数据结构·c++·python
C语言小火车1 天前
C++ 堆排序深度精讲:基于完全二叉树的选择排序进化,最坏情况 O(n log n) 的稳定王者
开发语言·c++·算法·排序算法·堆排序