第五次课后作业 基于Python语言,使用回归分析,对白酒的品质进行预测,给出分析过程、源代码和结果。 数据来源

Slides:



Advertisements
Similar presentations
“ 我们的 12 班 我们的家 ” ——2014 级 12 班 班级文化建设缩影. “ 做好人,读好书。 ” (理念上) “ 惜时好学,动静分明。 ” (态度上)
Advertisements

“ 你不仅要关心自己的盘子装的是什么食物,而 且更要关心每种食物的最佳进食时间! ” 这是英 国剑桥大学营养专家提出的最新健康饮食法则! 这是因为,食物也有自己的 “ 生物钟 ” , 只有遵 从它,你才能吃得更健康和苗条! 如果去吃自助餐,你会怎么做呢?先吃鱼肉大 菜,吃到差不多再吃蔬菜、主食,然后喝汤、
“ 你不僅要關心自己的盤子裝的是什麼食物,而 且更要關心每種食物的最佳進食時間! ” 這是英 國劍橋大學營養專家提出的最新健康飲食法則! 這是因為,食物也有自己的 “ 生物鐘 ” , 只有遵 從它,你才能吃得更健康和苗條! 如果去吃自助餐,你會怎麼做呢?先吃魚肉大 菜,吃到差不多再吃蔬菜、主食,然後喝湯、
五年級上學期的自然課,當我們上到水溶液單元時,老師指導我們石蕊試紙可以測試水溶液的酸鹼性,藍色石蕊試紙遇鹼性 水溶液不變色,遇酸性水溶液時變紅色;而紅色石蕊試紙遇鹼性水溶液變藍色,遇酸性水溶液時不變色。 可是,滴入醋水溶液的藍色石蕊試紙變紅色的部分竟然消失不見了,紅色石蕊試紙應該不變色卻出現藍紫色,怎麼會這樣呢?
茶叶基本知识 徐南眉. 中国是茶树的原产地,中国古代劳动人民 最早发现了茶、利用了茶,世界上其他国 家是从中国引入了茶树和制茶、饮茶的方 法,茶是中国古代劳动人民奉献给世界人 民的健康饮料。茶从最初的药用到饮用, 从煎煮饮用到现代沏茶品茶经历了漫长的 历史发展过程。在世界的东方,茶不但是 饮料,还包含着丰富的精神文化内容。
拉动内需,改善经济 工商 1 班 陆丹丹 16 陆晨莉 19. 国务院出台内需十措施 确定 4 万亿投资 一 加快建设保障性安居工程 二 加快农村基础设施建设 三 加快铁路、公路和机场等重大基础设施建设 四 加快医疗卫生、文化教育事业发展 五 加强生态环境建设 六 加快自主创新和结构调整 七 加快地震灾区灾后重建各项工作.
防腐剂、矫味剂、着色剂. 同学们仔细看看双黄连口服液、甘草合剂等液体制剂说明 书中【成分】一项包括那些? 2 .大家想想芬达葡萄糖汽水配料中都有什么? 说明书中是不是经常会看到蔗糖、糖精钠、 苯甲酸钠、柠檬黄、羟苯乙酯等物质的出 现。这些东西到底是起什么作用的了?大 部分液体药剂的溶剂多用水,以水为溶剂.
化學期末報告–人體的酸鹼平衡 工作分配: 組別:第5組 班級:自控一甲 組長:4A012134羅振元
餐旅會計學 Ch2 借貸法則.
改名台南大學實地訪視簡報
企業決策分析與績效報告 指導教授:喻奉天博士 第三組期末報告 M 邱柏鈞 M 楊孟智
嬰幼兒人格的 發展與保育.
针灸治疗学讲稿 山东中医药大学 高树中.
考点作文十大夺魁技法 第28课时 写作(二) 考点作文十大夺魁技法 6-10 ·新课标.
國外差旅費 大家好,我是楊思研, 今天要告訴各位的內容,是關於「國外差旅費」的部分。
宝石中的内含物.
舊石器時代 位置: 亞洲大陸東緣,西太平洋弧狀列島一部份 背景 形成: 兩千多萬年前逐漸隆起,形成島嶼 生物: 大角鹿、猛瑪象、亞洲大陸原始人 臺東 長濱文化 苗栗 網形文化 臺南 左鎮人目前臺灣發現最早人類化石 代表 文化 1.住在海邊洞穴-短期定居小型隊群 2.以採集、狩獵為生 3.使用礫石砍伐器、片器、尖器.
小寶寶家庭保健護理小常識 講師:郭洽利老師
食品中可能存在的影响人体健康的有毒有害因素称为危害。 危害按其性质划分为生物性危害、化学性危害和物理性危害。
一、能线性化的多元非线性回归 二、多元多项式回归(线性化)
校园信息管理系统 河北科技大学网络中心 2000/4/10.
卫生计生监督协管工作中如何发现安全隐患与违法行为线索
柠檬汁 让你健康又美丽 四(3) 赵起震.
水 与 生命.
第1章第3节 量化研究与质化研究 案例1:关于中学思想政治教师专业发展现状和需求的调查研究
用“自言自语法”提高学生 英语口头表达能力 李奉栖.
知识竞赛 欢迎同学们参与低碳生活知识竞赛 指导教师:丹赵路中学 王同有.
主題 : 飲食安全 主講人:護士黃淑美 ..
第一节 舞蹈的概念 第二节 舞蹈基本知识 第三节 舞蹈动作成套欣赏 第四节 舞蹈的编排 学习思考题 推荐书目及网站
徵收苗栗市福全段147、1588及文心段10、11地號等4筆土地之
第五章 病因病机.
药用植物活性成分提取与分析 复习提纲.
讲 义 大家好!根据局领导的指示,在局会计科和各业务科室的安排下,我给各位简要介绍支付中心的工作职能和集中支付的业务流程。这样使我们之间沟通更融洽,便于我们为预算单位提供更优质的服务。 下面我主要从三方面介绍集中支付业务,一是网上支付系统,二是集中支付业务流程及规定等,
预防龋齿 从我做起.
第二节 进入工作状态与稳定工作状态 一、进入工作状态 概念:在进行体育运动时,人的机能能力逐渐提高的生理过程和机能状态叫进入工作状态。
中国人民公安大学经费管理办法(试行) 第一章总则 第四条:“一支笔” “一支笔”--仅指单位主要负责人。负责对本 单位的经费进行审核审批。
投手丘上的勇者 王建民 導讀者:黃柏涵.
院長:鄭錦聰 教授 各系負責老師 光電系:姬梁文老師 電機系:張凱雄老師 資工系:謝仕杰老師 電子系:陳柏宏 老師
预测与决策分析 Forecasting and Decision Analysis
食物中毒及预防.
义务教育化学课程标准 新版介绍 李开祥.
誰的電話永遠沒人接 您播(凌波)的 電話號碼是空號.
专题二十 细胞工程、胚胎工程和生态工程 核心考点精析 命题热点解读 专题质量检测. 专题二十 细胞工程、胚胎工程和生态工程 核心考点精析 命题热点解读 专题质量检测.
前言 大量使用能源雖提升人類的物質文明,卻也造成了始料未及的禍害---酸雨。 右圖所見是亞洲地區的酸雨量, 可想而知全世界的酸雨量是多麼的嚴重,所以我們希望藉著這份報告,加強人們保護地球的意識,藉此減少酸雨的危害,令人們不會再被酸雨威脅。
第二节 干制原料的涨发工艺 一、干制原料涨发的概念 二、干制原料涨发的工艺流程 三、干制原料的涨发方法 四、干制原料涨发的基本要求.
第十章 回归分析预测法 第一节 相关分析 第二节 一元线性回归预测法 第三节 多元线性回归预测法 第四节 非线性回归预测法.
Python金融数据分析教程 解放你的python编程能力 第6关金融数据的统计分析 Python金融数据分析教程 1.
电磁学小论文 —— 带电粒子在电磁场中运动的计算机模拟程序的简单实现
数据挖掘工具性能比较.
古佳怡 網路爬蟲、分析與視覺化.
用Python建模与数据处理 俞熹 2017/1.
中 级 财 务 会 计 李颖琦 上海立信会计学院.
MyLibrary ——数字图书馆的个性化服务
期末報告-- [ridge regression]
义务教育课程标准(2011版) 省级研训报告会 《化学课程标准》解读 主讲人: 崔敏 陕西省教育厅.
Python金融数据分析教程 解放你的python编程能力 第3关 复杂金融数据图形展示 Python金融数据分析教程 1.
微信商城系统操作说明 色卡会智能门店.
國民年金 np97006.
红利、年金、满期金自动转入聚宝盆,收益有保底,升值空间更大
相关与回归 非确定关系 在宏观上存在关系,但并未精确到可以用函数关系来表达。青少年身高与年龄,体重与体表面积 非确定关系:
中国农业科学院博士后学术论坛 博士后基金申请的经验及体会 中国农业科学院生物技术研究所 秦 华 博士
回归分析实验课程 (实验三) 多项式回归和定性变量的处理.
大綱 一.受試者之禮券/禮品所得稅規範 二.範例介紹 三.自主管理 四.財務室提醒.
数据挖掘 DATA MINING 刘 鹏 张 燕 总主编 王朝霞 主编 施建强 杨慧娟 陈建彪 副主编
大数据应用人才培养系列教材 Python语言 刘 鹏 张 燕 总主编 李肖俊 主编 刘 河 钟 涛 副主编.
数学模型实验课(二) 最小二乘法与直线拟合.
Python中的科学计算.
Rlj
第二次课后作业答案 函数式编程和逻辑式编程
教師檔案系統資料如何填寫? 如何對應教師評鑑共同基準?.
Presentation transcript:

