python机器学习-乳腺癌细胞挖掘(博主亲自录制视频)

机器学习,统计分项目联系:QQ:231469242

数据

https://github.com/thomas-haslwanter/statsintro_python/blob/master/ISP/Code_Quantlets/14_Bayesian/bayesianStats/challenger_data.csv

https://github.com/thomas-haslwanter/statsintro_python/tree/master/ISP/Code_Quantlets/14_Bayesian/bayesianStats

因其右侧固体火箭助推器(SRB)的O型环密封圈失效,毗邻的外部燃料舱在泄漏出的火焰的高温烧灼下结构失效,使高速飞行中的航天飞机在空气阻力的作用下于发射后的第73秒解体

华氏31度等于摄氏-0.5555555555555556,因为温度过低造成挑战者号失事。

天气预报称28日的清晨将会非常寒冷,气温接近华氏31度(摄氏-0.5度),这是允许发射的最低温度。过低的温度让莫顿·塞奥科公司的工程师感到担心,该公司是制造与维护航天飞机SRB部件的承包商。在27日晚间的一次远程会议上,塞奥科公司的工程师和管理层同来自肯尼迪航天中心和马歇尔航天飞行中心的NASA管理层讨论了天气问题。部分工程师,如比较著名的罗杰·博伊斯乔利,再次表达了他们对密封SRB部件接缝处的O型环的担心:即,低温会导致O型环的橡胶材料失去弹性。他们认为,如果O型环的温度低于华氏53度(约摄氏11.7度),将无法保证它能有效密封住接缝。他们也提出,发射前一天夜间的低温,几乎肯定把SRB的温度降到华氏40度的警戒温度以下。但是,莫顿·塞奥科公司的管理层否决了他们的异议,他们认为发射进程能按日程进行。

由于低温,航天飞机旁矗立的定点通信建筑被大量冰雪覆盖。肯尼迪冰雪小组在红外摄像机中发现,右侧SRB部件尾部接缝处的温度仅有华氏8度(摄氏-13度):从液氧舱通风口吹来的极冷空气降低了接缝处的温度,让该处的温度远低于气温,并远低于O

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

'''

因其右侧固体火箭助推器(SRB)的O型环密封圈失效,毗邻的外部燃料舱在泄漏出的火焰的高温烧灼下结构失效,使高速飞行中的航天飞机在空气阻力的作用下于发射后的第73秒解体

华氏31度等于摄氏-0.5555555555555556,因为温度过低造成挑战者号失事。

天气预报称28日的清晨将会非常寒冷,气温接近华氏31度(摄氏-0.5度),这是允许发射的最低温度。过低的温度让莫顿·塞奥科公司的工程师感到担心,该公司是制造与维护航天飞机SRB部件的承包商。在27日晚间的一次远程会议上,塞奥科公司的工程师和管理层同来自肯尼迪航天中心和马歇尔航天飞行中心的NASA管理层讨论了天气问题。部分工程师,如比较著名的罗杰·博伊斯乔利,再次表达了他们对密封SRB部件接缝处的O型环的担心:即,低温会导致O型环的橡胶材料失去弹性。他们认为,如果O型环的温度低于华氏53度(约摄氏11.7度),将无法保证它能有效密封住接缝。他们也提出,发射前一天夜间的低温,几乎肯定把SRB的温度降到华氏40度的警戒温度以下。但是,莫顿·塞奥科公司的管理层否决了他们的异议,他们认为发射进程能按日程进行。

由于低温,航天飞机旁矗立的定点通信建筑被大量冰雪覆盖。肯尼迪冰雪小组在红外摄像机中发现,右侧SRB部件尾部接缝处的温度仅有华氏8度(摄氏-13度):从液氧舱通风口吹来的极冷空气降低了接缝处的温度,让该处的温度远低于气温,并远低于O形环的设计承限温度。但这个信息从未传达给决策层。

On the day of the Challenger disaster, the outside temperature was 31 ıF.

The posterior distribution of a defect occurring, given this temperature, almost

guaranteed that the Challenger was going to be subject to defective O-rings

Example of PyMC - The Challenger Disaster

This example uses Bayesian methods to find the mean and the 95% confidence

intervals for the likelihood of an O-ring failure O型密封圈失效 in a space shuttle, as a function

of the ambient temperature周围温度.

Input data are the recorded O-ring performances of the space shuttles before 1986.

'''

# Copyright(c) 2015, Thomas Haslwanter. All rights reserved, under the CC BY-SA 4.0 International License

# Import standard packages

import numpy as np

import matplotlib.pyplot as plt

from scipy import stats

import pandas as pd

import seaborn as sns

import os

# additional packages

import pymc as pm

from scipy.stats.mstats import mquantiles

sns.set_context('poster')

def logistic(x, beta, alpha=0):

'''Logistic Function'''

return 1.0 / (1.0 + np.exp(np.dot(beta, x) + alpha))

def getData():

'''Get and show the O-ring data'''

inFile = 'challenger_data.csv'

