# -*- coding: utf-8 -*-
from sklearn.datasets import load_iris #载入自带牵牛花数据
from sklearn.cross_validation import train_test_split #使用交叉验证划分数据集
from sklearn import preprocessing #数据预处理
#读取数据
iris = load_iris()
X_iris , y_iris = iris.data , iris.target #F分别从两个包里导入特征和标签
#选取特征和标签(本数据有三列特征,一列分类这里由于是线性所以选两个特征,这里选择前两列)
X, y = X_iris[:, :2], y_iris
#选取训练集和测试集,这里25%为测试集
#random_state作用是使随机数据在随机后固定,这样可以重复使用当前的数据
X_train , X_test , y_train , y_test = train_test_split(X,y,test_size=0.25 ,random_state=33)
#对原有特征进行标准化预处理
scaler = preprocessing.StandardScaler()
X_train = scaler.fit_transform(X_train)#fit获取特征信息和目标值信息,然后对其transform进行特征转换
X_test = scaler.transform(X_test)#测试集只需要对其进行特征转换
#实行训练
from sklearn.linear_model import SGDClassifier #使用线性模型中的SGD分类器
clf = SGDClassifier() #调用分类器
clf.fit(X_train,y_train) #载入训练集开始训练
#导入评价包
from sklearn import metrics #蕴含评估方法的包
y_train_predict = clf.predict(X_train) #获取训练集的测试结果
print y_train #输出正确label
print y_train_predict #输出训练后的label
#对训练集的准确性进行评估
print metrics.accuracy_score(y_train,y_train_predict) #前者是正确label,后者是训练出的结果label,这里结果是分对类的概率
#对测试集进行评估
y_predict = clf.predict(X_test)
print metrics.accuracy_score(y_test, y_predict)
#这里输出的是对分配给每个类别的概率估计,这里选取的是两个类别
使用scikit-learn实现逻辑回归对牵牛花类别的预测
最新推荐文章于 2020-10-28 18:38:30 发布