当前位置: 首页 > news >正文

产品做优化好还是超级网站好代理网页 国外

产品做优化好还是超级网站好,代理网页 国外,wordpress 文章翻页,建设青岛公司网站SVM#xff0c;即支持向量机#xff08;Support Vector Machine#xff09;#xff0c;是一种常见的机器学习算法#xff0c;用于分类和回归分析。SVM的基本思想是将数据集映射到高维空间中#xff0c;在该空间中找到一个最优的超平面#xff0c;将不同类别的数据点分开…    SVM即支持向量机Support Vector Machine是一种常见的机器学习算法用于分类和回归分析。SVM的基本思想是将数据集映射到高维空间中在该空间中找到一个最优的超平面将不同类别的数据点分开。这个最优的超平面可以最大化不同类别数据点之间的间隔从而使得分类的边界更加鲁棒和稳定。在实际应用中SVM的核函数可以使用不同的变换包括线性核、多项式核和径向基函数RBF核等以适应不同的数据类型和特征空间。SVM算法在分类和回归问题上都具有很好的表现并且具有较强的泛化能力和鲁棒性。  SVM本身是一个二值分类器最初是为二分类问题设计的也就是回答Yes或者是No。而实际上我们要解决的问题可能是多分类的情况比如对文本进行分类或者对图像进行识别。针对这种情况我们可以将多个二分类器组合起来形成一个多分类器常见的方法有“一对多法”和“一对一法”两种。 1.一对多法 假设我们要把物体分成A、B、C、D四种分类那么我们可以先把其中的一类作为分类1其他类统一归为分类2。这样我们可以构造4种SVM分别为以下的情况 1样本A作为正集BCD作为负集 2样本B作为正集ACD作为负集 3样本C作为正集ABD作为负集 4样本D作为正集ABC作为负集。 这种方法针对K个分类需要训练K个分类器分类速度较快但训练速度较慢因为每个分类器都需要对全部样本进行训练而且负样本数量远大于正样本数量会造成样本不对称的情况而且当增加新的分类比如第K1类时需要重新对分类器进行构造。 2.一对一法 一对一法的初衷是想在训练的时候更加灵活。我们可以在任意两类样本之间构造一个SVM这样针对K类的样本就会有C(k,2)类分类器。 比如我们想要划分A、B、C三个类可以构造3个分类器 1分类器1A、B 2分类器2A、C 3分类器3B、C。 当对一个未知样本进行分类时每一个分类器都会有一个分类结果即为1票最终得票最多的类别就是整个未知样本的类别。这样做的好处是如果新增一类不需要重新训练所有的SVM只需要训练和新增这一类样本的分类器。而且这种方式在训练单个SVM模型的时候训练速度快。上面介绍了SVM的相关概念在实际应用中如果要使用SVM完成分类问题实际包含5步骤 收集数据收集用于分类的数据集并将每个数据点标记为其相应的类别。 特征选择和数据预处理选择用于分类的特征对数据进行预处理如归一化、缩放或标准化等以便在训练模型之前使数据更具有可比性和可解释性。 分割训练集和测试集将数据集分为训练集和测试集以便训练模型并评估其性能。 训练模型使用训练集训练SVM模型并选择适当的核函数和参数。 模型评估使用测试集评估模型的性能并根据需要调整模型参数和核函数。 应用模型使用训练好的SVM模型对新数据进行分类预测其类别并根据预测结果进行相应的决策或操作。 下面是使用Skitlearn提供的函数采用SVM模型完成分类任务的demo代码。 from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.svm import SVC from sklearn.metrics import accuracy_score from sklearn.preprocessing import StandardScaler from sklearn.pipeline import make_pipeline# Load the iris dataset iris datasets.load_iris()# Split the data into training and testing sets X_train, X_test, y_train, y_test train_test_split(iris.data,iris.target,test_size0.3,random_state42)# Create a pipeline that standardizes the data and applies an RBF kernel SVM pipeline make_pipeline(StandardScaler(), SVC(kernelrbf))# Train the pipeline on the training data pipeline.fit(X_train, y_train)# Use the trained pipeline to make predictions on the testing data y_pred pipeline.predict(X_test)# Calculate the accuracy of the pipeline accuracy accuracy_score(y_test, y_pred)print(fAccuracy: {accuracy}) 在上面的demo代码中make_pipeline(StandardScaler, SVC(kernelrbf))中传入的核函数SVC是Support Vector Classification的缩写SVC的构造函数model svm.SVC(kernel‘rbf’, C1.0, gamma‘auto’)这里有三个重要的参数kernel、C和gamma。kernel代表核函数的选择它有四种选择只不过默认是rbf即高斯核函数。 linear线性核函数 poly多项式核函数 rbf高斯核函数默认 sigmoidsigmoid核函数 这四种函数代表不同的映射方式线性核函数是在数据线性可分的情况下使用的运算速度快效果好。不足在于它不能处理线性不可分的数据。多项式核函数可以将数据从低维空间映射到高维空间但参数比较多计算量大。高斯核函数同样可以将样本映射到高维空间但相比于多项式核函数来说所需的参数比较少通常性能不错所以是默认使用的核函数。sigmoid经常用在神经网络的映射中。因此当选用sigmoid核函数时SVM实现的是多层神经网络。 上面的Demo是比较简单的一个例子下面再来看一个稍微复杂的Demo例子。下面这个例子多了数据处理和特征选择的过程相比较上面的例子最终还是生成一份特性矩阵和lable的数据。 # -*- coding: utf-8 -*- # 乳腺癌诊断分类 import pandas as pd import matplotlib.pyplot as plt import seaborn as sns from sklearn.model_selection import train_test_split from sklearn import svm from sklearn import metrics from sklearn.preprocessing import StandardScaler# 加载数据集你需要把数据放到目录中 data pd.read_csv(./breast_cancer_data/data.csv)# 数据探索 # 因为数据集中列比较多我们需要把dataframe中的列全部显示出来 pd.set_option(display.max_columns, None) print(data.columns) print(data.head(5)) print(data.describe())# 将特征字段分成3组 features_mean list(data.columns[2:12]) features_se list(data.columns[12:22]) features_worst list(data.columns[22:32])# 数据清洗 # ID列没有用删除该列 data.drop(id, axis1, inplaceTrue) # 将B良性替换为0M恶性替换为1 data[diagnosis] data[diagnosis].map({M: 1, B: 0})# 将肿瘤诊断结果可视化 sns.countplot(data[diagnosis], labelCount) plt.show() # 用热力图呈现features_mean字段之间的相关性 corr data[features_mean].corr() plt.figure(figsize(14, 14)) # annotTrue显示每个方格的数据 sns.heatmap(corr, annotTrue) plt.show()# 特征选择 features_remain [radius_mean, texture_mean, smoothness_mean, compactness_mean,symmetry_mean, fractal_dimension_mean ]# 抽取30%的数据作为测试集其余作为训练集 train, test train_test_split(data,test_size0.3) # in this our main data is splitted into train and test # 抽取特征选择的数值作为训练和测试数据 train_X train[features_remain] train_y train[diagnosis] test_X test[features_remain] test_y test[diagnosis]# 采用Z-Score规范化数据保证每个特征维度的数据均值为0方差为1 ss StandardScaler() train_X ss.fit_transform(train_X) test_X ss.transform(test_X)# 创建SVM分类器 model svm.SVC() # 用训练集做训练 model.fit(train_X, train_y) # 用测试集做预测 prediction model.predict(test_X) print(准确率: , metrics.accuracy_score(prediction, test_y)) 原始数据Data.csv是一份检测乳腺癌特征值的数据其中Diagnosis为M表示阳性为B表示阴性。 后面的字段都是特征值每种特征值包含mean,se,worst三种情况上面的demo代码中选取了mean作为特性字段对数据进行降维处理。
http://www.pierceye.com/news/785442/

