데이터 과학에 ChatGPT를 사용하여 배운 것 - KDnuggets

데이터 과학에 ChatGPT를 사용하여 배운 것 – KDnuggets

소스 노드 : 3093078

데이터 과학에 ChatGPT를 사용하여 배운 것
작성자 별 이미지
 

ChatGPT를 사용하면서 배운 교훈이 하나 있습니다. 이는 데이터 과학에 매우 도움이 되지만, 그것이 출력하는 모든 것을 면밀히 조사해야 합니다. 일부 작업에 적합하며 매우 빠르고 정확하게 수행할 수 있습니다. 일부 다른 작업의 경우에는 충분하므로 여러 번 메시지를 표시해야 합니다. ChatGPT가 완전히 제대로 수행하지 못하는 작업이 하나 있습니다.

데이터 세트를 ChatGPT 메시지에 첨부할 수 있으며 몇 가지 간단한 지침을 제공하면 ChatGPT가 데이터를 탐색할 수 있습니다.

예를 들어 다음에서 데이터세트를 가져올 수 있습니다. 이 데이터 프로젝트. 내가 준 지침은 다음과 같습니다.

“첨부된 데이터를 사용하여 기술적인 통계 분석을 수행하십시오. 다음을 포함하십시오:

  • 기본 통계(평균, 중앙값, 표준편차 등)를 요약합니다.
  • 누락된 값을 식별하고 이를 처리할 전략을 제안합니다.”

다음과 같은 요약을 반환합니다. 각 변수에 대해 동일한 계산을 수행합니다.

나이:

  • 평균: 28.79세
  • 표준편차: 6.94년
  • 범위: 18~50년

또한 데이터 세트에서 누락된 값이 없음을 식별했습니다.

이러한 계산을 위해 Python 코드도 필요한 경우 해당 코드를 작성하라는 메시지를 표시할 수 있습니다.

데이터세트를 로드하려면 이 코드를 사용하세요.

aerofit_data = pd.read_csv(file_path)

기본 통계에 대해서는 이것을 제공합니다.

basic_stats = aerofit_data.describe()

그리고 이 코드를 통해 누락된 값을 확인할 수 있습니다.

missing_values = aerofit_data.isnull().sum()

또한 ChatGPT에 주요 변수의 분포를 시각화하고 잠재적인 특이점과 이상 현상을 감지하도록 요청할 수 있습니다.

연령, 소득, 마일 등 주요 변수에 대한 히스토그램과 상자 그림을 생성합니다. 소득 및 마일리지 분포에서 가능한 이상값을 감지했습니다.

 

데이터 과학에 ChatGPT를 사용하여 배운 것
작성자/ChatGPT가 작성함
 
데이터 과학에 ChatGPT를 사용하여 배운 것
작성자/ChatGPT가 작성함
 

또한 시각화를 해석합니다. 따라서 소득 분포가 오른쪽으로 치우쳐 있음을 알 수 있습니다. 이는 대부분의 고객이 스펙트럼의 하단에 소득을 갖고 있으며 소수의 고객이 훨씬 더 높은 소득을 얻는다는 것을 나타냅니다. 상자 그림은 더 높은 값에 몇 가지 특이치가 있음을 나타냅니다.

 

데이터 과학에 ChatGPT를 사용하여 배운 것
작성자/ChatGPT가 작성함
 
데이터 과학에 ChatGPT를 사용하여 배운 것
작성자/ChatGPT가 작성함
 

마일 분포에도 동일한 해석이 적용됩니다. 즉, 오른쪽으로 치우쳐 있고 더 높은 쪽에는 특이치가 있습니다.

데이터의 성격을 고려할 때 이러한 이상값은 반드시 오류가 아니라 특정 고객 부문을 나타내는 것임을 나타냅니다. 치우친 분포와 관련하여 데이터를 정규화하기 위한 변환(예: 로그 변환)을 제안합니다.

물론 이러한 시각화를 위해 Python 코드를 작성하도록 요청할 수도 있습니다.

동일한 데이터를 사용하여 ChatGPT에 적합한지 문의할 수 있습니다. 로지스틱 회귀. 그렇지 않은 경우 적절하게 변환하려면 어떻게 해야 합니까?

