机器学习中的预测问题通常分为2类:回归与分类

回归就是预测数值,而分类是给数据打上标签归类。

本例中使用一个2次函数加上随机的扰动来生成500个点,然后尝试用1、2、100次方的多项式对该数据进行拟合。

拟合的目的是使得根据训练数据能够拟合出一个多项式函数,这个函数能够很好的拟合现有数据,并且能对未知的数据进行预测。

import matplotlib.pyplot as pltimport numpy as npimport scipy as spfrom scipy.stats import normfrom sklearn.pipeline import Pipelinefrom sklearn.linear_model import LinearRegressionfrom sklearn.preprocessing import PolynomialFeaturesfrom sklearn import linear_model

‘‘‘ 数据生成 ‘‘‘x = np.arange(0, 1, 0.002)y = norm.rvs(0, size=500, scale=0.1)y = y + x**2

‘‘‘ 均方误差根 ‘‘‘def rmse(y_test, y):    return sp.sqrt(sp.mean((y_test - y) ** 2))

‘‘‘ 与均值相比的优秀程度,介于[0~1]。0表示不如均值。1表示完美预测.这个版本的实现是参考scikit-learn官网文档  ‘‘‘def R2(y_test, y_true):    return 1 - ((y_test - y_true)**2).sum() / ((y_true - y_true.mean())**2).sum()

‘‘‘ 这是Conway&White《机器学习使用案例解析》里的版本 ‘‘‘def R22(y_test, y_true):    y_mean = np.array(y_true)    y_mean[:] = y_mean.mean()    return 1 - rmse(y_test, y_true) / rmse(y_mean, y_true)

plt.scatter(x, y, s=5)degree = [1,2,100]y_test = []y_test = np.array(y_test)

for d in degree:    clf = Pipeline([(‘poly‘, PolynomialFeatures(degree=d)),(‘linear‘, LinearRegression(fit_intercept=False))])    clf.fit(x[:, np.newaxis], y)    y_test = clf.predict(x[:, np.newaxis])

print(clf.named_steps[‘linear‘].coef_)    print(‘rmse=%.2f, R2=%.2f, R22=%.2f, clf.score=%.2f‘%          (rmse(y_test, y),R2(y_test, y), R22(y_test, y),           clf.score(x[:, np.newaxis], y)))    plt.plot(x, y_test, linewidth=2)plt.grid()plt.legend([‘1‘,‘2‘,‘100‘], loc=‘upper left‘)plt.show()


原文出处:https://blog.csdn.net/lsldd/article/details/41251583(转载)

原文地址:https://www.cnblogs.com/heaiping/p/9067977.html

时间: 2024-07-29 18:44:12

机器学习中的预测问题通常分为2类:回归与分类的相关文章

机器学习中常见的损失函数

损失函数是机器学习中常用于优化模型的目标函数,无论是在分类问题,还是回归问题,都是通过损失函数最小化来求得我们的学习模型的.损失函数分为经验风险损失函数和结构风险损失函数.经验风险损失函数是指预测结果和实际结果的差别,结构风险损失函数是指经验风险损失函数加上正则项.通常表示为: θ*是我们通过损失函数最小化要求得的参数,一般都是通过梯度下降法来求得 1.0-1损失函数 0-1损失函数的表达式如下,常见于感知机模型中,预测正确则损失为0,预测错误则损失为1: 2.绝对值损失函数 3.log对数损失

机器学习中的贝叶斯方法---先验概率、似然函数、后验概率的理解及如何使用贝叶斯进行模型预测(2)

在 机器学习中的贝叶斯方法---先验概率.似然函数.后验概率的理解及如何使用贝叶斯进行模型预测(1)文章中介绍了先验分布和似然函数,接下来,将重点介绍后验概率,以及先验概率.似然函数.后验概率三者之间的关系---贝叶斯公式. 在这篇文章中,我们通过最大化似然函数求得的参数 r 与硬币的抛掷次数(抛掷次数是10,求得的r=0.9)有关,为了更好地描述 参数 r 与 抛掷次数之间的关系,对下面符号作一些说明: 参数 r :抛一次硬币出现正面的概率,显然 r 的取值范围为[0,1] yN,在N次抛硬币

机器学习中的算法:决策树模型组合之GBDT(Gradient Boost Decision Tree)

