机器学习之ROC测试指标和测试集价值

import pandas as pd
import numpy as np
from sklearn.linear_model import LogisticRegression

np.random.seed(8)
admissions = pd.read_csv("D:\\test\machineLearning\\admissions.csv")
admissions["actual_label"]=admissions["admit"]
admissions = admissions.drop("admit",axis=1) #删除这一列
admissions.head(2)
gpagreactual_label
03.177277594.1029920
13.412655631.5286070
#洗牌操作,避免被顺序影响
np.random.seed(8)
shuffled_index=np.random.permutation(admissions.index)
shuffled_admissions=admissions.loc[shuffled_index] #loc是根据index来获取数据,iloc是根据行号来获取数据

train = shuffled_admissions.iloc[0:515]#取前512用于训练
test = shuffled_admissions.iloc[515:len(shuffled_admissions)] #取后面的用于测试
from sklearn.linear_model import LogisticRegression

log = LogisticRegression()
log.fit(train[["gpa"]], train["actual_label"])
pre_label=log.predict(test[["gpa"]])
test["predict_label"]=pre_label

match = (test["predict_label"] == test["actual_label"])
correct_predict=test[match]
accuracy=len(correct_predict)/float(len(test))
print accuracy
0.635658914729


C:\Users\qiujiahao\Anaconda2\lib\site-packages\ipykernel\__main__.py:13: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
import matplotlib.pyplot as plt
from sklearn import metrics
#ROC图是正力与负力的关系图
probalities = log.predict_proba(test[["gpa"]])  #准确概率
fpr,tpr,thresholds = metrics.roc_curve(test["actual_label"],probalities[:,1])#绘制ROC图
plt.plot(fpr,tpr)
plt.show()

这里写图片描述

from sklearn.metrics import roc_auc_score
auc_score = roc_auc_score(test["actual_label"],probalities[:,1])  
#求处上图的soc的有效面积是多少,我门希望负力接近1,也希望正力也接近1,所以面积越靠近1越好,依次来衡量当前模型的效果
print auc_score 
0.577932098765
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值