타겟값 변경은 주로 분류 문제 에서 범주형 라벨을 숫자로 변환해야 할 때 사용됩니다. 예를 들어, 이진 분류에서는 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 구하는 방식이 있더라구요. 근데 선생님이 정석적으로 풀이해주신 방법의 답과 차이가 있어서 문의드립니다. 자유도 처리나 계산 방법에 따라 차이가 있는 것으로 추정되는데, 이럴 경우 어떤 방식을 활용하는 것이 더 나을지 궁급합니다. 혹은 똑같은 방법으로 답을 구할 수 있는 메서드가 있는지도 궁금합니다.
@Entity @Builder @NoArgsConstructor @AllArgsConstructor @Getter @Setter public class Member { @Id @GeneratedValue private Long id; @Column private String username; @ManyToOne @JoinColumn(name = "team_id") private Team team; } @Entity @Builder @NoArgsConstructor @AllArgsConstructor @Getter @Setter public class Team { @Id @GeneratedValue private Long id; private String name; } try { tx.begin(); Team team = new Team().builder() .name("teamA") .build(); em.persist(team); Member member = new Member().builder() .username("member1") .team(team) .build(); em.persist(member); em.flush(); em.clear(); Member findMember = em.find(Member.class, member.getId()); Team findTeam = findMember.getTeam(); em.remove(findTeam); tx.commit(); } catch (Exception e) { tx.rollback(); } finally { em.close(); } findTeam을 remove하기 전에 findMember.setTeam(null) 이런 식으로 팀과의 연관 관계를 null로 만들고 삭제하지 않았는데 에러가 발생하지 않고, 데이터베이스에서 member 정보와 team 정보 모두 삭제됩니다. CASCADE 설정이 되어 있는 건 아닌데 왜 이렇게 동작하는 걸까요??
if문 관련 질문입니다. 조건에 따라 dollar <0 일 경우 "잘못된 코드입니다 dollar == 0 일 경우 "환전할 금액이 없습니다 dollar >0 일 경우 dollar = dollar*1300을 출력하고 싶습니다 그런데 위와 같이 코드를 작성하였을 때 dollar가 0 이하가 될 경우 if (dollar<0)문과 else문이 함께 실행됩니다. 왜 이러는 걸까요? 저는 if 문이 실행되면 else문은 실행이 되지 않는다고 이해했는데 혹시 다른 이유가 있는 걸까요? 답을 알고 계시는 분은 상세하게 설명 부탁드립니다ㅠㅠ