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

相关推荐
kkeeper~2 小时前
0基础C语言积跬步之深入理解指针(5下)
c语言·开发语言
一直不明飞行2 小时前
Java的equals(),hashCode()应该在什么时候重写
java·开发语言·jvm
2301_803934612 小时前
Go语言如何做网络爬虫_Go语言爬虫开发教程【指南】
jvm·数据库·python
WL_Aurora2 小时前
Python爬虫实战(六):新发地蔬菜价格数据采集.
爬虫·python
盲敲代码的阿豪2 小时前
Python 入门基础教程(爬虫前置版)
开发语言·爬虫·python
basketball6163 小时前
C++ 构造函数完全指南:从入门到进阶
java·开发语言·c++
互联科技报3 小时前
2026超融合选型:Top5品牌与市场格局解读
开发语言·perl
weixin199701080163 小时前
[特殊字符] 智能数据采集:数字化转型的“数据石油勘探队”(附Python实战源码)
开发语言·python
想唱rap4 小时前
IO多路转接之poll
服务器·开发语言·数据库·c++
@杰克成4 小时前
Java学习30
java·开发语言·学习