내 데이터는 주로 연속 데이터의 기술 및 추론 분석에 적합하다고 응답했습니다.

이는 로지스틱 회귀 분석을 위해 데이터를 변환하는 제안된 방법입니다.

바이너리 결과 생성: 사용량 변수의 중앙값 분할을 기준으로 고객을 "높은 사용량" 또는 "낮은 사용량"으로 분류하여 이진 결과를 생성합니다. 또한 이진 결과는 "런닝머신 구매" 또는 "런닝머신 구매 안 함"일 수 있습니다.

다중공선성을 확인합니다. 사용하십시오 상관 행렬 or 분산 인플레이션 계수(VIF) 다중공선성을 확인하기 위해 다중 공선성이 있는 경우 상관 변수를 제거하거나 결합할 수 있습니다.

기능 확장: 로지스틱 회귀에는 모델 피팅을 위한 기능 확장이 필요하지 않지만 다음과 같은 경우에는 유용할 수 있습니다. 수렴. 이는 특히 규모가 크게 다른 기능의 경우입니다.

비선형성 문제 해결: 다음과 같은 변형은 기록 or 제곱근, 선형성 가정을 만족하지 않는 변수에 사용할 수 있습니다.

표본의 크기: 데이터 세트는 예측 변수의 수를 고려할 때 충분히 커야 합니다.

데이터 전처리: 이상치 및 범주형 변수 처리( 원-핫 인코딩 또는 레이블 인코딩)을 제안합니다. 또한 누락된 값을 처리할 것을 제안하지만 누락된 값이 없으므로 내 데이터에는 적용되지 않습니다.

ChatGPT는 실제로 데이터 과학 프로젝트의 모든 단계에서 도움이 될 수 있습니다. 웹 스크래핑 코드를 작성하라는 메시지를 표시할 수 있습니다. 기계 학습 알고리즘을 위해 데이터를 탐색하고 준비하도록 지시할 수 있습니다. 또한 올바른 알고리즘, 데이터 세트 분할, A/B 테스트 및 성능 향상 알고리즘을 선택하기 위한 코드를 제공할 수도 있습니다. 마지막으로 ChatGPT에 모델 배포용 코드 작성을 요청할 수도 있습니다.

ChatGPT가 이 모든 작업을 수행할 수 있지만 원하는 작업을 정확하게 수행하는 코드를 즉시 얻지 못할 가능성이 높습니다. 따라서 달성하려는 것이 무엇인지 이해하고 코드를 확인해야 합니다. ChatGPT에 코드 수정을 요청하고 변경 사항에 대한 추가 지침을 제공해야 할 가능성이 있습니다.

ChatGPT는 아직 새로운 코딩 언어를 배우고 있는 사용자에게 도움이 될 수 있습니다. 당신이 SQL 마스터이고 문제를 해결하는 데 아무런 문제가 없다고 상상해보십시오. 이 면접 질문. 그러나 당신은 당신의 기술에 Python을 추가하고 싶습니다. ChatGPT가 도움을 드릴 수 있습니다. SQL 코드를 복사하고 ChatGPT에 요청하여 Python으로 변환할 수 있습니다.

그래서 SQL 코드는 다음과 같습니다.

SELECT 
  company, 
  profit 
FROM 
  (
    SELECT 
      *, 
      rank() OVER (
        ORDER BY 
          profit DESC
      ) as rank 
    FROM 
      (
        SELECT 
          company, 
          sum(profits) AS profit 
        FROM 
          forbes_global_2010_2014 
        GROUP BY 
          company
      ) sq
  ) sq2 
WHERE 
  rank = 3;

ChatGPT는 위의 SQL 코드를 기반으로 Python 코드를 작성했지만 제대로 작동하지 않습니다. 그래서 나는 올바른 코드를 작성하지 않았다는 이유로 ChatGPT를 비난합니다. 그리고 출력이 SQL 코드와 동일하지 않기 때문에 다시 시도하도록 요청합니다. 다시 시도하고 올바른 결과를 반환합니다.

import pandas as pd

# Assuming 'forbes_global_2010_2014' is a pandas DataFrame with columns 'company' and 'profits'
# Since we don't have the actual data, this code assumes that the DataFrame is already loaded

