万能算法(一):支持向量机svm在任意csv、dat数据情况下的模型拟合、预测

很多小伙伴在学习机器学习算法过程中,最苦恼的莫过于那些课程上的机器学习算法都是有着特定限定条件的,比如要求什么样的数据,代码的局限性很强,使用一个新的数据马上就出错,因此结合经验,写出第一个SVM的较为普适一点的算法:
第一步:首先导入库
import pandas as pd
import numpy as np
from sklearn import svm
import matplotlib.pyplot as plt
第二步:准备数据
这一步也是很多同学复现算法不成功的关键,你搜集到的数据跟你学习的视频上面的数据不是一回事,以下数据都是csv数据,dat数据文件也可以转换为csv数据,具体转换方式见我博客。
data1 = pd.read_csv(“banana.csv”)
data = data1.values
#对数据格式进行处理,将dateframe格式转化为ndarray格式
x_data = data[:,:-1]
y_data = data[:,-1]
注意,最好暴力去除列表内的表头
第三步:查看数据是否是数组形式
在这里插入图片描述
第四步:模型拟合
model = svm.SVC(kernel=‘rbf’, C=2, gamma=1)
model.fit(x_data, y_data)
在这里插入图片描述
第五步:模型评测
model.score(x_data, y_data)
在这里插入图片描述
第六步:模型预测
y_train_pred = model.predict(x_data)
print(‘The predction result:’,y_train_pred)
#继续进行分类预测,其实就是使用训练出来的模型再对原本的x_data进行预测,预测精度肯定特别高,实际中x_data应该是用来验证的新数据集
实际中可以更改x_data为预先准备好的数组型测试数据,
在这里插入图片描述
得出结果,本次代码较为简单,主要是为了适应大多数同学所需要使用的数据文件,根据这个代码可以任意一个csv数据文件都可以跑出svm算法!

猜你喜欢

转载自blog.csdn.net/ChangHongYin/article/details/109297030