利用逻辑回归与Knn对数据建模例子

上传人:碎****木 文档编号:220863762 上传时间:2021-12-09 格式:DOCX 页数:4 大小:84.28KB
返回 下载 相关 举报
利用逻辑回归与Knn对数据建模例子_第1页
第1页 / 共4页
利用逻辑回归与Knn对数据建模例子_第2页
第2页 / 共4页
利用逻辑回归与Knn对数据建模例子_第3页
第3页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《利用逻辑回归与Knn对数据建模例子》由会员分享,可在线阅读,更多相关《利用逻辑回归与Knn对数据建模例子(4页珍藏版)》请在金锄头文库上搜索。

1、利用规律回归与 Knn 对数据建模例子运行环境,python 2.7导入包:importnumpy as np importmatplotlib as mpl importmatplotlib.pyplot as plt import pandas as pdimport warnings importsklearnfromsklearn.linear_model import LogisticRegressionCV fromsklearn.cross_validation import train_test_split fromsklearn.preprocessing import St

2、andardScaler fromsklearn.neighbors import KNeighborsClassifier数据导入,预处理:#加载数据并对数据进展预处理path = “datas/crx.data“names = ”A1”,”A2”,”A3”,”A4”,”A5”,”A6”,”A7”,”A8”,”A9”,”A10”,”A11”,”A12”,”A13”,”A14”,”A15”,”A16”df = pd.read_csv(path, header=None, names=names) print “数据条数:“, len(df)#空值处理df = df.replace(“?“, n

3、p.nan).dropna(how=”any”) print “过滤后数据条数:“, len(df)#查看数据前 5 条df.head(5)输出结果:数据清洗:#对数据进展清洗,将字符型的转换为数值型A1_d=df”A1”.map(”a”:1,”b”:0)A4_d=pd.get_dummies(df.A4) A4_d=A4_d.rename(columns=lambda x:”A4_”+str(x) A5_d=pd.get_dummies(df.A5) A5_d=A5_d.rename(columns=lambda x:”A5_”+str(x) A6_d=pd.get_dummies(df.A

4、6) A6_d=A6_d.rename(columns=lambda x:”A6_”+str(x) A7_d=pd.get_dummies(df.A7) A7_d=A7_d.rename(columns=lambda x:”A7_”+str(x) A9_d=df”A9”.map(”t”:1,”f”:0)A10_d=df”A10”.map(”t”:1,”f”:0)A12_d=df”A12”.map(”t”:1,”f”:0)A13_d=pd.get_dummies(df.A13) A13_d=A13_d.rename(columns=lambda x:”A13_”+str(x) A16_d=df”

5、A16”.map(”+”:1,”-”:0)#连接new_df=pd.concat(A1_d,df.A2,df.A3,A4_d,A5_d,A6_d,A7_d,df.A8,A9_d,A10_d,df.A11,A12_d,A13_d,df.A14,df.A15,A16_d,axis=1) #查看前几条记录new_df.head()输出结果:#自变量与因变量的设置x=new_df.ix:,:-1 y=new_df”A16”#划分训练数据与测试数据x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.1,random_state

6、=0) #规一化ss = StandardScaler()x_train = ss.fit_transform(x_train) x_test = ss.transform(x_test)建模:#规律回归建模lr=LogisticRegressionCV(Cs=np.logspace(-4,1,50),fit_intercept=True,pe nalty=”l2”,solver=”lbfgs”,tol=0.01,multi_class=”ovr”) lr.fit(x_train,y_train)#训练数据模型正确率lr_r=lr.score(x_train,y_train) print ”l

7、ogistic 算法 R 值:”,lr_r print ”logistic 算法参数:”,lr.coef_print ”logistic 算法截距:”,lr.intercept_输出结果:#测试数据推测值lr_y_predict=lr.predict(x_test)#k 邻近算法建模knn=KNeighborsClassifier(n_neighbors=3,algorithm=”kd_tree”,weights=”d istance”)knn.fit(x_train,y_train) knn_r=knn.score(x_train,y_train)print ”KNN 算法的训练数据正确率:

8、”,knn_r输出结果:两种算法比照,画图:knn_y_predict=knn.predict(x_test) x_len=range(len(x_test) plt.figure(figsize=(14,7),facecolor=”w”) plt.ylim(-0.1,1.1)plt.plot(x_len,y_test,”ro”,markersize=6,zorder=3,label=u”真实值”) plt.plot(x_len,lr_y_predict,”go”,markersize=10,zorder=2,label=u”Logis 算法推测,$R2$=%.3f”%lr.score(x_t

9、est,y_test) plt.plot(x_len,knn_y_predict,”yo”,markersize=16,zorder=1,label=u”KNN 算法推测,$R2$=%.3f”%knn.score(x_test,y_test) plt.legend(loc=”center right”)plt.xlabel(u”数据编号”,fontsize=18)plt.ylabel(u”是否审批0 表示不通过,1 表示通过)”,fontsize=18) plt.title(u”logistic 回归算法和 KNN 算法对数据进展分类比较”,fontsize=18)plt.show()输出结果:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号