ML week7.2
2025.04.17 Thu PM 1:07 ・ 57Minutes 37seconds
ZHANG YIWEN
ML 第 7.2 周 2025.04.17 周四 下午 1:07 ・ 57 分 37 秒 张一文
Attendees 1 00:09
네 수업 시작하겠습니다. 앞에 출석 코드 입력해 주시고요.
그리고 시험 공지는 교수님이 해주셨을 텐데 26일 오후 2시에 보게 되고요.
각 분반마다 강의실이 다르기 때문에 강의실은 오늘 실습 끝나고 이제 오후쯤에 공지 다시 하겠습니다.
그리고 홈모크 2 나왔는데 그거 제출 관련해가지고 홈오크 같은 경우에는 제출 형식이 워드 파일이 아니고 PDF 파일이거든요.
그래서 PDF 파일로 꼭 변환을 해 주셔서 올리셔야 되고요.
그리고 코드 같은 경우도 이미지도 이미지로 올리시면 저희가 이제 돌려볼 때 조금 애로사항이 있기 때문에 이왕이면은 코드 복붙해서 올려주시기 바랍니다.
그리고 코드 같은 경우에는 가운데 정렬하시면 저희가 그걸 복사해서 붙여놓고 돌리면 안 돌아가겠죠.
出席人数 1 00:09 是的,我们将开始上课。请在前面输入出席码。关于考试通知,教授应该已经通知过了,将在 26 日下午 2 点进行。因为每个班级的教室不同,所以今天实习结束后,大约下午会再次通知教室。另外,作业 2 已经出来了,关于作业提交,请注意提交格式不是 Word 文件,而是 PDF 文件。所以请务必转换为 PDF 文件后上传。对于代码,如果直接上传图片,我们在运行时会有一些困难,所以最好是复制粘贴代码。而且对于代码,如果居中对齐,我们复制粘贴运行时可能会出现问题。
Attendees 1 00:58
그래서 그런 경우에는 이제 홈워크 원 같은 경우에는 그 부분을 채점을 해 드렸는데 홈워크 앞으로 이제 2 3 4 나오는 부분에서 그렇게 제출해 주시면은 저희가 따로 이제 탭 처리 안 하고 돌릴 예정이라서 안 돌아가는 걸로 처리하겠습니다.
对于这种情况,以前我们对作业 1 进行了评分,但对于今后的作业 2、3、4 部分,如果您按照这种方式提交,我们将不再进行额外处理,并将其视为无法运行。
Attendees 1 01:19
그리고 이제 오늘 같은 경우에는 이제 성능 평가랑 악상별 방법 대해서 실습 진행할 거고요.
데이터 셋 같은 경우에는 이제 저희가 계속 사용했었던 위스콘신 유방암 데이터를 받아와 줍니다.
今天我们将进行性能评估和评估方法的实践。数据集我们将继续使用威斯康星乳腺癌数据。
Attendees 1 01:41
이렇게 해서 보시면 지금 맨 앞에 0은 이제 행을 나타나는 그런 구분하는 그런 숫자고 1번 같은 경우가 타겟이죠.
그래서 여기 아래서 보시면 저희는 이제 첫 번째 아이디 칼럼을 제거하고 이제 타겟도 제거를 하고 두 번째 피처부터 이제 x로 사용을 할 거고 이제 y 같은 경우에는 타겟이니까 이제 첫 번째 요 m이랑 b로 나눠져 있는 이 부분을 사용을 해서 가져와 줄 겁니다.
그래서 쉐이프 확인해 보고 지금 여기서 보시면 와 같은 경우에는 라벨이 문자열이기 때문에 어 로지스틱 학습을 위해서 이제 이거를 인코딩을 해 줍니다.
그래서 실행을 해 주시면 지금 쉐익 같은 경우에는 이제 569바이 30이 되고 이제 다음과 같이 원이가 바뀌어 있는 걸 확인하실 수가 있죠.
m이 1로 바뀌었죠.
与会者 1 01:41 这样看的话,现在最前面的 0 表示行的区分标识。对于第 1 个来说,这是目标。所以在下面可以看到,我们现在将第一个 ID 列删除,目标也删除,从第二个特征开始作为 x,对于 y,因为是目标,所以使用这个 m 和 b 分隔的部分。因此检查形状后,你可以看到由于标签是字符串,所以为了逻辑学习,我们对其进行编码。执行后,形状现在是 569 乘 30,你可以看到值已经改变,m 已经变成了 1。
Attendees 1 02:39
그리고 이제 이거를 학습을 진행을 하기 전에 틀린 셋이랑 테스트 셋을 분리를 해줄 건데 저희가 계속 지난 시간에도 그래서 그전에도 보통 이제 테스트 사이즈는 0.3으로 잡았었는데 오늘은 0.2로 잡고 랜덤 스테이트도 1로 설정을 해주겠습니다.
그래서 트레인 데이터 셋에 대해서 쉐이블 확인을 해보면 이제 455개만 이렇게 나와 있는 걸 확인하실 수가 있죠.
与会者 1 02:39 在开始学习之前,我们将分离训练集和测试集。就像我们之前一直做的那样,通常测试集大小设置为 0.3,但今天我们设置为 0.2,随机状态也设置为 1。因此,查看训练数据集的形状,你可以看到现在只有 455 个。
Attendees 1 03:09
그리고 그다음에 이제 파이프라인을 만들어 볼 건데
参与者 1 03:09 然后接下来我们将创建一个管道
Attendees 1 03:18
이제 머신러닝을 할 때는 보통 이제 데이터 전처리를 하고 뭐 스케일링을 하고 아니면 차원 축소를 하거나 그런 식으로 한 다음에 이제 마지막에 모델을 학습시키는 그런 단계를 거치는데 근데 매번 이제 그 단계를 구성을 해두게 되면은 코드가 좀 복잡해질 수도 있고 그리고 이제 트레이닝 할 때랑 테스트할 때 데이터 처리 방식이 조금 달라질 수도 있습니다.
그리고 약간 용이성이 좋진 않겠죠. 그래서 이제 사이클론에서는 그걸 방지하기 위해서 이제 파이프라인이라는 기능을 제공을 하고 있어요.
그래서 이 파이프라인 안에 이제 여기서 보시면 트랜스포머랑 그리고 이제 에스티메이터를 순서대로 넣어서 이제 데이터로 변환을 한 다음에 학습을 자동적으로 해주는 그런 파이프라인을 구현을 할 수가 있습니다.
그래서 여기 보시면 이제 사이킬룸에서 제공했던 이제 스케일러랑 PCA랑 그리고 로지스틱 리브렉션이랑 그리고 여기 메이크 파이프라인을 가져와 주면 됩니다.
参与者 1 03:18 在机器学习中,通常会先进行数据预处理,比如缩放、降维等,然后最后训练模型。但每次构建这些步骤可能会使代码变得复杂,并且训练和测试时的数据处理方式可能会有所不同,这并不太方便。因此,Scikit-learn 提供了管道功能来避免这些问题。通过管道,可以按顺序放置转换器和估算器,自动完成数据转换和学习。在这里,你可以使用 Scikit-learn 提供的缩放器、PCA 和逻辑回归,并使用 make_pipeline 方法。
Attendees 1 04:12
그래서 여기서 보시면 지금 구성 요소가 위에서 불러왔지만 스탠다드 스케일러랑 그리고 PCA랑 그리고 로지스틱 리그레션이겠죠.
그것들을 가져와서 파이프라인을 만들어 주면 됩니다.
从这里可以看出,虽然组件是从上面加载的,但是使用标准缩放器、PCA 和逻辑回归。您可以将它们组合成一个管道。
Attendees 1 04:40
2차원으로 이제 PC를 해주고 그리고 로지스틱 리그레션은 넣어주면 되겠죠
现在将主成分设置为二维,然后加入逻辑回归。
Attendees 1 04:54
해서 10억 잠시만
与会者 1 04:54 这样就 10 亿稍等一下
Attendees 1 05:14
이렇게 해서 실행을 해 주시면은 저희가 이제 넣었던 스케일러랑 차원 축소랑 그리고 로지스틱 리그레션을 가진 파이프라인이 완성이 되겠죠.
그래서 이 파이프라인을 실행하게 되면 이제 이걸 순차적으로 해주겠죠.
그래서 방금 이미 정리한 이 파이프라인을 가지고 이제 모델을 트레이닝 해볼 건데 간단하게 아까 파이프 로지스틱 리글렉션이었으니까 lr로 했었죠 그대로 가져와 줍니다.
여기서도 이제 피팅을 사용하면 되겠죠.
与会者 1 05:14 这样执行的话,我们现在放入的缩放器、降维以及逻辑回归管道就完成了。所以执行这个管道的话,就会顺序执行。那么我们刚才已经整理好的这个管道,现在将用来训练模型,由于之前是逻辑回归管道,所以用 lr,直接带过来。在这里,我们还是使用拟合方法。
Attendees 1 05:56
이렇게 실행을 해 주시면 이제 테스트 정확도가 0.956 정도로 나온 걸 확인하실 수가 있습니다.
如果您这样执行,您可以确认测试准确率约为 0.956。
Attendees 1 06:07
그리고 이 모델의 성능을 조금 더 평가하기 위해서 이제 케이 폴드라는 방식을 사용을 하고 있는데 여기서 보시면 이제 트레이닝 셋을 이제 만약에 여기서 보면 이제 k가 10인 경우죠.
10개로 나눈 다음에 그 한 가지만 이제 테스트 폴드로 사용을 해가지고 각 스플릿에 대한 이제 정확도를 구한 다음에 그걸 평균 내서 최종적으로 퍼포먼스를 확인하는 그런 방법입니다.
그래서 여기서 보시면 사이클 런에 이제 모델 셀렉션 보시면 스트리티 파이 k 폴드가 있죠.
이거 같은 경우에는 이제 k 폴드로 나눌 때 와 라벨의 비율을 고정하면서 나눌 수 있는 그런 방법입니다.
이거는 이제 저희가 보통 트레인 테스트 스프릿 할 때도 많이 사용하는 그런 변수죠.
그래서 위에서 인포트한 얘를 그대로 가져와 줍니다.
为了进一步评估模型的性能,现在使用了 k 折交叉验证方法。如果查看这里,假设 k 为 10,则将数据集分成 10 份,然后使用其中一份作为测试折叠,计算每个分割的准确率,最后取平均值以确认最终性能。在 scikit-learn 的模型选择中,有分层 k 折交叉验证,它可以在划分时保持类别比例不变。这是我们在训练-测试分割时经常使用的方法。因此,直接使用上面导入的内容。
Attendees 1 07:04
여기서 보시면 k가 o니까 5개로 분할한다는 소리겠죠.
从这里看,k 是 0,所以意味着分成 5 份。
Attendees 1 07:25
여기서 보시면 이거는 아까 말씀드렸듯이 k고 그리고 셔플 같은 경우에는 이거를 이제 분할을 할 때 데이터를 섞느냐 마느냐인데 이번에는 안 섞고 해볼게요.
근데 일반적으로 이거 셔프를 아마 트루로 많이 사용하실 거예요.
왜냐하면 이제 클래스가 0이 한 100개 있고 1이 100개 있는데 이게 섞여 있지 않고 분할을 하게 되면은 잘 되지 분할이 되지 않을 수도 있기 때문에 그렇습니다.
지금은 그렇지만 펄스를 사용을 해볼게요. 그리고 이렇게 나누면 이제 5개로 분할이 되겠죠.
그래서 각 세트에 대해서 이제 테스트 스코어를 계산을 한 다음에 한번 평균을 내볼게요.
여기서 보시면 이제 이렇게 하면은 이제 여기 케이 볼들로 나눠진 데이터 셋이 하나씩 이렇게 나오겠죠.
이렇게 해서 첫 번째 트레이닝 데이터에 대해서 x랑 y를 가져오고 스코어를 계산을 하면 되겠죠.
그러면 이 파이프라인에 대해서 피팅을 시켰으니까 파이프라인에 대해서 스코어를 가져오면 되겠죠.
从这里看,正如我之前提到的,这是 k,关于随机打乱,即在分割数据时是否混洗数据。这次我们不会混洗。但通常,你们可能会将混洗设置为真。因为如果有 100 个类别 0 和 100 个类别 1,如果不混洗就进行分割,分割可能无法正常进行。现在是这样,但我们将使用假设。这样就分成了 5 份。因此,对每个集合计算测试分数,然后取平均值。在这里,你可以看到数据集被 k-fold 分成一个一个的。这样,对于第一个训练数据,获取 x 和 y 并计算分数。既然已经拟合了这个管道,就可以获取管道的分数。
Attendees 1 08:41
이렇게 해주면 이제 트레인 데이터셋에 대해서 피팅을 시키고 테스트 데이터셋에 대해서 이제 스코어를 구하는 그런 코드겠죠.
그래서 여기서 이제 스코어를 구해가지고 이 리스트에다가 하나씩 붙이겠죠.
그다음에 이제 최종적으로 그 스코어 리스트의 이제 평균값과 이제 표준 편차를 구해보면 됩니다.
그러면 아래 보시면 각 폴드에 대해서 이제 어큐러시가 나오겠죠.
그래서 저희는 k 폴드인데 k가 5개니까 5개의 폴드에 대해서 각각 평균을 어큐러시를 가져왔고 요 어큐러시들을 평균을 해보면 약 0.91 정도 나온다고 합니다.
그리고 저희가 이렇게 케이 폴드를 사용을 해도 되고 아니면은 이제 또 사이킬럼에서 제공하는 크로스벨 스코어를 가져와서 사용을 할 수도 있습니다.
听众 1 08:41 这样做的话,现在就可以对训练数据集进行拟合,并对测试数据集计算分数。因此,现在我们会计算分数并逐个添加到这个列表中。然后,最终可以计算该分数列表的平均值和标准差。那么在下面您可以看到每个折叠的准确率。由于我们是 5 折交叉验证,所以对于 5 个折叠,我们分别获得了准确率,如果计算这些准确率的平均值,大约为 0.91。并且我们可以使用这种 k 折方法,也可以使用 scikit-learn 提供的交叉验证分数。
Attendees 1 09:45
이렇게 하면은 지금 위에서는 케이블들을 직접 나누고 저희가 이제 요 이런 식의 이제 하나하나 이제 구현을 하는 방식을 사용을 했었는데 이렇게 크로스벨 스코어를 사용을 하면은 알아서 하나의 코드로 사용할 수가 있습니다.
그래서 여기다 파이프라인도 넣어주고요. 데이터를 지정을 해주고 4 y는 y고 k는 똑같이 5가 되겠죠.
그리고 이거는 코어 수인데 그냥 지금은 일로 한번 해보겠습니다.
이렇게 해서 실행을 하게 되면은 똑같이 이제 x랑 y에 대해서 이제 k 폴드가 5개가 만들어지고 그 만들어진 데이터셋에 대해서 이제 파이프라인을 통해서 각각의 스코어를 계산을 하고 평균을 내서 결과를 보여주겠죠.
이렇게 똑같은 이제 결과가 나오는 걸 확인할 수가 있습니다.
听众 1 09:45 这种方式与之前我们手动划分数据集并逐步实现的方法不同,使用交叉验证分数可以用一行代码完成。在这里,我们还添加了管道,指定了数据,y 值,并且 k 仍然是 5。这里的参数是核心数,现在我们先尝试设为 1。这样执行后,x 和 y 会被划分为 5 个折叠,然后通过管道计算每个数据集的分数,并取平均值后显示结果。可以看到结果是相同的。
Attendees 1 10:50
지금 보시면 원래 케이 폴드 해가지고 데이터셋을 가져와서 저희가 포문을 직접 구현을 했는데 이런 식으로 사용을 하게 되면은 그냥 간단하게 결과를 알 수가 있습니다.
여기서 보시는 이 스코어 리스트도 보면 이제 위랑 동일한 걸 확인할 수가 있어요.
参会者 1 10:50 现在您可以看到,我们本来是通过 K 折交叉验证获取数据集,然后直接实现了循环,这样使用的话可以简单地获得结果。在这里,您可以看到这个分数列表,可以确认与上面完全相同。
Attendees 1 11:11
그리고 이런 방식으로도 성능을 점검할 수가 있고 아니면 이제 러닝 커브를 확인을 해서 퍼포먼스를 한번 확인해 볼 수도 있습니다.
이렇게 보시면 지금 3개의 그래프가 있는 걸 확인하실 수가 있는데 지금 보시면 x축에 이제 넘버로 트레이닝 샘플스가 있죠.
이거는 이제 트레이닝 샘플의 개수가 커지거나 이제 작아짐에 따라서 어큐러시가 어떻게 변하는지를 볼 수 있는 그런 그래프인데요.
이제 맨 처음에 여기 보시면 이제 높은 편향이죠. 여기에서 보시면 지금 노란 연두색은 트레이닝 어큐러시고 이제 하늘색은 밸리데이션 어큐러시가 되겠죠.
빨간색이 이제 적절한 어큐러시인데 지금 보시면 트레이닝 어큐러시도 그렇고 밸리데이션 어큐러시도 그렇고 원래 이제 저희가 요구하는 이제 성능과는 매우 아래에 있는 걸 확인하실 수가 있어요.
그러면 이거는 과소 적합된 거죠.
参会者 1 11:11 通过这种方式也可以检查性能,或者通过学习曲线来确认性能。如您所见,现在可以看到 3 个图表。X 轴上是训练样本数量。这是一个可以观察随着训练样本数量的增加或减少,准确率会发生怎样变化的图表。首先,在这里您可以看到高偏差。在这里,黄绿色是训练准确率,天蓝色是验证准确率,红色是适当的准确率。现在您可以看到,无论是训练准确率还是验证准确率,都远低于我们要求的性能。这就是欠拟合。
Attendees 1 12:01
과소 적합이면 언덕 피팅이라고도 이제 할 수가 있는데 모델이 이제 너무 단순해 가지고 여기서 보시면 학습 데이터에도 적절하게 예측을 하지 못하고 데이터 개수를 아무리 늘려도 성능이 더 커지지 않습니다.
그리고 반대죠. 이 오른쪽에 보면 이제 하이 밸런스가 있는데 이거 같은 경우에는 이제 과적합이 난 케이스죠.
그래서 보시면 데이터 수가 작을 때 이제 트레이닝 어큐러시가 밸류에이션 어큐레시보다 훨씬 높고 이게 데이터 수를 좀 늘리면 그 과정이 좀 오버 피팅이 조금 완화가 되는 걸 확인하실 수는 있지만 이제 아래에 잘 학습된 것보다는 아직 우버 피팅이 조금 더 되어 있다는 것을 확인할 수가 있어요.
그리고 이제 이 세 번째 그래프가 가장 이상적인 그런 그래프겠죠.
与会者 1 12:01 如果出现欠拟合,也称为欠拟合,这是因为模型过于简单。从图中可以看出,即使在学习数据上也无法进行适当的预测,无论数据量如何增加,性能也不会提高。相反,右侧显示的是高平衡情况,这是过拟合的情况。可以看出,在数据量较少时,训练准确率远高于验证准确率。随着数据量的增加,过拟合情况会有所缓解,但仍然未达到良好学习的水平。第三个图表是最理想的情况。
Attendees 1 12:46
그래서 데이터 수가 적을 때는 이제 오버 피팅이 살짝 발생을 하지만 데이터 수가 어느 정도 있으면 이제 트레이닝 어큐러시랑 밸리데이션 어큐러시랑 비슷하게 나오는 걸 확인할 수가 있습니다.
그러면 이제 저희가 학습한 것에 대해서도 이렇게 러닝 커브를 확인해 볼 수가 있겠죠.
여기서 보시면 지금 똑같이 스탠다드 스케일러를 넣을 거고 로지티브 리그렉션을 넣을 건데 이거는 패널티를 l2로 준다고 합니다.
그대로 써주면 되겠죠.
与会者 1 12:46 因此,在数据量较少时会出现轻微的过拟合,但当数据量达到一定程度时,训练准确率和验证准确率会变得相似。然后我们可以通过学习曲线来验证我们的学习情况。在这里,我们将使用标准缩放器,并使用逻辑回归,其中 L2 正则化。直接使用即可。
Attendees 1 13:34
보기 편하게 여기 그냥 한번 꺼봐줄게
参会者 1 13:34 让它看起来更清晰,我这就帮你关掉
Attendees 1 13:56
이렇게 파이프라인을 만들 수가 있겠죠.
参会者 1 13:56 这样就可以建立管道了。
Attendees 1 14:09
그러면 이제 이 만든 파이프라인을 가지고 아까 위에서 저희가 봤었던 러닝 커브를 찍어볼 수가 있겠죠.
여기서 보시면 지금 이제 트레이닝 셋의 크기가 10% 20% 그리고 100%까지 변했을 때 트윈이랑 테스트 어큐러시를 확인을 한다고 되어 있어요.
그리고 이제 케이 폴드가 10이네요.
那么现在我们可以用这个已经构建好的管道来绘制之前我们看到的学习曲线。从这里可以看出,当训练集大小变为 10%、20%,直到 100%时,我们可以查看训练和测试准确率。并且现在使用的是 10 折交叉验证。
Attendees 1 14:37
이렇게 하시면 줄바꿈이 인식이 되는 그런 게 있습니다.
如果这样做,就会识别换行符。
Attendees 1 14:52
위에서 만든 파이프라인을 가지게 할 거고 데이터 x는 x고 y는 y겠죠.
그리고 트레이닝 사이즈는
与会者 1 14:52 我们将拥有上面创建的管道,数据 x 是 x,y 是 y。并且训练大小是
Attendees 1 15:11
그러니까 10%부터 100%까지 10%씩 늘어나게 되겠죠.
그리고 k는 10이고
与会者 1 15:11 所以从 10%到 100%,每次增加 10%。并且 k 是 10
Attendees 1 15:22
여기도 코어를 한 개만 쓰도록 합니다. 이렇게 해서 이제 실행을 해 주시면 아래에 이제 트레인 사이즈가 조금씩 변하는 걸 확인하실 수가 있죠.
그래서 여기는 10% 여기는 20% 30% 40% 그리고 100%까지 그리고 이걸로부터 구해진 이제 트랜스코어의 리스트에 이제 10개가 들어가 있는 것도 확인할 수가 있죠.
与会者 1 15:22 在这里我们也将仅使用一个核心。这样执行后,您可以看到训练规模会有一些变化。这里是 10%,这里是 20%,30%,40%,直到 100%,您还可以看到由此获得的转录分数列表包含了 10 个元素。
Attendees 1 15:53
그러면 이거 하고 이제 그래프를 그려볼게요.
与会者 1 15:53 那么现在我将绘制这个图表。
Attendees 1 16:10
똑같이 이제 에플라이를 불러보고 여기서 보시면 이제 각 트레이닝 사이즈에 대한 이제 스코어의 평균을 계산을 하는 거겠죠.
그러면 일단 트레이닝 이큐러시 평균은
参与者 1 16:10 现在我们来调用 apply,从这里可以看到,我们正在计算每个训练大小的平均分数。那么首先是训练准确率的平均值
Attendees 1 16:31
트랜스코어 리스트의 평균을 구하면 되겠고 테스트는 또 테스트 스코어스의 리스트를 리스트의 평균을 구하면 되겠죠.
参与者 1 16:31 求出转换分数列表的平均值,对于测试,则是求出测试分数列表的平均值。
Attendees 1 16:44
그리고 위에서 제가 줄바꿈했는데 이거 줄바꿈 안 하고 그냥 옆에 쭉 적으셔도 상관은 없습니다.
이게 보기 편하다고 이렇게 해놓은 거여서 그러면 이렇게 평균을 구하겠죠.
그리고 여기서 보시면 이제 트레이닝 사이즈랑 이제 그에 따른 평균 스코어에 대해서 그래프를 그리겠죠.
파란색이 이제 트레이닝 어큐로시가 되는 거고 초록색이 밸리데이션 어큐러시가 되겠죠.
出席者 1 16:44 我之前换行了,但是如果不换行直接在旁边连续写也没关系。这是为了方便阅读而这样排版的,所以就这样计算平均值。然后在这里,你可以看到训练样本大小及其对应的平均分数的图表。蓝色是训练准确率,绿色是验证准确率。
Attendees 1 17:17
이렇게 해서 이제 라벨도 해주고 반말도 출력을 해주고 이렇게 해서 그래프를 찍어보면 여기 보시면 이제 어큐러시가 보이죠.
그래서 데이터 트레이닝 샘플 수가 적을 때는 이제 약간 과적합된 경향이 있지만 데이터 수가 좀 커지면 이제 적절하게 학습이 잘 돼 가는 것을 확인할 수가 있겠죠.
이게 이제 아까 위에서 봤던 그 세 번째 그래프랑 양상이 약간 비슷하죠.
出席者 1 17:17 像这样添加标签,输出非正式语言,然后绘制图表,你可以看到准确率。所以在训练样本数量较少时,会有一定的过拟合倾向,但随着数据量增加,可以看到模型学习得更加恰当。这与之前看到的第三个图表的模式有点相似。
Attendees 1 17:53
그리고 이번에 이제 밸리데이션 커버를 확인을 해서 이제 오버 피팅을 하는지 안 하는지를 확인할 수가 있습니다.
参会者 1 17:53 现在我们可以通过检查验证曲线来确认是否存在过拟合。
Attendees 1 18:05
이것도 이제 사이클럼에서 제공하는 밸리데이션 커브를 가져오면 되는데 여기서 보시면 지금 이 주석에서 어떤 식으로 해야 되는지 설명을 해 주고 있어요.
일단 처음에 이제 조정하고 싶은 파라미터를 선택을 할 때는 다음과 같은 형식으로 지정을 해준다고 되어 있죠.
그래서 파이프라인에 이제 과정 이름이랑 그리고 파라미터 이름을 가져와서 같이 작성을 해줘야 되는데 그때 이제 언더바 여기 보시는 건 두 개거든요.
이렇게 언더바 2개로 연결을 해준다고 되어 있습니다.
그래서 예를 들어서 지금 스탠다드 스케일러랑 이제 로지스틱 리그레션을 가진 파이프라인을 저희가 만들었으면 이제 로지스틱 리그레션 안에 파라미터에 대해서 이제 조절을 하고 싶다고 하시면 앞에 그 스텝에 있는 파이프라인에 있는 스텝 이름인 로지스틱 리그레션을 적어주고 저희가 이제 c 파라미터를 어느 정도 조절을 하고 싶다 하시면 그 뒤에 언더바 2개를 하시고 이 씨를 넣어주시면 됩니다.
이렇게 해서 한번 진행을 해볼게요.
参会者 1 18:05 这也是从 scikit-learn 中获取验证曲线的方法,从注释中可以看出如何操作。首先,在选择要调整的参数时,需要按照以下格式指定。因此,需要在管道中使用过程名称和参数名称一起编写,届时使用两个下划线连接。例如,如果我们创建了一个包含标准缩放器和逻辑回归的管道,并且想调整逻辑回归中的参数,则需要在前面写入管道步骤中的步骤名称(逻辑回归),然后如果想调整 C 参数,就在后面加上两个下划线和 C。我们将按照这种方式进行。
Attendees 1 19:07
이제 로지스틱 리그레션의 이제 하이퍼 파라미터 이거에 대해서는 저희가 많이 설명을 했었는데 또 씨 값이 작을수록 이제 레귤러라이제이션 강도가 강하고 이제 클수록 강도가 약해진다고 저희가 배웠었죠.
그러면 그렇게 레인지를 다음과 같이 잡아서 한번 결과를 확인해 보겠습니다.
아까랑 똑같이 이제 또 커브를 확인을 해보면 되는데 밸리데이션 커브를 저희가 불렀으니까 그걸 쓰겠죠.
그리고 에스티메이터 같은 경우에는
参会者 1 19:07 我们已经对逻辑回归的超参数进行了很多解释,之前我们学过,当 C 值越小,正则化强度越强,当 C 值越大,强度越弱。那么让我们按照这样的范围来看看结果。和之前一样,我们可以查看曲线,既然我们已经提到了验证曲线,就使用它。对于估算器的情况
Attendees 1 19:41
위에서 했던 파이프 레시스티 리버시 스 같은 경우에는 엑스트레인을 넣어주겠죠.
그리고 y는 y 트레인을 넣어주고 파라미터 이름은
参会者 1 19:41 对于之前做的管道逻辑回归,我们将放入 X 训练集,然后放入 y 训练集,参数名称是
Attendees 1 20:05
온더가 2개라고 말씀을 드렸죠. 그래서 이렇게 그리고 레인지는 위에서 있는 이 레인지를 그대로 넣어주면 되겠죠.
我们之前说过有 2 个 On the Go,所以就这样,并且把上面的这个范围直接放进去就可以了。
Attendees 1 20:23
그리고 k는 10으로 잡을게요.
那么我们将 k 设置为 10。
Attendees 1 20:29
이렇게 해서 실행을 해 주면 지금
与会者 1 20:29 这样执行的话现在
Attendees 1 20:35
6개의 파라미터 레인지가 지금 이렇게 출력이 되고 그리고 그에 따른 트랜스포어가 이렇게 되어 있겠죠.
이게 6은 저희가 파라미터 레인지를 6개로 잡았으니까 6이고 10은 저희가 k를 10으로 잡았으니까 10개가 되어 있는 거겠죠.
그러면 이것도 아까 위에서 했던 것처럼 이제 각 파라미터에 대한 이제 평균 스코어를 계산을 해서 그래프를 그려보겠죠.
이렇게 보시면 똑같이 트랜스코어랑 테스트 스코어에 대해서 평균값을 구해줬어요.
그리고 이제 c랑 이제 평균 스코어를 그래프로 확인을 해볼 건데 그러면 x 자리에는 레인지가 들어가는 거겠죠.
与会者 1 20:35 现在会显示这 6 个参数范围,并且相应的转换器也是这样的。这个 6 是因为我们将参数范围设置为 6 个,所以是 6,10 是因为我们将 k 设置为 10,所以是 10 个。那么,就像之前一样,现在我们将计算每个参数的平均分数,并绘制图表。如你所见,我们同样计算了转换器和测试分数的平均值。现在我们将查看 C 和平均分数的图表,x 轴上会放置范围。
Attendees 1 21:27
그리고 와 자리에는 얘는 트레이닝 워킬러시니까 트레인 민이 들어가면 되겠죠.
그리고 아래를 보시면 이번엔 똑같이 x 자리에는 파라미터 레인지가 들어가고 오른쪽에는 밸리데이션 어크러시라고 했으니까 테스트 민을 넣어주면 되겠죠.
与会者 1 21:27 那么这里的席位是培训工作者,所以训练数据会进入。然后在下面,x 轴位置会放参数范围,右侧是验证准确率,所以可以放入测试数据。
Attendees 1 22:19
이렇게 해서 실행을 해보면 다음과 같은 그래프를 확인할 수가 있죠.
이 그래프를 보면은 지금 파라미터가 파라미터 씨가 이제 0.1에서 1 사이일 때 가장 좋은 결과가 있는 걸 보실 수가 있죠.
그래서 이것보다 이제 파라미터 씨의 크기가 작아지게 되면 어큐러시가 이상적인 것에 비해서는 약간 이제 언더피팅 되어 있는 걸 확인할 수가 있고 이거보다 커지면 점점 더 오버피팅 되는 그런 양상을 확인할 수가 있겠죠.
与会者 1 22:19 这样执行后,你可以看到如下图表。从图表可以看出,当参数 C 在 0.1 到 1 之间时,结果最佳。如果参数 C 的大小变小,准确率会相比理想情况略微欠拟合;如果变大,则会逐渐呈现过拟合的趋势。
Attendees 1 22:57
그러면 이런 식으로 이제 하나하나 파라미터를 계산을 해 가지고 그 결과를 확인할 수도 있겠지만 이제 그리드 서치를 사용을 하면은 조금 더 쉽게 하이퍼 파라미터 튜닝을 할 수가 있죠.
얘도 이제 사이킬란에서 제공하는 그리드 서치 CV 이걸 불러와서 사용을 하면 됩니다.
우선 똑같이 이제 학습 데이터셋에 대해서 스탠다드 스케일링을 한번 해주고 여기 보시면 지금 저희가 사용할 조합이 이제 위에서 봤던 하이퍼 파라미터 c랑 그리고 l1을 쓸 건지 l2를 쓸 건지 그 패널티에 대해서 이제 그리드 서치를 진행을 하고 트레인이랑 테스트 어큐러시를 확인을 해볼 겁니다.
그러면 그대로 넣어주면 되겠죠. 파라미터 그리드는 얘를 넣어줄 거니까 우선 c죠 c는 어떻게 변화를 할 것이냐 아까 위에서 했던 것처럼 넣어주면 되는데 걔보다 조금 더 간단하게 0.02 0.1이랑 1.0이랑
出席者 1 22:57 那么,虽然我们可以逐个计算参数并确认结果,但是使用网格搜索可以更容易地调整超参数。我们可以从 scikit-learn 调用网格搜索 CV 并使用它。首先,对学习数据集进行标准缩放,然后您会看到我们将使用的组合是之前看到的超参数 C,以及是使用 L1 还是 L2 惩罚。我们将进行网格搜索,并检查训练和测试准确率。那么就直接放入即可。由于参数网格将是这个,首先是 C,C 的变化方式与之前一样,我们放入 0.02、0.1 和 1.0
Attendees 1 24:09
이렇게 넣을게요. 그리고 패널티는 두 개가 있죠.
出席者 1 24:09 这样,然后有两种惩罚方式。
Attendees 1 24:19
메론이랑 1 2 이렇게 넣어주겠습니다.
与会者 1 24:19 我将把梅隆和 1 2 这样放入。
Attendees 1 24:34
이렇게 보시면 괄호도 닫게 돼 있죠. 그러면 경우의 수가 총 몇 가지죠.
여기서 보시면 지금 c는 가능한 경우의 수가 5개고 패널티는 이제 가능한 경우의 수가 2개니까 10개가 되겠죠.
与会者 1 24:34 如果这样看,括号也会关闭。那么总共有多少种可能性呢?从这里可以看出,现在 c 有 5 种可能的情况,而惩罚有 2 种可能的情况,所以总共是 10 种。
Attendees 1 24:51
그럼 요 이제 파라미터 그리드 리스트를 사용을 해가지고 그리드 서치를 한번 만들어볼게요.
여기서 보시면 이제 위에서 그리드 서치 CV를 인포트해왔죠.
얘를 그대로 써줍니다.
那么现在我们将使用参数网格列表来创建网格搜索。在这里,您可以看到我们之前已经导入了网格搜索 CV。我们将直接使用它。
Attendees 1 25:13
그리고 여기서 보시면 이제 로지스틱 리그레션을 사용한다고 되어 있었죠.
그래서 그대로 써줍니다.
并且正如您所看到的,我们使用的是逻辑回归。所以我们将直接写下它。
Attendees 1 25:23
그리고 파라미터 넣으시고
与会者 1 25:23 然后放入参数
Attendees 1 25:34
그리고 파라미터 그리드 같은 경우에는 방금 위에서 만들었던 곡을 넣어주면 되겠죠.
与会者 1 25:34 对于网格搜索,可以将刚才在上面创建的曲线放入其中。
Attendees 1 25:45
그리고 저희가 비교할 값은 스코어니까 어큐러시니까 어큐러시를 넣어주면 돼.
그리고 CVK는 오고 여기 보시면 오폴드 크로스 밸리데이션이라고 되어 있죠.
그래서 5를 넣어주시고 코는 똑같이 한 개를 써보겠습니다.
参会者 1 25:45 然后我们要比较的是分数,也就是准确率,所以可以输入准确率。然后 CVK 会出现,如你所见这里写的是交叉验证。所以输入 5,核心数量保持为一个。
Attendees 1 26:15
이렇게 하시면 다음과 같은 결과가 나오죠. 그래서 방금 채웠던 부분이 이 두 줄이겠죠.
参会者 1 26:15 这样做的话,就会得到如下结果。所以刚才填写的部分就是这两行。
Attendees 1 26:47
네 그래서 이거 이렇게 실행을 해보고 이제 x y에 대해서 피팅까지 해서 결과를 확인을 해보면 아래에 보시면 이제 만약에 주피터 노트북을 쓰신 경우에는 다음과 같은 화면을 볼 수가 있습니다.
그래서 이거 눌러보시면 저희가 어떤 식으로 했는지 이렇게 나와 있거든요.
또 한번 확인해 주시면 되겠죠. 디스크 리그렉션은 여기 저기서 파라미터가 지금 처음에 있는 게 0.1이었으니까 아닌데 0.0 나옵니다.
그러면 이렇게 이제 스코어를 구했으니까 또 확인을 해보면 되겠죠.
参会者 1 26:47 是的,然后执行这个,并对 x 和 y 进行拟合并查看结果。如果您使用 Jupyter Notebook,您可以看到如下界面。点击它,就可以看到我们是如何操作的。再次确认一下。这里的逻辑回归参数最初是 0.1,但现在是 0.0。那么现在我们已经得到了分数,可以再次确认了。
Attendees 1 27:29
그리드 서치에서 테스트 스포어의 평균을 가져오면 이렇게 가져올 수가 있습니다.
参会者 1 27:29 在网格搜索中,可以像这样获取测试分数的平均值。
Attendees 1 27:48
표준편차는 똑같이 위에 있죠. 이거 복붙해서 사용하셔도 돼요.
텍스트 스코어도 있죠.
与会者 1 27:48 标准差也在同样的地方。您可以复制粘贴使用。文本分数也在那里。
Attendees 1 27:59
파라미터 같은 경우도
与会者 1 27:59 参数也是如此
Attendees 1 28:12
이렇게 가져오면 이제 그리드 서치 결과에 대해서 각각 이제 평균 테스트 스코어 그리고 표준 편차 테스트 스코어 그리고 파라미터를 가져오겠다.
그래서 이거를 출력을 해보면
与会者 1 28:12 这样获取后,现在可以对网格搜索的结果获取平均测试分数、测试分数的标准差以及参数。所以我们将输出这个结果
Attendees 1 28:32
각 파라미터 경우의 수에 대해서 이제 평균 어큐러시가 출력이 되게 됩니다.
그래서 이제 아래 보시면 이렇게 각 c 값에 대해서 이제 패널티가 두 개니까 경우의 수가 2개죠.
c가 0.01일 때 패널티가 그리고 1일 때에 이제 어큐러시는 0.924가 나오게 되고요.
그걸 또 아래로 쭉 내려보시면 이제 각 경우의 수에 대해서 어큐러시를 확인할 수가 있어요.
그리고 저희가 이제 베스트 스코어랑 이제 파라미터를 또 출력을 해야 되는데 베스트 스코어 같은 경우에는 또 그리드 서치 보면은 아직은 안 나왔죠.
그렇죠 이 값을 보면 그냥 대충 보시면 가장 좀 정확도가 높아 보인다 하는 게 이 경우겠죠.
c가 0.1이고 얘 패널티를 l2를 줬을 때 0.98 이게 이제 저희가 직접 육안으로 계산을 하지 않고도 여기에 저장이 되어 있습니다.
그리고 그때 파라미터도 출력을 할 수가 있습니다.
그래서 실행을 해보시면은 저희가 봤던 이게 가장 높았는데 그게 그대로 아래에 출력이 되고 있죠.
与会者 1 28:32 对于每种参数组合,现在将输出平均准确率。如您在下面所看到的,对于每个 C 值,由于有两种惩罚方式,所以会有两种情况。当 C 为 0.01 时,以及当它为 1 时,准确率将为 0.924。如果您继续向下滚动,您可以看到每种情况的准确率。然后我们还需要输出最佳分数和参数,对于最佳分数,在网格搜索中还没有显示出来。对吧?如果粗略地看,最高精度似乎是在 C 为 0.1 且使用 L2 惩罚时为 0.98,这已经被直接保存在这里,我们不需要手动计算。并且当时的参数也可以被输出。所以当您执行时,我们之前看到的最高值会原样输出在下方。
Attendees 1 30:08
그러면 이제 저희가 최적의 하이퍼 파라미터를 찾았으니까 그 파라미터를 사용을 해서 모델을 피팅할 수 있겠죠.
既然我们已经找到了最佳的超参数,那么我们就可以使用这些参数来拟合模型。
Attendees 1 30:20
그러면 베스트 모델을 가져와서 CLF에 넣어주고 이거에 대해서 피팅을 시켜서 결과를 확인해 볼 수도 있겠죠.
그러면 테스트 어큐러시가 0.96이 나오네요.
那么我们可以将最佳模型带入分类器中,对其进行拟合并检查结果。这样看来,测试准确率为 0.96。
Attendees 1 30:49
그리고 그다음에 보시면 이제 컴퓨션 매트릭스가 있는데 이거는 이제 지각하면 혼동 행렬이라고도 할 수가 있죠.
그래서 이거 같은 경우에는 에츄얼 클래스는 트루 클래스죠.
트루 클래스랑 이제 프리딕트 클래스에 대해서 이게 얼마나 잘 모델이 예측을 했는지를 확인할 수 있는 그런 매트릭스입니다.
그래서 여기 보시면 이제 트루 퍼스티브 같은 경우에는 진짜 원래 이제 퍼스티브를 positive로 예측을 했다는 의미고 트루 negative는 진짜 negative를 negative로 예측을 했다는 의미겠죠.
그리고 이거는 이제 예측이 잘 된 케이스고 예측을 잘 하지 못한 케이스가 이제 앞에 펄스가 붙는 애들이겠죠.
그래서 실제는 이제 퍼시티브인데 negative로 예측을 했으면 펄스 negative 왜냐하면 이제 negative로 예측을 잘못을 했으니까 잘못했으니까 그렇게 되겠죠.
然后接下来你们看到的是混淆矩阵,这也可以称为混淆矩阵。在这种情况下,实际类别是真实类别。它是一个可以用来确认模型对真实类别和预测类别的预测准确性的矩阵。在这里,真正的正类(True Positive)意味着正确地将正类预测为正类,真正的负类(True Negative)意味着正确地将负类预测为负类。这些是预测正确的情况,而预测不正确的情况则是前面带有"假"(False)的那些。例如,如果实际是正类但预测为负类,那就是假负类(False Negative),因为它错误地预测为了负类。
Attendees 1 31:38
그리고 이제 액츄 클래스가 이제 negative인데 positive로 예측을 했으면 얘는 이제 퍼스 positive가 되겠죠.
然后,如果实际类别是负类,但预测为正类,那么这就是假正类(False Positive)。
Attendees 1 31:50
그래서 이걸 가지고 저희도 한번 출력을 해볼 건데 여기서 보시면 이제 2 y랑 그리고 프리딕티드 y 이게 말이 프리딕티드 y이고 또 다른 말로 말하면 저희가 보통 y 이라고 했었죠.
그 두 개를 가지고서 이제 컴퓨전 매트릭스를 계산할 수가 있습니다.
여기서 보시면 이제 아까 위에서 방금 피팅했던 그 모델에 대해서 x 테스트를 넣고 이제 와 프리딕트 값을 구할 수가 있겠죠.
그럼 이 값이랑 이제 트루 와 값이랑 해서 한번 계산을 해볼게요.
얘도 이제 사이클론에서 인포트해 온 컴퓨션 매트릭스를 그대로 가져오면 되겠죠.
参会者 1 31:50 所以我们也要尝试输出,在这里您可以看到现在的 y 和预测的 y,这就是预测的 y,或者我们通常说的 y。利用这两个,我们现在可以计算混淆矩阵。在这里,您可以看到对于刚才拟合的模型,将 x 测试值代入,就可以得到预测值。那么我们就用这个值和真实值来计算一下。同样,我们可以直接从 scikit-learn 中导入混淆矩阵。
Attendees 1 32:28
와 2루는 이제 와 테스트겠죠. 그리고 와 프리딕트는 와이 프리드 여기에서 했던 이걸 그대로 여기다 넣어주겠죠.
그래서 실행을 해주면 여기서 보시면 전체 테스트 데이터셋에 대해서 이제 원래 positive 값이었던 걸 이제 positive로 잘 예측을 한 게 70개고 그리고 원래 positive였는데 이제 negative를 잘못 예측한 게 2개인 거죠.
그리고 아래는 또 해석을 해보면 원래 negative였는데 negative로 예측을 했다 그게 39개인 거고 원래 negative인데 이제 모델이 퍼스티브로 예측을 했다 하는 게 3개인 겁니다.
그래서 이제 이 값들을 가지고 저희가 또 다른 그런 기준들을 한번 계산을 해볼 수가 있어요.
이게 보통은 이제 어큐러시를 많이 사용하지만 이게 어큐러시가 가장 높은 모델이 항상 높은 모델이 아니기 때문에 각 상황에 따라서 이제 저희가 평가 지표를 다르게 계산을 할 수가 있습니다.
参会者 1 32:28 这是测试集。预测的 y 就是我们之前预测的这个,直接放在这里。执行后,您可以看到对于整个测试数据集,原本是正类的被正确预测为正类的有 70 个,原本是正类但被错误预测为负类的有 2 个。下面再解释一下,原本是负类并被正确预测为负类的有 39 个,原本是负类但被模型预测为正类的有 3 个。因此,我们可以用这些值计算其他指标。通常使用准确率,但准确率最高的模型并不总是最好的模型,所以我们可以根据不同情况选择不同的评估指标。
Attendees 1 33:34
그래서 보시면 이제 보통 이렇게 3개 프리시즌 리콜 그리고 레퍼런스 콜 이렇게가 있는데 이제 얘는 한국어로 직역을 하게 되면 정밀도고 얘 같은 경우에는 제한율이고 얘 같은 경우에는 조합 평균이라고 하죠.
그래서 보시면 이제 정밀도 같은 경우에는 프리시전 같은 경우에는 예측을 이제 positive라고 한 것 중에서 진짜 positive의 비율이었죠.
그리고 이제 리콜 같은 경우에는 여기서 보다시피 실제 positive에서 이제 진짜 예측으로 얼마나 잡아냈는가 를 나타낼 수가 있겠죠.
그래서 보시면 둘 다 이제 트루퍼스티브를 가지고 있는데 이제 어느 것과 어느 것을 이제 광고로 하느냐에 따라서 조금 다른 경향을 보일 수가 있습니다.
그리고 에프 스코어 같은 경우에는 이거 두 개 중에 하나만 고를 수 없을 때 보통 사용을 하는데 이거 두 개를 합한 다음에 이제 분자 같은 경우에는 2를 곱해주고 얘네들을 또 곱해서 그렇게 폰 스코어를 구할 수가 있습니다.
出席者 1 33:34 通常情况下,这里有 3 个:预测召回率、参考召回率,如果直接翻译成韩语,这个是精确度,这个是召回率,这个是 F1 分数。所以从精确度来看,预测中被正确识别为正类的比例。而召回率则表示在实际正类中,有多少被正确预测出来。这两者都有真实正类,但根据广告方式的不同,可能会呈现出一些不同的趋势。而 F 分数通常在无法只选择其中一个时使用,将这两个值相乘后,分子乘以 2,然后相乘,就可以得到 F1 分数。
Attendees 1 34:35
이런 식으로 이제 식이 있는 거는 저희가 어떤 의미인지 좀 확실하게 알면 좋기 때문에 이제 이런 식으로 이해를 하는 거고 계산은 또 사이킬란에서 불러와서 직접 할 수가 있습니다.
그래서 여기서 보시면 또 사이킬란에서 제공하는 이제 프리시전 스코어랑 리컬 스코어 그리고 에퍼 스코어가 있는데 이걸 가지고 그대로 아까 위에서 저희가 컴퓨전 매트릭스를 계산을 할 때 사용했었던 y 테스트랑 와 프레딕트 값을 넣어주면은
出席者 1 34:35 之所以有这种计算公式,是因为我们最好能清楚地理解其含义。计算可以直接使用 scikit-learn 调用。从这里可以看到,scikit-learn 提供了精确度分数、召回率分数和 F1 分数,只需将我们之前在混淆矩阵计算中使用的真实值和预测值代入即可。
Attendees 1 35:05
그쵸 넣어주면 결과가 나오는데 지금 프리시즌이랑 리콜 같은 경우에는 이런 식으로 넣어줬고 그러면 똑같이 F1 스코어는 앞에 얘만 바꿔주면 되겠죠.
与会者 1 35:05 对,只要放进去就会出结果,现在在季前赛和召回率的情况下,就是这样放的,那么 F1 分数只需要改变前面的这个就可以了。
Attendees 1 35:35
실행을 해 주면 이렇게 나오겠죠. 그래서 저희가 코딩 할 때는 이제 사이클런에서 불러서 계산을 해도 되고 직접 계산을 하는 일이 있거나 그럴 때는 위에서 봤었던 이런 걸 참고해서 직접 계산을 할 수도 있겠죠.
그다음에 이제 아로시 커브에 대해서도 한번 확인을 해볼 건데 우선 다시 파이프라인을 새로 구성을 해볼게요.
이게 아까 위에서 했던 거랑 좀 유사한데 처음에 이제 스케일링을 진행을 하고 이제 PCA를 하고 그다음에 로지스틱 리그레션을 하는 거겠죠.
얘를 실행을 해서 새로 파이프라인을 정의를 해 줍니다.
与会者 1 35:35 执行后就会这样显示。所以在我们编码时,可以从 scikit-learn 中调用计算,也可以在需要直接计算的情况下,参考之前看到的内容进行手动计算。接下来我们将检查 ROC 曲线,首先重新构建一个管道。这与之前做的有些相似,先进行缩放,然后进行 PCA,接着是逻辑回归。执行并重新定义这个管道。
Attendees 1 36:17
그리고 전체 트레인이랑 테스트 데이터 셋에서 이제 네 번째랑 다섯 번째 피처만 사용을 해서 한번 확인을 해볼게요.
이렇게 하면 이제 2차원이라서 그래프 그리기도 조금 더 편하겠죠.
그리고 여기서 보시면 클래스 1의 확률을 구하라고 되어 있죠.
与会者 1 36:17 现在我们将只使用第四和第五特征进行检查,并在整个训练和测试数据集上进行。这样,由于是 2 维,绘图会更加方便。并且从这里可以看出,要计算类别 1 的概率。
Attendees 1 36:38
위에서 여기서 보시면 방금 이제 위에서 만들었던 이 파이프라인을 가지고 저희가 가져온 2개의 피처를 가진 데이터셋에 대해서 피팅을 시켰고요.
그러면 이제 그 파이프라인에서 예측 확률을 가져올 수 있겠죠.
与会者 1 36:38 从上面可以看出,我们刚才使用创建的管道对具有 2 个特征的数据集进行了拟合。然后,我们就可以从该管道中获取预测概率。
Attendees 1 36:59
이게 클래스가 2개일 때 이제 이렇게 했으니까 만약에 클래스가 0의 확률을 더하고 싶으면 1에서 빼거나 아니면 이제 조절을 하면 되겠죠.
아니다. 여기서 보시면 이제 여기서 일을 했으니까 이제 클래스가 1인 경우만 출력을 할 수가 있습니다.
다음과 같은 이제 값들을 가지고 있네요.
与会者 1 36:59 当类别为 2 时,现在既然已经这样做了,如果想要添加类别 0 的概率,可以从 1 中减去或者进行调整。不对。从这里可以看出,现在只能输出类别为 1 的情况。接下来有这些值。
Attendees 1 37:28
그러면 이게 각 수치들이 해당 테스트 데이터에 대해서 이제 예측을 했을 때 y 값이 1일 확률이 되겠죠.
여기서 보시면 얘 같은 경우 처음 거 같은 경우에는 한 0.53 정도로 나와 있고 얘 같은 경우는 0.15 정도로 나와 있으니까 얘는 이제 예측을 하면 0일 확률이 조금 더 높은 그런 경우겠죠.
그리고 실제 y 테스트 클래스를 출력을 해보면 이런 식으로 출력이 되겠죠.
与会者 1 37:28 那么这些数值在对该测试数据进行预测时,就是 y 值为 1 的概率。从这里可以看出,第一个情况大约为 0.53,而另一个情况约为 0.15,所以这个情况预测时 0 的概率更高。如果输出实际的 y 测试类别,就会是这样的情况。
Attendees 1 38:11
그리고 이 값들을 사용을 해서 이제 여기 보시는 것처럼 이제 FPR TPR 이게 어떤 거냐면 이제 퍼스 positive 레이트랑 트로퍼스티브레이트겠죠.
그것들을 계산을 해서 이 아로시 컵으로 저희가 만들어볼 건데 지금 여기서 보시면 트레스홀드라는 단어가 있죠.
얘 같은 경우에는 이제 어느 확률 이상이면은 저희가 이제 1로 판단을 할 것이냐가 되는 그런 기준인데 지금 여기서는 0.5가 되어 있으니까 0.5보다 크면 무조건 1로 보고 0.5보다 작으면 무조건 0으로 보는 그런 상황이겠죠.
그래서 이 비율을 조절할수록 여기서 보시면 빨간색은 positive 비율이고 positive로 이제 판별하는 경우고 이제 노란색은 negative로 판별할 경우인데 만약에 트랜스 홀드가 이제 오른쪽으로 높아지게 되면은 얘가 이제 이런 식으로 약간 가는 거겠죠.
参会者 1 38:11 然后使用这些值,就像您现在看到的,计算 FPR 和 TPR,这分别是假阳性率和真阳性率。我们将使用这些值来绘制 ROC 曲线。现在您可以看到这里有一个阈值。这个阈值是指我们判断为 1 的概率标准,在这里设置为 0.5,意味着大于 0.5 的情况被无条件地判断为 1,小于 0.5 的情况被无条件地判断为 0。随着这个比率的调整,您可以看到红色代表阳性比率和判断为阳性的情况,黄色代表判断为阴性的情况。如果阈值向右移动,情况会发生一些变化。
Attendees 1 39:03
그래서 그 값에 대해서는 만약에 지금 여기 끝나는 부분에 이제 트레스홀드가 있으면 이걸 넘는 경우에는 positive인데 그 경우에는 이제 트루 negative가 없으니까 다 예측을 잘 하게 되지만 이제 이만큼 이 positive인 경우에도 원래는 피로 예측을 해야 되는데 이제 negative 예측을 하기 때문에 이걸 잘 조절해서 이제 원하는 결과를 가져가면 되겠죠.
그래서 이것들을 계산을 해가지고 이 아로시 커버를 만들게 되는데 지금 이 트랜스 홀드를 바꿔가지고 그때 이제 여기서 보시면 이제 TPR이랑 FPR 간의 관계를 구해서 이렇게 나오는 거겠죠.
그래서 지금 AUC가 0.7이라고 되어 있는데 AUC 같은 경우에는 요 밑에 아래 면적을 말합니다.
参会者 1 39:03 因此,对于那些值,如果现在阈值位于末端,超过这个阈值的情况被视为阳性,在这种情况下,由于没有真正的阴性,所有预测都会很准确。但是对于阳性情况,原本应该预测为阳性,现在却预测为阴性,所以需要好好调整以获得期望的结果。通过计算这些值,我们将绘制 ROC 曲线。现在通过改变阈值,可以得到 TPR 和 FPR 之间的关系。目前 AUC 为 0.7,AUC 表示曲线下方的面积。
Attendees 1 39:56
그래서 보통 이제 랜덤하게 예측을 하게 되면은 어 정답률이 거의 한 0.5 정도 되겠죠 그렇게 된 경우에 ROC 커버를 그려보면 보통 이런 식으로 대각선으로 되어 있는데 그 경우에 AUC는 0.5가 되겠죠 그래서 보통 0.7 정도면 그래도 0.5보다는 잘 했다 그렇게 이해를 해 주시면 됩니다.
所以通常如果随机预测,答案率大概在 0.5 左右。在这种情况下,如果绘制 ROC 曲线,通常会呈对角线,此时 AUC 为 0.5。所以一般来说,如果达到 0.7,就算比 0.5 好一些,可以这样理解。
Attendees 1 40:23
그래서 여기 오른쪽을 조금 더 보시면 이제 예측 결과가 확률이 나오고 그 확률에 따라서 스트레스 홀드를 저희가 조절을 해가지고 1인지 0인지를 저희가 결정을 하게 되는데 그 기준점에 따라서 이제 그 값이 어떤 식으로 변하는지를 확인할 수가 있는 거겠죠.
여기서 보시면 이제 그 각각 다른 트레스홀드에 대해서 이것들을 계산을 해가지고 한번 아루시 커버를 확인을 해볼 겁니다.
얘 같은 경우도 이제 위에서 인포트했듯이 사이클론에서 이제 아로시 커브랑 AUC를 제공을 하죠.
그걸 가져와서 계산을 해 줄게요.
在右侧可以看到,预测结果会给出概率,根据这个概率我们调整阈值来决定是 1 还是 0。不同阈值会导致值的变化。在这里,我们将对不同阈值进行计算,并检查 ROC 曲线。就像之前导入的那样,Sklearn 提供了 ROC 曲线和 AUC,我们将使用它进行计算。
Attendees 1 41:10
테스트 값을 가져오고 확률은 이제 클래스가 1위의 확률을 가져와서 계산을 한다고 했었죠.
그러니까 이제 퍼스틱 라벨을 1로 알려주면 됩니다.
이렇게 해서 계산을 해보면 이제 각 트레스 홀드에 따라서 이제 퍼스 positive 레이트가 이런 식으로 나온다라고 볼 수가 있겠죠.
与会者 1 41:10 取得测试值,并且现在根据类别获取第 1 名的概率进行计算。所以现在只需告诉它阳性标签为 1。这样计算后,就可以根据不同的阈值看到阳性率是这样的。
Attendees 1 41:58
그리고 여기서 보시면 이제 트랜스 홀드가 작아지면 작아질수록 이제 더 많은 샘플이 1로 분류가 되겠죠.
왜냐하면 얘가 작아지면 이제 이 오른쪽에 있는 걸 다 퍼스티브로 분류를 해야 되니까 그래서 그 비율에 따라서 다음과 같이 이제 결과가 나오는 걸 확인할 수가 있습니다.
그래서 이 계산한 값 값들을 가지고 이제 ROC 커버를 그려볼 건데
与会者 1 41:58 从这里可以看出,当阈值越小,越多的样本会被分类为 1。因为当它变小时,右侧的内容都需要被分类为阳性,所以根据这个比例,可以看到如下结果。接下来将使用这些计算的值绘制 ROC 曲线。
Attendees 1 42:26
그전에 이제 AUC도 계산을 해 줄게요. 이게 이제 랜덤 게싱이 아까 말씀드렸던 진짜 랜덤하게 클래스를 결정할 경우겠죠.
그거랑 비교를 해서 확인을 해볼 겁니다. 아까 x 축에는 FPR이라고 했으니까 넣어주고 라는 TPR이겠죠.
라의 이름은 이렇게
参会者 1 42:26 我现在将为您计算 AUC。这是在随机猜测的情况下,即完全随机地决定类别。我们将与之进行比较并进行验证。之前提到 x 轴是 FPR,那么现在我们将放置它,y 轴则是 TPR。标签名称是这样的。
Attendees 1 42:56
그 면적에 이제 면적이 얼마나 있는지를 라벨로 확인을 해보겠습니다.
그래서 사실 이게 랜덤 개싱이니까 랜덤으로 예측을 한 것보다 잘 되면 그래도 어느 정도 모델이 분별력이 있다는 그런 의미겠죠.
그래서 이런 식으로 보시면 지금 아웃시 커브가 다음과 같이 그려지는 것을 확인할 수가 있습니다.
그래서 아까 봤던 이제 두 개의 저희가 이제 이 모델을 학습을 시킬 때 피처 네 번째랑 다섯 번째만 가져와서 학습을 시켰으니까 이렇게 나와 있었고 아로시 커브 같은 경우에는 이 파란색이 이제 아로시 커버가 되고 이제 이 주황색이 랜덤 개싱이 되겠죠.
그래서 이제 ROC 커브가 이렇게 랜덤 게싱보다 위에 있고 그리고 면적이 한 84% 정도 나오는 걸 보면은 좀 괜찮다 어느 정도 학습이 잘 됐다라고 판단을 할 수가 있습니다.
그래서 얘가 조금 더 이제 이쪽으로 갈수록 더 학습이 잘 된 모델이겠죠.
参会者 1 42:56 现在我们将确认这个面积的大小。事实上,既然是随机猜测,如果比随机预测效果更好,那么这个模型就具有一定的区分能力。通过这种方式,您可以看到 ROC 曲线现在是这样绘制的。正如我们之前所看到的,当我们只使用第四个和第五个特征进行模型训练时,曲线就是这样的。在 ROC 曲线中,蓝色线是 ROC 曲线,橙色线则是随机猜测。可以看到,ROC 曲线位于随机猜测线之上,且面积约为 84%,这表明模型学习得相当不错。随着曲线越靠近左上角,模型的学习效果就越好。
Attendees 1 44:06
그리고 이번에는 앙상블을 해볼 건데 와인 데이터셋을 사용해서 진행을 해볼게요.
얘를 실행을 해주면 이제 와인 데이터셋을 불러오고 그 칼럼들을 가지고 이제 데이터셋을 만들겠죠.
여기서 보시면 이제 클래스 2랑 3에 대해서만 사용을 할 거고요.
그래서 이제 1인 경우는 다 버려버렸죠. 그리고 피처 같은 경우에는 이 두 개의 피처만 사용을 할 예정입니다.
그래서 결과를 보시면 지금 이제 119개인데 이제 두 개의 피처만 가지고 있죠.
这次我们将使用葡萄酒数据集进行集成学习。执行后,我们将加载葡萄酒数据集,并使用其列创建数据集。在这里,我们将只使用第 2 类和第 3 类。因此,对于第 1 类的情况,我们已全部丢弃。对于特征,我们将只使用这两个特征。查看结果,现在是 119 个,并且只有两个特征。
Attendees 1 44:43
그리고 얘도 이제 트레인 테스트 스플릿을 할 때 이제 테스트 사이즈는 0.2로 하고 랜덤 스테이트는 1로 해줄게요.
在进行训练测试分割时,测试集大小设置为 0.2,随机种子设置为 1。
Attendees 1 44:56
이제 백인이랑 a 다우스트를 확인을 해볼 건데 일단 백인 같은 경우에는 그냥 이런 식으로 지금 트레이닝 셋에 여러 개 이제 트레이닝 샘플들에 대해서 이제 진행을 해보고 그 마지막 값을 이제 보팅을 통해서 마지막 프리딕션을 예측하는 그런 방법론이겠죠.
그래서 보시면 얘도 사이킬란에서 제공을 하고 있기 때문에 사이킬란에서 제공하는 디시전 3 클래식 파일을 불러오고 그리고 앙상블에 있는 이제 백인 클래식 바이어를 가져옵니다.
그렇게 해서 보시면 이제 기준은 엔트로피를 할 거고 가장 깊은 이제 맥스 대 은 이제 4로 설정을 할 거고 랜덤 스테이트는 1로 해서 좀 심플한 트리를 만들어 볼게요.
그리고 아까 백인 같은 경우에는 이제 샘플들을 여러 개를 만들어서 그 여러 개에 대해서 트리를 만든 다음에 이제 뭐 보팅을 하든지 한다고 했으니까 또 여기 보시면 조건이 있겠죠.
参会者 1 44:56 现在我们将确认白人和 a 道斯特,首先对于白人来说,就是这样在训练集上对于多个训练样本进行处理,最后通过投票来预测最终的预测结果。所以可以看到,这也是由 scikit-learn 提供的,因此从 scikit-learn 中加载决策 3 经典文件,然后获取集成中的白人经典贝叶斯分类器。这样的话,我们将以熵为标准,最大深度设置为 4,随机状态设置为 1,创建一个简单的决策树。就像之前白人一样,创建多个样本,然后对这些样本创建决策树,之后进行投票等操作。
Attendees 1 45:53
여기서 보시면 100개의 트리를 만든 다음에 이제 각 트리는 이제 전체 학습 데이터셋에서 50%씩만 샘플링을 해서 만든다고 되어 있죠.
그리고 여기서 사용할 수 있는 피처의 개수는 100이라고 100%라고 하네요.
저번에 아마 랜덤 포레스트 할 때는 아마 SQRT를 사용을 했던 것 같은데 여기서는 100으로 해 주시면 됩니다.
그럼 얘도 베인 플렉스 파이어니까 가져오면 되겠죠.
参会者 1 45:53 从这里可以看到,首先创建 100 个决策树,每个树从全部学习数据集中只抽样 50%。可用的特征数量为 100,即 100%。我记得上次使用随机森林时,可能使用了 SQRT,但这里我们将使用 100。那么这也是一个贝叶斯分类器,直接引入即可。
Attendees 1 46:26
에스티메이터는 틀이고 그리고 100개 만든다고 했으니까 100을 넣어주고
估算器是一个模板,并且说要创建 100 个,所以输入 100
Attendees 1 46:40
샘플링할 때 이제 전체의 50%만 샘플링한다고 되어 있고
现在在采样时,说要对总体进行 50%的采样
Attendees 1 46:50
전체 피처를 사용해도 된다고 되어 있죠. 후원을 한 개 쓸 거고 랜덤 스테이트는 일로 해줄게
与会者 1 46:50 说可以使用所有特征。我将使用一个后缀,随机状态将设置为 1。
Attendees 1 47:05
이렇게 해서 실행을 해보면 지금 트레 그냥 하나의 단일 트리를 사용했을 때 트레이닝이랑 테스트 어큐러시는 이제 92 % 그리고 79% 정도인데 배깅을 했을 경우에는 이제 테스트 어큐러시가 오른 것을 확인할 수가 있죠.
与会者 1 47:05 如果这样执行,现在单个决策树的训练和测试准确率分别约为 92%和 79%,但使用装袋(Bagging)后,可以看到测试准确率有所提高。
Attendees 1 47:27
그리고 얘는 이제 분류 모델이니까 결정 경계를 또 확인할 수가 있는데 저희가 계속 사용했었던 플라티시존 리젠스를 가져와서 확인을 해볼게요.
얘를 실행을 시켜주고 여기서 보시면 이제 단일 트리에 대해서 확인을 해볼게요.
그러면 클래식 바이어에다가 트리를 넣어주면 되겠죠 아까 만든 디지전 트 이렇게 해서 실행을 하게 되면은 이런 식으로 분류를 하는 걸 확인할 수가 있어요.
第 1 个与会者 47:27,因为这是一个分类模型,所以可以检查决策边界,我们将继续使用我们一直使用的 Platicense Legends 来进行检查。执行它,你可以看到,我们将检查单个树。那么在 Classic Buyer 中放入树就可以了,就像我们之前创建的决策树,执行后,你可以看到这样的分类。
Attendees 1 48:06
그리고 이번엔 배깅에 대해서 확인을 해보면 클래식 파이어만 이제 아까 만들었던 배그를 넣어주면 되겠죠.
실행을 해주면 이런 결과가 나오겠죠. 그래서 이제 단일 트리를 사용했을 때랑 이제 베깅의 결과랑 이제 결정 경계를 확인을 해보면 단일 트리 같은 경우에는 이렇게 좀 날카롭게 꺾여 있고 좀 이런 쪽의 그래프 데이터를 보시면 조금 잘 구분하지 못하죠.
얘 같은 경우에도 이제 원래는 3인데 2로 예측을 하거나 근데 이제 베딩을 사용을 하게 되면은 조금 더 정확하게 그리고 약간 부드럽게 경정 경계가 있다는 걸 확인할 수가 있어요.
第 1 个与会者 48:06,现在让我们看看 Bagging,在 Classic Buyer 中放入我们之前创建的 Bag 就可以了。执行后,会得到这样的结果。因此,当我们比较单个树和 Bagging 的决策边界时,单个树的边界会比较尖锐,从图表上看,它无法很好地区分数据。在原本是 3 的地方预测为 2,但使用 Bagging 后,决策边界会更准确、更平滑。
Attendees 1 48:50
그래서 여기서 노는 여기서 클래식 바이어가 틀이랑 그리고 에디 모델 이렇게 넣어줬겠죠.
参与者 1 48:50 所以在这里玩,在这里,经典买家的框架和编辑模型是这样放置的。
Attendees 1 49:03
그리고 이제 부스팅 기법이 있는데 그중에서 이제 a다우스트를 확인을 해보면 이런 순서로 진행이 되고 있어요.
그래서 이제 약한 모델이 이제 이전 모델이 실수한 이제 데이터셋에 대해서 조금 더 집중을 하도록 학습을 하고 이제 틀린 여기 위 웨이티드가 있죠 그래서 틀린 데이터셋에 이제 가중치를 높여서 조금 더 잘 학습을 하는 그런 방법론입니다.
그래서 이제 순서를 보시면 맨 처음에 이제 조금 약한 이제 러너 확인을 해보면 어 잘 예측이 되지 않는 걸 확인할 수가 있어요.
그래서 보시면 이 파란 부분은 잘 분류가 되어 있고 아래 이제 주황색 영역에 이게 두 개가 있죠 이 파란색이 잘못 분류된 그런 데이터인데 그다음 모델을 학습을 할 때 여기에 가중치를 줘서 좀 더 크게 학습을 하게 되겠죠.
그러면 이번에 얘를 분류를 하고 이 위에 있는 애들을 분류하지 못해요.
参与者 1 49:03 然后现在有提升技术,其中现在我们来看 AdaBoost,这是这样进行的。所以现在弱模型会更专注于前一个模型错误的数据集,并且学习更多。这里有错误的权重,所以通过提高错误数据集的权重来更好地学习的方法。所以当你看顺序时,一开始你可以看到弱学习器预测得不好。你会看到蓝色部分已经很好地分类,而在下面的橙色区域有两个,这个蓝色是错误分类的数据。然后在训练下一个模型时,给这些数据更大的权重,让它学习得更深入。这样这次它就可以分类这些,但无法分类上面的那些。
Attendees 1 49:58
그러면 이제 여기에다가 가중치를 둬서 이번엔 얘네가 조금 더 커져야겠죠 이런 식으로 반복을 해서 최종적으로는 이제 마지막에 있는 다음과 같은 결과를 얻는 그런 방법입니다.
那么现在我们给它加权重,让它们稍微变大,通过这种重复的方式,最终得到如下所示的结果。
Attendees 1 50:14
그래서 얘도 이제 사이켈런에서 제공을 하겠죠. 이렇게 클래식 파이어를 불러와주고 여기서 보시면 이제 약한 모델 같은 경우에는 약한 학습기 같은 경우에는 이제 분류기는 엔트로피를 기준으로 사용을 하고 깊이가 1인 그런 약한 디시전 트리 클래식 파이어를 전개해 줬어요.
그리고 여기서 보면 이제 클래식 파이어를 100번 동안 이제 부스팅 한다고 되어 있죠.
그리고 학습률은 0.1로 설정을 해준다고 합니다.
그대로 넣어주면 되겠죠.
所以这也将由 scikit-learn 提供。这样我们调用分类器,对于弱模型,也就是弱学习器,分类器使用熵作为标准,并展开深度为 1 的弱决策树分类器。可以看到分类器进行了 100 次提升,学习率设置为 0.1。直接使用这些参数就可以了。
Attendees 1 50:50
에스티메이터는 위에서 방금 만들었던 약한 학습 기구
出席人员 1 50:50 估算器是刚才创建的弱学习器
Attendees 1 50:58
100번 한다고 했으니까 여기에다가 100을 넣어주면 되겠죠.
그리고 러닝 메이트는 0.1로 할게요. 고 랜덤 스테이트는 1 오늘은 다 1로 했었죠 이렇게 해서 실행을 해주게 되면은 이제 클 언어를 사용을 했을 때 트레이닝 테스트 어큐러시는 0.85 0.75 정도였는데 이제 부스팅을 한 결과는 이제 조금씩 오른 걸 확인할 수가 있어요.
出席人员 1 50:58 既然说了 100 次,那就在这里放入 100。学习率设为 0.1,随机状态为 1,今天我们都使用了 1。这样执行后,在使用 Cl 语言时,训练和测试准确率原本是 0.85 和 0.75 左右,但现在通过提升,可以看到准确率有所提高。
Attendees 1 51:34
이게 이제 사용하시는 아마 사이큘럼 버전에 따라서 이게 조금 더 좋게 나오는 경우도 있습니다.
근데 코드가 같으면 신경 안 쓰셔도 되겠죠.
根据您使用的可能是不同版本的课程,这可能会有所不同。但如果代码是相同的,那么您就不必担心。
Attendees 1 51:47
그러면 여기서도 이제 어큐러시를 확인을 했으니까 디시전 바운더리를 확인해 볼 수가 있겠죠.
그래서 이제 기본 가장 약했던 이제 학습기에 디 디시전 바운더리를 확인을 해보면 이 클래식 파이어 자리에다가 위에서 정의했던 이 트리를 넣어주면 되겠죠.
그래서 티를 넣어서 확인을 해보면 결과가 별로 안 좋은 걸 확인하실 수가 있죠.
아까 위에 4개의 그림 중에 이제 첫 번째 그림처럼 어떤 거는 잘 학습이 됐지만 어떤 건 섞여서 학습되는 그런 결과를 보실 수가 있습니다.
그리고 이제 부스팅 결과는 또 확인을 해보면 되겠죠.
부스팅 결과는 이제 클래식 파이어에다가 레이다를 넣어주면 되겠죠.
既然我们已经确认了准确性,那么现在可以检查决策边界。所以,我们可以在最初最弱的学习器上查看决策边界,只需将之前定义的决策树放入分类器中即可。放入并检查后,您会发现结果并不是很好。就像之前四张图中的第一张图一样,有些地方学习得很好,但有些地方则混合在一起。然后,我们可以检查提升(boosting)的结果,只需将雷达放入分类器中即可。
Attendees 1 52:34
그러면 다음과 같이 이제 약한 학습기 하나를 사용했을 때보다 이제 부스팅한 결과가 조금 더 나은 예측을 한다라고 확인할 수가 있겠죠.
如果使用一个弱学习器,通过提升后,我们可以确认预测结果会稍微更好一些。
Attendees 1 52:52
네 그러면 오늘은 여기까지 하는 거겠죠. 그리고 이제 퀴즈는 두 개가 있는데 첫 번째는 오늘 이제 배운 순서대로 이제 이밸류에이션 퍼포먼스를 확인을 해보고 여기서 보시면 이제 저번 주 퀴즈에 있어서 저희가 만들었던 그 로지스틱 리그레션을 파인 튜닝해 보는 그런 과제입니다.
그래서 타이타닉 데이터셋은 제가 같이 넣어드렸죠.
그거 가져와 가지고 불러와서 프리 프로세스와 파이프라인을 만들고 실행을 해 주시면 됩니다.
그래서 이제 에퍼스코어에 대해서 평가를 해보고 이제 케이 폴드 해보고 러닝 코드를 확인을 해보고 진행을 해보겠죠.
그다음에 이제 앙상별 방법에 대해서 해보면 됩니다.
얘도 이제 베깅이랑 부스팅을 해보면 되겠죠. 여기에서 사용하는 데이터셋은 똑같이 이제 타이타닉 데이터셋이 진행하시다가 모르는 거 있으면 여쭤봐 주세요.
好的,今天就到这里。关于今天的测验,有两个:第一个是按照我们今天学习的顺序来评估性能,并且在这里,我们将对上周测验中制作的逻辑回归进行微调。我已经提供了泰坦尼克号数据集。你需要加载它,进行预处理,创建管道并执行。然后我们将评估 f1 分数,进行 k 折交叉验证,检查学习曲线,并继续进行。接下来,我们将尝试集成方法,包括 bagging 和 boosting。在这里使用的数据集仍然是泰坦尼克号数据集,如果有任何不懂的地方,请随时询问。
Attendees 1 54:00
그리고 홈워크 부분 아까 말씀드렸던 거 확인 시켜서 한번 제출해 주세요.
请确认一下我之前提到的作业部分,然后提交。
Attendees 1 54:10
박현수 학생 있나요?
有朴炫秀学生在吗?
Attendees 1 55:00
나는 그냥 누가 했는지 확인하면 되지. 그거는 분명히 가져가고 있어야 되는데
我只需要确认是谁做的。这个东西显然应该带走。
Attendees 1 56:33
아까 트리 트레이닝 테스트 드러스랑 같은데 아래 게 다르게 지 근데 좀 더 잘 나와 아까 말씀드렸던 게 이거예요.
버전 따라가시면 더 잘 나가주세요. 블.
之前的树训练测试数据和现在的不太一样,但现在看起来更好。我之前跟你说的就是这个。按照版本走会更好。
clovanote.naver.com