背景
建立机器学习项目一般有6个步骤:
(图好丑...)
在收集数据和预处理过程中:
- 收集数据;
- 数据可视化;
- 数据清洗;
- 特征工程;
- 构建特征集和标签集;
- 拆分训练集、验证集和测试集。
数据可视化使用matplotlib 绘图。
import matplotlib.pyplot as plt
plt.plot(df_ads['点赞数'],df_ads['浏览量'],'r.', label='Training data') # 用matplotlib.pyplot的plot方法显示散点图
plt.xlabel('点赞')
plt.ylabel('浏览')
plt.legend()
plt.show()
在运行时,报错
”findfont: Generic family 'sans-serif' not found because none of the following families were found: SimHei“。
出现的问题就是坐标或者标题输入中文会出现乱码情况
问题原因
问题就是该版本中没有SimHei 字体。
解决方案和步骤
解决办法就是在网上下载该字体并放到 matplotlib中。具体步骤如下:
1. 下载字体
地址: link.zhihu.com/?target=htt…
2. 查找自己的python解释器里matplotlib包对应的字体库文件地址
print(matplotlib.matplotlib_fname())
3. 将下载的字体放到上述文件中
cp /Users/xxx/Desktop/SimHei.ttf /opt/miniconda3/envs/sklearn-env/lib/python3.12/site-packages/matplotlib/mpl-data/fonts/ttf
4. 修改matplotlibrc文件
font.family: sans-serif
# 去掉前面的#
font.sans-serif: SimHei, DejaVu Sans, Bitstream Vera Sans,
# 去掉前面的#,并在冒号后面添加SimHei
axes.unicode_minus: False # use Unicode for the minus symbol rather than hy phen. See
# 去掉前面的#,并将True改为False
5. 删除matplotlib的系统缓存
rm -rf ~/.matplotlib/*
6. 在刚刚的python文件中配置
import matplotlib.pyplot as plt
import matplotlib
# print(matplotlib.matplotlib_fname())
# print(matplotlib.get_cachedir())
plt.rcParams['font.sans-serif']=['SimHei']
7. 记得重启项目,再运行!
最后展示图如下:
x和y轴label展示出了中文字体,搞定了。