机器学习》16-实验二 手写体数字识别参考代码[3页]

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

# encoding:utf-8

# 从sklearn.datasets里导入手写体数字加载器。

from sklearn.datasets import load_digits

# 从通过数据加载器获得手写体数字的数码图像数据

#并储存在digits变量中。

digits = load_digits()

# 检视数据规模和特征维度。

print(digits.data.shape)

#import matplotlib.pyplot as plt

#plt.gray()

#plt.matshow(digits.images[0])

#plt.show()

# 从sklearn.cross_validation中导入train_test_split用于数据分割。from sklearn.model_selection import train_test_split

# 随机选取75%的数据作为训练样本;其余25%的数据作为测试样本。

X_train, X_test, y_train, y_test = train_test_split(\

digits.data, digits.target, test_size=0.25, random_state=33)

print(y_train.shape)

print(y_test.shape)

# 从sklearn.preprocessing里导入数据标准化模块。

from sklearn.preprocessing import StandardScaler

# 从仍然需要对训练和测试的特征数据进行标准化。

ss = StandardScaler()

X_train = ss.fit_transform(X_train)

X_test = ss.transform(X_test)

from sklearn.linear_model import LogisticRegression,SGDClassifier lgr = LogisticRegression()

lgr.fit(X_train, y_train)

lgr_predict = lgr.predict(X_test)

sgc = SGDClassifier()

sgc.fit(X_train, y_train)

sgc_predict = sgc.predict(X_test)

# 从sklearn.svm里导入基于线性假设的支持向量机分类器LinearSVC。from sklearn.svm import LinearSVC,SVC,NuSVC

# 初始化线性假设的支持向量机分类器LinearSVC。

lsvc = LinearSVC(max_iter=3000)

#进行模型训练

lsvc.fit(X_train, y_train)

# 利用训练好的模型对测试样本的数字类别进行预测,

#预测结果储存在变量y_predict中。

lsvc_predict = lsvc.predict(X_test)

svc = SVC()

svc.fit(X_train, y_train)

svc_predict = svc.predict(X_test)

nusvc = NuSVC()

nusvc.fit(X_train, y_train)

nusvc_predict = nusvc.predict(X_test)

from sklearn.neighbors import KNeighborsClassifier

kneighbor = KNeighborsClassifier()

kneighbor.fit(X_train,y_train)

kneighbor_predict = kneighbor.predict(X_test)

from sklearn.naive_bayes import GaussianNB,BernoulliNB

gs = GaussianNB()

gs.fit(X_train,y_train)

gs_predict = gs.predict(X_test)

bnl = BernoulliNB()

bnl.fit(X_train,y_train)

bnl_predict = bnl.predict(X_test)

from sklearn.tree import DecisionTreeClassifier

dtc = DecisionTreeClassifier()

dtc.fit(X_train,y_train)

dtc_predict = dtc.predict(X_test)

from sklearn.ensemble import RandomForestClassifier

rfcc = RandomForestClassifier()

rfcc.fit(X_train,y_train)

rfcc_predict = rfcc.predict(X_test)

from sklearn.ensemble import GradientBoostingClassifier

gbcc = GradientBoostingClassifier()

gbcc.fit(X_train,y_train)

gbcc_predict = gbcc.predict(X_test)

from sklearn.metrics import classification_report

print('LogisticRegression',classification_report(y_test,

lgr_predict))

相关文档
最新文档