目录
代码:
from sklearn.neighbors import KNeighborsClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_spli
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
iris_dataset=load_iris()
# sklearn数据集返回值介绍:
# data: 特征数据数组
# target:标签数组
# DESCR:数据描述
# feature_names:特征名
# target_names:标签名
print(iris)
x_train,x_test,y_train,y_test=train_test_split(iris_dataset["data"],iris_dataset["target"],random_state=0)
#生成散点图
iris_dataframe=pd.DataFrame(X_train,columns=iris_dataset["feature_names"])
grr=pd.plotting.scatter_matrix(iris_dataframe,c=y_train,figsize=(15,15),marker="o",hist_kwds={'bins':20},s=60,alpha=0.8)
plt.savefig("scatter.png")
plt.show()
# 3. 特征工程,标准化
transfer= StandardScaler()
x_train=transfer.fit_transform(x_train)
x_test=transfer.transform(x_test)
# 4. 机器学习(模型训练)
# 4.1 实例化一个训练模型
estimator = KNeighborsClassifier(n_neighbors=2)
# 4.2 调用fit方法进行训练
estimator.fit(x_train,y_train)
# 5. 模型评估
# 方法1:比对真实值和预测值
y_predict = estimator.predict(x_test)
print("预测结果为:\n",y_predict)
print("比对真实值与预测值:\n",y_predict==y_test)
# 方法2:直接计算准确率
score=estimator.score(x_test,y_test)
print("准确率为:\n",score)