From b4f413f4007b86bdf386fa68ff05f6ccb4d1cc56 Mon Sep 17 00:00:00 2001 From: jwliao Date: Sun, 10 Sep 2017 23:16:55 +0800 Subject: [PATCH 01/21] add main.md --- .../main.md | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 Linear-Classifiers-and-Logistic-Regression/main.md diff --git a/Linear-Classifiers-and-Logistic-Regression/main.md b/Linear-Classifiers-and-Logistic-Regression/main.md new file mode 100644 index 0000000..6493b21 --- /dev/null +++ b/Linear-Classifiers-and-Logistic-Regression/main.md @@ -0,0 +1,71 @@ +Linear Classifiers and Logistic Regression +手把手教线性分类器和逻辑回归 + +线性分类 +线性分类问题是数据在空间中的分布,可以用一条直线(或平面/超平面)分割。如螺旋状的数据线性不可分。 +线性分类器是一些可以解决线性分类问题的机器学习算法,其模型往往都是一个线性函数,如决策树桩/线性回归/支持向量机。 + +线性回归和逻辑回归是数据挖掘领域最简单最基础的机器学习算法,几乎所有的机器学习书籍和教程都会将此算法放在最前面介绍,之后再逐渐深入。如周志华老师的《机器学习》一书放在第三章,是最先介绍的机器学习算法。如Andrew Ng老师的机器学习网络教程放在第一,二,三周,也是最先开始介绍的机器学习模型。 + +线性回归假设结果和特征满足线性关系,即$ h_{\Theta} (x)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 $ ,为连续模型,容易受噪声影响 +逻辑回归本质上是线性回归,只是在特征到结果的映射上添加一层函数映射,即$ z=h_{\Theta} (x)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 ,g(z)=\frac{1}{1+e^-z} $ ,添加映射后,连续模型变为二元模型,受噪声影响变小。 + +本文不对理论做过多介绍,有兴趣可参考 (对线性回归、逻辑回归、各种回归的概念学习 http://blog.csdn.net/viewcode/article/details/8794401)。下面在python环境下进行模型的演示。 + +一、安装python环境。可参考python官网(www.python.org),一般Linux都会自带python环境。 +二、安装sklearn包。简单的做法,可以先安装python的pip包管理工具,之后再用pip安装sklearn包。pip安装可参考(pip.pypa.io),python 2版本2.7.9以上或python 3 版本3.4以上都自带pip,不再需要安装。脚本安装方式:curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py + python get-pip.py + 包管理软件安装方式:sudo yum install python-pip + sudo apt-get install python-pip +之后就可以用pip安装各类包了,本文中需要用到numpy,scipy,sklearn,matplotlib包。可使用pip install numpy scipy sklearn matplotlib安装。sklearn是python环境下的机器学习软件包,里面包含了常用的机器学习算法,用户只需使用自己的数据,调用其中相应的库,训练出自己的模型,再使用模型完成预测/分类等任务。 + +三、数据 +线性回归:使用sklearn自带的糖尿病预测数据集。 +糖尿病数据集包括442条记录,每条记录对应一个病人的生理数据,标签为一年以后的病情发展情况。数据集中特征维度为10维,包括年龄/性别/体质指数/血压/6种血清化验数据。 + +四、运用流程 +导入数据 +from sklearn import datasets +diabetes = dataset.load_diabetes() + +查看数据概要 +print diabets.data,diabets.target[0:10] + +分解特征和标签 +import numpy as np +diabets_X = diabetes.data[:,np.newaxis,2] +diabets_y = diabetes.target + +切分数据为训练集/测试集 +diabets_X_train = diabetes_X[:-20] +diabets_y_train =diabetes_y[:-20] + +diabets_X_test = diabetes_X[-20:] +diabets_y_test = diabetes_y[-20:] + +建立模型 +from sklearn import linear_model +lr = linear_model.LinearRegression() + +训练模型 +lr.fit(diabetes_X_train,diabetes_y_train) + +使用训练出的模型进行预测 +diabets_y_test_pred = lr.predict(diabetes_X_test) + +查看预测效果,预测值与真值的均方误差(越小越好) +from sklearn.metrics import mean_squared_error +mse = mean_squared_error(diabetes_y_test,diabetes_y_test_pred) +print("Mean squared error: %.2f" %mse) + +绘制示意图 +import matplotlib.pyplot as plt +plt.scatter(diabetes_X_test,diabetes_y_test, color='black') +plt.plot(diabetes_X_test,diabetes_y_test_pred,color = 'blue',linewidth=3) +plt.show() + + + +参考资料:http://blog.csdn.net/olanlanxiari/article/details/48086917 + + From 93f47efc284b0480a67f883c95634541b60d652d Mon Sep 17 00:00:00 2001 From: jwliao Date: Mon, 11 Sep 2017 00:22:33 +0800 Subject: [PATCH 02/21] change 1 --- .../main.md | 75 +++++++++++-------- 1 file changed, 43 insertions(+), 32 deletions(-) diff --git a/Linear-Classifiers-and-Logistic-Regression/main.md b/Linear-Classifiers-and-Logistic-Regression/main.md index 6493b21..3143681 100644 --- a/Linear-Classifiers-and-Logistic-Regression/main.md +++ b/Linear-Classifiers-and-Logistic-Regression/main.md @@ -1,69 +1,80 @@ -Linear Classifiers and Logistic Regression -手把手教线性分类器和逻辑回归 +# Linear Classifiers and Logistic Regression +----手把手教线性分类器和逻辑回归 -线性分类 -线性分类问题是数据在空间中的分布,可以用一条直线(或平面/超平面)分割。如螺旋状的数据线性不可分。 -线性分类器是一些可以解决线性分类问题的机器学习算法,其模型往往都是一个线性函数,如决策树桩/线性回归/支持向量机。 +## 线性分类 +线性分类问题是数据在空间中的分布,可以用一条直线(或平面/超平面)分割。如螺旋状的数据线性不可分。 +线性分类器是一些可以解决线性分类问题的机器学习算法,其模型往往都是一个线性函数,如决策树桩/线性回归/支持向量机。 -线性回归和逻辑回归是数据挖掘领域最简单最基础的机器学习算法,几乎所有的机器学习书籍和教程都会将此算法放在最前面介绍,之后再逐渐深入。如周志华老师的《机器学习》一书放在第三章,是最先介绍的机器学习算法。如Andrew Ng老师的机器学习网络教程放在第一,二,三周,也是最先开始介绍的机器学习模型。 +线性回归和逻辑回归是数据挖掘领域最简单最基础的机器学习算法,几乎所有的机器学习书籍和教程都会将此算法放在最前面介绍,之后再逐渐深入。 -线性回归假设结果和特征满足线性关系,即$ h_{\Theta} (x)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 $ ,为连续模型,容易受噪声影响 -逻辑回归本质上是线性回归,只是在特征到结果的映射上添加一层函数映射,即$ z=h_{\Theta} (x)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 ,g(z)=\frac{1}{1+e^-z} $ ,添加映射后,连续模型变为二元模型,受噪声影响变小。 +线性回归假设结果和特征满足线性关系,即$h_{\Theta} (x)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3$ ,为连续模型,容易受噪声影响。 +逻辑回归本质上是线性回归,只是在特征到结果的映射上添加一层函数映射,即$ z=h_{\Theta} (x)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 ,g(z)=\frac{1}{1+e^-z} $ ,添加映射后,连续模型变为二元模型,受噪声影响变小。 -本文不对理论做过多介绍,有兴趣可参考 (对线性回归、逻辑回归、各种回归的概念学习 http://blog.csdn.net/viewcode/article/details/8794401)。下面在python环境下进行模型的演示。 +本文不对理论做过多介绍,有兴趣可参考 ([对线性回归、逻辑回归、各种回归的概念学习](http://blog.csdn.net/viewcode/article/details/8794401))。下面在python环境下进行模型的演示。 -一、安装python环境。可参考python官网(www.python.org),一般Linux都会自带python环境。 -二、安装sklearn包。简单的做法,可以先安装python的pip包管理工具,之后再用pip安装sklearn包。pip安装可参考(pip.pypa.io),python 2版本2.7.9以上或python 3 版本3.4以上都自带pip,不再需要安装。脚本安装方式:curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py +### 一、安装python环境。 +可参考python官网(www.python.org),一般Linux都会自带python环境。 +### 二、安装sklearn包。 +简单的做法,可以先安装python的pip包管理工具,之后再用pip安装sklearn包。pip安装可参考([http://pip.pypa.io](http://pip.pypa.io)),python 2版本2.7.9以上或python 3 版本3.4以上都自带pip,不再需要安装。脚本安装方式:curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py python get-pip.py 包管理软件安装方式:sudo yum install python-pip sudo apt-get install python-pip 之后就可以用pip安装各类包了,本文中需要用到numpy,scipy,sklearn,matplotlib包。可使用pip install numpy scipy sklearn matplotlib安装。sklearn是python环境下的机器学习软件包,里面包含了常用的机器学习算法,用户只需使用自己的数据,调用其中相应的库,训练出自己的模型,再使用模型完成预测/分类等任务。 -三、数据 +### 三、数据 线性回归:使用sklearn自带的糖尿病预测数据集。 -糖尿病数据集包括442条记录,每条记录对应一个病人的生理数据,标签为一年以后的病情发展情况。数据集中特征维度为10维,包括年龄/性别/体质指数/血压/6种血清化验数据。 +糖尿病数据集包括442条记录,每条记录对应一个病人的生理数据,标签为一年以后的病情发展情况。数据集中特征维度为10维,包括年龄、性别、体质指数、血压、6种血清化验数据。 -四、运用流程 -导入数据 +### 四、运用流程 +导入数据 +``` from sklearn import datasets diabetes = dataset.load_diabetes() - -查看数据概要 +``` +查看数据概要 +``` print diabets.data,diabets.target[0:10] - -分解特征和标签 +``` +分解特征和标签 +``` import numpy as np diabets_X = diabetes.data[:,np.newaxis,2] diabets_y = diabetes.target - -切分数据为训练集/测试集 +``` +切分数据为训练集/测试集 +``` diabets_X_train = diabetes_X[:-20] diabets_y_train =diabetes_y[:-20] diabets_X_test = diabetes_X[-20:] diabets_y_test = diabetes_y[-20:] - -建立模型 +``` +建立模型 +``` from sklearn import linear_model lr = linear_model.LinearRegression() - -训练模型 +``` +训练模型 +``` lr.fit(diabetes_X_train,diabetes_y_train) - -使用训练出的模型进行预测 +``` +使用训练出的模型进行预测 +``` diabets_y_test_pred = lr.predict(diabetes_X_test) - -查看预测效果,预测值与真值的均方误差(越小越好) +``` +查看预测效果,预测值与真值的均方误差(越小越好) +``` from sklearn.metrics import mean_squared_error mse = mean_squared_error(diabetes_y_test,diabetes_y_test_pred) print("Mean squared error: %.2f" %mse) - -绘制示意图 +``` +绘制示意图 +``` import matplotlib.pyplot as plt plt.scatter(diabetes_X_test,diabetes_y_test, color='black') plt.plot(diabetes_X_test,diabetes_y_test_pred,color = 'blue',linewidth=3) plt.show() - +``` 参考资料:http://blog.csdn.net/olanlanxiari/article/details/48086917 From 8203695fa9ebf1edfcc33bac93e35adbf41ca819 Mon Sep 17 00:00:00 2001 From: jwliao Date: Mon, 11 Sep 2017 00:39:16 +0800 Subject: [PATCH 03/21] change 2 --- .../image_plt.png | Bin 0 -> 8951 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Linear-Classifiers-and-Logistic-Regression/image_plt.png diff --git a/Linear-Classifiers-and-Logistic-Regression/image_plt.png b/Linear-Classifiers-and-Logistic-Regression/image_plt.png new file mode 100644 index 0000000000000000000000000000000000000000..aefe44ac2a38de4cb30c17554f176c8169da9fd9 GIT binary patch literal 8951 zcmeHtc|6qX+y7^VEQexL$TCEQk|kwdrV^zNQPF}Sp|UTLZDyP{*^82dN~MluI}8Rh z*>@=#vJA2|!(cF&?RV>(^DN)zJipiT@9*_{yk6$R=l(4BeO>SCy586Op8Kb*EjRxn z^9uw)n@=1!w}T)!4uW7KLIU8-q3*$PaNrL*a^kEI_=yy{5(EAh_CJ0h2!h01H-2Gn z&2q0nkRo)#{P5YE&t`|P@#CRRs|)1dSk%nyo=?9GWIXEThrPfp%BB~Kz%6oayNVX8 zz0?-EJd1qw{8)~y+uD(%l_z(zg|xL%HUZMM2S=GcJMKR}ZMAmJHt5b!_3l45g%sRF zYUxqTOuZw_R(#EZjIuNPyI2dyg$4&BLeXmE&JxC26(!q>NTCZtP)oT>4<7^-68IG% z)aC#E_>VTwkXwc#`tNU58Ebx^T;xZod3$zm4pI~=qFK*L_6VW)%DA9tI z^I0a!-JhA6u}y+O&+bi3OuX&Ao`ZDT#XquzHh|YuDmFuH-MUpdO8{zib8}OElbcJA zQm}ad4Mumg)qoMWIJEL4)sJGusMUi|wf_T8$nkH6M4bxAalUw2FE20cLx;8}SSbJA z`{QlXm?gMh>ujdA%H-6Po4fnOF!_4vMRg4gi;{l1(JS78!qSlRQ|sKV`S#S*)wr1R zPEHB-dD}CsJ9R8xZl2HfyWW23&Aa6JpJ5)DC{-rDDB>*(nG(AF18!@(d4 zW$1rD{$H^H?#22#S$U6&GIAj%2F>Y>;c@AEU5b16?%mac zGPe2l_ttexnH4cACNni?Kkq9GOb*>La{A~|jx827>dgAa;3Bq}LvYlI`5AX57_wmD_-KCEilZ2prR%fV^ho^GQ{GCWM#@9>ANZx9s*A96Qa=Q;5I&@>0 zI#;edw%DdTSK-MjATE85x#WBQZLfe_@`C^n_g24mUp3FSkF$DRJVAHZ`{+qlR-#2t z0NpE_;~j#f*l@>J7MOqJ9(!M48A-h~=2w8gL8t9{uOE_>l2TUcj3ITPHPzM4OD`sf zVYEbuDrR9Ux{+R5<}A~XC#kKiy;Rh{3B6T#M2+EzaPV_(Hp}s_g!@fIrf^^JM16W-`5w@($aDsjZPBg{lZU@Hd;HOXvY11 zX2FIRd`w+^oFzByM2}sarD)tFIgN7$_J~8rkAS)48oTd7ECqp7CRF%In4?J78E+t|39<(oHeUIK%cUX))x|2kmIyxvVgcA>Xm@)EZ9971pS zJna-s9xjf1K@B$4HZxP$w{IV_#y+q2azKFg(~e0Yl>t_wd|dhJ7@JC2DT{HaDJ~D| z%W#AXxV!~`{^Mf)nK4bJ%Rd2XA8eS3__Yi#Z}8A*vO^ZDuy(vG$AP_(mr0+N{={fL z@<8d@w`e}Wmt^Yf%GHRk`|;yut-F;7y9Vi&#>|R_&W7PV5KQ{1FFvAC1*<}3vWlvz zZg&MqQJ{VCMw~3VaS0JCT|aj}7v;4P6#%z+ZRY z{1Z5f+ENm7x2h;1In(OwVMf+0869hkT1c3~Pl-;jRF$E~QC^oPyw5Xa6cIWUD z2=n891G9LNp1xyQT6tNFC$8Nrm=!vFO;3|hx7!7hF4n8jCiG;eZ~;zZzBkEF)XquZ zAgx^v&gpk33f$2ZuYz)=flZNJCJ3_?w}vhOl^_tVAubHnw1TMpl=ZxVvW&FutvJXZ znJC{z%+OOBlc&e5W>VCAkzLo&bStc2_-l=Xd!9lwU$Zd&%YX!VkJeL$5BkQXgvPbnH z#IJZElw#8NMQ?bmGbW8#RUYPo2Tpz%G~k0s!bWnJ6?ix6OR}8?jSB|``GimhhM6@q zZcWufC~LOAam#{bKe*b8URuymOK;HZ#1GqQq-LHZL8)I;vgH=~yC%_CcKJ}%tHTid zwBe&x7pl!OX||V(Ca@dMZgo_wB&JO^Pz>WAl8&cHVP9E7@WR}o8xE5GOai)QnaHJH zSQ?57EeiUm53EW%fggT)hw?gY@)GYc{>o_RybBm{9zmj@l~f{&Ks!@awM9PmNxGW1 zTwe+xClR%W$Qzj&7@R{zm@RB==-`V;2S9&svTz@PAAE@AFl(e1NP?1jVyV&Kyt+Z_ zrdYSFLXex=ryNI(ih5fOe^c-vWxZ)z4Pe`)p)k*)pu-nH8nW;JS8#t66wgP{BjPee zT04Q2X_Z9IKulWIF5Y^EUt;-K?AT;<53o>3hnMr#fV$0VWFzo`oe)fQu#4**QlY15 zS%E47FSrwsDiW`ffr6xer(>~&IgZE`Ez1g$FIcr`!(t$?2N7Gd3~+diqDQ*NZAED<`6GkF0hB zat=-*P6_6m8}B}T%lA|HR91|j$yHS|8EIt=n2yBXiRJZw=4I{jCr+l zQh$H{lZ=cwaCl3m8VzqZn@$|ws#1KidQ7bK1a#oQKQZWs&s-G}##N<8y!UeQKM)_Z zH8xtDvbJtqUk^WZ>QsFAGn2Lylp>4u+_@n8MkssI2XRkKVR(g}RDd;k>DFD${g&9=)Yw?ExTKC3BhGVv?+Tu2F-3@n+0J^FT1*u4oBPh3ro9*(#Eg8 zGUI%qJ@gq~jo`6L+N#FHK2K~#;k5ltEtUTY9iAt93Twe$vJo@9uvW48&Ng8%uGQRq zJTY)b7NBMf1|!!IQvhsOUVc?s=Jlk67D>7}=-}tYMZK|F5eD|aglbxl?8*nPzLWfl zq$hprS6?Z_VR+_CER{g4f@Otw0h!vsX0sn>m-+rp*#JIhzrcjFES`3F3AX;6-^057UhIlh+-HhH*8#wd~&n_oZjj zD(@aB6y|pkty*nB&?C^?%WA{)~!iN{9z>I`8hi4CyYa|z9EVt>Lv=ZpQ zvDtkbEJ8?hJ$~4&X~TVf`irzm=kw?Nk&3TD`VHxRK8gp7ar zXYw6?cW(Vs)XJ|K$UU3K7pm!-F_PKX19YSf{6rGdj|suIP3}YAzuE34z>*oovwrWr z-rn9GA1>N=4v-qrehT~7kaRsiHs`aZL7iBi6I|To_{DrsEE#%?d@O6AWSW(RRSQ6G(}79PEYoCu`mZ=`SS5@;MGo6av_UPXu^KQuTYdIW-tUi~y5`_lQL9Gv9)duV)?3Hf4W?R=^y3cG>4dq;7_Wl;9+J3#U68Bnf0v=2`F@&bwR>zKE(-*IH_QP8$7vqd5^3|OSe0D0(sQQ0t7o48O(j!&kYD5H9bJG&!pVewZ@qS9aBF1!+VR|{Ud7X_k7BWzBF{zn6`vggWV@lEAtpvg z$)7#m85)%XG4#j4Y#$NJQ!4=C!&Ur1Crs|;;W|2j z0;+lJzSs=m=kG!G=`2@FOGrp~^6Xjs^78T%{}1Nx!X%DsuX8?zFnlqaN!B-cE4##- zUti2`1h9SEq?+J|H5%I~wu1&7N}30lq&-c-8WY-$j)kwx=-(hhKO{oHU95h9*wLRt4J=y*w=?mp54cM>bvBYc!bS&8 zf3h14{_^qs#f!1d1rCG$&^Bx6$Pw6%<6%DSv?vj)RC!bjy|zWw|6@1HHQ^78UP#WhzXAMaN+!G2Zk^q6^w!)ohdrg7HGi9iWrkOSGUQoLiJ}lBN-yr;qF^f5 zd;P|}6gUk@ro4AdVO@*J8Rb5D$ttXf(b81qujFe>EC{DR8Y{5~HIZO0U>z z07O^RSPtKS;>EI|S|oGUPbw(24UmWr^hcrc(D$R@0tzdT*>WC)p45iiHm+n?VpH!>O0pjLan57~V(#fV{7cv1!Y4#Rf+$aV^0c*< zUP%SUYr6!{((c*G^VH4g04OfP^0;T5LFMW8#pm>UXYup|U9QOSmGG54D3KK~X`K*3 z$J`wJe%I*ezbJEcDp*q11ZP0QMf%dMyObg~gp||Sc6CtMJv=;O*CrvFAxy~aN*{1G z$sS}uw~;wQ9AJ!4nG)oB+qcF*gm_Y;g?Fe{43`P?yO5R^SvAwukJ(AL1hGm?vg!97 zi0t*V(RHxoZ7?Ci^Di^?YFm#-F$$hO4I;tWu-V}pW+}TJsDFh`a9jzP=9vmtK(uW{8d;ZLGiL4x>#jKC~JxV zdU4Rw8PL-qm-8U~jZb&S9Ok)y@|>Poe5X<901}AO*gkZN#`0tWQAD%7)`tB$?;nWS z21_-OA(info*>MCCK<_i5=ku}XvEbhu%Gu;Nc(}h@^{3o|Ew4L5km1M8K@A_udgD= z`4n|cnhN*YJtXs!o$>a<{aA9X+B}u1GKeH66l6f?Gb=*4^Qbv z)aYn+dc$7?>*^NUum$d$8HKmx{p`^ROj}GYBhu4FQyiDtm{tQKYy1l6A{=+Jr5*ph zNPJ>sMpqw!il?fX)fZNsFkv;zJUY+4JCxDU(0OhT=nNh|empkv@mA3ve{2J#uSYrI zY)StTc&<&5X#18v3)735*syxS@FOhe#ZiQ=`<4$sq0Lq^LIXh#`1J+d*HnK3od(v0cGxJ5mMRSq69}2Bkcs>L;;?M-i z?fLtkX459qJxBG9vweJN;#eb{=IADfwjZ8cG_IP~9W(wn`E8`)oBzN@@#K zw-^hkYQmb&-|UJ2ZQ9^>kSxArfMijx5}Uct{jbsEL;go4F+lRDSw49Zbk8fLcM^~3 z&r3gV=T}r-@FIc+!pk|ukMlqolnm+xpufD6yD56wIx)H*Hqb1nr;P|$y2@P!v{wu~ zv9+ERT7M@8iCd&H1qV6^Ylq^KfOM{d%z>YlfhX6>nIRW&g5zlH%xeT?-9CU3zcu?U zOv?%|^y#_EeFUPWAKNLyXXQS6?*e%y7(l3rM)Pj(=x6{3ppF8Hl7rlgGZ#YLom?3x znI|lLj-(FEsb^wa${c?OoB`L6FD^_6@Rgv9o z6whKBUy{NF?1T&&0Qm=)01f{giiq=Rnq!Xc`@cp4h(8NlafPVLe z4jtdSVLa!O{&=aXkxc-)q~>x#f5BFNv5y18k_*2(0Hua@zJ7z}ca;b7kf^ZKQBFjz zBiyV5x|LQ|=mT%KT9FYw z{^s;iMgfl`*hf@)O3?Pk;|_;S`K(tu0>H4Bj*R&dv2F3#4Vi8Oa0euQM? zI6}Dilce1`I$Hx){mo0CW-$BU0JA3b^$fzJEcI!bqV1l>-7p}sl7--!Rrz+crCq!6Gnm&v!^XPDU;vxg6;SVzg! z<;xh1={kqIgNXkR`YD7GLjCe-Hl%BHoPLFaF?*brmNPIrH+B{x?SVCa%HL2$RxA z{7O$x9}|R!By6;mc7@kVe{?Y91Pl&%CKD6qyauv{exO<%;dc>xm5w;tbvF6lP;`fj zTU_l!jMbE}bwl&AYizHbd2I)_Nv{!lqwOScT1V;<#cf<$y8hFpAN%sRyt0C7V>as? z86@kLdz9=59SpFPGYnSst(q+S+@`VY{TxA-I_GdJ;dNa2@W*FED zJXZ%rTtJ|)Q7f^%zv|WC_0pGi@199S&w25=qyT(@>UsIvHMK2BW9gG8PljOj)JFM0 z-c7ql~25|WP2os;5;gNlv;Y(`bkeV!+Ngo=Q@Ndx< zl7{*cA@v=CFg|Dif!qCE(FJlbf)`$q;}?azEuqKpf`fmJz?cvzgx^Kj0NkT5H3iL; z3VeGAzCn<%@m&B?dA9PnqKn;RmzlrrcP_VD)>x$cO4UrX%IMFDNdVc)wt(yw5~4df zISCx1`(rsA;Mq1wfZ)M6p`V+5ui__Y+bCktsKk6?{1?k+Bu}7UWn?*=^Zwoou+ak) zr-0RY*X;PCwT&~Jh_jLK^Kfv<4x3t7Gngq(&!qXL#1@n(ypX?Y=5S+*KePx|H1ez1 zfvnqn$w`np%r887VV4{(60G9pms>1wHECso`hG7wGt3c3+W7g&$j=22xe*jCL_oV;; literal 0 HcmV?d00001 From 638061ef72e9ebcb78e8c31f30adc1580f84cb60 Mon Sep 17 00:00:00 2001 From: jwliao Date: Mon, 11 Sep 2017 00:40:45 +0800 Subject: [PATCH 04/21] change2 --- .../main.md | 41 +++++++++++-------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/Linear-Classifiers-and-Logistic-Regression/main.md b/Linear-Classifiers-and-Logistic-Regression/main.md index 3143681..b5793f8 100644 --- a/Linear-Classifiers-and-Logistic-Regression/main.md +++ b/Linear-Classifiers-and-Logistic-Regression/main.md @@ -7,18 +7,25 @@ 线性回归和逻辑回归是数据挖掘领域最简单最基础的机器学习算法,几乎所有的机器学习书籍和教程都会将此算法放在最前面介绍,之后再逐渐深入。 -线性回归假设结果和特征满足线性关系,即$h_{\Theta} (x)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3$ ,为连续模型,容易受噪声影响。 -逻辑回归本质上是线性回归,只是在特征到结果的映射上添加一层函数映射,即$ z=h_{\Theta} (x)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 ,g(z)=\frac{1}{1+e^-z} $ ,添加映射后,连续模型变为二元模型,受噪声影响变小。 +线性回归假设结果和特征满足线性关系,即![](http://latex.codecogs.com/gif.latex?h_{\Theta} (x)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3) ,为连续模型,容易受噪声影响。 +逻辑回归本质上是线性回归,只是在特征到结果的映射上添加一层函数映射,即![](http://latex.codecogs.com/gif.latex?z=h_{\Theta} (x)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3),![](http://latex.codecogs.com/gif.latex?g(z)=\frac{1}{1+e^{-z}}) ,添加映射后,连续模型变为二元模型,受噪声影响变小。 本文不对理论做过多介绍,有兴趣可参考 ([对线性回归、逻辑回归、各种回归的概念学习](http://blog.csdn.net/viewcode/article/details/8794401))。下面在python环境下进行模型的演示。 ### 一、安装python环境。 -可参考python官网(www.python.org),一般Linux都会自带python环境。 +可参考[python官网](www.python.org),一般Linux都会自带python环境。 ### 二、安装sklearn包。 -简单的做法,可以先安装python的pip包管理工具,之后再用pip安装sklearn包。pip安装可参考([http://pip.pypa.io](http://pip.pypa.io)),python 2版本2.7.9以上或python 3 版本3.4以上都自带pip,不再需要安装。脚本安装方式:curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py - python get-pip.py - 包管理软件安装方式:sudo yum install python-pip - sudo apt-get install python-pip +简单的做法,可以先安装python的pip包管理工具,之后再用pip安装sklearn包。pip安装可参考([http://pip.pypa.io](http://pip.pypa.io)),python 2版本2.7.9以上或python 3 版本3.4以上都自带pip,不再需要安装。 +####脚本安装方式: +``` +curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py +python get-pip.py +``` +####包管理软件安装方式: +``` +sudo yum install python-pip +sudo apt-get install python-pip +``` 之后就可以用pip安装各类包了,本文中需要用到numpy,scipy,sklearn,matplotlib包。可使用pip install numpy scipy sklearn matplotlib安装。sklearn是python环境下的机器学习软件包,里面包含了常用的机器学习算法,用户只需使用自己的数据,调用其中相应的库,训练出自己的模型,再使用模型完成预测/分类等任务。 ### 三、数据 @@ -26,22 +33,22 @@ 糖尿病数据集包括442条记录,每条记录对应一个病人的生理数据,标签为一年以后的病情发展情况。数据集中特征维度为10维,包括年龄、性别、体质指数、血压、6种血清化验数据。 ### 四、运用流程 -导入数据 +导入数据: ``` from sklearn import datasets diabetes = dataset.load_diabetes() ``` -查看数据概要 +查看数据概要: ``` print diabets.data,diabets.target[0:10] ``` -分解特征和标签 +分解特征和标签: ``` import numpy as np diabets_X = diabetes.data[:,np.newaxis,2] diabets_y = diabetes.target ``` -切分数据为训练集/测试集 +切分数据为训练集、测试集: ``` diabets_X_train = diabetes_X[:-20] diabets_y_train =diabetes_y[:-20] @@ -49,33 +56,33 @@ diabets_y_train =diabetes_y[:-20] diabets_X_test = diabetes_X[-20:] diabets_y_test = diabetes_y[-20:] ``` -建立模型 +建立模型: ``` from sklearn import linear_model lr = linear_model.LinearRegression() ``` -训练模型 +训练模型: ``` lr.fit(diabetes_X_train,diabetes_y_train) ``` -使用训练出的模型进行预测 +使用训练出的模型进行预测: ``` diabets_y_test_pred = lr.predict(diabetes_X_test) ``` -查看预测效果,预测值与真值的均方误差(越小越好) +查看预测效果,预测值与真值的均方误差(越小越好): ``` from sklearn.metrics import mean_squared_error mse = mean_squared_error(diabetes_y_test,diabetes_y_test_pred) print("Mean squared error: %.2f" %mse) ``` -绘制示意图 +绘制示意图: ``` import matplotlib.pyplot as plt plt.scatter(diabetes_X_test,diabetes_y_test, color='black') plt.plot(diabetes_X_test,diabetes_y_test_pred,color = 'blue',linewidth=3) plt.show() ``` - +!(image_plt.png) 参考资料:http://blog.csdn.net/olanlanxiari/article/details/48086917 From b27f043921b1971287b3ce4f32d3a49715c04930 Mon Sep 17 00:00:00 2001 From: jwliao Date: Mon, 11 Sep 2017 00:45:09 +0800 Subject: [PATCH 05/21] change3 --- Linear-Classifiers-and-Logistic-Regression/main.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Linear-Classifiers-and-Logistic-Regression/main.md b/Linear-Classifiers-and-Logistic-Regression/main.md index b5793f8..a7de64c 100644 --- a/Linear-Classifiers-and-Logistic-Regression/main.md +++ b/Linear-Classifiers-and-Logistic-Regression/main.md @@ -7,9 +7,10 @@ 线性回归和逻辑回归是数据挖掘领域最简单最基础的机器学习算法,几乎所有的机器学习书籍和教程都会将此算法放在最前面介绍,之后再逐渐深入。 -线性回归假设结果和特征满足线性关系,即![](http://latex.codecogs.com/gif.latex?h_{\Theta} (x)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3) ,为连续模型,容易受噪声影响。 -逻辑回归本质上是线性回归,只是在特征到结果的映射上添加一层函数映射,即![](http://latex.codecogs.com/gif.latex?z=h_{\Theta} (x)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3),![](http://latex.codecogs.com/gif.latex?g(z)=\frac{1}{1+e^{-z}}) ,添加映射后,连续模型变为二元模型,受噪声影响变小。 - +线性回归假设结果和特征满足线性关系,即![][1],为连续模型,容易受噪声影响。 +[1]: http://latex.codecogs.com/gif.latex?h_{\Theta} (x)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 +逻辑回归本质上是线性回归,只是在特征到结果的映射上添加一层函数映射,即![][2],![](http://latex.codecogs.com/gif.latex?g(z)=\frac{1}{1+e^{-z}}) ,添加映射后,连续模型变为二元模型,受噪声影响变小。 +[2]:http://latex.codecogs.com/gif.latex?z=h_{\Theta} (x)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 本文不对理论做过多介绍,有兴趣可参考 ([对线性回归、逻辑回归、各种回归的概念学习](http://blog.csdn.net/viewcode/article/details/8794401))。下面在python环境下进行模型的演示。 ### 一、安装python环境。 @@ -82,7 +83,7 @@ plt.scatter(diabetes_X_test,diabetes_y_test, color='black') plt.plot(diabetes_X_test,diabetes_y_test_pred,color = 'blue',linewidth=3) plt.show() ``` -!(image_plt.png) +![](image_plt.png) 参考资料:http://blog.csdn.net/olanlanxiari/article/details/48086917 From fa909c25f11eb2005c50b7089c764d2824923d4f Mon Sep 17 00:00:00 2001 From: jwliao Date: Mon, 11 Sep 2017 00:50:19 +0800 Subject: [PATCH 06/21] change 4 --- Linear-Classifiers-and-Logistic-Regression/main.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Linear-Classifiers-and-Logistic-Regression/main.md b/Linear-Classifiers-and-Logistic-Regression/main.md index a7de64c..75c2a31 100644 --- a/Linear-Classifiers-and-Logistic-Regression/main.md +++ b/Linear-Classifiers-and-Logistic-Regression/main.md @@ -7,10 +7,14 @@ 线性回归和逻辑回归是数据挖掘领域最简单最基础的机器学习算法,几乎所有的机器学习书籍和教程都会将此算法放在最前面介绍,之后再逐渐深入。 -线性回归假设结果和特征满足线性关系,即![][1],为连续模型,容易受噪声影响。 +线性回归假设结果和特征满足线性关系,即![][1] [1]: http://latex.codecogs.com/gif.latex?h_{\Theta} (x)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 -逻辑回归本质上是线性回归,只是在特征到结果的映射上添加一层函数映射,即![][2],![](http://latex.codecogs.com/gif.latex?g(z)=\frac{1}{1+e^{-z}}) ,添加映射后,连续模型变为二元模型,受噪声影响变小。 +,为连续模型,容易受噪声影响。 + +逻辑回归本质上是线性回归,只是在特征到结果的映射上添加一层函数映射,即![][2] [2]:http://latex.codecogs.com/gif.latex?z=h_{\Theta} (x)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 +,![](http://latex.codecogs.com/gif.latex?g(z)=\frac{1}{1+e^{-z}}) ,添加映射后,连续模型变为二元模型,受噪声影响变小。 + 本文不对理论做过多介绍,有兴趣可参考 ([对线性回归、逻辑回归、各种回归的概念学习](http://blog.csdn.net/viewcode/article/details/8794401))。下面在python环境下进行模型的演示。 ### 一、安装python环境。 @@ -83,7 +87,7 @@ plt.scatter(diabetes_X_test,diabetes_y_test, color='black') plt.plot(diabetes_X_test,diabetes_y_test_pred,color = 'blue',linewidth=3) plt.show() ``` -![](image_plt.png) +![](./image_plt.png) 参考资料:http://blog.csdn.net/olanlanxiari/article/details/48086917 From b4b3bbc8ae424cfd9c3787a3601534d887fd483d Mon Sep 17 00:00:00 2001 From: jwliao Date: Mon, 11 Sep 2017 00:53:30 +0800 Subject: [PATCH 07/21] change 5 --- Linear-Classifiers-and-Logistic-Regression/main.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Linear-Classifiers-and-Logistic-Regression/main.md b/Linear-Classifiers-and-Logistic-Regression/main.md index 75c2a31..70ae081 100644 --- a/Linear-Classifiers-and-Logistic-Regression/main.md +++ b/Linear-Classifiers-and-Logistic-Regression/main.md @@ -8,11 +8,11 @@ 线性回归和逻辑回归是数据挖掘领域最简单最基础的机器学习算法,几乎所有的机器学习书籍和教程都会将此算法放在最前面介绍,之后再逐渐深入。 线性回归假设结果和特征满足线性关系,即![][1] -[1]: http://latex.codecogs.com/gif.latex?h_{\Theta} (x)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 +[1]: http://latex.codecogs.com/gif.latex?h_{\Theta} \(x\)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 ,为连续模型,容易受噪声影响。 逻辑回归本质上是线性回归,只是在特征到结果的映射上添加一层函数映射,即![][2] -[2]:http://latex.codecogs.com/gif.latex?z=h_{\Theta} (x)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 +[2]:http://latex.codecogs.com/gif.latex?z=h_{\Theta} \(x\)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 ,![](http://latex.codecogs.com/gif.latex?g(z)=\frac{1}{1+e^{-z}}) ,添加映射后,连续模型变为二元模型,受噪声影响变小。 本文不对理论做过多介绍,有兴趣可参考 ([对线性回归、逻辑回归、各种回归的概念学习](http://blog.csdn.net/viewcode/article/details/8794401))。下面在python环境下进行模型的演示。 @@ -87,7 +87,7 @@ plt.scatter(diabetes_X_test,diabetes_y_test, color='black') plt.plot(diabetes_X_test,diabetes_y_test_pred,color = 'blue',linewidth=3) plt.show() ``` -![](./image_plt.png) +![sorry](./image_plt.png) 参考资料:http://blog.csdn.net/olanlanxiari/article/details/48086917 From ac8e35e682caf42e87e41ef47ab36e228232d92a Mon Sep 17 00:00:00 2001 From: jwliao Date: Mon, 11 Sep 2017 00:57:07 +0800 Subject: [PATCH 08/21] change 6 --- .../main.md | 2 +- .../media/image_plt.png | Bin 0 -> 8951 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 Linear-Classifiers-and-Logistic-Regression/media/image_plt.png diff --git a/Linear-Classifiers-and-Logistic-Regression/main.md b/Linear-Classifiers-and-Logistic-Regression/main.md index 70ae081..1ccf52b 100644 --- a/Linear-Classifiers-and-Logistic-Regression/main.md +++ b/Linear-Classifiers-and-Logistic-Regression/main.md @@ -87,7 +87,7 @@ plt.scatter(diabetes_X_test,diabetes_y_test, color='black') plt.plot(diabetes_X_test,diabetes_y_test_pred,color = 'blue',linewidth=3) plt.show() ``` -![sorry](./image_plt.png) +![sorry](./media/image_plt.png) 参考资料:http://blog.csdn.net/olanlanxiari/article/details/48086917 diff --git a/Linear-Classifiers-and-Logistic-Regression/media/image_plt.png b/Linear-Classifiers-and-Logistic-Regression/media/image_plt.png new file mode 100644 index 0000000000000000000000000000000000000000..aefe44ac2a38de4cb30c17554f176c8169da9fd9 GIT binary patch literal 8951 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 literal 0 HcmV?d00001 From 0a12fe01f9a5b475f0924ab794117aa9150c33ab Mon Sep 17 00:00:00 2001 From: jwliao Date: Mon, 11 Sep 2017 01:01:31 +0800 Subject: [PATCH 09/21] change 7 --- Linear-Classifiers-and-Logistic-Regression/main.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Linear-Classifiers-and-Logistic-Regression/main.md b/Linear-Classifiers-and-Logistic-Regression/main.md index 1ccf52b..08d42e8 100644 --- a/Linear-Classifiers-and-Logistic-Regression/main.md +++ b/Linear-Classifiers-and-Logistic-Regression/main.md @@ -7,11 +7,11 @@ 线性回归和逻辑回归是数据挖掘领域最简单最基础的机器学习算法,几乎所有的机器学习书籍和教程都会将此算法放在最前面介绍,之后再逐渐深入。 -线性回归假设结果和特征满足线性关系,即![][1] +线性回归假设结果和特征满足线性关系,即![][1] [1]: http://latex.codecogs.com/gif.latex?h_{\Theta} \(x\)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 ,为连续模型,容易受噪声影响。 -逻辑回归本质上是线性回归,只是在特征到结果的映射上添加一层函数映射,即![][2] +逻辑回归本质上是线性回归,只是在特征到结果的映射上添加一层函数映射,即![][2] [2]:http://latex.codecogs.com/gif.latex?z=h_{\Theta} \(x\)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 ,![](http://latex.codecogs.com/gif.latex?g(z)=\frac{1}{1+e^{-z}}) ,添加映射后,连续模型变为二元模型,受噪声影响变小。 @@ -87,7 +87,7 @@ plt.scatter(diabetes_X_test,diabetes_y_test, color='black') plt.plot(diabetes_X_test,diabetes_y_test_pred,color = 'blue',linewidth=3) plt.show() ``` -![sorry](./media/image_plt.png) +![sorry](./media/image_plt.png) 参考资料:http://blog.csdn.net/olanlanxiari/article/details/48086917 From ca40c69fb673c2afaf4527c40973ffd6e81b96c8 Mon Sep 17 00:00:00 2001 From: jwliao Date: Mon, 11 Sep 2017 01:06:59 +0800 Subject: [PATCH 10/21] change 9 --- Linear-Classifiers-and-Logistic-Regression/main.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Linear-Classifiers-and-Logistic-Regression/main.md b/Linear-Classifiers-and-Logistic-Regression/main.md index 08d42e8..66568b7 100644 --- a/Linear-Classifiers-and-Logistic-Regression/main.md +++ b/Linear-Classifiers-and-Logistic-Regression/main.md @@ -8,11 +8,11 @@ 线性回归和逻辑回归是数据挖掘领域最简单最基础的机器学习算法,几乎所有的机器学习书籍和教程都会将此算法放在最前面介绍,之后再逐渐深入。 线性回归假设结果和特征满足线性关系,即![][1] -[1]: http://latex.codecogs.com/gif.latex?h_{\Theta} \(x\)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 +[1]: http://latex.codecogs.com/gif.latex?h_{\Theta} \(x\)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 ,为连续模型,容易受噪声影响。 逻辑回归本质上是线性回归,只是在特征到结果的映射上添加一层函数映射,即![][2] -[2]:http://latex.codecogs.com/gif.latex?z=h_{\Theta} \(x\)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 +[2]: http://latex.codecogs.com/gif.latex?z=h_{\Theta} \(x\)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 ,![](http://latex.codecogs.com/gif.latex?g(z)=\frac{1}{1+e^{-z}}) ,添加映射后,连续模型变为二元模型,受噪声影响变小。 本文不对理论做过多介绍,有兴趣可参考 ([对线性回归、逻辑回归、各种回归的概念学习](http://blog.csdn.net/viewcode/article/details/8794401))。下面在python环境下进行模型的演示。 @@ -87,7 +87,7 @@ plt.scatter(diabetes_X_test,diabetes_y_test, color='black') plt.plot(diabetes_X_test,diabetes_y_test_pred,color = 'blue',linewidth=3) plt.show() ``` -![sorry](./media/image_plt.png) +![sorry](./media/image_plt.png) 参考资料:http://blog.csdn.net/olanlanxiari/article/details/48086917 From e03d1f8889226a7e647b183ba949c6a50002a182 Mon Sep 17 00:00:00 2001 From: jwliao Date: Mon, 11 Sep 2017 01:11:53 +0800 Subject: [PATCH 11/21] change 10 --- Linear-Classifiers-and-Logistic-Regression/main.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Linear-Classifiers-and-Logistic-Regression/main.md b/Linear-Classifiers-and-Logistic-Regression/main.md index 66568b7..b078948 100644 --- a/Linear-Classifiers-and-Logistic-Regression/main.md +++ b/Linear-Classifiers-and-Logistic-Regression/main.md @@ -1,5 +1,6 @@ # Linear Classifiers and Logistic Regression -----手把手教线性分类器和逻辑回归 +##----手把手教线性分类器和逻辑回归 + ## 线性分类 线性分类问题是数据在空间中的分布,可以用一条直线(或平面/超平面)分割。如螺旋状的数据线性不可分。 @@ -12,20 +13,21 @@ ,为连续模型,容易受噪声影响。 逻辑回归本质上是线性回归,只是在特征到结果的映射上添加一层函数映射,即![][2] -[2]: http://latex.codecogs.com/gif.latex?z=h_{\Theta} \(x\)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 +[2]: http://latex.codecogs.com/gif.latex?z=h_{\Theta}=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 ,![](http://latex.codecogs.com/gif.latex?g(z)=\frac{1}{1+e^{-z}}) ,添加映射后,连续模型变为二元模型,受噪声影响变小。 本文不对理论做过多介绍,有兴趣可参考 ([对线性回归、逻辑回归、各种回归的概念学习](http://blog.csdn.net/viewcode/article/details/8794401))。下面在python环境下进行模型的演示。 ### 一、安装python环境。 -可参考[python官网](www.python.org),一般Linux都会自带python环境。 +可参考[python官网](www.python.org),一般Linux都会自带python环境。 ### 二、安装sklearn包。 -简单的做法,可以先安装python的pip包管理工具,之后再用pip安装sklearn包。pip安装可参考([http://pip.pypa.io](http://pip.pypa.io)),python 2版本2.7.9以上或python 3 版本3.4以上都自带pip,不再需要安装。 +简单的做法,可以先安装python的pip包管理工具,之后再用pip安装sklearn包。pip安装可参考([http://pip.pypa.io](http://pip.pypa.io)),python 2版本2.7.9以上或python 3 版本3.4以上都自带pip,不再需要安装。 ####脚本安装方式: ``` curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py python get-pip.py ``` + ####包管理软件安装方式: ``` sudo yum install python-pip From b4272e8fb197e03e02bcf1185b57e82efdfc66d0 Mon Sep 17 00:00:00 2001 From: jwliao Date: Mon, 11 Sep 2017 01:14:04 +0800 Subject: [PATCH 12/21] change 11 --- Linear-Classifiers-and-Logistic-Regression/main.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Linear-Classifiers-and-Logistic-Regression/main.md b/Linear-Classifiers-and-Logistic-Regression/main.md index b078948..df19fe7 100644 --- a/Linear-Classifiers-and-Logistic-Regression/main.md +++ b/Linear-Classifiers-and-Logistic-Regression/main.md @@ -12,8 +12,9 @@ [1]: http://latex.codecogs.com/gif.latex?h_{\Theta} \(x\)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 ,为连续模型,容易受噪声影响。 -逻辑回归本质上是线性回归,只是在特征到结果的映射上添加一层函数映射,即![][2] -[2]: http://latex.codecogs.com/gif.latex?z=h_{\Theta}=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 +逻辑回归本质上是线性回归,只是在特征到结果的映射上添加一层函数映射,即 +![][2] +[2]: http://latex.codecogs.com/gif.latex?z=h_{\Theta} \(x\)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 ,![](http://latex.codecogs.com/gif.latex?g(z)=\frac{1}{1+e^{-z}}) ,添加映射后,连续模型变为二元模型,受噪声影响变小。 本文不对理论做过多介绍,有兴趣可参考 ([对线性回归、逻辑回归、各种回归的概念学习](http://blog.csdn.net/viewcode/article/details/8794401))。下面在python环境下进行模型的演示。 From f02de7126e118b65d2e2bf60d4a75853fe892d40 Mon Sep 17 00:00:00 2001 From: jwliao Date: Mon, 11 Sep 2017 01:16:34 +0800 Subject: [PATCH 13/21] change 12 --- Linear-Classifiers-and-Logistic-Regression/main.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Linear-Classifiers-and-Logistic-Regression/main.md b/Linear-Classifiers-and-Logistic-Regression/main.md index df19fe7..8d7435a 100644 --- a/Linear-Classifiers-and-Logistic-Regression/main.md +++ b/Linear-Classifiers-and-Logistic-Regression/main.md @@ -13,8 +13,7 @@ ,为连续模型,容易受噪声影响。 逻辑回归本质上是线性回归,只是在特征到结果的映射上添加一层函数映射,即 -![][2] -[2]: http://latex.codecogs.com/gif.latex?z=h_{\Theta} \(x\)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 +![](http://latex.codecogs.com/gif.latex?z=h_{\Theta} \(x\)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3) ,![](http://latex.codecogs.com/gif.latex?g(z)=\frac{1}{1+e^{-z}}) ,添加映射后,连续模型变为二元模型,受噪声影响变小。 本文不对理论做过多介绍,有兴趣可参考 ([对线性回归、逻辑回归、各种回归的概念学习](http://blog.csdn.net/viewcode/article/details/8794401))。下面在python环境下进行模型的演示。 From 09f1c083f74d79f5c44bea02cd309d594db31590 Mon Sep 17 00:00:00 2001 From: jwliao Date: Mon, 11 Sep 2017 01:18:01 +0800 Subject: [PATCH 14/21] change 13 --- Linear-Classifiers-and-Logistic-Regression/main.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Linear-Classifiers-and-Logistic-Regression/main.md b/Linear-Classifiers-and-Logistic-Regression/main.md index 8d7435a..b4ad10e 100644 --- a/Linear-Classifiers-and-Logistic-Regression/main.md +++ b/Linear-Classifiers-and-Logistic-Regression/main.md @@ -9,11 +9,11 @@ 线性回归和逻辑回归是数据挖掘领域最简单最基础的机器学习算法,几乎所有的机器学习书籍和教程都会将此算法放在最前面介绍,之后再逐渐深入。 线性回归假设结果和特征满足线性关系,即![][1] -[1]: http://latex.codecogs.com/gif.latex?h_{\Theta} \(x\)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 +[1]: http://latex.codecogs.com/gif.latex?h_{\Theta}\(x\)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 ,为连续模型,容易受噪声影响。 -逻辑回归本质上是线性回归,只是在特征到结果的映射上添加一层函数映射,即 -![](http://latex.codecogs.com/gif.latex?z=h_{\Theta} \(x\)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3) +逻辑回归本质上是线性回归,只是在特征到结果的映射上添加一层函数映射,即 +![](http://latex.codecogs.com/gif.latex?z=h_{\Theta}=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3) ,![](http://latex.codecogs.com/gif.latex?g(z)=\frac{1}{1+e^{-z}}) ,添加映射后,连续模型变为二元模型,受噪声影响变小。 本文不对理论做过多介绍,有兴趣可参考 ([对线性回归、逻辑回归、各种回归的概念学习](http://blog.csdn.net/viewcode/article/details/8794401))。下面在python环境下进行模型的演示。 From 388d8ddef483d004ffe3837f6a866670d798c4ca Mon Sep 17 00:00:00 2001 From: jwliao Date: Mon, 11 Sep 2017 01:19:40 +0800 Subject: [PATCH 15/21] change 14 --- Linear-Classifiers-and-Logistic-Regression/main.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Linear-Classifiers-and-Logistic-Regression/main.md b/Linear-Classifiers-and-Logistic-Regression/main.md index b4ad10e..b4699f2 100644 --- a/Linear-Classifiers-and-Logistic-Regression/main.md +++ b/Linear-Classifiers-and-Logistic-Regression/main.md @@ -13,7 +13,7 @@ ,为连续模型,容易受噪声影响。 逻辑回归本质上是线性回归,只是在特征到结果的映射上添加一层函数映射,即 -![](http://latex.codecogs.com/gif.latex?z=h_{\Theta}=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3) +![](http://latex.codecogs.com/gif.latex?z=h_{\Theta}\(x\)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3) ,![](http://latex.codecogs.com/gif.latex?g(z)=\frac{1}{1+e^{-z}}) ,添加映射后,连续模型变为二元模型,受噪声影响变小。 本文不对理论做过多介绍,有兴趣可参考 ([对线性回归、逻辑回归、各种回归的概念学习](http://blog.csdn.net/viewcode/article/details/8794401))。下面在python环境下进行模型的演示。 From ec880c2104fe153020fb44edbab8eeece3fc8d81 Mon Sep 17 00:00:00 2001 From: jwliao Date: Mon, 11 Sep 2017 01:21:17 +0800 Subject: [PATCH 16/21] change 15 --- Linear-Classifiers-and-Logistic-Regression/main.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Linear-Classifiers-and-Logistic-Regression/main.md b/Linear-Classifiers-and-Logistic-Regression/main.md index b4699f2..f1a9ddf 100644 --- a/Linear-Classifiers-and-Logistic-Regression/main.md +++ b/Linear-Classifiers-and-Logistic-Regression/main.md @@ -8,13 +8,11 @@ 线性回归和逻辑回归是数据挖掘领域最简单最基础的机器学习算法,几乎所有的机器学习书籍和教程都会将此算法放在最前面介绍,之后再逐渐深入。 -线性回归假设结果和特征满足线性关系,即![][1] -[1]: http://latex.codecogs.com/gif.latex?h_{\Theta}\(x\)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3 +线性回归假设结果和特征满足线性关系,即![](http://latex.codecogs.com/gif.latex?h_{\Theta}\(x\)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3) ,为连续模型,容易受噪声影响。 逻辑回归本质上是线性回归,只是在特征到结果的映射上添加一层函数映射,即 -![](http://latex.codecogs.com/gif.latex?z=h_{\Theta}\(x\)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3) -,![](http://latex.codecogs.com/gif.latex?g(z)=\frac{1}{1+e^{-z}}) ,添加映射后,连续模型变为二元模型,受噪声影响变小。 +![](http://latex.codecogs.com/gif.latex?z=h_{\Theta}\(x\)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3),![](http://latex.codecogs.com/gif.latex?g(z)=\frac{1}{1+e^{-z}}) ,添加映射后,连续模型变为二元模型,受噪声影响变小。 本文不对理论做过多介绍,有兴趣可参考 ([对线性回归、逻辑回归、各种回归的概念学习](http://blog.csdn.net/viewcode/article/details/8794401))。下面在python环境下进行模型的演示。 @@ -22,13 +20,13 @@ 可参考[python官网](www.python.org),一般Linux都会自带python环境。 ### 二、安装sklearn包。 简单的做法,可以先安装python的pip包管理工具,之后再用pip安装sklearn包。pip安装可参考([http://pip.pypa.io](http://pip.pypa.io)),python 2版本2.7.9以上或python 3 版本3.4以上都自带pip,不再需要安装。 -####脚本安装方式: +#### 脚本安装方式: ``` curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py python get-pip.py ``` -####包管理软件安装方式: +#### 包管理软件安装方式: ``` sudo yum install python-pip sudo apt-get install python-pip From d82ec8c303ec4581f7a664d7d22d18032692529b Mon Sep 17 00:00:00 2001 From: jwliao Date: Mon, 11 Sep 2017 01:27:00 +0800 Subject: [PATCH 17/21] change 16 --- Linear-Classifiers-and-Logistic-Regression/main.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/Linear-Classifiers-and-Logistic-Regression/main.md b/Linear-Classifiers-and-Logistic-Regression/main.md index f1a9ddf..42d7f17 100644 --- a/Linear-Classifiers-and-Logistic-Regression/main.md +++ b/Linear-Classifiers-and-Logistic-Regression/main.md @@ -1,5 +1,4 @@ -# Linear Classifiers and Logistic Regression -##----手把手教线性分类器和逻辑回归 +# Linear Classifiers and Logistic Regression -- 手把手教线性分类器和逻辑回归 ## 线性分类 @@ -14,10 +13,10 @@ 逻辑回归本质上是线性回归,只是在特征到结果的映射上添加一层函数映射,即 ![](http://latex.codecogs.com/gif.latex?z=h_{\Theta}\(x\)=\Theta{_0}+\Theta{_1}x_1+\Theta{_2}x_2+\Theta{_3}x_3),![](http://latex.codecogs.com/gif.latex?g(z)=\frac{1}{1+e^{-z}}) ,添加映射后,连续模型变为二元模型,受噪声影响变小。 -本文不对理论做过多介绍,有兴趣可参考 ([对线性回归、逻辑回归、各种回归的概念学习](http://blog.csdn.net/viewcode/article/details/8794401))。下面在python环境下进行模型的演示。 +本文不对理论做过多介绍,有兴趣可参考 ([对线性回归、逻辑回归、各种回归的概念学习](http://blog.csdn.net/viewcode/article/details/8794401))。以下在python环境中进行模型的演示。 ### 一、安装python环境。 -可参考[python官网](www.python.org),一般Linux都会自带python环境。 +可参考[python官网](www.python.org),一般Linux都会自带python环境。 ### 二、安装sklearn包。 简单的做法,可以先安装python的pip包管理工具,之后再用pip安装sklearn包。pip安装可参考([http://pip.pypa.io](http://pip.pypa.io)),python 2版本2.7.9以上或python 3 版本3.4以上都自带pip,不再需要安装。 #### 脚本安装方式: @@ -31,10 +30,10 @@ python get-pip.py sudo yum install python-pip sudo apt-get install python-pip ``` -之后就可以用pip安装各类包了,本文中需要用到numpy,scipy,sklearn,matplotlib包。可使用pip install numpy scipy sklearn matplotlib安装。sklearn是python环境下的机器学习软件包,里面包含了常用的机器学习算法,用户只需使用自己的数据,调用其中相应的库,训练出自己的模型,再使用模型完成预测/分类等任务。 +之后就可以用pip安装各类包了,本文中需要用到numpy,scipy,sklearn,matplotlib包。可使用`pip install numpy scipy sklearn matplotlib`安装。sklearn是python环境下的机器学习软件包,里面包含了常用的机器学习算法,用户只需使用自己的数据,调用其中相应的库,训练出自己的模型,再使用模型完成预测/分类等任务。 ### 三、数据 -线性回归:使用sklearn自带的糖尿病预测数据集。 +使用sklearn自带的糖尿病预测数据集。 糖尿病数据集包括442条记录,每条记录对应一个病人的生理数据,标签为一年以后的病情发展情况。数据集中特征维度为10维,包括年龄、性别、体质指数、血压、6种血清化验数据。 ### 四、运用流程 From cd4a73b3da1e113326236c5ef3412e0f16853d80 Mon Sep 17 00:00:00 2001 From: jwliao Date: Mon, 11 Sep 2017 01:36:56 +0800 Subject: [PATCH 18/21] change 17 --- Linear-Classifiers-and-Logistic-Regression/main.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Linear-Classifiers-and-Logistic-Regression/main.md b/Linear-Classifiers-and-Logistic-Regression/main.md index 42d7f17..6e2e4cb 100644 --- a/Linear-Classifiers-and-Logistic-Regression/main.md +++ b/Linear-Classifiers-and-Logistic-Regression/main.md @@ -86,7 +86,9 @@ plt.scatter(diabetes_X_test,diabetes_y_test, color='black') plt.plot(diabetes_X_test,diabetes_y_test_pred,color = 'blue',linewidth=3) plt.show() ``` -![sorry](./media/image_plt.png) +![sorry](./media/image_plt.png) + +使用逻辑回归进行数据分类的操作流程也基本相似,在建立模型时使用 linear_model.LogisticRegression() ,在评估预测效果时使用metrics.f1_score、metrics.precision_score、metrics.recall_score等评估指标。至此,读者就能按照操作步骤使用简单机器学习算法解决实际问题。 参考资料:http://blog.csdn.net/olanlanxiari/article/details/48086917 From 6b218ef3f9c01d612d1de2d8c74bf0a629ee1216 Mon Sep 17 00:00:00 2001 From: jwliao Date: Mon, 11 Sep 2017 01:43:53 +0800 Subject: [PATCH 19/21] change 18 --- .../image_plt.png | Bin 8951 -> 0 bytes .../main.md | 11 +++++++---- 2 files changed, 7 insertions(+), 4 deletions(-) delete mode 100644 Linear-Classifiers-and-Logistic-Regression/image_plt.png diff --git a/Linear-Classifiers-and-Logistic-Regression/image_plt.png b/Linear-Classifiers-and-Logistic-Regression/image_plt.png deleted file mode 100644 index aefe44ac2a38de4cb30c17554f176c8169da9fd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8951 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 diff --git a/Linear-Classifiers-and-Logistic-Regression/main.md b/Linear-Classifiers-and-Logistic-Regression/main.md index 6e2e4cb..56640a1 100644 --- a/Linear-Classifiers-and-Logistic-Regression/main.md +++ b/Linear-Classifiers-and-Logistic-Regression/main.md @@ -1,7 +1,7 @@ # Linear Classifiers and Logistic Regression -- 手把手教线性分类器和逻辑回归 + - -## 线性分类 +## 概念简介 线性分类问题是数据在空间中的分布,可以用一条直线(或平面/超平面)分割。如螺旋状的数据线性不可分。 线性分类器是一些可以解决线性分类问题的机器学习算法,其模型往往都是一个线性函数,如决策树桩/线性回归/支持向量机。 @@ -36,7 +36,7 @@ sudo apt-get install python-pip 使用sklearn自带的糖尿病预测数据集。 糖尿病数据集包括442条记录,每条记录对应一个病人的生理数据,标签为一年以后的病情发展情况。数据集中特征维度为10维,包括年龄、性别、体质指数、血压、6种血清化验数据。 -### 四、运用流程 +### 四、运用步骤 导入数据: ``` from sklearn import datasets @@ -90,6 +90,9 @@ plt.show() 使用逻辑回归进行数据分类的操作流程也基本相似,在建立模型时使用 linear_model.LogisticRegression() ,在评估预测效果时使用metrics.f1_score、metrics.precision_score、metrics.recall_score等评估指标。至此,读者就能按照操作步骤使用简单机器学习算法解决实际问题。 -参考资料:http://blog.csdn.net/olanlanxiari/article/details/48086917 +参考资料: +http://blog.csdn.net/olanlanxiari/article/details/48086917 +http://scikit-learn.org +http://www.cnblogs.com/yhl-yh/p/6714950.html From 24f5805551e6be0e5286692d7948d09eebe05711 Mon Sep 17 00:00:00 2001 From: jwliao Date: Mon, 11 Sep 2017 01:45:28 +0800 Subject: [PATCH 20/21] change 19 --- Linear-Classifiers-and-Logistic-Regression/main.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Linear-Classifiers-and-Logistic-Regression/main.md b/Linear-Classifiers-and-Logistic-Regression/main.md index 56640a1..f9d0bee 100644 --- a/Linear-Classifiers-and-Logistic-Regression/main.md +++ b/Linear-Classifiers-and-Logistic-Regression/main.md @@ -91,8 +91,8 @@ plt.show() 使用逻辑回归进行数据分类的操作流程也基本相似,在建立模型时使用 linear_model.LogisticRegression() ,在评估预测效果时使用metrics.f1_score、metrics.precision_score、metrics.recall_score等评估指标。至此,读者就能按照操作步骤使用简单机器学习算法解决实际问题。 参考资料: -http://blog.csdn.net/olanlanxiari/article/details/48086917 -http://scikit-learn.org -http://www.cnblogs.com/yhl-yh/p/6714950.html +>http://blog.csdn.net/olanlanxiari/article/details/48086917 +>http://scikit-learn.org +>http://www.cnblogs.com/yhl-yh/p/6714950.html From f241ccdf3938af2be06f2fd5ead0835c7f08ecd3 Mon Sep 17 00:00:00 2001 From: jwliao Date: Mon, 11 Sep 2017 01:46:51 +0800 Subject: [PATCH 21/21] change 20 --- Linear-Classifiers-and-Logistic-Regression/main.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Linear-Classifiers-and-Logistic-Regression/main.md b/Linear-Classifiers-and-Logistic-Regression/main.md index f9d0bee..1630b3e 100644 --- a/Linear-Classifiers-and-Logistic-Regression/main.md +++ b/Linear-Classifiers-and-Logistic-Regression/main.md @@ -91,8 +91,8 @@ plt.show() 使用逻辑回归进行数据分类的操作流程也基本相似,在建立模型时使用 linear_model.LogisticRegression() ,在评估预测效果时使用metrics.f1_score、metrics.precision_score、metrics.recall_score等评估指标。至此,读者就能按照操作步骤使用简单机器学习算法解决实际问题。 参考资料: ->http://blog.csdn.net/olanlanxiari/article/details/48086917 ->http://scikit-learn.org +>http://blog.csdn.net/olanlanxiari/article/details/48086917 +>http://scikit-learn.org >http://www.cnblogs.com/yhl-yh/p/6714950.html