今天我们将学习一个有趣的主题,即如何用 python 创建预测模型。它是机器学习和数据科学中的一个基本概念。在深入研究之前,我们需要了解什么是预测分析。让我们看一下目录。
什么是预测分析?
预测分析是数据科学的一个领域,涉及对未来事件的预测。我们可以对火灾的新数据或未来几天的情况进行预测,并使机器支持同样的情况。我们使用各种统计技术来分析当前数据或观察结果并预测未来。
为什么我们应该使用预测分析?
如果做得正确,预测分析可以带来多种好处。与选择预测分析密切相关的一些关键特征如下。
- 即时反馈系统
- 它还提供了更好的营销策略。
- 在采取营销服务或任何业务的情况下,我们可以了解人们如何喜欢它,人们喜欢它的程度,以及最重要的是他们真正想要添加哪些额外功能。
- 它指出了当前的趋势。
- 优化
- 我们可以使用预测分析来优化我们的预测以及即将推出的策略。
- 与修改类似。
- 它涉及当前、过去和未来策略之间的比较。
- 更好的策略
- 我们最终利用这个即时反馈系统和优化流程制定了更好的策略。
- 它还提供了多种策略。
- 它会带来更好的决策。
- 降低风险
- 当我们不了解优化,不知道反馈系统时,我们也可以进行 Rist 缩减。
- 最适合新人。
预测分析用例
- 客户流失预防
- 它使我们能够预测一个人是否会出现在我们的策略中。无论他/她满意与否。
- 我们根据客户的使用情况进行分析。利用这一点,我们可以赢得报价,并了解他们真正想要什么。
- 质量保证
- 我们可以通过提供表格、访谈等方式了解客户使用我们服务的感受。
- 人们到底想要什么,关于不同的人和不同的想法。
- 需要安装的新功能及其情况如何?
- 风险建模
- 它使我们能够了解所涉及风险的程度。这样我们也可以对其进行投资。
- 分析当前策略并预测未来策略。
- 销售预测
- 当前战略的进展情况以及未来几天的情况。
- 分析相同的数据并创建有组织的数据。
预测分析涉及的步骤
- 问题定义
- 它的目的是确定我们的问题是什么。我们需要解决同样的问题。我们需要预测的主要问题。
- 预测分析的每个领域也需要基于这个问题定义。
- 数据收集
- 我们从多个来源收集数据并收集它来分析和创建我们的角色模型。
- 数据清洗
- 我们可以看一下缺失值和不重要的值。它们需要被移除。
- 我们需要通过这种方式优化来提高这个模型的质量。
- 我们需要删除超出边界水平的值。
- 数据分析
- 它涉及管理收集的数据。
- 管理数据是指检查数据是否组织良好。
- 造型
- 此步骤涉及通过使用先决条件算法安装相同的数据来保存我们机器上的最终确定或组织的数据
- 模型测试
- 我们需要测试机器是否正常工作。
- 我们需要检查或比较输出结果/值与预测值。
- 在 0 到 1 的范围内分析比较数据,其中 0 表示 0%,1 表示 100%。
- 部署
- 一旦我们的模型被创建或者它表现良好或者它获得了成功的准确度分数,那么我们需要将其部署以供市场使用。
预测分析的应用
Predictive 可以构建未来预测,这将对许多企业有所帮助,如下所示:
- 价钱
- 需求规划
- 活动管理
- 客户获取
- 预算和预测
- 欺诈识别
- 促销活动
创建我们的预测模型(示例)
让我们尝试使用 google collab 进行预测分析演示,获取从银行活动收集的特定报价数据集。通过进行一些面试样本来分析数据并了解他们是否会利用该职位。
指数 |
斯尔 |
年龄 |
工作 |
婚姻状况 |
教育 |
默认 |
平衡 |
住房 |
贷款 |
接触 |
天 |
月 |
期间 |
活动 |
日数 |
以前的 |
撅嘴 |
y |
0 |
0 |
30 |
失业的 |
已婚 |
基本的 |
不 |
第1787章 |
不 |
不 |
细胞的 |
19 |
十月 |
79 |
1 |
A |
0 |
未知 |
不 |
1 |
1 |
3 |
服务 |
已婚 |
中学 |
不 |
4789 |
是的 |
是的 |
细胞的 |
11 |
可能 |
220 |
1 |
第339章 |
4 |
失败 |
不 |
2 |
2 |
35 |
管理 |
单身的 |
第三 |
不 |
1350 |
是的 |
不 |
细胞的 |
16 |
四月 |
185 |
1 |
330 |
1 |
失败 |
不 |
3 |
3 |
30 |
管理 |
已婚 |
第三 |
不 |
第1476章 |
是的 |
是的 |
未知 |
3 |
君 |
199 |
4 |
4 |
0 |
未知 |
不 |
4 |
4 |
59 |
蓝领 |
已婚 |
中学 |
不 |
0 |
是的 |
不 |
未知 |
5 |
可能 |
226 |
1 |
A |
0 |
未知 |
不 |
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
from sklearn.linear_model import LogisticRegression
import seaborn as sns
import matplotlib.pyplot as plt
% matplotlib inline
data = pd.read_csv( "/dataset.csv" , delimiter = "," , header = "infer" )
data.head()
|
sns.heatmap(data.corr(), annot = True )
|
data.dtypes
sl int64
age int64
job object
marital_status object
education object
default object
balance int64
housing object
loan object
contact object
day int64
month object
duration int64
campaign int64
pdays object
previous int64
poutcome object
y object
dtype: object
|
data_new = pd.get_dummies(data, columns = [ 'marital_status' , 'education' , 'default' , 'housing' , 'loan' , 'contact' , 'month' , 'poutcome' ])
data_new.y.replace(( 'yes' , 'no' ), ( 1 , 0 ), inplace = True )
data_new.dtypes
|
print (data.shape)
( 5 , 18 )
data.education.unique()
array([ 'primary' , 'secondary' , 'tertiary' ], dtype = object )
pd.crosstab(index = data[ "education" ], columns = data[ "y" ])
|
data.education.value_counts().plot(kind = "barh" )
|
data_y = pd.DataFrame(data_new[ 'y' ])
data_x = data_new.drop([ 'y' ], axis = 1 )
print (data_y.columns)
print (data_x.columns)
|
x_train, x_test, y_train, y_test = train_test_split(data_x, data_y, test_size = 0.3 , random_state = 2 , stratify = data_y)
print (x_train.shape)
print (x_test.shape)
print (y_train.shape)
print (y_test.shape)
|
#OUTPUT FOR THE ABOVE CODE
(3, 27)
(2, 27)
(3, 1)
(2, 1)
|
概括
今天我们介绍了预测分析并尝试使用示例数据集进行演示。希望您一定已经尝试过我们的代码片段。您也可以尝试获取更多数据集。我们必须带着一些更令人兴奋的话题再次访问。