python大规模机器学习day10-Scikit-learn的SVM实现
Scikit-learn的SVM实现
实验要求:
1.分类
实验内容
代码注释:
代码1:
import os
print (“Current directory is: “%s”” % (os.getcwd())) //directory是目录的意思,当前目录用os.getcwd()来提取
代码2:
from sklearn import datasets //datasets 这个项目收集了大量的数据集,旨在将它们组织成一个通用的、pip可安装的体系结构。
iris = datasets.load_iris() //加载datasets中的Iris数据集
X_i, Y_i = iris.data, iris.target
from sklearn.svm import SVC
from sklearn.model_selection import cross_val_score
import numpy as np
h_class=SVC(kernel=‘rbf’, C=1.0,gamma=0.7, random_state=101)
scores = cross_val_score(h_class,X_i, Y_i,cv=20,scoring=‘accuracy’) //使用RBF核函数拟合SVC。实现二分类和多类线性和核函数分类
print(‘Accuracy: %0.3f’ %np.mean(scores))
代码3:
h_class.fit(X_i,Y_i)
print (h_class.support_) //拟合模型可为用户指出训练样例中支持向量的索引。
代码4:
import numpy as np
from sklearn.datasets import load_boston //使用Boston数据集
from sklearn.preprocessing import StandardScaler //StandardScaler()可以数据标准化,然后记录平均值和标准差
scaler = StandardScaler()
boston =load_boston() //加载boston数据集
shuffled = np.random.permutation(boston.target.size)
X_b=scaler.fit_transform(boston.data[shuffled,:])//进行随机化实例排序
Y_b=boston.target[shuffled]
from sklearn.svm import SVR
from sklearn.model_selection import cross_val_score
h_regr = SVR(kernel=‘rbf’,C=20.0,gamma=0.001,epsilon=1.0)
scores=cross_val_score(h_regr, X_b, Y_b,cv=20,scoring=‘mean_squared_error’)
print (“Mean Squared Error: %0.3f” % abs(np.mean(scores)))
运行截图:
源代码:
代码1:
import os
print (“Current directory is: “%s”” % (os.getcwd()))
代码2:
from sklearn import datasets
iris = datasets.load_iris()
X_i, Y_i = iris.data, iris.target
from sklearn.svm import SVC
from sklearn.model_selection import cross_val_score
import numpy as np
h_class=SVC(kernel=‘rbf’, C=1.0,gamma=0.7, random_state=101)
scores = cross_val_score(h_class,X_i, Y_i,cv=20,scoring=‘accuracy’)
print(‘Accuracy: %0.3f’ %np.mean(scores))
代码3:
h_class.fit(X_i,Y_i)
print (h_class.support_)
代码4:
import numpy as np
from sklearn.datasets import load_boston
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
boston =load_boston()
shuffled = np.random.permutation(boston.target.size)
X_b=scaler.fit_transform(boston.data[shuffled,:])
Y_b=boston.target[shuffled]
from sklearn.svm import SVR
from sklearn.model_selection import cross_val_score
h_regr = SVR(kernel=‘rbf’,C=20.0,gamma=0.001,epsilon=1.0)
scores=cross_val_score(h_regr, X_b, Y_b,cv=20,scoring=‘mean_squared_error’)
print (“Mean Squared Error: %0.3f” % abs(np.mean(scores)))
实验总结:
出现的这个问题无法解决,但是把出错部分删去可以得到结果。