精华内容
下载资源
问答
  • 模型方法
    千次阅读
    2020-09-13 11:25:28

    常见的模型压缩方法有以下几种:

    • 模型蒸馏 Distillation,使用大模型的学到的知识训练小模型,从而让小模型具有大模型的泛化能力
    • 量化 Quantization,降低大模型的精度,减小模型
    • 剪枝 Pruning,去掉模型中作用比较小的连接
    • 参数共享,共享网络中部分参数,降低模型参数数量

    1. teacher-student模型

    teacher-student模型是迁移学习的一种,迁移学习也就是将一个模型的性能迁移到另一个模型上,对于教师网络往往是一个更加复杂的网络,具有非常好的性能和泛化能力,可以用这个网络来作为一个soft target来指导另外一个更加简单的学生网络来学习,使得更加简单、参数运算量更少的学生模型也能够具有和教师网络相近的性能

    学生网络的训练有两个目标:一个是hard target,即原始的目标函数:小模型的类别概率输出与label真值的交叉熵;另一个为soft target:小模型的类别概率输出与大模型的类别概率输出的交叉熵。将hard和soft的target通过加权平均来作为学生网络的目标函数,soft target所占的权重更大一些。

    深度学习方法(十五):知识蒸馏(Distilling the Knowledge in a Neural Network),在线蒸馏
    请参考 DistilBERT

    更多相关内容
  • pytorch保存模型方法

    千次阅读 2022-03-19 17:01:09
    Pytorch 有两种保存模型的方式,都是通过调用pickle序列化方法实现的。 第一种方法只保存模型参数。第二种方法保存完整模型。推荐使用第一种,第二种方法可能在切换设备和目录的时候出现各种问题。 1.保存模型参数...

    Pytorch 有两种保存模型的方式,都是通过调用pickle序列化方法实现的。

    第一种方法只保存模型参数。第二种方法保存完整模型。推荐使用第一种,第二种方法可能在切换设备和目录的时候出现各种问题。

    1.保存模型参数方法:

    print(model.state_dict().keys())                                # 输出模型参数名称
    
    # 保存模型参数到路径"./data/model_parameter.pkl"
    torch.save(model.state_dict(), "./data/model_parameter.pkl")
    new_model = Model()                                                    # 调用模型Model
    new_model.load_state_dict(torch.load("./data/model_parameter.pkl"))    # 加载模型参数     
    new_model.forward(input)                                               # 进行使用

    2.保存完整模型(不推荐)

    torch.save(model, './data/model.pkl')        # 保存整个模型
    new_model = torch.load('./data/model.pkl')   # 加载模型

    3.Transfomers库预训练模型的加载

    # 使用transformers预训练后进行保存
    model.save_pretrained(model_path)                              
    tokenizer.save_pretrained(tokenizer_path)
    
    # 预训练模型使用 `from_pretrained()` 重新加载
    model.from_pretrained(model_path)                              
    tokenizer.from_pretrained(tokenizer_path)
    

    展开全文
  • 数学模型方法分类总结

    千次阅读 多人点赞 2018-09-11 21:08:20
    方法 决策问题 找到最佳决策 线性规划 可以用在哪里 求线性目标函数的最大值或最小值。 数学规划问题(应该不会用到)比如min |X1|+|X2|+…+|Xn| 投资风险最小和收益最大问题 利润最大问题 怎么用 工具...

    方法

    决策问题

    找到最佳决策

    线性规划

    可以用在哪里

    • 求线性目标函数的最大值或最小值。
    • 数学规划问题(应该不会用到)比如min |X1|+|X2|+…+|Xn|
    • 投资风险最小和收益最大问题
    • 利润最大问题

    怎么用

    • 工具MATLAB
    • 将问题转换成MATLAB标准形式具体见书p2

    使用前提:线性约束条件

    非线性规划

    可以用在哪里

    • 求非线性目标函数的最大值或最小值。

    怎么用

    • 工具MATLAB
    • 罚函数法

    整数规划(既可以是线性又可以是非线性)

    可以用在哪里

    • 指派问题,就是选或不选xij(或者xij为1还是0)以达到最大或最小的解
    • 安排运动员出场阵容以达到最强

    怎么用

    • 工具MATLAB,lingo
    • 构成目标函数,p12,13

    使用前提:约束条件

    插值方法

    干什么的:用线把空间中所有离散点连接起来
    怎么用:MATLAB差值工具箱,p85

    拟合

    可以用在哪里

    • 确定两个变量的线性关系
    • 进行预测

    怎么用

    • 工具MATLAB
    • 写出参数矩阵,p90

    使用前提:给定了一些离散数据

    微分方程

    用在哪里:

    • 所求问题可以用数学方程来表示,可以找到其物理的,几何的,化学的或者生物的基本规律,按规律直接列方程,比如人口增长模型
    • 火箭发射模型
    • 人口增长模型以及阻滞增长模型
    • 放射性废料处理

    怎么用:MATLAB符号工具箱

    目标规划

    用在哪里:

    • 多个目标的最大值最小值问题

    前提:多组约束条件

    时间序列

    可以用在哪里

    • 进行短期预测
    • 知道前几个月、年的数据后来的数据
    • 可以进行具有季节性、季度性特点的预测
    • 经济金融有关

    怎么用

    • 工具MATLAB金融工具箱,计量经济学工具箱,系统辨识工具箱
    • p163

    使用前提:还没找到

    支持向量机

    可以用在哪里

    • 分类问题
    • 乳腺癌的诊断,判断恶性还是良性
    • 分类两种生物
    • 将个省份分类

    怎么用

    • 工具MATLAB
    • 具体命令和应用例子见p185

    多元分析

    聚类分析

    可以用在哪里

    • 分类

    主成分分析

    可以用在哪里

    • 数据中变量过多,要用较少的变量去解释原来资料中大部分的数据

    因子分析

    判别分析

    典型相关分析

    对应分析

    多维标度法

    优化算法

    模拟退火

    遗传算法

    评价和决策

    模糊综合评判法

    数据包络分析法

    灰色关联分析法

    主成分分析法

    秩和比综合评价法

    预测方法

    灰色预测

    回归分析预测

    差分方程

    马尔科夫预测

    时间序列

    差值拟合

    神经网络

    展开全文
  • 《Python数据分析与应用》第6章 使用 scikit-learn 构建模型 实训部分 【 黄红梅、张良均主编 中国工信出版集团和人民邮电出版社】 本博客题目文字主要来自: 印象笔记OCR文字识别转换(敲题目是不可能去敲题目的) ...

    题目来源:
    《Python数据分析与应用》第6章 使用 scikit-learn 构建模型 实训部分
    【 黄红梅、张良均主编 中国工信出版集团和人民邮电出版社】

    本博客题目文字主要来自:
    印象笔记OCR文字识别转换(敲题目是不可能去敲题目的)
    【OCR (Optical Character Recognition,光学字符识别)】

    数据集下载链接(下载后找到第6章->实训数据)

    实训1 使用 sklearn处理wine和wine_quality数据集

    1.训练要点
    (1)掌握 sklearn转换器的用法。
    (2)掌握训练集、测试集划分的方法。
    (3)掌握使用sklearn进行PCA降维的方法。

    2.需求说明
    wine数据集和 winequality数据集是两份和酒有关的数据集。wine数据集包含3种
    同起源的葡萄酒的记录,共178条。其中,每个特征对应葡萄酒的每种化学成分,并且都
    属于连续型数据。通过化学分析可以推断葡萄酒的起源。
    winequality数据集共有4898个观察值,11个输入特征和一个标签。其中,不同类的
    观察值数量不等,所有特征为连续型数据。通过酒的各类化学成分,预测该葡萄酒的评分

    3.实现思路及步骤
    (1)使用pandas库分别读取wine数据集和 winquality数据集
    (2)将wine数据集和winequality数据集的数据和标签拆分开。
    (3)将winequality数据集划分为训练集和测试集。
    (4)标准化wine数据集和 wine quality数据集
    (5)对wine数据集和 winequality数据集进行PCA降维。

    1)实验源代码

    ##使用sklearn处理wine和wine_quality数据集
    import pandas as pd
    #1、读取数据集
    wine = pd.read_csv('./第六章 实验数据/实训数据/wine.csv')
    #winequality = pd.read_csv('./第六章 实验数据test/实训数据/winequality.csv')
    winequality = pd.read_csv('./第六章 实验数据/实训数据/winequality.csv',sep = ';')
    
    #2、数据和标签拆分开
    wine_data=wine.iloc[:,1:]
    wine_target=wine['Class']
    winequality_data=winequality.iloc[:,:-1]
    winequality_target=winequality['quality']
    #winequality_target=winequality.iloc[:,-1]
    
    #3、划分训练集和测试集
    from sklearn.model_selection import train_test_split
    wine_data_train, wine_data_test, \
    wine_target_train, wine_target_test = \
    train_test_split(wine_data, wine_target, \
        test_size=0.1, random_state=6)
    
    winequality_data_train, winequality_data_test, \
    winequality_target_train, winequality_target_test = \
    train_test_split(winequality_data, winequality_target, \
        test_size=0.1, random_state=6)
    
    #4、标准化数据集
    from sklearn.preprocessing import StandardScaler #标准差标准化
    stdScale = StandardScaler().fit(wine_data_train) #生成规则(建模)
    wine_trainScaler = stdScale.transform(wine_data_train)#对训练集进行标准化
    wine_testScaler = stdScale.transform(wine_data_test)#用训练集训练的模型对测试集标准化
    
    stdScale = StandardScaler().fit(winequality_data_train) 
    winequality_trainScaler = stdScale.transform(winequality_data_train)
    winequality_testScaler = stdScale.transform(winequality_data_test)
    
    #5、PCA降维
    from sklearn.decomposition import PCA
    pca = PCA(n_components=5).fit(wine_trainScaler) 
    wine_trainPca = pca.transform(wine_trainScaler) 
    wine_testPca = pca.transform(wine_testScaler)
    
    pca = PCA(n_components=5).fit(winequality_trainScaler)
    winequality_trainPca = pca.transform(winequality_trainScaler) 
    winequality_testPca = pca.transform(winequality_testScaler)
    

    2) 编译代码并执行
    题目要求没要求输出,故这里就不写输出信息了。

    要想有点输出信息和测试啥的,可参考:
    【Python】读取sklearn数据集及常见操作记录(加载、划分、标准化、降维)

    3) 结果分析与思考
    ①本题wine数据集和winequality数据集的表现形式不一样,这里的wine数据集可以直接读入,而winequality数据集在文件中是以”;”为间隔的,故需要采用间隔读入的方式获取其数据
    ②这里读数据采用间隔形式有可能会出错(读入的数据只有一列,具体原因暂时不知)
    治标不治本的解决办法:在excel中通过“;”间隔将表格内容进行分割,再正常读入。

    实训2 构建基于wine数据集的k- Means聚类模型

    1.训练要点
    (1)了解sklearn估计器的用法。
    (2)掌握聚类模型的构建方法。
    (3)掌握聚类模型的评价方法。

    2.需求说明
    wine数据集的葡萄酒总共分为3种,通过将wine数据集的数据进行聚类,聚集为3
    个簇,能够实现葡萄酒的类别划分。

    3.实现思路及步骤
    (1)根据实训1的wine数据集处理的结果,构建聚类数目为3的- -Means模型。
    (2)对比真实标签和聚类标签求取FMI。
    (3)在聚类数目为2~10类时,确定最优聚类数目。
    (4)求取模型的轮廓系数,绘制轮廓系数折线图,确定最优聚类数目。
    (5)求取 Calinski-Harabasz-指数,确定最优聚类数目。

    1)实验源代码

    #实训2:构建基于wine数据集的K-Means聚类模型
    
    #从实训2开始需要基于前面的数据处理部分
    #1、根据实训1的wine数据集处理的结果,构建聚类数目为3的 K-Means模型
    from sklearn.cluster import KMeans
    #用标准化后的训练集建模
    kmeans = KMeans(n_clusters = 3,random_state=1).fit(wine_trainScaler)
    #用标准化后PCA降维后的训练集建模(采用降维后的数据聚类效果不好,故此处不采用)
    #kmeans = KMeans(n_clusters = 3,random_state=1).fit(wine_trainPca)
    print('构建的KMeans模型为:\n',kmeans)
    
    #2、对比真实标签和聚类标签求取FMI
    from sklearn.metrics import fowlkes_mallows_score #FMI评价法
    score=fowlkes_mallows_score(wine_target_train,kmeans.labels_)
    print("wine数据集的FMI:%f"%(score))
    
    #3、在聚类数目为2~10类时,确定最优聚类数目
    for i in range(2,11):
        ##构建并训练模型
        kmeans = KMeans(n_clusters = i,random_state=123).fit(wine_trainScaler)
        score = fowlkes_mallows_score(wine_target_train,kmeans.labels_)
        print('iris数据聚%d类FMI评价分值为:%f' %(i,score))
    
    #4、求取模型的轮廓系数,绘制轮廓系数折线图,确定最优聚类数目
    from sklearn.metrics import silhouette_score
    import matplotlib.pyplot as plt
    silhouettteScore = []
    for i in range(2,11):
        ##构建并训练模型
        kmeans = KMeans(n_clusters = i,random_state=1).fit(wine)
        score = silhouette_score(wine,kmeans.labels_)
        silhouettteScore.append(score)
    plt.figure(figsize=(10,6))
    plt.plot(range(2,11),silhouettteScore,linewidth=1.5, linestyle="-")
    plt.show()
    
    #5、求取 Calinski-Harabasz指数,确定最优聚类数
    from sklearn.metrics import calinski_harabaz_score
    for i in range(2,11):
        ##构建并训练模型
        kmeans = KMeans(n_clusters = i,random_state=1).fit(wine)
        score = calinski_harabaz_score(wine,kmeans.labels_)
        print('seeds数据聚%d类calinski_harabaz指数为:%f'%(i,score))
    

    2) 编译代码并执行
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    3) 结果分析与思考
    通过分析FMI评价分值,可以看出wine数据分3类的时候其FMI值最高,故聚类为3类的时候wine数据集K-means聚类效果最好

    通过分析轮廓系数折线图,可以看出在wine数据集为3的时候,其平均畸变程度最大,故亦可知聚类为3类的时候效果最佳

    通过分析Calinski-Harabasz指数,我们发现其数值大体随着聚类的种类的增加而变多,最大值出现在聚类为9类的时候,考虑到Calinski-Harabasz指数是不需要真实值的评估方法,其可信度不如FMI评价法,故这里有理由相信这里的Calinski-Harabasz指数评价结果是存在异常的。

    综上分析,加上对于实际数据的描述,wine数据集K-means聚类为3类的时候效果最好。

    实训3 构建基于wine数据集的SVM分类模型

    1.训练要点
    (1)掌握sklearn估计器的用法。
    (2)掌握分类模型的构建方法。
    (3)掌握分类模型的评价方法。

    2.需求说明
    wine数据集中的葡萄酒类别为3种,将wie数据集划分为训练集和测试集,使用训练
    集训练SVM分类模型,并使用训练完成的模型预测测试集的葡萄酒类别归属。

    3.实现思路及步骤
    (1)读取wine数据集,区分标签和数据。
    (2)将wine数据集划分为训练集和测试集
    (3)使用离差标准化方法标准化wine数据集。
    (4)构建SVM模型,并预测测试集结果。
    (5)打印出分类报告,评价分类模型性能。

    1)实验源代码

    #实训3:构建基于wine数据集的SVM分类模型
    #(1)读取wine数据集,区分标签和数据
    import pandas as pd
    wine = pd.read_csv('./第六章 实验数据/实训数据/wine.csv')
    wine_data=wine.iloc[:,1:]
    wine_target=wine['Class']
    
    #(2)将wine数据集划分为训练集和测试集
    from sklearn.model_selection import train_test_split
    wine_data_train, wine_data_test, \
    wine_target_train, wine_target_test = \
    train_test_split(wine_data, wine_target, \
        test_size=0.1, random_state=6)
    
    #(3)使用离差标准化方法标准化wine数据集。
    from sklearn.preprocessing import MinMaxScaler #标准差标准化
    stdScale = MinMaxScaler().fit(wine_data_train) #生成规则(建模)
    wine_trainScaler = stdScale.transform(wine_data_train)#对训练集进行标准化
    wine_testScaler = stdScale.transform(wine_data_test)#用训练集训练的模型对测试集标准化
    
    #(4)构建SVM模型,并预测测试集结果。
    from sklearn.svm import SVC 
    svm = SVC().fit(wine_trainScaler,wine_target_train)
    print('建立的SVM模型为:\n',svm)
    wine_target_pred = svm.predict(wine_testScaler)
    print('预测前10个结果为:\n',wine_target_pred[:10])
    
    #(5)打印出分类报告,评价分类模型性能
    from sklearn.metrics import classification_report
    print('使用SVM预测iris数据的分类报告为:','\n',
          classification_report(wine_target_test,
                wine_target_pred))
    

    2) 编译代码并执行
    在这里插入图片描述
    在这里插入图片描述
    3) 结果分析与思考
    本题划分的训练集和测试集的比例为9:1,训练的效果很好,通过观察分类报告,精确度、召回率、F1值等指标均达到了1.00,即预测结果全部正确的高正确率!这里,我们做一个额外小实验——将训练集和测试集的比例为划分为1:1,结果如下:
    在这里插入图片描述
    可见,模型得不到足够训练集训练,且测试集规模庞大时,结果并不能保证全对,但正确率确实也足够高了!

    实训4 构建基于wine_quality数据集的回归模型

    1.训练要点
    (1)熟练sklearn估计器的用法。
    (2)掌握回归模型的构建方法。
    (3)掌握回归模型的评价方法。

    2.需求说明
    winequality数据集的葡萄酒评分在1~10之间,建线性回归模型与梯度提升回归模
    型,训练 winequality数据集的训练集数据,训练完成后预测测试集的葡萄酒评分。结合
    真实评分,评价构建的两个回归模型的好坏。

    3.实现思路及步骤
    (1)根据winequality数据集处理的结果,构建线性回归模型。
    (2)根据wine quality数据集处理的结果,构建梯度提升回归模型。
    (3)结合真实评分和预测评分,计算均方误差中值绝对误差、可解释方差值。
    (4)根据得分,判定模型的性能优劣。

    1)实验源代码

    #实训4:构建基于 wine quality数据集的回归模型
    #(1)根据wine_quality数据集处理的结果,构建线性回归模型。
    from sklearn.linear_model import LinearRegression
    clf = LinearRegression().fit(winequality_trainPca,winequality_target_train)
    y_pred = clf.predict(winequality_testPca)
    print('线性回归模型预测前10个结果为:','\n',y_pred[:10])
    
    #(2)根据wine_quality数据集处理的结果,构建梯度提升回归模型。
    from sklearn.ensemble import GradientBoostingRegressor
    GBR_wine = GradientBoostingRegressor().\
    fit(winequality_trainPca,winequality_target_train)
    wine_target_pred = GBR_wine.predict(winequality_testPca)
    print('梯度提升回归模型预测前10个结果为:','\n',wine_target_pred[:10])
    print('真实标签前十个预测结果为:','\n',list(winequality_target_test[:10]))
    
    #(3)结合真实评分和预测评分,计算均方误差、中值绝对误差、可解释方差值。
    #(4)根据得分,判定模型的性能优劣
    print('线性回归模型评价结果:')
    print('winequality数据线性回归模型的平均绝对误差为:',
         mean_absolute_error(winequality_target_test,y_pred))
    print('winequality数据线性回归模型的均方误差为:',
         mean_squared_error(winequality_target_test,y_pred))
    print('winequality数据线性回归模型的中值绝对误差为:',
         median_absolute_error(winequality_target_test,y_pred))
    print('winequality数据线性回归模型的可解释方差值为:',
         explained_variance_score(winequality_target_test,y_pred))
    print('winequality数据线性回归模型的R方值为:',
         r2_score(winequality_target_test,y_pred))
    
    print('梯度提升回归模型评价结果:')
    from sklearn.metrics import explained_variance_score,\
    mean_absolute_error,mean_squared_error,median_absolute_error,r2_score
    print('winequality数据梯度提升回归树模型的平均绝对误差为:',
         mean_absolute_error(winequality_target_test,wine_target_pred))
    print('winequality数据梯度提升回归树模型的均方误差为:',
         mean_squared_error(winequality_target_test,wine_target_pred))
    print('winequality数据梯度提升回归树模型的中值绝对误差为:',
         median_absolute_error(winequality_target_test,wine_target_pred))
    print('winequality数据梯度提升回归树模型的可解释方差值为:',
         explained_variance_score(winequality_target_test,wine_target_pred))
    print('winequality数据梯度提升回归树模型的R方值为:',
         r2_score(winequality_target_test,wine_target_pred))
    
    

    2) 编译代码并执行
    在这里插入图片描述
    3) 结果分析与思考
    通过对比线性回归模型和梯度提升回归模型的前十个预测值与实际值的差异,我们能发现其结果与实际值是较为相近的,但这并不能判断出这两种方法的优劣程度。

    进一步,我们通过对比两者的回归评价指标发现,线性回归模型的平均绝对误差、均方误差、中值绝对误差都要大于梯度回归模型,而可解释方差和R2值都要小于梯度回归模型。对于一个回归模型来说,平均绝对误差、均方误差、中值绝对误差越接近0越好,可解释方差和R2值越接近1越好,因此可知,梯度回归模型在五个指标上都要优于线性回归模型,故在本题中,梯度回归模型性能更优!

    附加实验:分析PCA降维对于SVM分类的影响

    (一)对比实验及分析
    本附加测试实验基于实训3:构建基于wine数据集的SVM分类模型

    (1)当划分训练集和测试集比例为9:1的时候,PCA降维对于SVM分类准确度的影响见下图。
    在这里插入图片描述
    由图可见,当划分训练集和测试集比例为9:1的时候,不论是14维特征全部保留还是只有2维特征,其预测结果的正确率均为100%

    (2)当划分训练集和测试集比例为4:1的时候,PCA降维对于SVM分类准确度的影响见下图。
    在这里插入图片描述
    分析折线图可知,此时所降维维度和准确率呈现一种正相关的关系,即所降维维度越大其准确率效果会更好!

    (3)当划分训练集和测试集比例为1:1的时候,PCA降维对于SVM分类准确度的影响见下图。
    在这里插入图片描述

    分析折线图可知,当训练集和测试集比例为1:1的时候,其PCA降维对结果的影响较为明显,而且并不是维度越大越好(有的特征是具有一定的干扰性),这时,选取所降维的维度为7、8、9维时,SVM预测模型预测效果较好!

    (4)当划分训练集和测试集比例为1:4的时候,PCA降维对于SVM分类准确度的影响见下图。
    在这里插入图片描述
    可见,此时呈现的是所降维维度和准确率呈现一种负相关的关系,即维度越高,其准确率越低!

    (二)代码部分
    上面的实验结果通过调节train_test_split()函数中的test_size(说写float数字的含义为测试集的比例)来实现!

    #附加实验:分析不同降维维度对于SVM分类的影响
    #(1)读取wine数据集,区分标签和数据
    import pandas as pd
    from sklearn.svm import SVC 
    from sklearn.model_selection import train_test_split
    from sklearn.preprocessing import MinMaxScaler
    from sklearn.decomposition import PCA 
    import matplotlib.pyplot as plt 
    
    wine = pd.read_csv('./第六章 实验数据/实训数据/wine.csv')
    wine_data=wine.iloc[:,1:]
    wine_target=wine['Class']
    
    #(2)将wine数据集划分为训练集和测试集
    wine_data_train, wine_data_test, \
    wine_target_train, wine_target_test = \
    train_test_split(wine_data, wine_target, \
        test_size=0.8, random_state=6)  #训练集和测试集比例在这里调整!
    wine_target_test=wine_target_test.values
    
    #(3)使用离差标准化方法标准化wine数据集。
    stdScale = MinMaxScaler().fit(wine_data_train) #生成规则(建模)
    wine_trainScaler = stdScale.transform(wine_data_train)#对训练集进行标准化
    wine_testScaler = stdScale.transform(wine_data_test)#用训练集训练的模型对测试集标准化
    
    dimension=[]  #所降维维度
    accuracy=[]   #记录不同维度训练集训练的SVM所预测结果对应的准确率
    for i in range(2,14):
        dimension.append(i)
    for i in dimension:
        #PCA降维
        pca = PCA(n_components=i).fit(wine_trainScaler) 
        wine_trainPca = pca.transform(wine_trainScaler) 
        wine_testPca = pca.transform(wine_testScaler)
        #建立SVM模型  这里的核函数为默认的径向基核函数kernel='rbf' 
        svm = SVC().fit(wine_trainPca,wine_target_train)
        #预测训练集结果
        wine_target_pred= svm.predict(wine_testPca)
        #分析预测结果,求出其准确率
        true=0
        for i in range(0,wine_target_test.shape[0]):
            if wine_target_pred[i] == wine_target_test[i]:
                true+=1
        accuracy.append(true/wine_target_test.shape[0])
        print(wine_target_pred)   
    print(wine_target_test)
    print(accuracy)
    
    plt.rcParams['font.sans-serif']='SimHei'
    plt.plot(dimension,accuracy,"r-")
    plt.xlabel('PCA降维的维度')
    plt.ylabel('SVM预测分类结果的准确率')
    plt.title('当测试集和训练集比例为1:1时,PCA降维对于SVM分类准确度的影响')
    #plt.savefig("test(名字自己起).png")
    #plt.show()
    
    
    展开全文
  • Keras Model模型方法

    万次阅读 2018-10-19 15:40:38
    Model模型方法 compile compile(self, optimizer, loss, metrics=None, loss_weights=None, sample_weight_mode=None, weighted_metrics=None, target_tensors=None) 本函数编译模型以供训练,参数有 optimizer:...
  • Rmxprt Maxwell 生成2D和3D全模型方法

    万次阅读 2019-11-14 20:39:54
    使用ansys 19.2 maxwell 一键生成有限元模型功能,往往会出现2D或者3D仿真只有一部分,其实那是周期模型 要想生成全模型,可以在Rmxprt/design settings/User defined data 勾选enable,然后在里面填写:...
  • 模型压缩 方法汇总和梳理

    千次阅读 2018-11-05 15:39:56
    Introduction 预训练后的深度神经网络模型往往存在着严重的 过参数化 问题,其中只有约5%...为此,对模型进行 时间 和 空间 上的压缩,便谓之曰“模型压缩” 。 模型压缩技术包括 前端压缩...
  • **瀑布模型,原型模型,增量模型,螺旋模型,喷泉模型**,在实际项目中,通常数个模型方法共同使用
  • 一、什么是模型压缩? 模型压缩的目标是保证模型预测效果的前提下,尽可能地降低模型的大小 二、为什么要进行模型压缩? 1. 模型压缩后,模型很小,进行推断的运算量小,利于在移动端部署。 2. 诸如Bert等深度学习...
  • 多因子模型建立方法

    千次阅读 2019-05-12 12:23:03
    转 多因子模型建立方法 多因子模型是应用最广泛的一种选股模型,基本原理是采用一系列的因子作为选股标准,满足这些因子的股票则被买入,不满足的则被卖出。 举一个简单的例子:有一批人参加马拉松,如果想要知道...
  • 时间序列预测模型方法

    万次阅读 2016-04-21 13:46:36
    是以时间数列所能反映的社会经济现象的发展过程和规律性,进行引伸外推,预测其发展趋势的方法。 时间序列,也叫时间数列、历史复数或动态数列。它是将某种统计指标的数值,按时间先后顺序排到所形成的数列。时间...
  • 一、运营是什么? 定义:运营是产品和用户之间所有活动的总和。 运营,是与产品生产和服务创造密切相关的各项管理工作的总称。对于移动互联网业务而言,就是运作+经营,...四、主流的精益运营模型 五、大卫麦...
  • 8.5 更多的生成模型方法 除GAN外,目前还有其他采用深度网络的生成模型方法,而且它们的思想可互补,在此我们简单介绍。
  • tp6 控制器方法中引用模型(model)方法

    万次阅读 2020-01-01 15:13:29
    例子:模型LoginModel.php login.php中引用模型 控制器代码 1.引用use app\admin\model\LoginModel; 2.实例化 $loginMode = new LoginModel(); $loginData = $loginMode ->...创建模型方法...
  • 由于本篇文章针对的是“高维、海量”的训练数据,并且使用了相对简单的LR模型作为预测模型,因此我们在训练模型的过程中使用了MLE方法,设计相关的经验风险参数;其次由于本身的训练数据充足,因此在经验函数中并没有...
  • laravel model 模型详细基本用法

    千次阅读 2020-04-22 15:54:09
    laravel model 模型基本用法 一.定义模型 1.命令 php artisan make:model User 如果你想要在生成模型时生成数据库迁移,可以使用--migration 或-m 选项: php artisan make:model User --migration或-m 2....
  • 无线信道模型分类和建模方法介绍--附思维导图

    千次阅读 多人点赞 2020-11-16 16:32:18
    目录1 统计性模型(经验模型)1.1 模型分类(1)按衰落分类(2)按路径损耗和延迟拓展分类1.2 建模方法(1)方法一分类(2)方法二分类2 确定模型2.1 建模方法3 半确定模型3.1 建模方法4 思维导图PDF、xmind格式下载...
  • 以下几种模型方法属于判别式模型(Discriminative Model)的有() 1)混合高斯模型 2)条件随机场模型 3)区分度训练 4)隐马尔科夫模型 基本概念 监督学习的任务是学习一个模型,应用这个模型对给定的输入预测相应...
  • 常见的模型组合方法有:简单平均(Averaging),投票(voting),Bagging(randomforest),boosting(GBDT),stacking,blending等,在实际业务中,单一模型很难满足需求,组合模型才能达到业务的精度要求。...
  • 设计数据库有如下6个主要步骤: ...4、物理结构设计:设计数据的存储结构和存取方法,如索引的设计; 5、系统实施:组织数据入库、编制应用程序、试运行; 6、运行维护:系统投入运行,长期的维护工作...
  • 模型验证方法

    千次阅读 2020-05-17 21:51:30
    机器学习模型的验证方法笔记概要 模型本身及其背后学习方法的泛化性能(generalization performance),也就是模型对未知数据的预测能力,是机器学习的核心问题。可在一个问题的学习中,往往会出现不同的模型在训练...
  • 常见的预测模型及算法

    万次阅读 多人点赞 2020-05-01 13:22:18
    如果得到一份数据集,任务是要预测出一系列的值,而在预测任务中,我们大多数都采用的是拟合的方法,这篇文字主要介绍三种预测方法时间序列分析,灰色预测模型,神经网络。 时间序列分析 时间序列也叫动态序列,数据...
  • 随机效应模型介绍及实例分析

    万次阅读 多人点赞 2020-05-14 10:17:59
    随机效应模型介绍及实例分析一、模型定义1.1引入1.2模型一般形式二、模型的参数估计2.1固定效应和随机效应的估计2.2参数的极大似然估计2.3参数的限制极大似然估计三、实例分析3.1描述性统计参数估计四、附录4.1数据...
  • SolidWorks怎么导入3DSource零件库的模型?使用SolidWorks绘图的时候,需要插入一些做好的模型,那么该怎么办呢?
  • 你应该掌握的 7 种回归模型

    万次阅读 多人点赞 2018-07-19 21:26:56
    线性回归和逻辑回归通常是人们学习预测模型的第一个算法。由于这二者的知名度很大,许多分析人员以为它们就是回归的唯一形式了。而了解更多的学者会知道它们是所有回归模型的主要两种形式。 事实是有很多种回归形式...
  • 大家都知道,在我们做数据分析的时候,不仅需要掌握业务,对业务指标进行监控等,而且在有些时候我们需要掌握一些数据挖掘的方法来满足一些“特殊”的工作需要。这就经常用到机器学习的模型进行分类、回归等。那么,...
  • 模型调优方法

    千次阅读 2018-12-03 10:06:03
    模型调优方法 参数调整 效果优化 过拟合 欠拟合 权重分析 Bad-Case 分析
  • Python基于波动率模型(ARCH和GARCH)进行股票数据分析项目实战
  • 模型评价方法总结

    万次阅读 2019-02-17 21:15:25
    本文将简单综述模型评价的各种方法。 对于模型的评价,主要分为2个角度:一个是模型的Discrimination(区分度),或称预测精度,评价的指标包括AUC、C指数、NRI等;另一个是Goodness of Fit(拟合优度),或称...
  • 在AI场景下,我们同样需要定量的数值化指标,来指导我们更好地应用模型对数据进行学习和建模。本文讲解模型评估的一般流程,以及分类评估指标、回归评估指标的计算方式和适用场景。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,227,308
精华内容 890,923
关键字:

模型方法