第五次课后作业 基于Python语言,使用回归分析,对白酒的品质进行预测,给出分析过程、源代码和结果。 数据来源 https://data.world/uci/wine-quality

回归分析是研究自变量和因变量之间关系的一种预测模型技术。 Input variables (based on physicochemical tests) Output variable (based on sensory data): 1 - fixed acidity 12 - quality (score between 0 and 10) 2 - volatile acidity 3 - citric acid 4 - residual sugar 5 - chlorides 6 - free sulfur dioxide 7 - total sulfur dioxide 8 - density 9 - pH 10 - sulphates 11 - alcohol 分别使用线性回归、Lasso回归、Ridge回归、Elasitc Net四类回归算法构建模型,并比较这些回归算法的效果 线性回归 回归线是线性的 Ridge回归 当碰到数据有多重共线性时,我们就会用到岭回归。所谓多重共线性,简单的说就是自变量之间有高度相关关系。 Lasso回归 Lasso回归和岭回归不同的是,Lasso回归在惩罚方程中用的是绝对值 ElasticNet回归 是Lasso回归和岭回归的组合

path1 = "datas/winequality-white.csv" df= pd.read_csv(path1, sep=";") import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt import pandas as pd import warnings import sklearn from sklearn.linear_model import LinearRegression, LassoCV, RidgeCV, ElasticNetCV from sklearn.preprocessing import PolynomialFeatures from sklearn.pipeline import Pipeline from sklearn.linear_model.coordinate_descent import ConvergenceWarning from sklearn.cross_validation import train_test_split # 读取数据 path1 = "datas/winequality-white.csv" df= pd.read_csv(path1, sep=";") # 自变量名称 names = ["fixed acidity","volatile acidity","citric acid", "residual sugar","chlorides","free sulfur dioxide", "total sulfur dioxide","density","pH","sulphates", "alcohol"] # 因变量名称 quality = "quality"

