《python机器学习及实践-从零开始通往kaggle竞赛之路(代码Python 3.6 版)》chapter2.1.1.4

来源:互联网 发布:域名备案是什么部门 编辑:程序博客网 时间:2024/06/05 09:15

# 从sklearn.datasets 导入 iris数据加载器。from sklearn.datasets import load_iris# 使用加载器读取数据并且存入变量iris。iris = load_iris()# 查验数据规模。print (iris.data.shape)a = iris.dataprint (a[1])# 查看数据说明。对于一名机器学习的实践者来讲,这是一个好习惯。print (iris.DESCR)
输出为:

(150, 4)[ 4.9  3.   1.4  0.2]

====================Notes-----Data Set Characteristics:    :Number of Instances: 150 (50 in each of three classes)    :Number of Attributes: 4 numeric, predictive attributes and the class    :Attribute Information:        - sepal length in cm        - sepal width in cm        - petal length in cm        - petal width in cm        - class:                - Iris-Setosa                - Iris-Versicolour                - Iris-Virginica    :Summary Statistics:

# 从sklearn.cross_validation里选择导入train_test_split用于数据分割。from sklearn.model_selection import train_test_split# 从使用train_test_split,利用随机种子random_state采样25%的数据作为测试集。X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.25, random_state=33)# 从sklearn.preprocessing里选择导入数据标准化模块。from sklearn.preprocessing import StandardScaler# 从sklearn.neighbors里选择导入KNeighborsClassifier,即K近邻分类器。from sklearn.neighbors import KNeighborsClassifier# 对训练和测试的特征数据进行标准化。ss = StandardScaler()X_train = ss.fit_transform(X_train)X_test = ss.transform(X_test)# 使用K近邻分类器对测试数据进行类别预测,预测结果储存在变量y_predict中。knc = KNeighborsClassifier()knc.fit(X_train, y_train)y_predict = knc.predict(X_test)# 使用模型自带的评估函数进行准确性测评。print ('The accuracy of K-Nearest Neighbor Classifier is', knc.score(X_test, y_test) )
输出为:

The accuracy of K-Nearest Neighbor Classifier is 0.894736842105
# 依然使用sklearn.metrics里面的classification_report模块对预测结果做更加详细的分析。from sklearn.metrics import classification_reportprint (classification_report(y_test, y_predict, target_names=iris.target_names))
             precision    recall  f1-score   support     setosa       1.00      1.00      1.00         8 versicolor       0.73      1.00      0.85        11  virginica       1.00      0.79      0.88        19avg / total       0.92      0.89      0.90        38




阅读全文
0 0
原创粉丝点击