线性回归预测

代码

# -*- coding: utf-8 -*-

import  pandas as pd
import  numpy as np
from  sklearn.model_selection  import  train_test_split
from  sklearn.linear_model import  LinearRegression
import  random

DATA_FILE = './data_ai/diabetes.csv'

FEAT_COLS = {'AGE','SEX','BMI','BP','S1','S2','S3','S4','S5','S6'}

def main():
    DIA_DATA = pd.read_csv(DATA_FILE,)   

    X= DIA_DATA[FEAT_COLS].values
    y= DIA_DATA['Y'].values

    X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=1/3,random_state=10)

    linear_reg_model = LinearRegression()
    linear_reg_model.fit(X_train,y_train)
    r2_score = linear_reg_model.score(X_test,y_test)
    print("这个线性回归的可信度是:{}".format(r2_score))


    index = random.randint(0,140)
    test_sameple = [X_test[index, :]]
    y_ture = y_test[index]
    y_prediet = linear_reg_model.predict(test_sameple)
    print("一年后患疾病的定量指标是 :{},而真实的是:{}".format(y_prediet,y_ture))

if __name__ == '__main__':
    main()

学习

  1. 基本的代码操作和KNN是类似的,但是思想不一样
  2. 监督学习基本就可以分成两种,一种是“分类”一种是“线性回归”。
  3. 线性回归没有“准确率”的概念,只能用“置信度”来代替。

错误

  1. 关于pd.read_csv(DATA_FILE,)不知道为什么不用这一句:usecols='FEAT_COLS'+[Y]
  2. X_train,X_test,y_train,y_test = 这几个顺序是不能错的 XX→yy
  3. DATA_FILE = './data_ai/diabetes.csv'DATA_FILE = './data_ai/diabetes.csv/' 不一样的,后面那个是错的

你可能感兴趣的:(python,AI)