challenger_data = np.genfromtxt(inFile, skip_header=1, usecols=[1, 2],

missing_values='NA', delimiter=',')

# drop the NA values

challenger_data = challenger_data[~np.isnan(challenger_data[:, 1])]

temperature = challenger_data[:, 0]

failureData = challenger_data[:, 1] # defect or not?

return (temperature, failureData)

def showAndSave(temperature, failures):

'''Shows the input data, and saves the resulting figure'''

# Plot it, as a function of tempature

plt.figure()

setFonts()

sns.set_style('darkgrid')

np.set_printoptions(precision=3, suppress=True)

plt.scatter(temperature, failures, s=200, color="k", alpha=0.5)

plt.yticks([0, 1])

plt.ylabel("Damage Incident?")

plt.xlabel("Outside Temperature [F]")

plt.title("Defects of the Space Shuttle O-Rings vs temperature")

plt.tight_layout

outFile = 'Challenger_ORings.png'

showData(outFile)

def mcmcSimulations(temperature, failures):

'''Perform the MCMC-simulations'''

# Define the prior distributions for alpha and beta

# 'value' sets the start parameter for the simulation

# The second parameter for the normal distributions is the "precision",

# i.e. the inverse of the standard deviation

np.random.seed(1234)

beta = pm.Normal("beta", 0, 0.001, value=0)

alpha = pm.Normal("alpha", 0, 0.001, value=0)

# Define the model-function for the temperature

@pm.deterministic

def p(t=temperature, alpha=alpha, beta=beta):

return 1.0 / (1. + np.exp(beta * t + alpha))

# connect the probabilities in `p` with our observations through a

# Bernoulli random variable.

observed = pm.Bernoulli("bernoulli_obs", p, value=failures, observed=True)

# Combine the values to a model

model = pm.Model([observed, beta, alpha])

# Perform the simulations

map_ = pm.MAP(model)

map_.fit()

mcmc = pm.MCMC(model)

mcmc.sample(120000, 100000, 2)

# --- Show the resulting posterior distributions ---

alpha_samples = mcmc.trace('alpha')[:, None] # best to make them 1d

beta_samples = mcmc.trace('beta')[:, None]

return(alpha_samples, beta_samples)

def showSimResults(alpha_samples, beta_samples):

'''Show the results of the simulations, and save them to an outFile'''

plt.figure(figsize=(12.5, 6))

sns.set_style('darkgrid')

setFonts(18)

# Histogram of the samples:

plt.subplot(211)

plt.title(r"Posterior distributions of the variables $\alpha, \beta$")

plt.hist(beta_samples, histtype='stepfilled', bins=35, alpha=0.85,

label=r"posterior of $\beta$", color="#7A68A6", normed=True)

plt.legend()

plt.subplot(212)

plt.hist(alpha_samples, histtype='stepfilled', bins=35, alpha=0.85,

label=r"posterior of $\alpha$", color="#A60628", normed=True)

plt.legend()

outFile = 'Challenger_Parameters.png'

showData(outFile)

def calculateProbability(alpha_samples, beta_samples, temperature, failures):

'''Calculate the mean probability, and the CIs'''

# Calculate the probability as a function of time

t = np.linspace(temperature.min() - 5, temperature.max() + 5, 50)[:, None]

p_t = logistic(t.T, beta_samples, alpha_samples)

mean_prob_t = p_t.mean(axis=0)

# --- Calculate CIs ---

# vectorized bottom and top 2.5% quantiles for "confidence interval"

quantiles = mquantiles(p_t, [0.025, 0.975], axis=0)

return (t, mean_prob_t, p_t, quantiles)

def showProbabilities(linearTemperature, temperature, failures, mean_prob_t, p_t, quantiles):

'''Show the posterior probabilities, and save the resulting figures'''

# --- Show the probability curve ----

plt.figure(figsize=(12.5, 4))

setFonts(18)

