zoukankan      html  css  js  c++  java
  • python的学习02之数据处理

      1、选择建模数据

          我们的数据集有太多的变量,很难处理,我们需要将这些海量的数据减少到我们能理解的程度。

          我们肯定要选择变量的一列来进行分析,故我们需要查看数据集中所有列的列表名,这是通过数据框架的Columns属性完成的。

        以之前的墨尔本房价为例

    import pandas as pd
    
    # 将文件路径保存到变量以便于访问
    melbourne_file_path = '../input/melbourne-housing-snapshot/melb_data.csv'
    #读取数据并将数据存储在名为墨尔本数据的数据框中
    melbourne_data = pd.read_csv(melbourne_file_path)
    print(melbourne_data.columns)

        输出结果为:

        2、选择数据子集的两种方法

            1)、点表示法,用于选择预测目标。

            2)、用列列表选择,我们用它来选择功能(特性)

          选择预测目标:

               我们可以用点标记法拉出一个变量。把这个单列存储在一个系列中,这个系列大体上就像一个只有单列数据的数据框架。

             我们将使用点表示法来选择要预测的列,这称为预测目标。根据惯例,预测目标称为Y

    y =   melbourne_data.Price

          选择功能(特性):

              输入到我们的模型中的列(稍后用于预测)称为“功能”。在我们的例子中,这些列将是用于确定房价的列。

              有时,您将使用除目标之外的所有列作为功能。其他时候,你会因为功能更少而过得更好。

              现在,我们将构建一个只有几个特性的模型,稍后你将看到如何使用迭代和比较使用不同特性构建的模型。

              我们通过在括号内提供列名列表来选择多个特性。列表中的每一项都应该是一个字符(带引号)

    melbourne_features = ['Rooms', 'Bathroom', 'Landsize', 'Lattitude', 'Longtitude']
    X = melbourne_data[melbourne_features]
    print(X.describe())
    print(X.head())

            输出结果为:

                

                

         构建模型:

            我们将使用scikit-learn库创建模型,编写代码时,这个库编写为sklearn,Scikit-learn主要用于存储在数据流中的数据类型。

              建立和使用模型的步骤如下:

                1)定义:它将是什么类型的模型?一个决策树吗?其他类型的模型?还指定了模型类型的其他一些参数。

                2)、匹配:从提供的数据捕获模式。这是建模的核心

                3)、预言:就像它听起来的那样

                4)、评估:确定模型的预测有多准确。

        下面是一个用scikit-learn定义决策树模型并将其与特性和目标变量相匹配的例子:

    from sklearn.tree import DecisionTreeRegressor
    # 定义模型。为random_state指定一个数字,以确保每次运行的结果相同
    melbourne_model = DecisionTreeRegressor(random_state=1)
    #合适的模型
    melbourne_model.fit(X, y)

         许多机器学习模型在模型训练中允许一定的随机性。为random_state指定一个数字可以确保每次运行得到相同的结果。这被认为是一种很好的做法。

         我们使用任何数字,而模型的质量并不完全取决于我们所选择的值。

         我们现在有了一个拟合的模型,可以用来进行预测。

         在实践中,你会想要预测即将上市的新房子,而不是我们已经有价格的房子。但我们将对训练数据的前几行进行预测。

         以了解predict函数是如何工作的:  

    print("Making predictions for the following 5 houses:")
    print(X.head())
    print("The predictions are")
    print(melbourne_model.predict(X.head()))

         输出结果为:

            

        模型验证:

            

  • 相关阅读:
    从零搭建Spring Boot脚手架(4):手写Mybatis通用Mapper
    从零搭建Spring Boot脚手架(3):集成mybatis
    从零搭建Spring Boot脚手架(2):增加通用的功能
    从零搭建Spring Boot脚手架(1):开篇以及技术选型
    Hibernate Validator校验参数全攻略
    Spring Data R2DBC响应式操作MySQL
    Spring Security 实战干货:从零手写一个验证码登录
    Spring Security 实战干货:图解用户是如何登录的
    基于.NetCore3.1系列 —— 日志记录之日志核心要素揭秘
    基于.NetCore3.1系列 —— 日志记录之日志配置揭秘
  • 原文地址:https://www.cnblogs.com/fb1704011013/p/11148122.html
Copyright © 2011-2022 走看看