**
1. 评价的目标是什么?
评价的目标一般都是题目所要求的
例如:小明要去桂林、西藏、杭州三地旅游,请为他选择去哪地旅游最好。那么选择去哪里旅游即为评价的目标
2. 到达目标有哪几种选择方案?
在该题中,明显有三种,1.桂林 2.西藏 3.杭州
3. 评价的指标是什么?
一般我们可以通过查阅相关文献或者头脑风暴,根据这些指标对对象进行相应的打分
首先我们可以生成一个如下的表来计算各项指标的加权值进而计算出最优方案。
指标权重 | 方案1 | 方案2 | 方案3 | |
---|---|---|---|---|
指标1 | ||||
指标2 | ||||
指标3 |
这张表中的指标权重不好获取,针对不同的人,指标权重是不一样的,我们可以对他进行问卷调查,让他填一下哪一个指标比较重要,哪一个不重要,当指标较少时可以直接比较,但是指标较多时用户往往难以抉择。因此我们可以通过两两比较指标的方法获取指标的权重,这也就是层次分析法
我们可以生成一个如下表:
指标1 | 指标2 | 指标3 | |
---|---|---|---|
指标1 | 1 | 2 | 3 |
指标2 | 1/2 | 1 | 4 |
指标3 | 1/3 | 1/4 | 1 |
这个矩阵称之为“判断矩阵”
通过上面的矩阵我们可以计算出各个指标权重,其中aij越大代表指标ai指标相对于aj越重要
例如:我们针对旅游景点查到到是三个影响指标为:花费、美食、交通
花费 | 美食 | 交通 | |
---|---|---|---|
花费 | 1 | 2 | 3 |
美食 | 1/2 | 1 | 4 |
交通 | 1/3 | 1/4 | 1 |
表中对角线元素均为1,代表指标与其自身相比同等重要,a12=2,代表花费相对于美食更看重花费。
接下来依据各个指标计算各个方案的判断矩阵
指标1 | 方案1 | 方案2 | 方案3 |
---|---|---|---|
方案1 | 1 | ||
方案2 | 1 | ||
方案3 | 1 |
花费 | 桂林 | 西藏 | 杭州 |
---|---|---|---|
桂林 | 1 | 1/3 | 5 |
西藏 | 3 | 1 | 4 |
杭州 | 1/5 | 1/4 | 1 |
上面代表的意思是,在花费方面,桂林相比于西藏可能会比去西藏花费的多,相比于杭州可能杭州花费的更多
但是需要注意的是有可能会出现不一致的问题:
交通 | 桂林 | 西藏 | 杭州 |
---|---|---|---|
桂林 | 1 | 2 | 1 |
西藏 | 1/2 | 1 | 4 |
杭州 | 1 | 1/2 | 1 |
该判断矩阵认为:在交通方面 1.去桂林和去杭州一样方便 2.去桂林比去西藏方便 3.去西藏比去杭州方便 综合三点可以明显看出:不符合逻辑了!
因此我们要判断一致性。
一致矩阵应当满足一下关系:各行或各列应当成倍数关系。
因此,在我们使用判断矩阵求权重之前一定要对矩阵进行一致性检验
判断三个条件:
那么应当如何判断呢?
这里我们需要计算一致性指标CI,CI=(λ\lambdaλmax-n)/(n-1)
一致性比例CR,CR=CI/RI,其中RI可以通过查表得知
如果计算的CR<0.1,则认为这个判断矩阵可以接受,然后计算权重
然后我们可能想知道,如何根据判断矩阵来计算权重呢?
算数平均法:
将判断矩阵按照列归一化(每一个元素除以其所在列的和)
将归一化的各列相加(按行求和)
将相加后得到的向量除以n得到权重向量
问题的解决方法:
对于利用随机森林进行数据拟合问题,可以按照以下步骤来解决:
数据准备:首先,需要准备好要进行拟合的数据集。确保数据集包含要拟合的散点图的相关信息。
导入库和数据:使用合适的编程语言和相应的库,导入数据集。
数据预处理:对数据集进行必要的预处理,包括缺失值处理、数据清洗、特征选取等。确保数据集中不包含不符合要求的数据。
拟合模型:使用随机森林算法对数据进行拟合。
模型评估:通过评估拟合模型的性能指标,如误差、拟合程度等,来判断拟合结果的准确性。
下面是一个使用Python的scikit-learn库进行随机森林拟合的示例代码:
from sklearn.ensemble import RandomForestRegressor
import numpy as np
# 准备样本数据
X = np.array([[0, 0], [1, 1]])
Y = np.array([0, 1])
# 创建随机森林回归模型
model = RandomForestRegressor(n_estimators=100)
# 拟合模型
model.fit(X, Y)
# 预测新的数据
new_data = np.array([[2, 2]])
prediction = model.predict(new_data)
# 打印预测结果
print(prediction)
请注意,这只是一个简单的示例,具体的实施步骤可能会因数据集的不同而有所不同。在实际项目中,可能需要更多的数据预处理步骤、参数调整和模型评估等操作。
希望这个解决思路和示例代码对你有帮助!