타겟값 변경은 주로 분류 문제 에서 범주형 라벨을 숫자로 변환해야 할 때 사용됩니다. 예를 들어, 이진 분류에서는 True/False , Yes/No 와 같은 값이 입력될 수 있으며, 이러한 값을 0 과 1 처럼 변환하여 모델에서 사용할 수 있습니다. 예로 주신 (y_test['income'] != '<=50K').astype(int) 은 소득이 특정 값보다 작거나 큰지를 0과 1로 변환하는 작업입니다. 이 작업은 타겟 라벨을 모델에서 이해할 수 있는 형식으로 변환하기 위해 필요합니다. 그렇다면 범주형을 숫자로 변환해서 모델에서 이해하도록 변경해야하는 경우는 그럼 어떤 경우가 있을까요?
[6. 학습 및 평가] 단계에서 RandomForestClassifier / RandomForestRegressor 까지만 하고 평가지표를 뽑아보지 않은 상태로 [7.예측 및 제출]을 해도 무방하지 않은지 궁금해졌습니다. (방금 빼먹고 푼 거 맞습니다.ㅠ) 처음 나온 평가지표를 기준점으로 삼아 위에서 전처리 작업 등을 추가하지 않는 극초보생 기준의 궁금증입니다. 작업형2를 반드시 40점 맞아야하는 관점에서 답변해주시면 감사하겠습니다. (평가지표 다시 외우는 중~ㅋ)
target = train.pop('성별') train['환불금액'] = train['환불금액'].fillna(0) test['환불금액'] = test['환불금액'].fillna(0) df = pd.concat(['train', 'test']) concat 해서 원핫인코딩으로 해보려고 했는데 TypeError: cannot concatenate object of type '<class 'str'>'; only Series and DataFrame objs are valid 와 같은 에러가 발생하는데 왜그런건가요 ㅜ
뮤d = (살충제를 뿌린 후의 곤충 수- 살충제를 뿌리기 전의 곤충 수)의 평균 귀무: 뮤d>=0 대립: 뮤d<0 before_spr : 살충제를 뿌리기 전의 곤충 수 after_spr : 살충제를 뿌린 후의 곤충 수 stats.ttest_rel(df['after_spr'], df['before_spr'], alternative = 'less') 이게 맞는거죠?
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 안녕하세요 target=train.pop['TotalCharges'] 하면 'method' object is not subscriptable 이라는 메세지가 뜨는데 왜그런 걸까요ㅠㅠ
데이터 입력 순서는 μd = (before – after) 라면 stats.ttest_rel(df['after'],df['before']로 μd = (after - before) stats.ttest_rel(df['before'], df['after']로 작성해주세요 alternative는 대립가설이 참일 때 기준, 첫번째 파라미터 자리가 큰지 작은지에 맞춰 작성하면 됩니다)
문제 1. 현재 N개의 숫자 카드를 가지고 있고, 각 숫자카드마다 정수가 하나씩 적혀있다. 정수 M개가 주어졌을때,이수가적혀있는숫자카드를현재가지고있는지아닌지를구하는프로그램을작성하여라. 입출력 및조건 • 입력의첫째줄에는현재가지고있는숫자카드의개수N이주어진다. (1≤N≤500,000) • 입력의둘째줄에는숫자카드에적혀있는정수들이공백한칸으로구분되어주어진다. (수의범위는 −10,000,000 부터 10,000,000 사이의 중복되지 않는 정수) • 입력의셋째줄에는M이주어진다. (1≤M≤500,000) • 입력의넷째줄에는현재가지고있는숫자카드인지아닌지를구해야할M개의정수가공백한칸으로 구분되어주어진다. (수의범위는−10,000,000 부터 10,000,000 사이의 중복되지 않는 정수) • 출력의첫번째줄에는주어진M개의수에대해서,각수가적힌카드를현재가지고있으면1,아니면 0을 공백한칸으로구분하여출력한다. CODE HERE 부분의 코드를 짜야하는데 도와주세요 import time import utils def solution(test_case): # time check start_time = time.time() ##################### CODE HERE ##################### ##################################################### # end time elapsed_time = time.time() - start_time print("Elapsed time: {:.8f} seconds".format(elapsed_time)) return result ###################### DO NOT TOUCH BELOW ###################### if __name__ == '__main__': import argparse parser = argparse.ArgumentParser(description = 'Argument parser') parser.add_argument('--input', '-i', default = './input', help = 'Input file path') parser.add_argument('--output', '-o', default = './output', help = 'Output file path') args = parser.parse_args() utils.output_checker(args.output) test_cases = utils.read_input(args.input) for test_case in test_cases: result = solution(test_case) utils.write_ouput(args.output, result) utils.compare_files(args.output)
stats.ttest_rel(df['after_spr'], df['before_spr'], alternative = 'less') stats.ttest_rel(df['before_spr'], df['after_spr'], alternative = 'greater') 둘다 값이 같아야 하는 거 아닐까요?
classification report로 하면 여러 지표를 한눈에 볼 수 있으니 각각의 코드를 안외워도 되는 이점이 있는 것 같습니다. 문제에서 f1 classification report 불러와서 봐도 되겠지요..? from sklearn.metrics import classification_report report =classification_report(y_val, pred_rf) print(report)
# f1 스코어 from sklearn.metrics import f1_score print(f1_score(y_val, pred)) ValueError : Target is multiclass but average='binary'. Please choose another average setting, one of [None, 'micro', 'macro', 'weighted']. 영상에서는 바로 출력되던데, 이것은 무슨 오류인가요
안녕하세요. 회귀분석 모델의 MSE 구하는 방법에 대해 문의드립니다. ols 모델 학습하고 난 후, model.mse_resid 메서드로 MSE 구하는 방식이 있더라구요. 근데 선생님이 정석적으로 풀이해주신 방법의 답과 차이가 있어서 문의드립니다. 자유도 처리나 계산 방법에 따라 차이가 있는 것으로 추정되는데, 이럴 경우 어떤 방식을 활용하는 것이 더 나을지 궁급합니다. 혹은 똑같은 방법으로 답을 구할 수 있는 메서드가 있는지도 궁금합니다.
const onClickDelete = () => { if (window.confirm("일기를 정말 삭제할까요? 다시 복구되지 않아요!")) { onDelete(params.id); nav("/", { replace: true }); } }; useDiary.jsx 커스텀 훅 작업하고 나서, 삭제하기 하면 '존재하지 않는 일기입니다' alert이 발생합니다. data가 변화가 되어서 그런거 같은데.. 어떻게 해결하면 좋을까요? 삭제 후, 리렌더링 되면서 nav("/") 되기 전에, const curDiaryItem = useDiary(params.id); 커스텀훅에서 체크가 되는거 같은데, 뭘 확인을 해봐야할까요?ㅎ const useDiary = (id) => { const nav = useNavigate(); const data = useContext(DiaryStateContext); const [curDiaryItem, setCurDiaryItem] = useState(); useEffect(() => { const currentDiaryItem = data.find( (item) => String(item.id) === String(id) ); if (!currentDiaryItem) { window.alert("존재하지 않는 일기입니다."); nav("/", { replace: true }); } setCurDiaryItem(currentDiaryItem); }, [id, data]); return curDiaryItem; }; 🚨 아래의 가이드라인을 꼭 읽고 질문을 올려주시기 바랍니다 🚨 질문 하시기 전에 꼭 확인해주세요 - 질문 전 구글에 먼저 검색해보세요 (답변을 기다리는 시간을 아낄 수 있습니다) - 코드에 오타가 없는지 면밀히 체크해보세요 (Date와 Data를 많이 헷갈리십니다) - 이전에 올린 질문에 달린 답변들에 꼭 반응해주세요 (질문에 대한 답변만 받으시고 쌩 가시면 속상해요 😢) 질문 하실때 꼭 확인하세요 - 제목만 보고도 무슨 문제가 있는지 대충 알 수 있도록 자세한 제목을 정해주세요 (단순 단어 X) - 질문의 배경정보를 제공해주세요 (이 문제가 언제 어떻게 발생했고 어디까지 시도해보셨는지) - 문제를 재현하도록 코드샌드박스나 깃허브 링크로 전달해주세요 (프로젝트 코드에서 문제가 발생할 경우) - 답변이 달렸다면 꼭 확인하고 반응을 남겨주세요 - 강의의 몇 분 몇 초 관련 질문인지 알려주세요! - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.