资源描述:
《大数据挖掘实训报告材料-》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、标准文案项目1:基于sklearn的数据分类挖掘一、项目任务①熟悉sklearn数据挖掘的基本功能。②进行用朴素贝叶斯、KNN、决策树C4.5、SVM算法进行数据分类分析。二、项目环境及条件Øsklearn-0.18.0Øpython-2.7.13Ønumpy-1.11.3+mkl-cp27-cp27m-win_amd64Øscipy-0.19.0-cp27-cp27m-win_amd64Ømatplotlib-1.5.3-cp27-cp27m-win_amd64三、实验数据Iris数据集Iris数据集
2、是常用的分类实验数据集,由Fisher,1936收集整理。Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集。数据集包含150个数据集,分为3类,每类50个数据,每个数据包含4个属性。可通过花萼长度,花萼宽度,花瓣长度,花瓣宽度4个属性预测鸢尾花卉属于(Setosa,Versicolour,Virginica)三个种类中的哪一类。Digits数据集大全标准文案美国著名数据集NIST的子集,模式识别常用实验数据集,图像属于灰度图像。分辨率为8x8大全标准文案四、项目内容及过程1.读取数据集从sklea
3、rn中读取iris和digits数据集并测试打印fromsklearnimportdatasetsiris=datasets.load_iris()digits=datasets.load_digits()print'iris:',iris.data,'digits:',digits.data打印的数据集存在numpy.ndarray中,ndarray会自动省略较长矩阵的中间部分。Iris数据集的样本数据为其花瓣的各项属性Digits数据集的样本数据为手写数字图像的像素值2.划分数据集大全标准文案引
4、入sklearn的model_selection使用train_test_split划分digits数据集,训练集和测试集比例为8:2fromsklearn.model_selectionimporttrain_test_splitx_train,x_test,y_train,y_test=train_test_split(digits.data,digits.target,test_size=0.2)print'x_train:',x_train,'x_test:',x_test,'y_tra
5、in:',y_train,'y_test:',y_test3.使用KNN和SVM对digits测试集分类引用sklearn的svm.SVC和neighbors.KNeighborsClassifier模块调用算法,使用classification_report查看预测结果的准确率和召回率fromsklearn.metricsimportclassification_reportfromsklearnimportneighborsclf=neighbors.KNeighborsClassifier()
6、clf.fit(x_train,y_train)y_pred=clf.predict(x_test)printclassification_report(y_test,y_pred)大全标准文案fromsklearn.svmimportSVCclf=SVC()clf.fit(x_train,y_train)y_pred=clf.predict(x_test)printclassification_report(y_test,y_pred)KNN的预测结果:所有数字的预测正确率几乎达到了100%SVM的预
7、测结果:对部分数字的预测误差较大,基本情况不如KNN大全标准文案考虑SVM分类器的特性,在分类前对特征值进行标准化后再分类:fromsklearnimportpreprocessingmin_max_scaler=preprocessing.MinMaxScaler()x_train=min_max_scaler.fit_transform(x_train)x_test=min_max_scaler.fit_transform(x_test)标准化数据后SVM的预测结果达到了KNN的准度:大全标准文案4
8、.使用贝叶斯和决策树对iris数据集分类fromsklearn.model_selectionimporttrain_test_splitx_train,x_test,y_train,y_test=train_test_split(iris.data,iris.target,test_size=0.4)fromsklearn.metricsimportclassification_reportfromsklearnimportnaive_b