0. 准备
依赖:
python=3.6
mxnet-cu102==1.7.0
jupyter==1.0.0
plotly==4.10.0
模块使用
import mxnet as mx
from mxnet import autograd, nd
import random
from plotly. offline import plot, init_notebook_mode
import plotly. graph_objs as go
init_notebook_mode( connected= False )
gpu使用
ctx = mx. gpu( ) if ( mx. context. num_gpus( ) ) > 0 else mx. cpu( )
1.数据准备
模拟一个方程 z = 4.22a - 6.11b + 2.1,为了模拟数据集,添加白噪声,服从均值为0,标准差为0.02的正太分布
Ws_raw = [ 4.22 , - 6.11 ]
b_raw = 2.1
feature_num = len ( Ws_raw)
sample_num = 1000
根据特征数和样本数量生成一组服从均值为0,标准差为2的正太分布测试数据
features = nd. random. normal( scale= 2 , shape= ( sample_num, feature_num) , ctx = ctx)
w1, w2 = Ws_raw
labels = w1* features[ : , 0 ] + w2* features[ : , 1 ] + b_raw + nd. random. normal( scale= 0.02 , shape= ( sample_num, ) , ctx= ctx)
1.1 对数据进行可视化
trace = go. Scatter3d(
x= features[ : , 0 ] . asnumpy( ) ,
y= features[ : , 1 ] . asnumpy( ) ,
z= labels. asnumpy( ) ,
mode= 'markers' ,
marker= dict