plt.plot(linearTemperature, mean_prob_t, lw=3, label="Average posterior\n \

probability of defect")

plt.plot(linearTemperature, p_t[0, :], ls="--", label="Realization from posterior")

plt.plot(linearTemperature, p_t[-2, :], ls="--", label="Realization from posterior")

plt.scatter(temperature, failures, color="k", s=50, alpha=0.5)

plt.title("Posterior expected value of probability of defect, plus realizations")

plt.legend(loc="lower left")

plt.ylim(-0.1, 1.1)

plt.xlim(linearTemperature.min(), linearTemperature.max())

plt.ylabel("Probability")

plt.xlabel("Temperature [F]")

outFile = 'Challenger_Probability.png'

showData(outFile)

# --- Draw CIs ---

setFonts()

sns.set_style('darkgrid')

plt.fill_between(linearTemperature[:, 0], *quantiles, alpha=0.7,

color="#7A68A6")

plt.plot(linearTemperature[:, 0], quantiles[0], label="95% CI", color="#7A68A6", alpha=0.7)

plt.plot(linearTemperature, mean_prob_t, lw=1, ls="--", color="k",

label="average posterior \nprobability of defect")

plt.xlim(linearTemperature.min(), linearTemperature.max())

plt.ylim(-0.02, 1.02)

plt.legend(loc="lower left")

plt.scatter(temperature, failures, color="k", s=50, alpha=0.5)

plt.xlabel("Temperature [F]")

plt.ylabel("Posterior Probability Estimate")

outFile = 'Challenger_CIs.png'

showData(outFile)

if __name__=='__main__':

(temperature, failures) = getData()

showAndSave(temperature, failures)

(alpha, beta) = mcmcSimulations(temperature, failures)

showSimResults(alpha, beta)

(linearTemperature, mean_p, p, quantiles) = calculateProbability(alpha, beta, temperature, failures)

showProbabilities(linearTemperature, temperature, failures, mean_p, p, quantiles)

python获取当前日期的前一天爆炸_python蒙特卡洛脚本模拟—挑战者号爆炸概率相关推荐

  1. python获取当前日期的前一天_【python】datetime获取日期,前一天日期

    1.获取字符串型当前日期 2016-10-09格式 import datetime today = datetime.date.today() #datetime.date类型当前日期 str_tod ...

  2. python获取系统时间月份_python 取数组绝对值python获取当前日期

    今天群里一个人问了怎么获取当前时间的问题,以前接触过计算日期之差的,具体代码如下: import datetime d1=datetime.datetime(2014,3,14) d2=datetim ...

  3. python获取当前日期_Python程序获取当前日期

    python获取当前日期 In the below example – we are implementing a python program to get the current date. 在下 ...

  4. python 获取当前日期和时间_python获取当前日期和时间的方法

    本文实例讲述了python获取当前日期和时间的方法.分享给大家供大家参考.具体如下: import datetime # Get a datetime object now = datetime.da ...

  5. python过去日期_利用python获取当前日期前后N天或N月日期的方法示例

    前言 最近因为工作原因,发现一个Python的时间组件,很好用分享出来!(忘记作者名字了,在这里先感谢了),下面话不多说,来一起看看详细的介绍吧. 示例代码: # -*- coding: utf-8 ...

  6. java 当前日期前一天_java获取当前日期的前一天和后一天

    /** * 获得指定日期的前一天 * @param specifiedDay * @return * @throws Exception */ public static String getSpec ...

  7. Java获取当前日期的前一天

    Java获取当前日期的前一天 //获取当前日期Date date = new Date();//格式转换SimpleDateFormat f = new SimpleDateFormat(" ...

  8. java 获取当前日期的前一天

    // 获取当前日期的前一天 Calendar date = Calendar.getInstance(); date.add(Calendar.DATE, -1); System.out.printl ...

  9. js获取当前日期、前一天、后一天的日期

    最近项目遇到一个需求,就是基于h5文本框的日期控件来获取当前日期.前一天.后一天的日期,我是使用了一个大兄弟的js代码来实现的额,自己稍微改了一点点: 贴一下我的效果: 下面是html代码: < ...

最新文章

  1. getAttribute() 与 attr() 的区别
  2. Java代码生成随机验证码、验证数
  3. 机器人车间气管_汽车消声器生产中的焊接机器人应用与工艺流程
  4. Swift语言与Objective-C语言混合编程
  5. Spring Boot 如何快速改造老项目?
  6. lua os.date函数定义和示例
  7. 在 ASP.NET Core 中使用 HTTP 标头传播
  8. php 非递归调用,php 无限分类(非递归)
  9. java calendar_Java Calendar getDisplayNames()方法与示例
  10. 提升业务价值 APM应用与整合分享
  11. 简述Java三大特性
  12. LaTeX论文模板(附源码)
  13. 2017年软考程序员考试填涂答题卡(纸)注意事项
  14. 在读服务器端的备份说明文件错误,3dmax保存文件时出错,提示“无法创建备份文件”的原因和解决方法...
  15. linux so fprintf,Linux下printf、fprintf、sprintf的区别
  16. Linux环境变量PSI指什么,psi是什么单位(pSI指标应用原则)
  17. c语言数组文曲星猜数游戏编程,第7章 数组-8数组的其他应用——文曲星猜数游戏...
  18. 分享15款精美的免费 HTML5 网站模板
  19. 妹子图APP(四)—— SQLite保存数据实现离线图片查看
  20. 【Excel 教程系列第 6 篇】制作斜线表头

热门文章

  1. 字符编码方式及大端小端
  2. Redis登陆服务器和批量删除指定的key
  3. BZOJ4133 : Answer的排队
  4. CSS3 animation动画,循环间的延时执行时间
  5. 洛谷P1984 SDOI2008烧水问题
  6. 《三层架构之抽象工厂加反射》纠错
  7. Hyper-V应用指南之3-理解并配置Hyper-V虚拟网络[转]
  8. Codeforces Round #198 (Div. 2)A,B题解
  9. Go -- 并发编程的两种限速方法
  10. Spring中使用JdbcTemplate和HibernateTemplate的数据库操作