项目地址 https://github.com/MLEveryday/100-Days-Of-ML-Code
原项目这一天的任务:
使用Scikit-Learn库实现了SVM算法以及内核函数,该函数将我们的数据点映射到更高维度以找到最佳超平面。
一、sklearn中的SVM算法
数据标准化处理
从sklearn.preprocessing导入StandardScaler
standardScaler = StandardScaler()
standardScaler.fit(测试数据X)
标准化的测试数据 = standardScaler.transform(X)
线性SVM算法
从sklearn.svm导入LinearSVC
svc=LinearSVC()
svc.fit(标准化的测试数据, y)
非线性,使用多项式特征
生成非线性函数:X, y = datasets.make_moons(noise=0.15, random_state=666)
从sklearn.preprocessing导入PolynomialFeatures
定义多项式函数
二、核函数
先将数据多项式化,再使用线性SVM
使用多项式核函数的SVM
从sklearn.svm导入SVC
数据标准化处理
SVC(kernel=“poly”, degree, c)
什么是核函数
以多项式核函数为例