묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
Combination 공식과 강사님의 설명이 잘 연결이 되지 않습니다.
안녕하세요 강사님. 수업 잘 듣고 있습니다.조합에서 nCr = n!/((n-r)!r!) 인 것으로 알고 있습니다.b=[1,3,3,1] 정의하는 설명에서 3C1이 3을 1로 나눈다라고 하셨는데 이 부분의 설명이 이해가 가지 않아서 질문드립니다. 공식에 대입해서 계산해보면3C1일 때 3!/(3-1)!*1!이 결과적으로 3이 되는것이 맞긴 합니다만, 어떻게 하면 앞의 숫자에서 n-1을 곱 하고 i를 나눌 생각을 할 수 있는지 직관적으로 떠오르지가 않아서 질문 드립니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 2에서 RMSE나 정확도 등 평가 코드는 주석 처리하면 안되나요?
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요코랩에서 작업형 2의 경우, 주어진 평가방식에 따라 테스트 데이터와 검증데이터를 평가한 후 평가 코드를 주석 처리했었는데,시험 환경에서는 점수에 영향이 있을 것 같아 질문드립니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
5-3 작업형 2 모의. 평가지표 값이 전부 1 나옴
선생님 안녕하세요. 5-3 강의보면서 따라하는데 roc_auc, f1, 정확도 평가지표 값이 전부 1로 나옵니다.... 검증 데이터 분리까지 똑같이 따라 했고요(random_state = 값은 동일하게만 주면 된다고 해서 전 그냥 다 100으로 놓고 했습니다) 일단 작성한건 아래와 같고요# 랜덤포레스트 ROC-AUC, 정확도(Accuracy), F1 from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import f1_score, accuracy_score, roc_auc_score rf = RandomForestClassifier(random_state=100) rf.fit(X_tr,y_tr) pred_rf = rf.predict(X_val) proba_rf = rf.predict_proba(X_val) print(roc_auc_score(y_val,proba_rf[:,1])) # "ROC_AUC:", print(f1_score(y_val,pred_rf)) # "F1:", print(accuracy_score(y_val,pred_rf)) # "Accuracy:",결과 값은 다 1.01.01.0 으로 나오는데... 이거 뭔가 잘못 된거 같은데, 뭘 잘못한걸까요...?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출 3회, 작업유형1 의 2번
기출 3회, 작업유형1 의 2번칼럼명이 2000일때 df['2000'] 이라고 하면 에러가 나고 df[2000]이라고 하면 에러가안나던데, 컬럼명은 '' 로 묶어야 하는게 아닌지요?'' 로 묶지않은 2000일때가 답이 되는 이유가 궁금합니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
4회 기출 작업형2
왜 어떨때는 이렇게 쓰고rf.fit(x_tr, y_tr) pred_val = rf.predict(x_val)rf.fit(train, target) pred = rf.predict(test)풀이영상에서는 바로 트레인, 타겟이라고 적는지 궁금합니다! 추가로, 아래 코드에서 수치형 변수->스케일링, 범주형 변수 -> 인코딩을 진행하고 싶은데주석처리한 코드 부분을 어떻게 수정하면 될까요?? # your code # 라이브러리 불러오기 import pandas as pd train = pd.read_csv("train.csv") test = pd.read_csv("test.csv") # EDA train.shape, test.shape # ((6665, 11), (2154, 10)) train.isnull().sum() test.isnull().sum() # train.info() # test.info() # 전처리(타겟, 결측치, 인코딩, 스케일링) train = train.drop("ID", axis = 1) test_ID = test.pop("ID") target = train.pop("Segmentation") # train.head() # test.head() # c_train = train[["Gender", "Ever_Married", "Graduated", "Profession", "Spending_Score", "Var_1"]] # c_test = test[["Gender", "Ever_Married", "Graduated", "Profession", "Spending_Score", "Var_1"]] # c_train = pd.get_dummies(c_train) # c_test = pd.get_dummies(c_test) train = pd.get_dummies(train) test = pd.get_dummies(test) # n_train = train[["Age", "Work_Experience", "Family_Size"]] # n_test = test[["Age", "Work_Experience", "Family_Size"]] # from sklearn.preprocessing import StandardScaler # scaler = StandardScaler() # n_train = scaler.fit_transform(n_train) # n_test = scaler.fit(n_test) # train = pd.concat([c_train, n_train]) # test = pd.concat([c_test, n_test]) # train.info() # test.info() # 모델링(학습) from sklearn.model_selection import train_test_split x_tr, x_val, y_tr, y_val = train_test_split(train, target, test_size = 0.2, random_state = 40) from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier() rf.fit(x_tr, y_tr) pred_val = rf.predict(x_val) # 평가 Macro f1-score from sklearn.metrics import f1_score f1 = f1_score(y_val, pred_val, average = "macro") pred_test = rf.predict(test) # 제출(데이터프레임, pdf, index = False) result = pd.DataFrame({ "ID" : test_ID , "Segmentation" : pred_test }) result.to_csv("수험번호.csv", index = False)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
LabelEncoder 질문드립니다.
안녕하세요 강사님!LabelEncoder 작업 중 한 번씩 오류를 마주하는 경우가 생깁니다. 아마 강의 중에 말씀해주셨던 train_data 와 test_data 를 합친 후 인코딩 작업을 진행하면 될거라는(?) 얘기와 관련이 있을 것 같은데.. (혹시 제가 잘못 이해하고 있는거면 정정 부탁드립니다 ㅠㅜ) 인코더 돌릴 때 테스트 데이터랑 합친 후 학습한다고 가정했을 때, fit_transform() 과 transform() 중 어떤 걸 사용해야하는지와 두 메소드의 차이점이 궁금합니다. 제가 이해한 내용으로는 train_data 는 fit_transform(),test_data 는 transform() 을 사용해야한다고 이해했는데 합쳐서 작업해야한다고 할 때 뭘 사용해야하고, 어떻게 사용하는게 맞는 방법인지 잘 모르겠습니다 ㅠ 매 번 질문에 답변해주셔서 감사합니다!많이 배워가고 있습니다! ======== 질문 추가 ========혹시 아래와 같은 방식으로 진행되면 될까요...? for col in col_obj: encoder = LabelEncoder() encoder.fit(pd_concat[col]) X_tr[col] = encoder.transform(X_tr[col]) X_val[col] = encoder.transform(X_val[col])
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
y_train 의 값
train_test_split() 함수내에서 y_train 을 나누는 방법에 차이가 있는 이유가 무엇일까요?첫번째 사진은 y_train['Reached.on.Time_Y.N'] 으로 했고 열에 값이 출력되지 않았는데,두번째 사진은 y_train.drop('ID', axis=1) 로 했는데 열값이 1이 나왔습니다. 두 방법 모두 결국에는 y_train에서 'Reached.on.Time_Y.N' 만 남기는 것은 동일한데 왜 열값의 출력이 다른지 궁금합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
[질문] 모델 학습 후 평가 시 오류
위와 같은 오류가 나오는데 roc_auc는 평가가 되는데 accuracy는 평가 중에 오류가 나옵니다... 혹시 다음과 같은 오류는 문제점이 무엇인지 잘 모르겠습니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
5-2 작업형2 모델&평가 부분에서 동일한 값 출력
안녕하세요. 작업형 2 회귀모델 사용하고 평가지표로 모델 평가하는 부분에서 질문이 있어서 문의합니다 넘파이 없이 해보려고 아래처럼 간단하게 만들어봤는데요. from sklearn.metrics import r2_score, mean_absolute_error, mean_squared_error # 릿지 모델 from sklearn.linear_model import Ridge rd = Ridge(random_state=100) rd.fit(X_tr,y_tr) pred_rd = rd.predict(X_val) mse = mean_squared_error(y_val,pred_rd) # rmse 간단 사용을 위해 우선 mse()를 변수 할당 rmse = mse ** 0.5 # 그런 다음 rmse 처리 방식에 맞는 변수 생성 print("r2:",r2_score(y_val,pred_rd)) print("mae:",mean_absolute_error(y_val,pred_rd)) print("mse:",mean_squared_error(y_val,pred_rd)) print("rmse:",rmse) r2: 0.06396849293045404mae: 75.39756630227993mse: 62725.96352602316rmse: 250.4515193126669 # 라쏘 모델 from sklearn.linear_model import Lasso ls = Lasso(random_state=100) rd.fit(X_tr,y_tr) pred_ls = rd.predict(X_val) mse = mean_squared_error(y_val,pred_ls) rmse = mse ** 0.5 print("r2:",r2_score(y_val,pred_ls)) print("mae:",mean_absolute_error(y_val,pred_ls)) print("mse:",mean_squared_error(y_val,pred_ls)) print("rmse:",rmse) r2: 0.06396849293045404mae: 75.39756630227993mse: 62725.96352602316rmse: 250.4515193126669 선형회귀,XGB,랜덤포레스트 등은 결과값이 모델별로 각각 다르게 나왔는데(랜덤포레스트의 결정계수 값이 제일 높아서 실습하면서 저도 랜덤포레스트를 적용했습니다)릿지랑 라쏘 이 2가지 모델은 위에서 처럼 결과값 출력이 완전 동일하게 나와서.....(rmse는 선형회귀를 제외한 나머지 4가지 전부 동일 값이 출력 되었습니다...이건 뭘 잘못한걸까요..?)검증데이터 예측값 계산 변수 다 할당했고, 할당한 예측 변수를 각 평가 모델에 대입했는데... 왜 이런 결과가 나오는지, 뭔가 잘못한 부분이 있으니 값이 같게 나오는거 같은데... 어느 부분이 잘못 되었는지 알려주시면 감사하겠습니다.
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
iframe에 입력하기
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.아래와 같이 하니 프레임 전환 없이 본문 입력이 됩니다.이렇게 해도 되나요?다른 문제는 없을까요?# 내용 입력 iframe = driver.find_element(By.CSS_SELECTOR, "#content > div.contents_area > div > div.editor_area > div > div.editor_body > iframe") iframe.click() iframe.send_keys("안녕하세요.", Keys.ENTER)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 관련 질문 있습니다.
안녕하세요 강의 잘 듣고 있습니다!작업형2 관련 질문 세개 있습니다.Q1) 랜덤포레스트 하이퍼파라미터 조절 max_depth나 n_estimator(아래처럼 ) 분류가 아닌 회귀분석일때도 사용해도 되나요??Q2) 데이터개수가 너무 많으면 원핫인코딩보다 라벨인코더가 낫다고 하셨는데 개수가 많은 기준이 보통 어느 정도인지 궁금합니다! Q3) 검증데이터 분리 시에 test_size는 어느 정도가 적당한지 궁금합니다. 데이터가 적으면 0.1 ~ 0.15 아니면 0.2 정도로 해도 될까요?
-
미해결파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기
5.1 제약 데이터 수집 오류 해결
안녕하세요, 섹션 10의 [5/6] 강의 실습을 진행하는데 result의 column이 다른 경우가 있어서 후에 concat을 하는 과정에 에러가 발생합니다. 이런 경우 어떻게 해결할 수 있나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
모의고사_작업형1-1 질문
선생님, 강의 내용a = a[:int(len(a)/2)]cond = a['target'] == 0a = a[cond]print(int(a['proline'].mean()))에서a = a[:int(len(a)/2)]a = a['target'] == 0 <-- cond 대신 aa = a[a] <-- cond 대신 aprint(int(a['proline'].mean()))로 실행해보았습니다. 데이터 프레임 값을 새로 갱신해 저장하는데, 'proline'에서 오류가 나는 이유가 궁금합니다. 새로운 조건명(con)을 넣어야만 실행되는지 궁금합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 모의문제2
영상으로 4:53초에 나오는 코드입니다. 선생님이 작성하셨을 때는 되는데 제가 작성해서 칼럼 별 유니크 값을 보려고 하니 오류가 뜨네요. 혹시 파이썬 버전의 문제일까요?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
강의 자료 부탁드립니다.
강의 자료 부탁드립니다. liverpool92@naver.com 감사합니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
[기출]공식예시문제 -> 예시문제 작업형3(구버전)/가설검정
[기출]공식예시문제 -> 예시문제 작업형3(구버전)/가설검정 강의는 구버전 이라고 적혀있는데 들어야하는 강의가 맞는지 궁금합니다
-
미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
사용자 정의 예외처리 중 질문
class BignumberError(Exception): def __init__(self, msg): self.msg = msg def __str__(self): return self.msg try: print("한자리수 전용 계산기 입니다.") num1 = int(input("숫자를 입력하세요 : ")) num2 = int(input("숫자를 입력하세요 : ")) num3 = int(num1/num2) print("{0} / {1} = {2}".format(num1, num2, num3)) if num1 >=10 or num2 >= 10: raise BignumberError("입력값 :{0}, {1}".format(num1, num2)) except ValueError : print("오류! 한자리 숫자만 입력하세요") except BignumberError as err : print("빅넘버에러 발생!") print(err) def __str__(self): return self.msg위 코드 전문에서 제가 밑에 따로 적어둔 부분을 빼먹고 코드 작성을 했는데도BignumberError 발생 하고 입력값을 알려주는 메시지가 정상적으로 표시가 되었습니다.강의에서는 raise BignumberError("입력값 :{0}, {1}".format(num1, num2)) 이부분을 self.msg에 리턴해서 가지고 있다가 마지막 프린트문에서 출력이 된다고 했는데 리턴문이 없어도 잘 실행이 되는 이유는 뭘까요?
-
해결됨[Python 초보] Flutter로 만드는 ChatGPT 음성번역앱
음성 인식 후 마이크 색깔이 변하지 않아요.
안녕하세요.강의를 보면서 쭈욱 진행하고 있는데, 에뮬레이터에서 음성인식을 테스트하면 음성인식이 완료되었음에도 마이크 색깔이 검정색으로 변하지 않습니다. 강의 내용대로 코드를 쳤는데 확인 부탁드립니다. (혹시 소스코드가 깃헙에는 없나요?..)import 'package:dash_chat_2/dash_chat_2.dart'; import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; import 'dart:convert'; import 'package:speech_to_text/speech_to_text.dart'; import 'package:speech_to_text/speech_recognition_result.dart'; class BasicScreen extends StatefulWidget { @override _BasicState createState() => _BasicState(); } class _BasicState extends State<BasicScreen> { bool isListening = false; SpeechToText _speechToText = SpeechToText(); bool _speechEnabled = false; String _lastWords = ''; @override void initState() { super.initState(); _initSpeech(); } ChatUser user1 = ChatUser( id: '1', firstName: 'me', lastName: 'me', ); ChatUser user2 = ChatUser( id: '2', firstName: 'chatGPT', lastName: 'openAI', profileImage: "assets/img/gpt_icon.png" ); late List<ChatMessage> messages = <ChatMessage>[ ChatMessage( text: '반갑습니다. 어서오세요. 무엇을 도와드릴까요?', user: user2, createdAt: DateTime.now(), ), ]; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: const Text('Basic example'), ), body: DashChat( currentUser: user1, onSend: (ChatMessage m) { setState(() { messages.insert(0, m); }); Future<String> data = sendMessageToServer(m.text); data.then((value){ setState(() { messages.insert(0, ChatMessage( text: value, user: user2, createdAt: DateTime.now(), )); }); }); }, messages: messages, inputOptions: InputOptions( leading: [ IconButton( icon: Icon(Icons.mic, color: isListening? Colors.red: Colors.black), onPressed: (){ setState(() { isListening = !isListening; if (isListening == true){ print('음성인식 시작'); _startListening(); }else{ print('음성인식 끝'); _stopListening(); } }); }, ) ] ) , ), ); } Future<String> sendMessageToServer(String message) async{ var headers = { 'Content-Type': 'application/json', 'Authorization': 'Bearer sk-proj-b2yCBjZ7jwkR7nmWl4NLT3BlbkFJmm0iaZMBGPJHHy3b3I4J', }; var request = http.Request('POST', Uri.parse('https://api.openai.com/v1/chat/completions')); request.body = json.encode({ "model": "gpt-3.5-turbo", "messages": [ { "role": "user", "content": message, } ] }); request.headers.addAll(headers); http.StreamedResponse response = await request.send(); if (response.statusCode == 200) { String responseString = await response.stream.bytesToString(); Map<String, dynamic> jsonResponse = json.decode(responseString); String result = jsonResponse['choices'] != null? jsonResponse['choices'][0]['message']['content']: "No result found"; print(responseString); return result; } else { print(response.reasonPhrase); return "ERROR"; } } /// This has to happen only once per app void _initSpeech() async { print("음성인식 기능을 시작합니다."); _speechEnabled = await _speechToText.initialize(); // setState(() {}); } /// Each time to start a speech recognition session void _startListening() async { print("음성인식을 시작합니다."); await _speechToText.listen(onResult: _onSpeechResult); // setState(() {}); } /// Manually stop the active speech recognition session /// Note that there are also timeouts that each platform enforces /// and the SpeechToText plugin supports setting timeouts on the /// listen method. void _stopListening() async { print("음성인식을 종료합니다."); await _speechToText.stop(); // setState(() {}); } /// This is the callback that the SpeechToText plugin calls when /// the platform returns recognized words. void _onSpeechResult(SpeechRecognitionResult result) { _lastWords = ""; if(result.finalResult){ _lastWords = result.recognizedWords; print("최종 인식된 문장: $_lastWords"); setState(() { messages.insert(0, ChatMessage( text: _lastWords, user: user1, createdAt: DateTime.now(), )); }); Future<String> data = sendMessageToServer(_lastWords); data.then((value){ setState(() { messages.insert(0, ChatMessage( text: value, user: user2, createdAt: DateTime.now(), )); }); }); } } }
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
XPATH 네이버에서 카페 찾는 과정 문의입니다.
강의 내용 외 개인적인 실습 사이트의 질문은 답변이 제공되지 않습니다.문제가 생긴 코드, 에러 메세지 등을 꼭 같이 올려주셔야 빠른 답변이 가능합니다.코드를 이미지로 올려주시면 실행이 불가능하기 때문에 답변이 어렵습니다.답변은 바로 제공되지 않을 수 있습니다.실력 향상을 위해서는 직접 고민하고 검색해가며 해결하는 게 가장 좋습니다.네이버에서 뉴진스 검색하면 view 탭이 없어서 카페 탭으로 대신 이동해보려고 합니다. XPATH 사용해서 카페로 이동할 때 >>"//*[text()='카페']"<< 이 방식을 사용하려고 하는데요 웹에서 '카페' 키워드 검색하면 텍스트가 6개 나옵니다. 원하는 요소 text가 여러개 있는 경우 어떻게 찾아나가는지 궁금합니다. 아래와 같이 해봤는데 안되었어요. driver.find_elements(By.XPATH, "//*[text()='카페']")[3].click()
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 모델링 여러개 돌려보고 평가지표 제일 높은걸로 최종제출해야하나요??
안녕하세요, 작업형2 문제를 풀 때 여러 모델로 돌려보고평가지표 제일 높은걸로 최종제출해야 하나요??혹시, 모델 한가지로만 돌려보고 제출하게되면 감점요인이 있는지 궁금합니다.