inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

f1_score값 관련

해결된 질문

305

greyy

작성한 질문수 12

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))

python 머신러닝 빅데이터 pandas 빅데이터분석기사

답변 1

0

퇴근후딴짓

보통 1이 나오면 train.drop('target', axis=1)을 안한 케이스 인데

이번 건은 그것은 아니네요!
혹시 새로고침해서 해도 동일할까요? 그렇다면 풀 코드를 올려주시겠어요?
저도 한번 돌려보고 확인하겠습니다.

0

greyy

다시 해봐도 똑같네요. 랜덤포레스트로는 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

퇴근후딴짓

크게 문제 없어 보입니다. val을 조금 더 크게 잡아보시겠어요 ?
15%가 맞추기 쉬운 것들만 val로 나눠졌나? 란 생각도 드네요

실기시험 제출관련

0

69

1

6.20 작업형 2 과적합

0

90

2

코딩팡 장업형2 베이스 라인 인코딩 종류 질문

0

28

2

로지스틱회귀, 회귀

0

39

2

회귀 문제를 풀때 질문입니다.

0

39

1

불균형 처리 후 성능이 더 낮아졌다면,

0

51

2

실기 체험 제2유형 에러 문의

0

46

1

LIGHTGBM 으로 하면 pred값이 소수점 6자리까지 나오는게 맞나요

0

39

2

3번문제 등분산 가정

0

39

2

작업형3 target 형 변환 질문

0

32

2

[작업형1] 연습문제 섹션1 ~ 10 의 section4

0

27

3

원핫인코딩과 레이블 인코딩에서 concat

0

49

2

제2유형 질문입니다.

0

43

2

C()

0

41

2

작업형 2에서 strafity 적용 유무

0

48

2

수강 기간 연장 가능 여부 문의드립니다.

0

53

1

ols

0

42

2

2유형 작성관련 질문(일반 심화)

0

34

2

2유형 작성관련 질문

0

35

2

2유형 object컬럼 개수 다르면

0

41

2

코딩팡질문이요ㅠㅠ

0

42

2

관찰값과 기대값의 개념이 헷갈립니다.

0

22

2

작업형2 ID 컬럼 삭제 질문

0

42

2

2유형 작성관련 질문

0

30

2