python机器学习入门上课代码记录1

from sklearn.datasets import load_iris
# 导入鸢尾花数据并查看数据特征
iris_dataset = load_iris() # 字典
print(iris_dataset.keys())
print(iris_dataset['feature_names']) # sepal花萼 petal花瓣
print(iris_dataset['data'])    # 获取属性
print(iris_dataset['data'].shape)   # 查看数据结构
print(iris_dataset['data'][:5])     # 查看前5条数据
# 查看分类信息
print(iris_dataset['target_names'])  # 标记名
print(iris_dataset['target'])        # 标记类型
print(iris_dataset['target'].shape)  # 标记维度
print(iris_dataset['DESCR'])         # 查看数据集的简介
# 对iris数据集进行拆分
from sklearn.model_selection import train_test_split
# Xtrain 输入训练集,Xtest输入测试集
# Ytrain 输出训练集,Ytrain输出测试集
iris_Xtrain, iris_Xtest, iris_ytrain, iris_ytest = train_test_split(iris_dataset['data'], iris_dataset['target'],
                                                                    test_size = 0.2, random_state=0)
# 查看拆分后的数据集
print('X_train', iris_Xtrain)
print('X_test', iris_Xtest)
print('y_train', iris_ytrain)
print('y_test', iris_ytest)
print('X_train shape: {}'.format(iris_Xtrain.shape))
print('X_test shape: {}'.format(iris_Xtest.shape))

import pandas as pd
# 将训练集数据转换成dataframe格式
iris_dataframe = pd.DataFrame(iris_Xtrain, columns=iris_dataset.feature_names)
# 绘制散点矩阵图
# 矩阵的第 i行、第 j列中的子图是 X 的第 i列相对于 X 的第 j列的散点图。沿对角线方向是 X 的每一列的直方图
# c color 即花的不同分类
# figsize,以英寸为单位的图像大小,一般以元组 (width, height) 形式设置
# marker。Matplotlib可用的标记类型,如’.’,’,’,’o’等
# alpha 透明度
# s 散点的大小
pd.plotting.scatter_matrix(iris_dataframe, c=iris_ytrain, figsize=(15,15), marker='o', hist_kwds={'bins':20}, s=60, alpha=0.8)

from sklearn.neighbors import KNeighborsClassifier
# 分类器初始化
for i in range(1,11):
    knn = KNeighborsClassifier(n_neighbors=i)
    # 对训练集进行训练
    knn.fit(iris_Xtrain, iris_ytrain)
    # 对测试集数据的鸢尾花类型进行预测
    predict_y = knn.predict(iris_Xtest)
    # print('测试集大小:', iris_Xtest.shape)
    # print('真实结果:', iris_ytest)
    # print('预测结果:', predict_y)
    # 显示预测精确率 结果中正确的占多少
    # 内部计算是按照predict()函数计算的结果记性计算的。
    print('k值', i, '预测精确率:', knn.score(iris_Xtest, iris_ytest))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值