f1_score값 관련
lgb를 썼을 때 f1_score가 1.0이 나오는데 뭐가 문제일까요?
from sklearn.model_selection import train_test_split
X_tr, X_val, y_tr, y_val = train_test_split(train.drop('target', axis=1), train['target'], test_size=0.15, random_state=2023)
X_tr.shape, X_val.shape, y_tr.shape, y_val.shape
from sklearn.ensemble import RandomForestClassifier
import lightgbm as lgb
from sklearn.metrics import f1_score
model = lgb.LGBMClassifier(random_state=2023, max_depth=11)
model.fit(X_tr, y_tr)
pred = model.predict(X_val)
print(f1_score(y_val, pred))
답변 1
0
보통 1이 나오면 train.drop('target', axis=1)을 안한 케이스 인데
이번 건은 그것은 아니네요!
혹시 새로고침해서 해도 동일할까요? 그렇다면 풀 코드를 올려주시겠어요?
저도 한번 돌려보고 확인하겠습니다.
0
다시 해봐도 똑같네요. 랜덤포레스트로는 f1스코어가 잘 나오는 것 같은데, lgb로 해보면 f1스코어가 1.0으로 나와요 ㅠㅠ
# 시험환경 세팅
import pandas as pd
from sklearn import datasets
dataset = datasets.load_breast_cancer()
df = pd.DataFrame(dataset['data'], columns=dataset['feature_names'])
df['target'] = dataset['target']
df.to_csv("data2.csv", index=False)
from sklearn.model_selection import train_test_split
train, test = train_test_split(df, test_size=0.2, random_state=2022)
y_test = test.pop('target')
train.to_csv('train.csv', index=False)
test.to_csv('test.csv', index=False)
#####################################################################
# 출력을 원하실 경우 print() 함수 활용
# 예시) print(df.head())
# getcwd(), chdir() 등 작업 폴더 설정 불필요
# 파일 경로 상 내부 드라이브 경로(C: 등) 접근 불가
# 데이터 파일 읽기 예제
import pandas as pd
train = pd.read_csv("train.csv")
test = pd.read_csv("test.csv")
# 사용자 코딩
# 수치형 이상치 스케일링
# print(train.head())
train.select_dtypes(exclude=object).columns
cols = ['mean radius', 'mean texture', 'mean perimeter', 'mean area',
'mean smoothness', 'mean compactness', 'mean concavity',
'mean concave points', 'mean symmetry', 'mean fractal dimension',
'radius error', 'texture error', 'perimeter error', 'area error',
'smoothness error', 'compactness error', 'concavity error',
'concave points error', 'symmetry error', 'fractal dimension error',
'worst radius', 'worst texture', 'worst perimeter', 'worst area',
'worst smoothness', 'worst compactness', 'worst concavity',
'worst concave points', 'worst symmetry', 'worst fractal dimension']
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
train[cols] = scaler.fit_transform(train[cols])
test[cols] = scaler.transform(test[cols])
# print(train.head())
# 검증 데이터 분리
from sklearn.model_selection import train_test_split
X_tr, X_val, y_tr, y_val = train_test_split(train.drop('target', axis=1), train['target'], test_size=0.15, random_state=2023)
X_tr.shape, X_val.shape, y_tr.shape, y_val.shape
from sklearn.ensemble import RandomForestClassifier
import lightgbm as lgb
from sklearn.metrics import f1_score
# model = RandomForestClassifier(random_state=2023)
# model.fit(X_tr, y_tr)
# pred = model.predict(X_val)
# print(f1_score(y_val, pred))
# 0.9876543209876543
model = lgb.LGBMClassifier()
model.fit(X_tr, y_tr)
pred = model.predict(X_val)
print(f1_score(y_val, pred))
수강 연장가능여부 문의드립니다!
0
16
1
수강기간 연장 문의드립니다!
0
22
1
최빈값
0
19
2
수강 가이드라인
0
17
2
수강 연장 가능 여부 문의
0
38
2
강의 구매했는데 교재 필수일까요
0
25
2
수강기간 연장 가부 문의드립니다.
0
25
2
수강기간 연장이 가능한지 양해를 구하며 문의를 드립니다.
0
31
2
작업형2 모의문제2에서 drop이랑 인코딩
0
41
3
인코딩을 다 꼭 해봐야하는지
0
43
2
안녕하세요? 강사님 질문있습니다.(인코딩관련)
0
58
2
이진분류에서 양성 클래스가 0일 때 평가 방법
0
46
2
원핫인코딩 전 train과 test 병합여부
0
51
2
수강기간 연장
0
69
2
29강 작업2형의 이상치 처리
0
67
2
수강기간 연장 문의드립니다!
0
65
2
9월에 실기출제기준 개정내역에 신설된부분
0
56
1
작업형2 모의문제2 결과값 관련 문의드립니다.
0
67
2
12회차 시험 실패 후 13회 도전 예정입니다.
0
57
1
random_state 값
0
73
2
강의 연장 문의 드립니다.
0
68
2
강의 연장 문의
0
61
2
오징어게임
0
71
1
object 컬럼이 여러 개인 경우 인코딩 전처리 방법
1
52
2





