f1_score값 관련
0
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
5
1
기출 문제와 실전챌린지 연습문제 무엇부터 푸는게 나은가요?
0
7
0
전처리 train() test([ ])
0
10
2
작업형 1 배경지식 질문
0
13
2
옳게 풀은건지 질문드립니다!
0
11
1
roc_auc_score
0
17
1
추가질문 합니다
0
12
1
시험환경 구름
0
13
1
2유형 질문드려요
0
10
1
RandomForest vs lgb
0
20
1
전처리 관련질문
0
16
2
작업형3 기출
0
14
1
유형2에서 데이터분할 생략 가능여부
0
25
2
9회 기출 유형3 질문
0
15
1
lgb 기초편
0
11
1
괄호 사용
0
17
1
작업형 2 데이터 전처리 질문
0
20
1
11회 기출 유형 작업형1 문제 3-1
0
16
0
예시문제 작업형2 (ver2023) 질문입니다
0
17
1
Data type에 따른 처리
0
18
2
데이터 전처리 관련
0
17
2
시험에서 문제 불러오기
0
18
2
2번문제 출력값 질문
0
24
2
pd.get_dummies()가 bool로 반환
0
19
2





