资源简介

#coding=utf-8
"""
#演示目的:利用鸢尾花数据集画出P-R曲线
"""
print(__doc__)

import matplotlib.pyplot as plt
import numpy as np
from sklearn import svm, datasets
from sklearn.metrics import precision_recall_curve
from sklearn.metrics import average_precision_score
from sklearn.preprocessing import label_binarize
from sklearn.multiclass import OneVsRestClassifier

#from sklearn.cross_validation import train_test_split #适用于anaconda 3.6及以前版本
from sklearn.model_selection import train_test_split#适用于anaconda 3.7

#以iris数据为例,画出P-R曲线
iris = datasets.load_iris()
X = iris.data
y = iris.target

# 标签二值化,将三个类转为001, 010, 100的格式.因为这是个多类分类问题,后面将要采用
#OneVsRestClassifier策略转为二类分类问题
y = label_binarize(y, classes=[0, 1, 2])
n_classes = y.shape[1]
print (y)

资源截图

代码片段和文件信息

# -*- coding: utf-8 -*-
“““
Created on Wed Mar 18 10:36:21 2020

@author: Administrator
“““

#coding=utf-8
“““
#演示目的:利用鸢尾花数据集画出P-R曲线
“““
print(__doc__)
 
import matplotlib.pyplot as plt
import numpy as np
from sklearn import svm datasets
from sklearn.metrics import precision_recall_curve
from sklearn.metrics import average_precision_score
from sklearn.preprocessing import label_binarize
from sklearn.multiclass import OneVsRestClassifier
 
#from sklearn.cross_validation import train_test_split  #适用于anaconda 3.6及以前版本
from sklearn.model_selection import train_test_split#适用于anaconda 3.7
 
#以iris数据为例,画出P-R曲线
iris = datasets.load_iris()
X = iris.data
y = iris.target
 
# 标签二值化将三个类转为001 010 100的格式.因为这是个多类分类问题,后面将要采用
#OneVsRestClassifier策略转为二类分类问题
y = label_binarize(y classes=[0 1 2])
n_classes = y.shape[1]
print (y)
 
# 增加了800维的噪声特征
random_state = np.random.RandomState(0)
n_samples n_features = X.shape
 
X = np.c_[X random_state.randn(n_samples 200 * n_features)]
 
# Split into training and test
X_train X_test y_train y_test = train_test_split(X y test_size=.5 random_state=random_state) #随机数,填0或不填,每次都会不一样
 
# Run classifier probability : boolean optional (default=False)Whether to enable probability estimates. This must be enabled prior to calling fit and will slow down that method.
classifier = OneVsRestClassifier(svm.SVC(kernel=‘linear‘ probability=True random_state=random_state))
y_score = classifier.fit(X_train y_train).decision_function(X_test)
 
# Compute P

评论

共有 条评论