# Step 1: Group by company and sum the profits
company_profits_sum = forbes_global_2010_2014.groupby('company')['profits'].sum().reset_index()

# Step 2: Rank the companies by profit in descending order
company_profits_sum['rank'] = company_profits_sum['profits'].rank(ascending=False, method='max')

# Step 3: Filter the top 3 companies
top_companies = company_profits_sum[company_profits_sum['rank'] = 3]

# Final selection of columns
result = top_companies[['company', 'profits']].sort_values('profits', ascending=False)

result  # This will display the top 3 companies by profit

보시다시피 각 코드 블록 앞에 주석이 포함된 멋진 코드를 얻을 수 있습니다. 학습 능력을 향상하려면 이 코드를 해석하도록 요청할 수 있습니다. 이렇게 하면 각 코드 줄의 기능과 방법에 대해 더 자세히 알아볼 수 있습니다.

내가 나쁘다고 말하면 정말 나쁘다는 뜻입니다! 올바른 공식을 사용하고 올바른 값을 입력하지만 그다지 복잡하지 않은 계산을 엉망으로 만드는 수준으로 이동합니다.

이것 좀 보세요. 나는 이 문제를 해결해 달라고 요청했습니다. “공정한 10면체 주사위를 1번 굴린다고 가정해 보겠습니다. 2이 3개, 4가 5개, 6이 XNUMX개, XNUMX가 XNUMX개, XNUMX가 XNUMX개, XNUMX이 XNUMX개가 나올 확률은 얼마입니까?”

이런 식으로 확률을 계산합니다.

 

데이터 과학에 ChatGPT를 사용하여 배운 것
 

팩토리얼을 계산할 때 문제가 발생합니다. 그리고 그것은 스타일로 이루어집니다! 2번 말은 완전히 틀렸어요! = 12. 아니고 2입니다. 2×1 = 2 같은 간단한 계산을 어떻게 망칠 수 있나요? 정말 웃기다!

더 웃긴 건 3번, 36번! = 3, 두 번째는 6! = XNUMX. 적어도 한 번은 정확했기 때문에 그 점을 인정합니다.

더 설명하지 않고 계산을 수정하라고 하면 다시 계산을 해서 확률이 0.0001389가 나오네요. 나는 내 눈을 믿을 수 없었다! 정확히 동일한 공식과 값을 사용해도 여전히 잘못된 다른 결과가 나올 수 있습니다!

계산을 수정해 달라고 다시 요청했는데, 마침내 올바른 결과인 0.0008336이 반환되었습니다. 세 번째는 매력입니다!

물론 이러한 실수는 ChatGPT 3.5에서 발생했습니다. ChatGPT 4에 같은 질문을 했는데, 첫 번째 시도에서 정확한 계산이 나왔습니다. 안전을 유지하기 위해 일부 수학 플러그인을 사용할 수도 있습니다.

이 모든 것에서 가장 중요한 교훈은 ChatGPT가 나쁜 주인이지만 아주 좋은 하인이라는 것입니다. 코드 작성, 디버깅, 분석 및 데이터 시각화에 도움이 될 수 있습니다. 그러나 절대로 그것을 완전히 신뢰하지 말고, 자세히 조사하지 않고 쓰여진 내용을 받아들이지 마십시오.

작성한 코드를 확인하고, 계산을 확인하세요. 결국 당신은 데이터 과학자이지만 ChatGPT는 그렇지 않습니다! 첫 번째 시도에서는 ChatGPT에서 원하는 결과를 얻지 못할 수도 있습니다. 그러나 보다 정확한 지침을 제공하고 여러 번 시도하면 아마도 원하는 결과를 얻을 수 있을 것입니다.
 
 

네이트 로시디 데이터 과학자이자 제품 전략 분야의 전문가입니다. 그는 분석을 가르치는 겸임 교수이기도 하며, 스트라타스크래치, 데이터 사이언티스트가 상위 기업의 실제 인터뷰 질문을 통해 인터뷰를 준비하는 데 도움이 되는 플랫폼입니다. 그와 연결 트위터: StrataScratch or 링크드인.

타임 스탬프 :

더보기 너 겟츠