相关文章:

  • 成都门户网站建设多少钱聚合广告联盟
  • 坦克大战网站开发课程设计报告软文营销的本质
  • 美食网站开发网站登录验证码是怎么做的
  • 电子商务网站排名辽宁省建设工程信息网业绩公示
  • 天津建设科技杂志的官方网站wordpress cnzz插件
  • 滨州建设网站太原网站建设优化
  • 记事本做网站怎么改字体包装设计模板设计素材
  • 下载软件的网站推荐thinkphp和wordpress
  • 青海省城乡和住房建设厅网站合肥小吃培训网页设计
  • 财经门户网站建设django校园网站开发
  • 泉州网站建设报价广东建设厅网站
  • 建设网站的源代码的所有权wordpress网站打开慢
  • 印度外贸网站有哪些家居小程序源码下载
  • 上海网站建设中心pc官方网站
  • 深圳企业网站制作公司查询西安网站设计哪家好
  • 大埔做网站手机qq邮箱发布了wordpress
  • 寻找南昌网站设计单位网站建设 中企动力医院
  • 中间商可以做网站吗平面广告设计师的工作内容
  • 网站建设用户分析做网站有什么软件
  • 洛阳网站建设启辰网络wordpress怎么破解查看
  • 长沙市网站设计公司厦门建设网站建站
  • 网站做链轮会被惩罚吗网站开发系统
  • 一般做企业网站需要什么资料WordPress情侣博客模板
  • 网站开发教程公司哪些官网用wordpress
  • redis网站开发教程创建app软件
  • 企业网站新闻wp怎么做合肥环保公司网站建设
  • 怎么仿一个复杂的网站wordpress描述怎么改
  • php 如何用op浏览器开发手机网站app开发制作哪种快
  • 网站维护主要有哪些内容和方法网页制作需要学多久
  • 机械加工网站模板做蛋糕比较火的网站