zoukankan      html  css  js  c++  java
  • 超级简单的多元线性回归应用

    首先表达一下自己对多元线性回归的理解:

    方程:

    y为正确的结果。p0为常数项,e为误差,p1,p2,p3等是我们要通过sklearn训练数据集得出来的回归系数,x1,x2,x3等是我们训练集里的特征向量。

    这次我用到的数据集是kaggle的入学几率预测数据集:

    去kaggle搜索admission就是了

    https://www.kaggle.com/datasets

    长这个样子:

    其中Chance of Admit 是最终要自己预测的label

    思路非常之简单,上代码~


    一:数据探索
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    
    
    csv_data = pd.read_csv('./data/Admission_Predict.csv')
    #  读取csv文件内容
    print(csv_data.info())
    #  了解数据表的基本情况:行数、列数、每列的数据类型、数据完整度。可以看到每列都有500行,可以说是没有缺失值的。
    print(csv_data.describe())
    #  了解总数、平均值、标准差等一些统计数据
    print(csv_data.head())
    #  了解数据的模样~
    csv_data.drop('Serial No.',axis=1,inplace=True)
    #  去掉没什么用的ID一列
    
    #数据归一化,简单地除以它们的最大值...
    csv_data['GRE Score'] = csv_data['GRE Score']/340
    csv_data['TOEFL Score'] = csv_data['TOEFL Score']/120
    csv_data['University Rating'] = csv_data['University Rating']/5
    csv_data['SOP'] = csv_data['SOP']/5
    csv_data['LOR '] = csv_data['LOR ']/5
    csv_data['CGPA'] = csv_data['CGPA']/10
    
    #数据探索

    运行结果:

    二:简单进行可视化

    import seaborn as sns
    
    
    print(csv_data.columns)
    sns.regplot('GRE Score','Chance of Admit ',data=csv_data)

    查看所有特征的联系:
    sns.pairplot(csv_data,diag_kind='kde',plot_kws={'alpha':0.2})

    从图可以看到,的确有那么一点回归的样子~

    三:模型构建
    from sklearn import linear_model
    
    
    features = ['GRE Score', 'TOEFL Score', 'University Rating', 'SOP', 'LOR ', 'CGPA', 'Research',]
    # 特征选择
    X = csv_data[features].iloc[:420,:-1]
    Y = csv_data.iloc[:420,-1]
    #选择训练集
    X_test = csv_data[features].iloc[420:,:-1]
    Y_test = csv_data.iloc[420:,-1]
    #选择测试集
    
    regr = linear_model.LinearRegression()
    #构造线性回归模型
    regr.fit(X,Y)
    #模型训练
    print(regr.predict(X_test))  # 预测
    print(list(Y_test))  #答案
    print(regr.score(X_test,Y_test))  #准确度

     结果:

    嘿,达到88%的准确度了呢,有用,开心/

    The End~



  • 相关阅读:
    【转】【SEE】基于SSE指令集的程序设计简介
    【转】【Asp.Net】asp.net服务器控件创建
    ControlTemplate in WPF ——ScrollBar
    ControlTemplate in WPF —— Menu
    ControlTemplate in WPF —— Expander
    ControlTemplate in WPF —— TreeView
    ControlTemplate in WPF —— ListBox
    ControlTemplate in WPF —— ComboBox
    ControlTemplate in WPF —— TextBox
    ControlTemplate in WPF —— RadioButton
  • 原文地址:https://www.cnblogs.com/byadmin/p/11613421.html
Copyright © 2011-2022 走看看