Python - 最小偏二乘法PLS代码

# -*-coding:GBK -*-
import sys
import math
import xlrd 
import xlwt  
import xlutils 
import data_pre
import xlsxwriter
import numpy as np
from sklearn import svm
from sklearn import preprocessing
from sklearn import model_selection
from sklearn.impute import SimpleImputer
from sklearn.metrics import accuracy_score
from sklearn.model_selection import GridSearchCV
from sklearn.model_selection import train_test_split
from sklearn.cross_decomposition import PLSRegression

def PLS():
    for tag in [10,20,30,50,100,200,300]:
        x, y = data_pre.load('data_test_mean_mean.csv')
        x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=1, train_size=0.7)
        pls2 = PLSRegression(n_components = tag)
        pls2.fit(x_train, y_train.ravel())
        y_test_pre = pls2.predict(x_test)
        sumd,mxd,cnt = 0.0,0.0,0.0
        for i in range (len(y_test_pre)):
            if(math.fabs(y_test_pre[i]-y_test[i])>1):
                cnt+=1
            sumd+=math.fabs(y_test_pre[i]-y_test[i])
            mxd = max(mxd,math.fabs(y_test_pre[i]-y_test[i]))
        sumd/=len(y_test_pre)
        cnt/=len(y_test_pre)
        accuracy =pls2.score(x_test, y_test)
        print('{:.2f},{:.2f},{:.2f},{:.2f}%'.format(accuracy,sumd,mxd,cnt*100))

if __name__ == '__main__':
    PLS()
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
最小乘法(Partial Least Squares, PLS)是一种统计建模方法,常用于处理多因变量和多自变量之间的关系。它可以用于降维、特征提取和预测建模等任务。以下是一个使用Python实现的简单示例代码: ```python import numpy as np from sklearn.cross_decomposition import PLSRegression # 创建样本数据 X = np.random.rand(100, 5) # 自变量数据,大小为100x5 Y = np.random.rand(100, 3) # 因变量数据,大小为100x3 # 初始化PLS模型 n_components = 2 # 设置成分数为2 model = PLSRegression(n_components=n_components) # 拟合模型 model.fit(X, Y) # 预测新样本 new_X = np.random.rand(10, 5) # 新样本数据,大小为10x5 predicted_Y = model.predict(new_X) # 预测新样本的输出 # 打印结果 print("原始数据X:") print(X) print("原始数据Y:") print(Y) print("拟合的PLS模型:") print(model) print("预测新样本的输出Y:") print(predicted_Y) ``` 在该示例,我们导入了`numpy`和`sklearn.cross_decomposition`模块,使用`numpy`生成随机的自变量`X`和因变量`Y`数据。然后,我们初始化了一个PLS模型,并使用`fit`方法拟合模型。接下来,我们使用`predict`方法对新样本数据`new_X`进行预测,并打印出结果。 需要注意的是,偏最小乘法的具体用法会因不同的库而有所不同,上述代码使用了`sklearn`PLS模型,你也可以使用其他库来实现。此外,你可以根据具体的需求修改代码,例如调整成分数、增加更多特征等。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值