[转载自:http://www.cnblogs.com/LeftNotEasy/archive/2011/03/07/random-forest-and-gbdt.html] 前言 决策树这种算法有着很多良好的特性,比如说训练时间复杂度较低,预测的过程比较快速,模型容易展示(容易将得到的决策树做成图片展示出来)等.但是同时,单决策树又有一些不好的地方,比如说容易over-fitting,虽然有一些方法,如剪枝可以减少这种情况,但是还是不够的. 模型组合(比如说有Boosting,Bagging等

机器学习中的数据清洗与特征处理综述

背景 随着美团交易规模的逐步增大,积累下来的业务数据和交易数据越来越多,这些数据是美团做为一个团购平台最宝贵的财富.通过对这些数据的分析和挖掘,不仅能给美团业务发展方向提供决策支持,也为业务的迭代指明了方向.目前在美团的团购系统中大量地应用到了机器学习和数据挖掘技术,例如个性化推荐.筛选排序.搜索排序.用户建模等等,为公司创造了巨大的价值.本文主要介绍在美团的推荐与个性化团队实践中的数据清洗与特征挖掘方法.主要内容已经在内部公开课"机器学习InAction系列"讲过,本博客的内容主要是

如何解决机器学习中数据不平衡问题

作者:无影随想 时间:2016年1月. 出处:http://www.zhaokv.com/2016/01/learning-from-imbalanced-data.html 声明:版权所有,转载请联系作者并注明出处 这几年来,机器学习和数据挖掘非常火热,它们逐渐为世界带来实际价值.与此同时,越来越多的机器学习算法从学术界走向工业界,而在这个过程中会有很多困难.数据不平衡问题虽然不是最难的,但绝对是最重要的问题之一. 一.数据不平衡 在学术研究与教学中,很多算法都有一个基本假设,那就是数据分布是

机器学习中复杂概念的理解

平均值和数学期望的区别? 均值(mean value)是针对既有的数值(简称母体)全部一个不漏个别都总加起来,做平均值(除以总母体个数),就叫做均值. 但是当这个数群(data group)的数量(numbers)很大很多时,我们只好做个抽样(sampling),并"期望"透过抽样所得到的均值,去预测整个群体的"期望值(expectation value)". 当抽样的数量很大时候,我们认为抽样得到的均值接近于期望值. 机器学习中概念都有哪些? 损失函数是度量模型一

关于机器学习中支持向量机相关问题

前言 在机器学习中,分类问题占了很大一部分,而对于分类问题的处理有很多方法,比如决策树.随机森林.朴素贝叶斯.前馈神经网络等等:而最为常见的分类需求一般是二分类问题,即将样本分为两个集合,然后通过学习某些参数,对新的输入进行识别并划分到正确的类别中. 在解决分类问题中,应该说线性分类器就是最为简单的一类,虽然说起来较为简单,但其能处理的情况还是比较多的,而最为常用的一种线性分类器就是所谓的支持向量机(Support Vector Machine,简称SVM):其基本原理就是构建一个(对于而分类而

机器学习中特征的处理及选择

基础概念 特征工程是通过对原始数据的处理和加工,将原始数据属性通过处理转换为数据特征的过程,属性是数据本身具有的维度,特征是数据中所呈现出来的某一种重要的特性,通常是通过属性的计算,组合或转换得到的.比如主成分分析就是将大量的数据属性转换为少数几个特征的过程.某种程度而言,好的数据以及特征往往是一个性能优秀模型的基础. 既然叫特征工程,自然涵盖了很多内容,而其中涉及到的比较重要的部分是特征的处理及选择. 特征处理包含: 数据清洗 数据规范化 特征构造与衍生 特征选择包含: 特征过滤 wrappe

机器学习中的线性模型

一.基本形式 给定由d个属性描述的示例x=(x1, x2, ..., xd),则线性模型(linear mdel)的预测函数f(x)是属性的线性组合,用向量形式表示为f(x) = wTx + b. 线性模型蕴涵了机器学习中一些重要的基本思想.通过在线性模型中引入层次结构或高维映射,就可以得到更为强大的非线性模型(nonlinear model).此外,线性模型也具有很好的可解释性(comprehensibility). 针对回归任务.二分类任务.多分类任务,下文总结了几种经典的线性模型. 二.线