# 异常数据处理 new_df = df.replace('?', np.nan) datas = new_df.dropna(how = 'any') # 只要有列为空,就进行删除操作 X = datas[names] Y = datas[quality] ## 创建模型列表 models = [ Pipeline([ ('Poly', PolynomialFeatures()), ('Linear', LinearRegression()) ]), ('Linear', RidgeCV(alphas=np.logspace(-4, 2, 20))) ('Linear', LassoCV(alphas=np.logspace(-4, 2, 20))) ('Linear', ElasticNetCV(alphas=np.logspace(-4,2, 20), l1_ratio=np.linspace(0, 1, 5))) ]) ]

plt.figure(figsize=(16,8), facecolor='w') titles = u'线性回归预测', u'Ridge回归预测', u'Lasso回归预测', u'ElasticNet预测' # 将数据分为训练数据和测试数据 X_train,X_test,Y_train,Y_test = train_test_split(X, Y, test_size=0.01, random_state=0) ln_x_test = range(len(X_test)) # 给定阶以及颜色 d_pool = np.arange(1,4,1) # 1 2 3 阶 m = len(d_pool) # clrs = [] # 颜色 # for c in np.linspace(5570560, 255, m): # clrs.append('#%06x' % c) clrs = ['black', 'blue', 'green'] # 颜色

for t in range(4): plt.subplot(2, 2, t + 1) model = models[t] plt.plot(ln_x_test, Y_test, c='r', lw=2, alpha=0.75, zorder=10, label=u'真实值') for i,d in enumerate(d_pool): # 设置参数 model.set_params(Poly__degree=d) # 模型训练 model.fit(X_train, Y_train) # 模型预测及计算R^2 Y_pre = model.predict(X_test) R = model.score(X_train, Y_train) # 输出信息 lin = model.get_params('Linear')['Linear'] output = u"%s:%d阶, 截距:%d, 系数:" % (titles[t], d, lin.intercept_) print(output, lin.coef_) # 图形展示 plt.plot(ln_x_test, Y_pre, c=clrs[i], lw=2,alpha=0.75, zorder=i, label=u'%d阶预测值,$R^2$=%.3f' % (d,R))

plt.legend(loc = 'upper left') plt.grid(True) plt.title(titles[t], fontsize=18) plt.xlabel('X', fontsize=16) plt.ylabel('Y', fontsize=16) plt.suptitle(u'葡萄酒质量预测', fontsize=22) plt.show()