본문 바로가기
반응형

『 Python 』39

[AI] 분류 SGDClassifier 확률적 경사 하강법 분류기 매우 큰 데이터셋을 효율적으로 처리하는 장점 한 번에 하나씩 훈련 샘플을 독립적으로 처리하기 때문임(그러기에 온라인 학습에 잘 맞음) 훈련하는데 무작위성을 사용하기에 확률적이 붙었다. #SGDClassifier 확률적 경사 하강법 분류기 from sklearn.linear_model import SGDClassifier # 결과를 똑같이 재현하기 위해서는 random_State 매개변수를 지정해주면 된다. sgd_clf = SGDClassifier(random_state=42) sgd_clf.fit(x_train,y_train) sgd_clf.predict([some_digit]) # 예측이 맞는지는 bool로 변환하면 알수 있다. 성능 측정 분류기 평.. 2023. 2. 7.
[AI] 2.1 데이터셋 다루기 # 사이킷런으로 간단하게 나누기 from sklearn.model_selection import train_test_split train_set, test_set = train_test_split(housing,test_szie=0.2, random_state=42) # 계층적 샘플링 # 너무많은 계층으로 나뉘면 안되며 각 계층별로 충분히 커야 한다. housing["income_cat"] = pd.cut(housing["median_income"], bin=[0.,1.5,3.0,4.5,6., np.inf], labels=[1,2,3,4,5]) # PANDAS import pandas as pd def load_data(): return pd.read_csv(csv_path) #데이터 구조 흝어보기 A .. 2023. 2. 6.
[AI] DataFrame 메서드 [pandas] # pandas 형태로 변환한다. a= pd.read_csv(csv_path) # 값이 가지고 있는 특성을 확인해볼수 있습니다. a.head() # 데이터에 대한 간략한 설명, 전체 행 수 각 특성의 데이터 타입과 널이아닌 개수를 파악해볼 수 있습니다 a.info() # 데이터 값이 범주형인지 확인해보기 a["A"].value_counts() # 데이터의 다른 필드들 a.describe() # 데이터의 형태를 빠르게 알아보는 방법은 히스토그램으로 그려보는 것 입니다. %matplotlib inline # 매직명령어 import matplotlib.pyplot as plt a.hist(bins=50, figsize=(20,15)) plt.show() ----- 이후 추가 예정 2023. 2. 5.
[AI] 2.1 머신러닝 프로젝트 흝어보기 [다양한 데이터셋 공유 사이트] - UC 얼바인 머신러닝 저장소 http://archive.ics.uci.edu/ml - 캐글 데이터넷 http://www.kaggle.com/datasets - 캘리포니아 인구조사 데이터를 사용해 캘리포니아의 주택 가격 모델을 만들어보겠습니다. 해당 데이터는 캘리포니아의 블록 그룹마다 인구, 중간 소득, 중간 주택 가격 등을 담고 있습니다. 블록 그룹은 미국 인구조사국에서 샘플 데이터를 발표하는 데 사용하는 최소한의 지리적 단위입니다. 보통 한 블록 그룹당 600~3000명 정도 됩니다. 해당 데이터로 학습을 했을 때 다른 구역의 중간 주택 가격을 예측해야 됩니다. 1. 성능 측정 지표 선택 [문제 정의] 정보수집 문제의 첫질문은 비지니스의 목적이 정확히 무엇인가? 입니.. 2023. 2. 5.
[AI] 1.3 머신러닝 테스트와 검증 모델이 새로운 샘플에 얼마나 잘 작동할지 아는 방법은 실제로 적용해 보는 것입니다. 가장 좋은 방법은 훈련 데이터를 훈련 세트와 테스트 세트로 나누는 것입니다. 샘플에 대한 오류 비율을 일반화 오차(외부 샘플 오차)라 하며 테스트 세트에서 모델을 평가함으로써 이 오차에 대한 추정값을 얻습니다. 해당 값은 새로운 모델에 얼마나 잘 작동할지 알려줍니다. 보통 훈련세트 80%, 테스트 세트20%로 분리합니다. [하이퍼파라미터 튜닝과 모델 선택] 모델평가는 그냥 테스트 세트를 사용하시면 됩니다. 만약 문제를 해결하기 위해 두 모델인 선형 모델과 다항모델 중 어떤것 을 사용할지 갈등하고 있다고 합시다. 둘중 하나를 결정하는 방법은 두 모델 모두 훈련 세트로 훈련하고 테스트 세트로 얼마나 잘 일반화되는지 비교해 보.. 2023. 2. 5.
[AI] 1.2 머신러닝 주요 과제 머신러닝에 문제가 되는 나쁜 알고리즘과 데이터에 대해 알아보겠습니다. 충분하지 않은 양의 훈련 데이터 자세한 내용은 The Unreasonable Effectiveness of Data 피터 노르빅 2009년 논문을 참고하시길 바랍니다. 대표성 없는 훈련 데이터, 낮은 품질의 데이터, 관련 없는 특성 관련 없는 특성은 특성 공학을 통해 분류할 수 있습니다. 가지고 있는 특성 중에서 가장 유용한 특성을 선택하는 특성 선택, 특성을 결합하여 더 유용한 특성을 만드는 특성추출, 새로운 데이터를 수집해 새 특성을 만드는 공학입니다. 잘못된 데이터를 학습하게 된다면 샘플링 잡음 및 샘플링 편향이 발생할 수 있습니다. 훈련 데이터에서는 과대 적합이라 하는 훈련데이터에 너무 잘 맞지만 일반성이 떨어지는 일이 발생할 .. 2023. 2. 5.
[AI] 1.1 머신러닝 시스템의 종류 머신러닝 시스템의 종류는 굉장히 많습니다. 사람의 감독하에 훈련하는 것인가? (지도, 비지도, 준지도, 강화학습) 실시간으로 점진적인 학습인가? (온라인 학습, 배치 학습) 단순하게 알고있는 데이터 포인트와 새 데이터 포인트를 비교하는 것인가? 훈련 데이터셋에서 패턴을 발견하여 예측하는 모델인가? ( 사례 기반 학습, 모델 기반학습) 이 범주들은 서로 배타적이지 않으며 서로간 원하는 대로 연결할 수 있습니다. 지도 학습과 비지도 학습 머신러닝 시스템을 학습하는 동안의 감독 형태나 정보량에 따라 분류할 수 있습니다. 지도 학습, 비지도 학습, 준지도 학습, 강화 학습 등 크게 네 가지 범주로 나뉩니다. [지도 학습] 전형적인 방식으로는 다음과 같습니다. 분류 : 스팸인지 아닌지 새 메일을 어떻게 분류할 것.. 2023. 2. 5.
[AI] CUDA 설치하기 (종결) # 해당 필자는 CUDA를 처음 설치하면서 굉장히 많은 고난을 겪어 다른 이들에게 고통을 줄여주기 위해 글을 남김 tensorflow나 파이토치 등 인공지능 학습을 하면서 GPU로 구동하기 위해서는 CUDA를 설치해주어야한다. CUDA란? CUDA는 그래픽 처리 장치에서 수행하는 알고리즘을 C 프로그래밍 언어를 비롯한 산업 표준 언어를 사용하여 작성할 수 있도록 하는 GPGPU 기술이다. 자세한 내용은 해당 링크를 참조하자 https://ko.wikipedia.org/wiki/CUDA CUDA - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. CUDA 처리 흐름의 예 1. 메인 메모리를 GPU 메모리로 복사 2. CPU가 GPU에 프로세스를 지시함 3. GPU가 각 코어에 병렬 수행 .. 2023. 2. 2.
[Python,머신러닝] 데이터 탐색과 시각화 지리적 데이터 시각화 a.plot(kind="scatter", x="longitude", y="latitude", alpha=0.1) 산점도 kind 그래프 종류 'line', 'bar', 'barh', 'kde' xticks, yticks x, y축으로 사용할 값 alpha 투명도 xlim, ylim X, Y축의 한계 logy Y축에 대해 Log scaling grid 축의 그리드를 표현할지 여부 use_index 객체의 색인을 눈금 이름으로 사용할지 여부 rot 눈금 이름 돌리기 (rotating) 0 ~ 360 functions subplots : 각 column에 독립된 subplot 그리기 sharex, sharey : subplots=True 이면 같은 X,Y축을 공유하고 눈금과 한계를 연결 .. 2023. 1. 20.
반응형