python三维图如何标注曲面_python-论文学习-机器学习(MART、NN)将散点绘制成三维曲面...

该博客介绍了如何使用Python的scikit-learn库中的MLPRegressor进行多层感知器回归,并结合matplotlib库创建三维散点图和影响曲面,展示数据的探索式创新和利用式创新对企业成长绩效的影响。通过读取CSV数据文件,训练神经网络模型,并进行预测,最终生成可视化图表。
摘要由CSDN通过智能技术生成

[Python] 纯文本查看 复制代码from sklearn.neural_network import MLPRegressor

import pandas as pd

# 定义线性回归模型

import numpy as np

from pylab import mpl

from matplotlib import cm

from mpl_toolkits.mplot3d import Axes3D

import matplotlib.pyplot as plt

mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体

mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题

#文本读取与处理

def readfile(path):

X = []

che = []

cai = []

for line in open(path,'r', encoding='UTF-8'):

#print(line)

xx,yy,chee,caii = line.split(',',3)

X.append([float(xx),float(yy)])

che.append(float(chee))

cai.append(float(caii))

#返回数据集列表

return(X,che)

if __name__=='__main__':

print('读取数据...')

X,y = readfile('data.csv')

print('创建神经网络模型')

clf = MLPRegressor(max_iter=400)

print('训练模型...')

clf.fit(X, y)

#向三维图中添加散点

print('生成散点图...')

fig = plt.figure()

ax = fig.add_subplot(111, projection='3d')

for i in range(len(X)):

ax.scatter(X[i][0], X[i][1],y[i], c='black', marker='o', s=4)

#向三维图中添加影响曲面

print('生成曲面...')

ps = np.arange(1, 7, 0.25)

py = np.arange(1, 7, 0.25)

XX, YY = np.meshgrid(ps, py)

R = np.random.randint(2,size=(24,24)).astype(float)

for i in range(len(XX)):

for j in range(len(XX[0])):

R[i][j]= round(clf.predict([[XX[i][j],YY[i][j]]])[0],1)

ax.plot_surface(XX, YY, R,rstride=1, cstride=1, cmap='Greys')#'rainbow')

# 设置图形坐标范围

ax.set_xlim3d(1, 7)

ax.set_ylim3d(1, 7)

ax.set_zlim3d(1, 7)

# 设置图形轴标签

ax.set_xlabel('探索式创新')

ax.set_ylabel('利用式创新')

ax.set_zlabel('企业成长绩效')

print('展示图表')

plt.show()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值