【sklearn】——1. 广义线性模型 Generalized Linear Models
2018-02-27 15:26
671 查看
1.线性回归Linear Regression#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 18/2/27 上午11:25
# @Author : cicada@hole
# @File : lineModel.py
# @Desc : 第一节广义线性模型
# @Link : http://scikit-learn.org/stable/modules/linear_model.html
# reg = linear_model.LinearRegression() #线性回归
# reg.fit([[0, 0, 0],[1, 1, 1],[2, 2,2]],[0, 1, 2]) # 前边是x的列表,后边是对应的y值,即 y= w0x0+w1x1
# print(reg.coef_)# coef_拟合参数
# rt = reg.predict([[2,2,2],[3,4,3],[3,1,0]])
# print(rt)
from sklearn import datasets, linear_model
import matplotlib.pyplot as plt
import numpy as np
from sklearn.metrics import mean_squared_error, r2_score #均方差
class LinearRegression:
# 加载糖尿病数据集
diabetes = datasets.load_diabetes()
#使用一个特征
diabetes_X = diabetes.data[:, np.newaxis, 2] #np.newaxis的功能是插入新维度
#把数据分成训练集和测试集
diabetes_X_train = diabetes_X[:-5]
diabetes_X_test = diabetes_X[-5:]
diabetes_y_train = diabetes.target[:-5]
diabetes_y_test = diabetes.target[-5:]
#创建线性回归对象
regr = linear_model.LinearRegression()
#用训练集训练数据
regr.fit(diabetes_X_train, diabetes_y_train)
#预测结果
diabetes_y_pred = regr.predict(diabetes_X_test)
print(np.hstack((diabetes_y_test,diabetes_y_pred)))
#打印系数
print('Coefficients: \n', regr.coef_)
#最小均方差
print("Mean squared error: %.2f"
% mean_squared_error(diabetes_y_test, diabetes_y_pred))
print('Variance score: %.2f' % r2_score(diabetes_y_test, diabetes_y_pred))
#绘制输出图
plt.scatter(diabetes_X_test, diabetes_y_test, color='black')
plt.plot(diabetes_X_test,diabetes_y_pred, color='blue', linewidth=3)
plt.xticks()
plt.yticks()
plt.show()
# -*- coding: utf-8 -*-
# @Time : 18/2/27 上午11:25
# @Author : cicada@hole
# @File : lineModel.py
# @Desc : 第一节广义线性模型
# @Link : http://scikit-learn.org/stable/modules/linear_model.html
# reg = linear_model.LinearRegression() #线性回归
# reg.fit([[0, 0, 0],[1, 1, 1],[2, 2,2]],[0, 1, 2]) # 前边是x的列表,后边是对应的y值,即 y= w0x0+w1x1
# print(reg.coef_)# coef_拟合参数
# rt = reg.predict([[2,2,2],[3,4,3],[3,1,0]])
# print(rt)
from sklearn import datasets, linear_model
import matplotlib.pyplot as plt
import numpy as np
from sklearn.metrics import mean_squared_error, r2_score #均方差
class LinearRegression:
# 加载糖尿病数据集
diabetes = datasets.load_diabetes()
#使用一个特征
diabetes_X = diabetes.data[:, np.newaxis, 2] #np.newaxis的功能是插入新维度
#把数据分成训练集和测试集
diabetes_X_train = diabetes_X[:-5]
diabetes_X_test = diabetes_X[-5:]
diabetes_y_train = diabetes.target[:-5]
diabetes_y_test = diabetes.target[-5:]
#创建线性回归对象
regr = linear_model.LinearRegression()
#用训练集训练数据
regr.fit(diabetes_X_train, diabetes_y_train)
#预测结果
diabetes_y_pred = regr.predict(diabetes_X_test)
print(np.hstack((diabetes_y_test,diabetes_y_pred)))
#打印系数
print('Coefficients: \n', regr.coef_)
#最小均方差
print("Mean squared error: %.2f"
% mean_squared_error(diabetes_y_test, diabetes_y_pred))
print('Variance score: %.2f' % r2_score(diabetes_y_test, diabetes_y_pred))
#绘制输出图
plt.scatter(diabetes_X_test, diabetes_y_test, color='black')
plt.plot(diabetes_X_test,diabetes_y_pred, color='blue', linewidth=3)
plt.xticks()
plt.yticks()
plt.show()
相关文章推荐
- 广义线性模型--Generalized Linear Models
- 广义线性模型(Generalized Linear Models, GLM)
- 1.1 Generalized Linear Models 广义线性模型
- 广义线性模型(Generalized Linear Models, GLM)
- 指数分布族(The Exponential Family)与广义线性模型(GLM,Generalized Linear Models)
- R语言实现 广义加性模型 Generalized Additive Models(GAM) 入门
- [机器学习笔记]三:Generalized Linear Models(广义线性模型)
- scikit-learn学习笔记(三)Generalized Linear Models ( 广义线性模型 )
- PRML读书会第四章 Linear Models for Classification(贝叶斯marginalization、Fisher线性判别、感知机、概率生成和判别模型、逻辑回归)
- 广义线性模型(Generalized Linear Models)
- 机器学习笔记1_3:广义线性模型(GLM, Generalized Linear Models)
- 广义线性模型
- 模型参数NLP 学习笔记 05 (Log-linear Models)
- 【Scikit-Learn 中文文档】广义线性模型 - 监督学习 - 用户指南 | ApacheCN
- CS229学习笔记之广义线性模型
- 广义线性模型2
- 指数分布族(The Exponential Family)与广义线性回归(Generalized Linear Model GLM)
- [机器学习入门] 李宏毅机器学习笔记-25(Sturctured Linear Model;结构化预测-线性模型)
- 机器学习算法之:指数族分布与广义线性模型
- Generalized Linear Models