常见问题和设置记录
1.jupyterlab问题
1.1 jupyter-lab修改工作目录
1.2 jupyter-lab 多行输出(单个cell)
2.matplotlib常用设置问题
? 2.1 matplotlib 作图中文显示和负号显示乱码问题
? 2.2 matplotlib 工作中常用绘图,及其常用设置(坐标轴(名称、刻度、显示)、水平线、子图(间距)、标题(子图标题、总标题)、画布大小,3D图、动画等)
3.linux工作中常用命令记录
4.待定
-
jupyter问题
-
jupyter-lab修改工作目录 命令行下输入>>:jupyter-lab --generate-config
默认在” C:\Users\用户名\.jupyter“自动生成"jupyter_lab_config.py"配置文件
修改配置文件root_dir即可切换工作目录
-
jupyter-lab 多行输出(单个cell) 在电脑用户路径下”C:\Users\用户名\.ipython\profile_default”
创建ipython_config.py配置文件
写入
c = get_config()
c.InteractiveShell.ast_node_interactivity = 'all'
重启juputer-lab即可多行显示
? -
matplotlib常用设置问题
-
matplotlib 作图中文显示和负号显示乱码问题
? 在路径“ xxx\python3.9\Lib\site-packages\matplotlib\mpl-data”下打开matplotlibrc文件(可以使用NodePad++)
- 解开’font.family’注释,使用 sans-serif 系列字体
- 解开"font.sans-serif"注释,在 sans-serif 系列字体前加上 “simhei”(或其它放入’xx/ttf/'路径内的字体)
- 解开"axes.unicode_minus"注释,并设置“axes.unicode_minus:False ”
-
matplotlib 工作中常用绘图,及其常用设置(坐标轴(名称、刻度、显示)、水平线、子图(间距)、标题(子图标题、总标题)、画布大小,3D图、动画等)
-
双系列柱状图(用于系列对比/趋势变化) import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import animation
from sklearn.datasets import make_biclusters
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_samples
from sklearn.metrics import silhouette_score
import numpy as np
import pandas as pd
import random
x = ['测试1','测试2','xxxx3']
y1 = [1,2,3]
y2 = [4,5,6]
plt.figure(figsize=(8,4))
plt.bar(x=x,height=y1,width=-0.4,align='edge',label='y1')
plt.bar(x=x,height=y2,width=0.4,align='edge',label='y2')
plt.yticks(ticks=[0,1,2,3,4,5,6],labels=['刻度0','刻度1','刻度2','刻度3','刻度4','刻度5','刻度6'])
plt.xticks(rotation=45)
plt.legend()
-
三维图绘制(展示数据空间分布,可用于PCA降维后查看数据分布)
plt.figure(figsize=(12,5))
a = np.linspace(-5,5,num=110)
b = np.linspace(-5,5,num=110)
x,y = np.meshgrid(a,b)
L1 = np.abs(x)+np.abs(y)
L2 = np.sqrt(np.square(x)+np.square(y))
ax = plt.subplot(1,2,1,projection='3d')
ax.plot_surface(x,y,L1,cmap='Reds')
ax.plot_surface(x,y,L2,cmap='Greys')
l1_pos = plt.Rectangle((0,0),1,1,fc='r')
l2_pos = plt.Rectangle((0,0),1,1,fc='dimgray')
ax.legend([l1_pos,l2_pos],['L1正则','L2正则'])
ax1 = plt.subplot(1,2,2,projection='3d')
a1 = np.linspace(-5,5,num=10)
b1 = np.linspace(-5,5,num=10)
x1,y1 = np.meshgrid(a1,b1)
c1 = np.abs(x1)+np.abs(y1)
c2 = np.sqrt(np.square(x1)+np.square(y1))
ax1.scatter3D(xs=x1,ys=y1,zs=c1,label='数据1')
ax1.scatter3D(xs=x1,ys=y1,zs=c2,label='数据2')
ax1.legend()
ax1.view_init(elev=60,azim=30)
-
小提琴图(显示一组数据分布,机器学习二分类任务,各个特征分布对比)
fig,axs = plt.subplots(nrows=1,ncols=3)
fig.set_size_inches(15,5)
fig.subplots_adjust(wspace=0.5)
test_data = pd.DataFrame({'feature1':random.choices(range(10,30),k=100)
,'feature2':random.choices(range(10,30),k=100)
,'feature3':random.choices(range(10,30),k=100)
,'label':[0 for i in range(100)]}).append(
pd.DataFrame({'feature1':random.choices(range(25,45),k=100)
,'feature2':random.choices(range(25,45),k=100)
,'feature3':random.choices(range(25,45),k=100)
,'label':[1 for i in range(100)]}))
for i in range(3):
axs[i].violinplot(test_data.loc[test_data['label']==0,'feature'+str(i+1)],positions=[-2],widths=2,showmeans=True,showextrema=False)
axs[i].violinplot(test_data.loc[test_data['label']==1,'feature'+str(i+1)],positions=[2],widths=2,showmeans=True,showextrema=False)
axs[i].set_title('feature'+str(i+1))
axs[i].set_xlabel(xlabel='0类特征 1类特征')
-
填充图或面积图(聚类分析时,可查看聚类效果)
dataset_test = make_biclusters(shape=(1000,3),n_clusters=3,noise=0.1,minval=0,maxval=1,random_state=42)[0]
fig = plt.figure(figsize=(12,5))
ax = fig.add_subplot(projection='3d')
ax.scatter(xs=dataset_test[:,0],ys=dataset_test[:,1],zs=dataset_test[:,2])
def make_clusters_effect(n_clusters=3):
kmeans = KMeans(n_clusters=n_clusters)
kmeans = kmeans.fit(X=dataset_test)
res = kmeans.predict(dataset_test)
silhouette_mean = silhouette_score(X=dataset_test,labels=res)
silhouette_per = silhouette_samples(X=dataset_test,labels=res)
fig = plt.figure(figsize=(12,5))
plt.subplot(1,2,1)
init_y = 0
plt.xlim(-0.2,1)
for i in range(n_clusters):
plt.fill_betweenx(y=range(init_y,init_y+len(silhouette_per[res==i])),x1=sorted(silhouette_per[res==i]))
plt.text(x=-0.1,y=(2*init_y+len(silhouette_per[res==i]))/2,s=f'{i}类')
init_y = init_y+len(silhouette_per[res==i])+10
plt.vlines(x=silhouette_mean,ymin=0,ymax=1000,label='总轮廓系数',colors='r')
plt.legend()
ax = plt.subplot(1,2,2,projection='3d')
for i in range(n_clusters):
ax.scatter(xs=dataset_test[res==i,0],ys=dataset_test[res==i,1],zs=dataset_test[res==i,2],label=f'{i}类')
ax.legend()
fig.suptitle(f'聚类为{n_clusters}类效果图')
for i in range(3,6):
make_clusters_effect(i)
-
动态图(git保存,可以动态实时查看深度学习目标函数损失情况)
fig,axs = plt.subplots(1,2)
x = np.arange(0,2*np.pi,0.01)
line1,=axs[0].plot(x,np.sin(x),c='C2');line2,=axs[1].plot(x,np.cos(x),c='C2')
def init():
axs[0].set_title('sin_images');axs[1].set_title('cos_images')
axs[0].set_xlim((0,10));axs[1].set_xlim((0,10))
def update(i):
global x
x+=i
line1.set_ydata(np.sin(x))
line2.set_ydata(np.cos(x))
ani = animation.FuncAnimation(fig=fig,func=update,
frames=np.linspace(0,1),
init_func=init,interval=200
)
ani.save('./test.gif',writer='pillow')
-
linux工作中常用命令记录
-
ssh免密登录
ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop01
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop02
ssh hadoop02
-
用户设置(一般用不到)
root : x : 0 : 0 : root : /root : /bin/bash
用户名称:密码:UserID:GroupID:用户说明:主文件:shell
root : x : 0 : root
用户组:用户组密码:GID:用户组包含账号名称
> useradd [options] [username]
> passwd [options] [username]
> adduser [options] [username]
> userdel 同理
> deluser
chmod +w /etc/sudoers
vim /etc/sudoers
'''
hadoop ALL=(ALL) NOPASSWD: ALL
'''
-
磁盘、端口、系统资源查看问题 -
文件读写问题
- 重定向问题
-
配置文件 -
其它 -
待定
|