1.2.knn案例--鸢尾花iris,手打可运行

 通过一整个机器学习的流程,来完成knn这个算法

*iris鸢尾花是sklearn.datasets自带的

*train_test_split是切割数据集,将数据划分为测试集和训练集

*特征工程是将数据标准化处理-->转换为[0,1]之间的数据方便计算器处理

其他的其实都是套路,步骤都一样的写代码即可,主要是整个思路要知道

'''
获取数据集
数据基本处理
特征工程
机器学习(模型训练)
模型评估
'''

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier

# 1.获取数据集
iris = load_iris()
print(iris)
# 2.数据基本处理   异常值...   数据分割
# 2.1 数据分割
x_train, x_test, y_train, y_test = train_test_split(iris.data,iris.target,random_state=22,test_size=0.2)

# 3特征工程
# 3.1 实例化一个转换器
transfer = StandardScaler()
# 3.2 调用一个fit_transform方法
x_train = transfer.fit_transform(x_train)
x_test = transfer.fit_transform(x_test)

# 4.机器学习(模型训练)
# 4.1 实例化一个估计器
estimator = KNeighborsClassifier(n_neighbors=5,algorithm='auto')
# 4.2模型训练
estimator.fit(x_train,y_train)

# 5.模型评估
# 5.1 输出预测值
y_predict = estimator.predict(x_test)
print("预测值是:\n",y_predict)
print("预测值和真实值对比\n",y_predict==y_test)
# 5.2 输出准确率
accuracy = estimator.score(x_test,y_test)
print("准确率是 : \n",accuracy)

你可能感兴趣的:(机器学习,近邻算法,python)