移动学习网 导航

求python多元支持向量机多元回归模型最后预测结果导出代码、测试集与真实值R2以及对比图代码

2024-06-01m.verywind.com
~ 这是一个多元支持向量机回归的模型,以下是一个参考的实现代码:
import numpy as npimport matplotlib.pyplot as pltfrom sklearn import svmfrom sklearn.metrics import r2_score
# 模拟数据
np.random.seed(0)
X = np.sort(5 * np.random.rand(80, 1), axis=0)
y = np.sin(X).ravel()
y[::5] += 3 * (0.5 - np.random.rand(16))
# 分割数据
train_X = X[:60]
train_y = y[:60]
test_X = X[60:]
test_y = y[60:]
# 模型训练
model = svm.SVR(kernel='rbf', C=1e3, gamma=0.1)
model.fit(train_X, train_y)
# 预测结果
pred_y = model.predict(test_X)# 计算R2r2 = r2_score(test_y, pred_y)
# 对比图
plt.scatter(test_X, test_y, color='darkorange', label='data')
plt.plot(test_X, pred_y, color='navy', lw=2, label='SVR model')
plt.title('R2={:.2f}'.format(r2))
plt.legend()
plt.show()
上面的代码将数据分为训练数据和测试数据,使用SVR模型对训练数据进行训练,然后对测试数据进行预测。计算预测结果与真实值的R2,最后将结果画出对比图,以评估模型的效果。

以下是Python实现多元支持向量机多元回归模型的代码:
# 导入必要的库
import numpy as np
from sklearn.svm import SVR
from sklearn.metrics import r2_score
import matplotlib.pyplot as plt
# 读取训练数据
X_train = np.loadtxt("X_train.csv", delimiter=",")
y_train = np.loadtxt("y_train.csv", delimiter=",")
# 读取测试数据
X_test = np.loadtxt("X_test.csv", delimiter=",")
y_test = np.loadtxt("y_test.csv", delimiter=",")
# 定义多元支持向量机多元回归模型
svr_poly = SVR(kernel='poly', degree=3, C=1.0, epsilon=0.1)
# 训练模型
svr_poly.fit(X_train, y_train)
# 预测
y_pred = svr_poly.predict(X_test)
# 计算R2值
r2 = r2_score(y_test, y_pred)
# 绘制真实值与预测值对比图
plt.scatter(y_test, y_pred)
plt.xlabel('Real Value')
plt.ylabel('Predicted Value')
plt.title('Real Value vs Predicted Value')
plt.show()
# 输出R2值
print("R2:", r2)

