import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn import datasets #一、数据的获取 iris = datasets.load_iris() #df=pd.DataFrame(iris.data,columns=iris.feature_names) #df['target']=iris.target #plt.plot(df) #plt.show() #二、数据预处理 from sklearn import preprocessing scaler=preprocessing.MinMaxScaler() #MinMaxScaler将样本特征值线性缩放到0.1之间 scaler.fit(iris.data) data=scaler.transform(iris.data) target=iris.target #三、模型的训练 from sklearn.model_selection import train_test_split #引入模型选择的库 #这里面输入数据集,然后指定训练集的大小,比如:1/3,可以设置 X_train,X_test,y_train,y_test=train_test_split(data,target,test_size=1/3) from sklearn import svm clf = svm.SVC(kernel='linear',C=1) clf.fit(X_train,y_train) #用训练集数据喂养模型 a=clf.predict(X_test) b=clf.get_params() #查看模型的参数 c=clf.score(X_test,y_test)#查看匹配度,正确率 #四、模型的评估 #分类模型评分报告 from sklearn.metrics import classification_report print(classification_report(target,clf.predict(data),target_names=iris.target_names)) from sklearn.model_selection import cross_val_score #k折交叉验证 scores= cross_val_score(clf,data,target,cv=5) #五、模型的优化 #pass #六、模型持久化 import pickle s = pickle.dumps(clf) #保存模型成为字符串 clf2=pickle.loads(s) #从字符串加载模型 a=clf2.predict(data) from sklearn.externals import joblib joblib.dump(clf,'filename.pkl')#保存模型到文件 clf3=joblib.load('filename.pkl') #加载文件 a=clf3.predict(data)
sklearn简单实现鸢尾花实例svm分类器
最新推荐文章于 2024-07-04 20:12:01 发布