본문 바로가기

AI/머신러닝15

[ML] kMeans_비지도학습, 마케팅데이터셋 활용 import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsfrom sklearn.datasets import make_blobs필요한것들을 먼저 임포트해줬습니다.1. Clusters(클러스터)유사한 특성을 가진 개체들의 집합고객분류, 유전자 분석, 이미지 분할X, y = make_blobs(n_samples=100, centers=3, random_state=2024)X,y를 리턴받을거고 100개의 데이터를 값을 랜덤하게 만든다음에 센터스를 3으로 하면 정답(클래스)를 3가지로 만듭니다랜덤스테이트는 2024로 줍니다.X = pd.DataFrame(X)X  sns.catterplot(x=X[0], y=X[.. 2024. 7. 16.
[ML]로지스틱 회귀_승진 될지 안 될지 분류해보기 1. hr 데이터셋이번에는 승진관련(임의)데이터이고 여기서 이런 정보를 주면 is_promoted 분류를 해보려고 합니다.import numpy as npimport pandas as pdimport seaborn as snsimport matplotlib.pyplot as plthr_df = pd.read_csv('hr.csv')hr_df.head()hr_df.info()hr_df.describe()간단하게  데이터를 확인할 수 있습니다. 이렇게 표로 보다는 barplot으로 한번 확인해보도록 하겠습니다.즉 독립변수들이 is_promoted에 영향을 받는지 안 받는지를 확인하기 위해서 확인해보도록 하겠습니다.sns.barplot(x='previous_year_rating', y=is_promoted, .. 2024. 7. 7.
[ML] 선형 회귀_Rent값 예측 모델 만들기(2) Rent값 예측 모델 만들기전체 과정데이터 분할: 데이터를 훈련 데이터와 테스트 데이터로 나누기.모델 학습: 훈련 데이터를 사용해 모델을 학습시키기.모델 평가: 테스트 데이터를 사용해 모델이 얼마나 잘 예측하는지 평가하기.예측: 학습된 모델을 사용해 새로운 데이터의 임대료를 예측하기.으로 구성되어있고 이번 글은  2번~4번에 해당하는 글 입니다. 2. 선형 회귀(Linear Regression)기법*리니어=Linear데이터를 통해 데이터를 가장 잘 설명할 수 있는 직선으로 데이터를 분석하는 방법단순 선형 회기분석(단일 독립변수를 이용)-사실 잘 사용하지 않음(독립변수가 하나인경우는 거의 없기에..)다중 선형 회기분석(다중 독립변수를 이용)from sklearn.linear_model import Line.. 2024. 7. 4.
[ML] 선형 회귀_Rent값 예측 모델 만들기(1) 머신러닝을 공부했다면! 이정도 알고리즘을 알아야하는것들을 학습&반복했습니다.솔직히 데이터시각화까지는 바지밑단잡고 질질 끌려가는느낌이었지만 ML들어가면서 수학적인부분이 확실히 들어가다보니 많이 이해하기가 힘들었습니다.그래서 수업에 그치지않고 유튜브, GPT을 이용해서 조금 더 공부를 해보려고 노력했습니다. Rent값 예측 모델 만들기전체 과정데이터 분할: 데이터를 훈련 데이터와 테스트 데이터로 나누기.모델 학습: 훈련 데이터를 사용해 모델을 학습시키기.모델 평가: 테스트 데이터를 사용해 모델이 얼마나 잘 예측하는지 평가하기.예측: 학습된 모델을 사용해 새로운 데이터의 임대료를 예측하기.으로 구성되어있고 이번 글은 1번에 해당하는 글 입니다.1. Rent 데이터셋(따로 받은 데이터셋입니다. 데이터를 이용해서.. 2024. 7. 2.
[ML] 아이리스 데이터셋(Iris DataSet) 1. Iris DataSetDataSet : 특정한 작업을 위해 데이터를 관련성 있게 모아놓은 것사이킷런 데이터셋 페이지from sklearn.datasets import load_irisiris = load_iris()irisprint(iris['DESCR'])class는 3가지 독립변수는 4가지 입니다. data =iris['data']data한 줄이 값이고 그게 150개가 있다는것2.레이블 확인target = iris['target']target0번꽃, 1번꽃, 2번에대한 부분 출력을 확인할 수 있음 150개컬럼명으로 쓸만한 이름이 4가지가 있다는것을 확인할 수 있습니다.feature_names = iris['feature_names']feature_names  3. padnas를 이용 및 확인im.. 2024. 7. 1.
[Python] 판다스(pandas) 데이터 프레임 합치기,산술연산, 원핫인코딩 등 1. 데이터 프레임 행 합치기이번에는 df1 과 df2의 데이터를 합쳐보았습니다.df2는 임의로 작성한 연봉과 가족수를 넣은 자료들입니다. 일단 df1는 따로 copy를 따놓고 df_copy라는 이름으로  해두었습니다. 행을 합치는 매소드 concat을 이용하여서 데이터를 합쳐보겠습니다.pd.concat([df1, df_copy])  (사실 같은 파일)여기서 기본값은 axis = 0(행)이기때문에 밑으로 합쳐지게 됩니다.이러면 인덱스가 0~19, 0~19가 있고 이것이 행으로 합쳐지게 됩니다.인덱스가 겹치니 인덱스를 새롭게 적용하고 싶어집니다.이럴때 사용 할 수 있는 매소드는reset_index() : 새롭게 인덱스를 적용하기 입니다.변수하나로 다시 담아놓고df_concat = pd.concat([df1.. 2024. 6. 18.
[Python] 판다스(pandas)를 이용한 데이터 다루기 1. 판다스(Pandas)데이터 분석을 위한 파이썬 라이브러리 중 하나로, 표 형태의 데이터나 다양한 형태의 데이터를 쉽게 처리하고 분석할 수 있게 해줍니다.데이터프레임(DataFrame)이라는 자료구조를 제공#판다스 설치!pip install pandas #판다스 임포트 import pandas as pd2. Series와 DataFrame2-1. SeriesSeries는 1차원 배열과 같은 자료구조로 하나의 열(cloum)을 나타냄Series의 각 요소는 인덱스(index)와 값(value)으로 구성되어 있음값은 넘파이의 ndarray 기반으로 저장됨Series는 다양한 데이터 타입을 가질 수 있으며 정수, 실수, 문자열 등 다양한 형태의 데이터를 담을 수 있음idx = ['김사과', '반하나', '.. 2024. 6. 14.
[Python] 넘파이, 행렬, 정렬 파이썬을 사용하게되면 믿고 쓰게되는 모듈이 몇가지 있는데 그 중 가장 많이쓰이는 것이 넘파이입니다.구글코랩은 보통 많이 쓰여있어서 설치되어있지만 파이참이나 주피터를 사용할 때에는 따로 설치해주어야 합니다.#넘파이 설치(주피터, 파이참)!pip install numpy 1. 넘파이(Numpy)- 파이썬에서 사용되는 과학 및 수학 연산을 위한 강력한 라이브러리- 주로 다차원 배열을 다루는 데에 특화되어 있어, 데이터 분석, 머신러닝, 과학 계산 등 다양한 분야에서 널리 사용 됩니다.-  넘파이 배열(ndarray / 앤디어레이) 는 데이터를 담는 자료구조입니다 자료구조는 전에배웠던 리스트, 튜플, 딕셔너리,세트=(컬렉션) 가있습니다.앤디어레에이는 리스트와 비슷하지만 속도가 매우빠르고 사용빈도도 굉장히 높습니.. 2024. 6. 13.
[Python] Streamlit으로 초간단 번역 서비스만들기 초간단 번역 사이트 만들기#stremalit 임포트import streamlit as st 간단하게 UI를 구성합니다.st.title('초간단 번역 서비스앱')text = st.text_area('번역할 내용을 입력하세요', '')src_lang = st.selectbox('번역할 언어를 선택하세요', ['영어', '일본어', '한국어'])trg_lang = st.selectbox('번역될 언어를 선택하세요', ['한국어', '일본어', '영어'])if st.button('번역하기'): pass여기까지 front단을 구성했습니다.여기서 ui로 케이스는 구성을 했지만 실질적인 역할을 해줄 수 있는 것이 없습니다.그래서 번역을 도와줄 챗gpt를 사용하려고 합니다.챗GPT API를 이용해서 방금 만들었던.. 2024. 6. 9.
데이터베이스와 MongoDB 1. 데이터데이터(data)는 정보나 사실들의 원시적이고 구조화되지 않은 형태입니다. 이것은 숫자, 문자, 이미지, 소리 등 다양한 형태로 나타날 수 있습니다. 예를 들면, 온도 측정 결과, 사진, 글, 음성 녹음 파일 등이 데이터에 해당합니다.2. 데이터베이스데이터베이스(database)는 관련된 데이터를 체계적으로 저장하고, 관리하고, 검색할 수 있도록 설계된 전자적 시스템입니다.간단히 말하면, 데이터베이스는 "정보의 보관소"와 같습니다.데이터베이스를 사용하면 크거나 작은 양의 데이터를 안전하게 저장하고 필요할 때 쉽게 찾아낼 수 있습니다.3. 데이터베이스 관리 시스템(소프트웨어)DBMS는 데이터베이스 관리 시스템(Database Management System)의 약자입니다. DBMS는 데이터베이스.. 2024. 6. 6.
변수 타입 어노테이션 1. 변수 타입 어노테이션변수 타입 어노테이션은 파이썬 3.5부터 도입된 기능으로, 변수의 예상 타입을 명시하는데 사용됩니다.이는 주로 코드의 가독성을 높이고, 정적 타입 검사 도구(예: mypy)를 사용하여 타입 오류를 사전에 잡아내기 위한 목적으로 사용됩니다.타입 어노테이션은 실제로 변수의 타입을 강제하는 것이 아니라, 개발자가 변수가 어떤 타입을 가져야 할 것으로 예상하는지 명시하는 것입니다.(다른사람들에게 보여주는것이므로 주의깊게 사용하기)이렇게 사용하게되면 변수타입의 가이가 되기때문에 실수는 적어지게 됩니다.서버군중에 특히 FAST API는 보통 모두 변수타입 어노테이션을 많이 사용합니다.2. 기본 타입 어노테이션사용방법 :: 변수 뒤에 콜론(:) 쓰고 타입 name: str ="김사과"age:.. 2024. 6. 3.
크롤링 :: 1개의 이미지, 대량 이미지수집 픽사베이 (https://pixabay.com/ko/)를 이용한 한개의 이미지 수집, 여러이미지 수집에 대해서 크롤링해보려고합니다. #임포트+타임+셀레니움import chromedriver_autoinstallerimport timefrom selenium import webdriver 가장먼저 url확인을 해주려고합니다. 강아지사진을 선택하려고하고 그 부분에 대한 url을 가져왔더니 아래와 같습니다.고양이로 하고싶다면 강아지를 고양이로 변경하면 됩니다!  #크롬웹브라우저를통해 강아지가 검색된 url가져오기driver = webdriver.Chrome()url = 'https://pixabay.com/ko/images/search/강아지/'driver.get(url)#원하는 이미지의 xpath+이미지ur.. 2024. 5. 31.
크롤링 :: 인스타그램, 리팩토리 함수제작 및 실행 인스타그램은 보안(?)이 좀 강화되어있어서html이나 xpath가 종종 바뀌기때문에 아래의 코드가 100%맞지는 않는다.만약 다르다면 xpath를 재확인해주어야 합니다.1. 인스타그램 로그인#크롬드라이버 임포트import chromedriver_autoinstallerfrom selenium import webdriver #드라이버 창 띄우기driver = webdriver.Chrome()url = 'https://www.instagram.com/'driver.get(url) #인스타그램 로그인id = 아이디를 넣어줍니다pw = 비밀번호를 넣어줍니다. 아이디와 비밀번호의 칸에 각각 넣으려고하면 각 칸의 xpath의 위치를 알아야합니다. 그 후 입력값(아이디,비밀번호)을 넣어주고 로그인을 클릭하는것까지 진.. 2024. 5. 30.
크롤링::네이버웹툰 댓글 크롤링 1.크롤링과 스크레이핑- 크롤링(crawling):인터넷의 데이터를 활용하기 위해 정보들을 분석하고 활용할 수 있도록 하는 수집하는 행위- 스크레이핑(Scraping): 크롤링후 데이터를 추출하고 가공하는 행위전시간에 배웠던 크롤링과 스크레이핑은 정적인 페이지 내에서 데이터를 긁어오는것들이었습니다.그렇지만 모든 홈페이지가 정적인 페이지는 아니예요인스타그램이나 페이스북 같은건 스크롤을 내리면 추가로 생긴 데이터는 파싱을 할 수 없습니다.그 이후에 쌓였기때문이죠그래서 이런데이터가 유동적으로 움직이거나 다이나믹한 페이지는다른 프로그램을 사용해서 파싱해야합니다.즉 사람처럼 움직여주고 사람처럼 데이터를 가져와서 활용해보는걸 해볼겁니다.브라우저를 컨트롤해야하기때문에 주피터노트북라는걸 사용하게 됩니다.주피터 노트북 .. 2024. 5. 28.
크롤링:: 영단어 추출, 기사,뮤직차트,주식정보, robots.txt 1.크롤링과 스크레이핑- 크롤링(crawling):인터넷의 데이터를 활용하기 위해 정보들을 분석하고 활용할 수 있도록 하는 수집하는 행위- 스크레이핑(Scraping): 크롤링후 데이터를 추출하고 가공하는 행위  실전연습 // 정적인 URL2.Basic English Speakinghttps://basicenglishspeaking.com/daily-english-conversation-topics/        위 사이트에 있는 75개의 단어들을 변수로 담는 크롤링 을 할 것입니다.import requestsfrom bs4 import BeautifulSoup 가장먼저 import(개입)를 하고 requests를 합니다.파이썬을 설치만 하면 리퀘스트라는 모듈이 설치가 되어있습니다. ** 리퀘스트 : 서.. 2024. 5. 27.