使用Python的Scikit-learn库可以实现多元支持向量机多元回归模型。
from sklearn import datasets
from sklearn.svm import SVR
from sklearn.metrics import r2_score
import matplotlib.pyplot as plt
# 加载数据集
boston = datasets.load_boston()
X = boston.data
y = boston.target
# 分割数据集为训练集和测试集
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=0)
# 使用SVR进行训练
svr = SVR(kernel='linear', C=1.0, epsilon=0.2)
svr.fit(X_train, y_train)
# 预测测试集
y_pred = svr.predict(X_test)
# 计算R2分数
r2 = r2_score(y_test, y_pred)
print("R2 score: ", r2)
# 绘制预测值与真实值对比图
plt.scatter(y_test, y_pred)
plt.xlabel("True values")
plt.ylabel("Predictions")
plt.show()
在这里,我们使用了Boston房价数据集,将其分割为训练集和测试集,然后使用SVR进行训练,并对测试集进行预测。最后,我们计算了R2分数并绘制了预测值与真实值的对比图。
如果你想导出预测结果,可以用pandas将结果保存到csv文件中:
import pandas as pd
# 将预测值保存到DataFrame中
df = pd.DataFrame({'y_test':y_test, 'y_pred':y_pred})
# 将数据导出到csv文件中

  • 求python多元支持向量机多元回归模型最后预测结果导出代码、测试集与...
  • 答:这是一个多元支持向量机回归的模型,以下是一个参考的实现代码:import numpy as npimport matplotlib.pyplot as pltfrom sklearn import svmfrom sklearn.metrics import r2_score 模拟数据 np.random.seed(0)X = np.sort(5 * np.random.rand(80, 1), axis=0)y = np.sin(X).ravel()y[:...

  • 求python支持向量机多元回归预测代码
  • 答:这是一段用 Python 来实现 SVM 多元回归预测的代码示例:导入相关库 from sklearn import datasets from sklearn.svm import SVR from sklearn.model_selection import train_test_split from sklearn.metrics import mean_squared_error 加载数据集 X, y = datasets.load_boston(return_X_y=True)将...

  • python多元线性回归怎么计算
  • 答:(1)、使用pandas来构建X(特征向量)和y(标签列) scikit-learn要求X是一个特征矩阵,y是一个NumPy向量。 pandas构建在NumPy之上。 因此,X可以是pandas的DataFrame,y可以是pandas的Series,scikit-learn可以理解这种结构。 [python] view plain copy #create a python list of feature names feature_cols = ['TV',...

  • 如何用Python实现支持向量机
  • 答:labels = []fileIn = open('E:/Python/Machine Learning in Action/testSet.txt')for line in fileIn.readlines(): lineArr = line.strip().split('\t') dataSet.append([float(lineArr[0]), float(lineArr[1])]) labels.append(float(lineArr[2]))dataSet = mat(dataSet)labels = mat(labels)....

  • 如何用Python实现支持向量机
  • 答:看这个文章 blog.csdn.net/zouxy09/article/details/17292011 机器学习算法与Python实践之(四)支持向量机(SVM)实现

  • 支持向量机及Python代码实现
  • 答:回答:支持向量机及Python代码实现  做机器学习的一定对支持向量机(supportvectormachine-SVM)颇为熟悉,因为在深度学习出现之前,SVM一直霸占着机器学习老大哥的位子。他的理论很优美,各种变种改进版本也很多,比如latent-SVM,structural-SVM等。这节先来看看SVM的理论吧,在(图一)中A图表示有两类...

  • python中支持向量机回归需要把数据标准化吗?
  • 答:在使用支持向量机(SVM)进行回归分析时, 数据标准化是很重要的.SVM 中的核函数是基于输入数据点之间的距离来定义的,如果数据点之间的距离是不一致的,那么核函数的结果就会受到影响。标准化可以确保所有特征在相同尺度上进行计算,避免因为某些特征取值范围过大而导致其他特征被忽略。因此, 在使用SVM进行...

  • 求python支持向量机数据设置标签代码
  • 答:以下是使用Python中的Scikit-learn库实现支持向量机(SVM)模型的数据设置标签代码示例:from sklearn import svm 假设有以下三个样本的数据:X = [[0, 0], [1, 1], [2, 2]]y = [0, 1, 1] # 对应每个数据点的标签,0表示负样本,1表示正样本 创建SVM模型 clf = svm.SVC()将数据集...

  • python多元线性回归怎么计算
  • 答:用numpy.linalog.lstsq(如果是最小方差的话是这个,其余的也在包里找就好了)用其它C的线性计算库的py封装(或者自己封装一下),例如lapack,blas之类的 使用statsmodels的例子 from __future__ import print_functionimport numpy as npimport statsmodels.api as smimport matplotlib.pyplot as pltfrom...

  • 常用Python机器学习库有哪些
  • 答:Scikit-Learn基本功能可分为六个部分:分类、回归、聚类、数据降维、模型选择、数据预处理。其中集成了大量分类、回归、聚类功能,包括支持向量机、逻辑回归、随机森林、朴素贝叶斯等。2、Orange3 Orange3是一个基于组件的数据挖掘和机器学习软件套装,支持Python进行脚本开发。它包含一系列的数据可视化、检索、...

    户户网菜鸟学习
    联系邮箱
    返回顶部
    移动学习网