分类学习-KNN分类

#导入数据
from sklearn.datasets import load_iris
iris = load_iris()            #使用加载器读取数据并且存入变量iris
print(iris.data.shape)        #打印数据
print(iris.DESCR)
#分割数据
from sklearn.cross_validation import train_test_split
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.25, random_state=33)   #随机采样25%的数据作为测试集
#标准化数据
from sklearn.preprocessing import StandardScaler
ss = StandardScaler()
X_train = ss.fit_transform(X_train)     #对训练和测试的特征数据进行标准化
X_test = ss.transform(X_test)
#训练模型
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier()            #初始化K近邻分类器
knn.fit(X_train, y_train)
y_predict = knn.predict(X_test)
#性能评估
from sklearn.metrics import classification_report
print('Accuracy of KNN is:', knn.score(X_test, y_test))
print(classification_report(y_test, y_predict, target_names=iris.target_names))
分析:K近邻属于无参数模型中非常简单的一种,计算复杂度和内存消耗高

你可能感兴趣的:(分类学习-KNN分类)