《学习机器学习相关的多个库与方法的使用环境.docx》由会员分享,可在线阅读,更多相关《学习机器学习相关的多个库与方法的使用环境.docx(4页珍藏版)》请在第壹文秘上搜索。
1、学习内容:概念理解,学习机器学习相关的多个库与方法的使用环境,并通过实例操作熟悉其具体使用场景。数据获取数据来源:本地文件,服务器日志,或网站截取格式:大多情况为文本文件,有时包含图像、视频文件处理。PythOn库中获取:通过rest风格的APl接口,pythonrequest从GitHub的API中拉取数据:Importrequestsr=requests.get(r“r.json()返回json文档数据检查主要为用于检查数据的库与方法,暂时只提到各方法的简单应用,更多内容请在文档中查找。PandaS库:解析文件,数据读取、归类、处理。此处数据集为https:archive.ics.uci.
2、edu/ml/datasets/lris下的iris.data文件PandaS文档:(http:/PandaS.pydat.orpandvs-docsversion0.17.1/)方法:Map:序列数据的修改dfclass=df,class.map(,lris-setosa,:SET,zIris-Virginica:VIR,zIris-versicolor:,VER)dfApply:新列,不局限于单列数据操作df,petalarea=df.apply(lambdar:rpetallength*r,petalwidth,axis=l)df注:axis=1表示对行操作,axis=。表示对列操作Ap
3、plymap:对数据框中所有单元df.applymap(lambdav:np.log(v)ifisinstance(v,float)elsev)注:np.log()利用numpy库返回该值的对数Groupby:df.groupby(class).mean()注:按照HaSS,划分数据,并取每个CIaSS对应各列的均值。df.groupby(class).describe()求个数、均值、标准差、最小值、25%,50%,76%、最大值可视化MatPIOtlib库:绘图Seaborn库:绘图(http:Stanford.edumwaskomSoftWareseabomindex.html)建模St
4、atsmodels库:(http:StatSmOdelS.sourceforRimportstatsmodels.apiassmy=df,sepallength:50x=df,sepalwidth:50X=sm.add_constant(x)results=sm.OLS().fit()print(results.summary()OLSRegressionResultsDep.VariablessepallengthR-quared:0.558Model:OLSAdj.R-squared:0.548Method:LeastSquaresF-Statistici60.52Date:Sunr11O
5、ct2015Prob(F-Btatistic):4.75e-10Tisw:18:14:39Log-Lik6ihood:2.0879No.Observations:50AIC:-0.1759DfResiduals:48BIC:3.648DfMod。1:1coeftderrtPt(950Conf.Int.)const2.64470.3058.6600.0002.0313.259sepalwidth0.69090.0897.7790.0000.5120.869Onnibus:0.252Durbin-Watson:2.517Prob(Omnibus):O.2Jarque-Bera(JB):0.436S
6、kew:-0.110Prob(JB):0.804KUrtOSis:2.599Cond.No.34.0SepalLength=2.6447+0.6909SepalWidthR2=0.558SetOMSepalWdtvs.SepalLengthSCikit-Ieam库:分类、回归、聚类、降维、模型选择和预处理(PyhthOn机器学习包中的重点库)分类器学习(库中分类器有多种,这里选择随机森林分类器)fromsklearn.ensembleimportRandomForestCIassifierfromsklearn.cross_validationimporttrain_test_splitclf
7、=RandomForestClassifier(max_depth=5,n_eStimators=10)X=df.ix:,:4y=df.ix:,4X_train,X_test,y_train,y_test=train_test_split(X,y,test-size=.3)clf.fit(X_train,y_train)y_pred=clf.predict(X_test)rf=pd.DataFrame(list(zip(y_pred,y_test),columns=,predicted,actual)rfcorrect,=rf.apply(lambdar:1ifrpredicted,=ract
8、uaelseOzaxis=l)rf代码理解:1 .导入随机森林分类器2 .将数据分为训练组与测试组(train_test_split会打乱数据先后顺序)3 .实例化分类器,5层判定深度10各决策树森林4 .创建X矩阵,y向量5 .数据传递到train_teSjSPIit方法,该方法将数据打乱并划分为四个子集,X_train,X_test,y_tfain和y_test。参数test_size为0.3,这数据集的30%分配给X_test和y_test部分,其余分配到训练的部分X_train和y_train6 .使用训练数据拟合模型,使用测试数据测试方法,并计算模型的准确度(通过前四列“X矩阵”的数
9、据,对数据的最后一列y进行预测)羯一值实际值是否正确0Iris-VirginicaIris-Virginica11Iris-versicolorIris-versicolor12Iris-VirginicaIris-Virginica13Iris-VirginicaIris-Virginica14Iris-SetosaIris-setosa15Iris-VirginicaIris-Virginica16Iris-VirginicaIris-Virginica17IriS-VerSicOlOrIris-versicolor18Iris-verscolorIris-versicolor19Iris-SetosaIris-setosa110lris-verstlorIris-versicolor111Iris-VersicotorIris-versicolor112Iris-VerscolorIris-VirginicaO13IriS-VerSiCoIOrIris-versicolor114Iris-setosaIris-setosa115Iris-setosaIris-setosa1rfcorrect.sum()rf,correct.count()输出准确度0.95555555555555556环境配置选用Anaconda