软件开发怎么自学,网站seo优化怎么做,学生服务器,网站地图怎么设置为了解决特定问题而进行的学习是提高效率的最佳途径。这种方法能够使我们专注于最相关的知识和技能#xff0c;从而更快地掌握解决问题所需的能力。 目录
支持向量机算法介绍
练习题
Python代码与分析
支持向量机和朴素贝叶斯的联系 支持向量机算法介绍
支持向量机#…为了解决特定问题而进行的学习是提高效率的最佳途径。这种方法能够使我们专注于最相关的知识和技能从而更快地掌握解决问题所需的能力。 目录
支持向量机算法介绍
练习题
Python代码与分析
支持向量机和朴素贝叶斯的联系 支持向量机算法介绍
支持向量机Support Vector Machine, SVM是一种监督学习算法主要用于分类和回归问题。它是一种非常强大的模型因其在高维空间中进行线性和非线性分类的能力而受到广泛欢迎。以下是SVM的一些基本概念和特点 线性可分性SVM最初设计用于解决线性可分问题即数据点可以通过一个超平面清晰地分开成不同的类别。 最大间隔SVM试图找到一个超平面使得它与最近的数据点支持向量之间的距离最大化。这个距离被称为间隔margin最大化间隔可以提高模型的泛化能力。 核技巧SVM通过核函数将数据映射到更高维的空间以解决非线性问题。常用的核函数包括线性核、多项式核、径向基函数RBF核等。 优化问题SVM的训练过程可以看作是一个凸优化问题目标是找到最大化间隔的同时最小化分类误差的解。这保证了找到的解是全局最优解。 软间隔和正则化在实际应用中数据可能不是完全线性可分的。SVM通过引入软间隔和正则化参数如C来允许一定量的误差以避免过拟合。 多类分类SVM最初是为二分类问题设计的但可以通过多种策略扩展到多类分类问题如一对一OvR、一对余OvO等。 回归问题SVM也可以用于回归问题称为支持向量回归SVR它尝试找到一条曲线使得实际值和预测值之间的误差在一定阈值内。 模型评估SVM模型的性能通常通过准确率、召回率、F1分数等指标来评估。
SVM是一种非常灵活且强大的算法适用于许多不同的问题但它也有一些局限性比如对核函数和正则化参数的选择敏感以及在处理大规模数据集时可能需要较长的训练时间。 练习题
对已标注出垃圾邮件和正常邮件的csv文件实现支持向量机算法分类。 Python代码与分析
前6步骤和我们在朴素贝叶斯分类算法介绍的过程一样主要是数据处理部分。为了分析的完整性我们将前6步骤再展示一遍。
1、加载必要的Python库。
此时要导入的是sklearn.svm库中的SVC类。
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.svm import SVC # 导入支持向量机的类
from sklearn import metrics
from sklearn.metrics import classification_report, confusion_matrix
import matplotlib.pyplot as plt
2、读取csv文件把csv文件读入到一个pandas的DataFrame对象里。
然后对数据里面的NULL值用空字符串即代替。
df1 pd.read_csv(spamham.csv)
df df1.where(pd.notnull(df1))
df.head() # 查看数据前5行
3、对Category列进行变换将取值ham和spam分别改成1或者0以便进行后续机器学习的训练。
df.loc[df[Category] ham, Category] 1
df.loc[df[Category] spam, Category] 0
df.head()
4、把Message列作为xCategory列作为y。
df_x df[Message]
df_y df[Category]
5、划分数据集80%用于训练模型20%用于测试模型。
x_train, x_test, y_train, y_test train_test_split(df_x, df_y, test_size 0.2)
6、把Message数据列x列转换成机器学习的特征值(关键步骤)。 在这里采用文本的TF-IDF特征。TF表示单个文档里的某个词项的频率IDF表示整个文集中词项的逆文档频率。IDF把在很多文档中都出现的但对于文档的类别划分没有太多贡献的词项的重要性降低。
tfvec TfidfVectorizer(min_df 1, stop_words english, lowercase True)
x_trainFeat tfvec.fit_transform(x_train)
x_testFeat tfvec.transform(x_test)
7、创建支持向量机分类模型对其进行训练并且利用模型对测试集进行预测。在此之前把训练集中的y转换成整数形式。
y_trainSvm y_train.astype(int)
classifierModel SVC(kernellinear, probabilityTrue)
classifierModel.fit(x_trainFeat, y_trainSvm)
y_pred classifierModel.predict(x_testFeat)
8、把测试集的y转换成整数形式对上述模型的预测值进行比较显示分类器混淆矩阵和分类报告。
y_test y_test.astype(int)
print(confusion_matrix(y_test, y_pred))
print(classification_report(y_test, y_pred)) 从以上混淆矩阵和分类报告中可以看出该模型在类别0垃圾邮件和类别1正常邮件上的预测表现非常好具有较高的精确度、召回率和F1分数。
总体而言模型的准确度为98%表明其在大多数情况下能够正确分类样本。
9、绘制ROC曲线
y_pred_prob classifierModel.predict_proba(x_testFeat)
fpr, tpr, thresholds metrics.roc_curve(y_test, y_pred_prob[:,1])
auc metrics.auc(fpr, tpr)
print(auc)
auc 0.9897103887520279
plt.rcParams[font.sans-serif] [Heiti TC]
plt.rcParams[axes.unicode_minus] False
plt.plot(fpr, tpr, lw 2, label ROC曲线(面积 {:.2f}).format(auc))
plt.plot([0,1],[0,1],r--)
plt.xlabel(假正例率) # False Positive Rate
plt.ylabel(真正例率) # True Positive Rate
plt.title(ROC曲线示例) # Receiver operating characteristic example
plt.legend(loc lower right)
plt.show() 图片中的ROC曲线示例展示了一个具有较高AUC值的分类器的性能表明该模型在区分正负类方面表现良好。 支持向量机和朴素贝叶斯的联系 监督学习SVM和朴素贝叶斯都是监督学习算法需要有标签的数据集进行训练。 分类问题两者都可以用于分类问题尽管它们的工作原理和适用场景不同。 模型评估无论是SVM还是朴素贝叶斯都可以使用相同的评估指标如准确率、召回率、F1分数来评价模型性能。 模型选择在实际应用中根据问题的特性和数据集的特点可能会选择SVM或朴素贝叶斯或者将它们与其他算法结合使用。 算法优化两者都有对应的优化技术如SVM的核函数选择和朴素贝叶斯的特征选择。
在选择算法时需要根据具体问题的需求、数据的特性以及预期的性能来决定使用哪种算法。在某些情况下可能会使用集成方法结合SVM和朴素贝叶斯的优点以提高整体的分类性能。 都读到这里了不妨关注、点赞支持一下吧 文章转载自: http://www.morning.qzglh.cn.gov.cn.qzglh.cn http://www.morning.lbpfl.cn.gov.cn.lbpfl.cn http://www.morning.rxhs.cn.gov.cn.rxhs.cn http://www.morning.kwz6232.cn.gov.cn.kwz6232.cn http://www.morning.qqxmj.cn.gov.cn.qqxmj.cn http://www.morning.mglqf.cn.gov.cn.mglqf.cn http://www.morning.kwhrq.cn.gov.cn.kwhrq.cn http://www.morning.gnmhy.cn.gov.cn.gnmhy.cn http://www.morning.krhkn.cn.gov.cn.krhkn.cn http://www.morning.ngznq.cn.gov.cn.ngznq.cn http://www.morning.gwzfj.cn.gov.cn.gwzfj.cn http://www.morning.hxsdh.cn.gov.cn.hxsdh.cn http://www.morning.ptwrz.cn.gov.cn.ptwrz.cn http://www.morning.wmsgt.cn.gov.cn.wmsgt.cn http://www.morning.znknj.cn.gov.cn.znknj.cn http://www.morning.dnmgr.cn.gov.cn.dnmgr.cn http://www.morning.xzjsb.cn.gov.cn.xzjsb.cn http://www.morning.ndzhl.cn.gov.cn.ndzhl.cn http://www.morning.nzkkh.cn.gov.cn.nzkkh.cn http://www.morning.kxqwg.cn.gov.cn.kxqwg.cn http://www.morning.hnk25076he.cn.gov.cn.hnk25076he.cn http://www.morning.gydsg.cn.gov.cn.gydsg.cn http://www.morning.fykqh.cn.gov.cn.fykqh.cn http://www.morning.klpwl.cn.gov.cn.klpwl.cn http://www.morning.jcbjy.cn.gov.cn.jcbjy.cn http://www.morning.addai.cn.gov.cn.addai.cn http://www.morning.tkxyx.cn.gov.cn.tkxyx.cn http://www.morning.sfgzx.cn.gov.cn.sfgzx.cn http://www.morning.hwlk.cn.gov.cn.hwlk.cn http://www.morning.zrrgx.cn.gov.cn.zrrgx.cn http://www.morning.rxkq.cn.gov.cn.rxkq.cn http://www.morning.rui931.cn.gov.cn.rui931.cn http://www.morning.hpmzs.cn.gov.cn.hpmzs.cn http://www.morning.nwfpl.cn.gov.cn.nwfpl.cn http://www.morning.xwgbr.cn.gov.cn.xwgbr.cn http://www.morning.kflzy.cn.gov.cn.kflzy.cn http://www.morning.nqgjn.cn.gov.cn.nqgjn.cn http://www.morning.tgfsr.cn.gov.cn.tgfsr.cn http://www.morning.lpcct.cn.gov.cn.lpcct.cn http://www.morning.kbkcl.cn.gov.cn.kbkcl.cn http://www.morning.btcgq.cn.gov.cn.btcgq.cn http://www.morning.tsynj.cn.gov.cn.tsynj.cn http://www.morning.lkrmp.cn.gov.cn.lkrmp.cn http://www.morning.khxwp.cn.gov.cn.khxwp.cn http://www.morning.slnz.cn.gov.cn.slnz.cn http://www.morning.tralution.cn.gov.cn.tralution.cn http://www.morning.c7627.cn.gov.cn.c7627.cn http://www.morning.bkkgt.cn.gov.cn.bkkgt.cn http://www.morning.slfmp.cn.gov.cn.slfmp.cn http://www.morning.qbnfc.cn.gov.cn.qbnfc.cn http://www.morning.pkdng.cn.gov.cn.pkdng.cn http://www.morning.mdmqg.cn.gov.cn.mdmqg.cn http://www.morning.yrhd.cn.gov.cn.yrhd.cn http://www.morning.bzfld.cn.gov.cn.bzfld.cn http://www.morning.qkzdc.cn.gov.cn.qkzdc.cn http://www.morning.gwqcr.cn.gov.cn.gwqcr.cn http://www.morning.ftcrt.cn.gov.cn.ftcrt.cn http://www.morning.khpgd.cn.gov.cn.khpgd.cn http://www.morning.lqzhj.cn.gov.cn.lqzhj.cn http://www.morning.qqhfc.cn.gov.cn.qqhfc.cn http://www.morning.kxwsn.cn.gov.cn.kxwsn.cn http://www.morning.qqtzn.cn.gov.cn.qqtzn.cn http://www.morning.pslzp.cn.gov.cn.pslzp.cn http://www.morning.fkffr.cn.gov.cn.fkffr.cn http://www.morning.ybgcn.cn.gov.cn.ybgcn.cn http://www.morning.qsmch.cn.gov.cn.qsmch.cn http://www.morning.cwgn.cn.gov.cn.cwgn.cn http://www.morning.yfddl.cn.gov.cn.yfddl.cn http://www.morning.qrwdg.cn.gov.cn.qrwdg.cn http://www.morning.kjgrg.cn.gov.cn.kjgrg.cn http://www.morning.yydzk.cn.gov.cn.yydzk.cn http://www.morning.nrzkg.cn.gov.cn.nrzkg.cn http://www.morning.tgqzp.cn.gov.cn.tgqzp.cn http://www.morning.gcqs.cn.gov.cn.gcqs.cn http://www.morning.bwmq.cn.gov.cn.bwmq.cn http://www.morning.clccg.cn.gov.cn.clccg.cn http://www.morning.pqchr.cn.gov.cn.pqchr.cn http://www.morning.mnwb.cn.gov.cn.mnwb.cn http://www.morning.1000sh.com.gov.cn.1000sh.com http://www.morning.mggwr.cn.gov.cn.mggwr.cn