# 绘制主题平均余弦相似度图形 from matplotlib.font_manager import FontProperties font = FontProperties(size=14) fig = plt.figure(figsize=(10,8)) ax1 = fig.add_subplot(211) ax1.plot(pos_k) ax1.set_xlabel('正面评论LDA主题数寻优', fontproperties=font) ax2 = fig.add_subplot(212) ax2.plot(neg_k) ax2.set_xlabel('负面评论LDA主题数寻优', fontproperties=font)标题显示不出来怎么修改代码
时间: 2023-08-05 08:09:49 浏览: 54
您可以将字体设置修改为系统中存在的字体,例如:
```python
import matplotlib.pyplot as plt
# 设置中文字体,例如SimHei、KaiTi等等
plt.rcParams['font.sans-serif'] = ['SimHei']
fig = plt.figure(figsize=(10,8))
ax1 = fig.add_subplot(211)
ax1.plot(pos_k)
ax1.set_xlabel('正面评论LDA主题数寻优')
ax1.set_title('正面评论LDA主题数寻优', fontsize=14)
ax2 = fig.add_subplot(212)
ax2.plot(neg_k)
ax2.set_xlabel('负面评论LDA主题数寻优')
ax2.set_title('负面评论LDA主题数寻优', fontsize=14)
plt.show()
```
这样就可以显示中文标题了。
相关问题
# 绘制主题平均余弦相似度图形 from matplotlib.font_manager import FontProperties font = FontProperties(size=14) fig = plt.figure(figsize=(10,8)) ax1 = fig.add_subplot(211) ax1.plot(pos_k) ax1.set_xlabel('正面评论LDA主题数寻优', fontproperties=font) ax2 = fig.add_subplot(212) ax2.plot(neg_k) ax2.set_xlabel('负面评论LDA主题数寻优', fontproperties=font)标题有一些被方框替代,请修改代码
标题被方框替代通常是因为字体不支持中文字符。你可以尝试更改字体或者使用Unicode编码来解决这个问题。以下是一个示例代码:
```
from matplotlib.font_manager import FontProperties
# 更改字体
font = FontProperties(fname='SimHei.ttf', size=14) # 指定SimHei字体
fig = plt.figure(figsize=(10,8))
ax1 = fig.add_subplot(211)
ax1.plot(pos_k)
ax1.set_xlabel('正面评论LDA主题数寻优', fontproperties=font)
ax1.set_title('正面评论LDA主题数寻优平均余弦相似度', fontproperties=font)
ax2 = fig.add_subplot(212)
ax2.plot(neg_k)
ax2.set_xlabel('负面评论LDA主题数寻优', fontproperties=font)
ax2.set_title('负面评论LDA主题数寻优平均余弦相似度', fontproperties=font)
```
在这个代码中,我们指定了SimHei字体作为字体,这个字体支持中文字符。你也可以指定其他支持中文字符的字体。如果你不想更改字体,你可以使用Unicode编码来替换中文字符,这样也可以避免标题被方框替代的问题。
import pandas as pd import warnings import sklearn.datasets import sklearn.linear_model import matplotlib import matplotlib.font_manager as fm import matplotlib.pyplot as plt import numpy as np import seaborn as sns data = pd.read_excel(r'C:\Users\Lenovo\Desktop\data.xlsx') print(data.info()) fig = plt.figure(figsize=(10, 8)) sns.heatmap(data.corr(), cmap="YlGnBu", annot=True) plt.title('相关性分析热力图') plt.rcParams['axes.unicode_minus'] = False plt.rcParams['font.sans-serif'] = 'SimHei' plt.show() y = data['y'] X = data.drop(['y'], axis=1) print('************************输出新的特征集数据***************************') print(X.head()) from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) def relu(X): output=np.maximum(0, X) return output def relu_back_propagation(derror_wrt_output,X): derror_wrt_dinputs = np.array(derror_wrt_output, copy=True) derror_wrt_dinputs[x <= 0] = 0 return derror_wrt_dinputs def activated(activation_choose,X): if activation_choose == 'relu': return relu(X) def activated_back_propagation(activation_choose, derror_wrt_output, output): if activation_choose == 'relu': return relu_back_propagation(derror_wrt_output, output) class NeuralNetwork: def __init__(self, layers_strcuture, print_cost = False): self.layers_strcuture = layers_strcuture self.layers_num = len(layers_strcuture) self.param_layers_num = self.layers_num - 1 self.learning_rate = 0.0618 self.num_iterations = 2000 self.x = None self.y = None self.w = dict() self.b = dict() self.costs = [] self.print_cost = print_cost self.init_w_and_b()
这段代码实现了一个神经网络类 NeuralNetwork,用于训练数据并进行预测。首先,通过 Pandas 库读取一个 Excel 文件中的数据,并使用 Seaborn 库绘制数据的相关性分析热力图。然后,将数据集分为训练集和测试集,用于训练和评估模型。
接下来,定义了一个 relu() 函数和 relu_back_propagation() 函数,用于实现神经网络的激活函数和反向传播过程。其中,relu() 函数实现了 ReLU 激活函数,即将输入 X 中小于 0 的值置为 0,大于等于 0 的值保持不变;relu_back_propagation() 函数则实现了 ReLU 函数的反向传播过程,即计算误差关于输入的偏导数。
接着,定义了一个 NeuralNetwork 类,并实现了初始化方法 __init__()、初始化权重和偏置参数的方法 init_w_and_b(),以及训练模型的方法 train()。其中,__init__() 方法接受一个层次结构列表 layers_strcuture,用于指定神经网络的构成;init_w_and_b() 方法用于初始化神经网络的权重和偏置参数;train() 方法用于训练神经网络,并返回训练好的参数。
在 NeuralNetwork 类的 __init__() 方法中,首先初始化了神经网络的层数、学习率、迭代次数等参数。然后,定义了神经网络的权重参数和偏置参数,存储在类的实例变量 w 和 b 中。最后,定义了一个成本函数的列表 costs,存储训练过程中每次迭代的成本值。