본문 바로가기

분류 전체보기227

[자바] 자바 기초 -1 자바를 기반으로 한 통합 개발 환경 : 이클립스 (eclipse)통합 개발 환경(IDE)이란 프로그래머가 소프트웨어 코드를 효율적으로 개발하도록 돕는 소프트웨어 애플리케이션.이는 소프트웨어 편집, 빌드, 테스트, 패키징과 같은 기능을 사용하기 쉬운 하나의 애플리케이션에 통합하여 개발자 생산성을 높인다.특징- 대소문자 철저히 구분- 프로그램의 기본단위는 클래스 class  이며 선언문, 명령문 등은 모두 클래스 내부에 존재해야함.- 클래스 이름은 파일이름과 동일해야 한다. 파일 이름: First  라면 클래스 이름: public class First { } 동일하게- 한 클래스 안에 main(String[] args) 는 하나만 가능- 세미 콜론은 문장 끝에 필수public class First {   p.. 2024. 1. 16.
[파이썬] Class (상속, 은닉) 특징- 멤버가 있으나 자바와는 다르게 멤버 변수는 전부  public 이다.    멤버변수 종류: 접근 한정자 public, private, protected    __ 2개는 private / _ 1개는 protected 임class 클래스명: pass # 빈클래스 someone = 클래스명() Python 생성자두 개의 생성자를 가질 수 없음.- 생성자 작성 방법__init__() 은 클래스당 한 개만 작성 가능.self : 클래스 내부에서 __init__() 함수의 첫 매개변수여야 함 (self 명칭을 쓰는 것이 관행임)         self 변수는 객체를 받는 용도이며 생략 불가.def __init__(self) : # 기본 생성자def __init__(self, a, b) # 전달인자 두 .. 2023. 12. 28.
[파이썬] 예외(Exception) 예외 발생 사항a = [1,2,3,4,5]# print(a[5]) # IndexError 발생b = '1234a'# c = int(b) # ValueError 발생# f = open("notexists.txt","r") #FileNotFound 발생# data = 10/0 # ZeroDivisionError 발생mydic = {}# print(mydic['key']) # KeyError 발생 예외 처리 방법(try-except)try: data = 10/0except: print("0으로 나눌 수 없습니다.")print("end\n")0으로 나눌 수 없습니다.end 에러 출력 보여줌# 다른 예외 X 오직 ZeroDivisionError만try: data = 10/0except ZeroDi.. 2023. 12. 28.
[코랩] 패키지 영구 다운로드 경로 설정 env 파일을 미리 만들고 해당 코드 실행하기 import os, sys from google.colab import drive drive.mount('/content/drive') my_path = '/content/notebooks' # Colab Notebooks 안에 my_env 폴더에 패키지 저장 os.symlink('/content/drive/MyDrive/Colab Notebooks/env', my_path) sys.path.insert(0, my_path) !pip install--target=$my_path dill 2023. 12. 27.
[머신러닝] 비지도 학습 알고리즘 - 주성분분석(공분산행렬, 고윳값과 고유벡터) - 2 주성분분석 PCA1. 입력 데이터의 공분산 행렬을 구한다.2. 공분산 행렬을 고유값 분해해서 고유벡터와 고윳값을 구한다.3. 고윳값이 가장 큰 K개의 고유벡터를 추출한다.4. 고윳값이 가장 큰 순으로 추출된 고유벡터를 이용해 입력데이터들을 선형변환 (내적) 고유벡터, 고윳값: 벡터가 회전하지 않고 확대나 축소만 할때 변화한 벡터의 길이 비율이 고윳값이 되며 그때의 벡터 방향이 고유벡터가 된다.따라서 고유벡터는 행렬이 작용하는 주측의 방향을 나타내므로 공분산 행렬의 고유벡터는 데이터가 어떤 방향으로 분산되어 있는지를 나타내준다. [실습] 고윳값 분해 알아보기x = [[177.7, 68.1, 91.8], [168, 60.2, 89.3], [165.3, 49.1, 84.9], [159.1, 42, 86.3],.. 2023. 11. 27.
[머신러닝] 인공지능을 위한 수학(3. 선형대수) 머신러닝을 이해하는데 있어 기초적인 선형대수 지식이 필요하다. 때문에 교수님이 추천하신 책인 중 목차 3번, 선형대수에 대해 가볍게 공부해보자.선형대수3 - 1. 벡터여러개의 데이터를 하나의 열에 담아둔 것을 말한다.쓰는 방법: 소문자를 굵게 표현, 문자위에 화살표 표시, 문자에 세로선 장식 등의 방법이 있다.가로로 성분을 나열한 것을 행벡터세로로 성분을 나열한 것을 열벡터 라고 한다. 3-2. 덧셈과 뺄셈 그리고 스칼라배벡터끼리의 덧셈과 뺄셈을 할 때는 서로 대응하는 성분끼리 한다. 행벡터나 열벡터의 관계없이 같은 방식으로 계산이 가능하다.차원은 벡터 성분의 수를 가리키며, 서로 다른 차원의 벡터는 계산이 불가능하다.스칼라는 벡터에 대비되는 개념으로 크기만 있고 방향이 없는 상수나 변수같은 1차원의 .. 2023. 11. 27.
[머신러닝] 비지도 학습 알고리즘 - 주성분분석(공분산행렬) - 1 주성분분석 PCA, Principal Component Analysis주성분분석이란 변수가 가지고 있는 정보의 손실을 최소화 하면서 변수의 차원을 축소하는 분석 기법을 말한다.여러 변수간에 존재하는 상관관계를 이용하여 이를 대표하는 주성분을 추출해 차원을 축소한다.차원을 축소해야하는 이유는- 설명 변수(feature)가 많으면 학습속도가 느려지기 때문이다. - 의미 없는 feature 들로 인해 과적합 되거나 학습이 제대로 되지 않는다.- 차원을 축소하면 데이터를 시각화로 표현하기 쉽다.* 차원의 저주차원이 커지면 커질수록 밀도가 낮아진다. 즉 , 공간의 차원이 증가함에 따라 데이터의 밀도가 급격히 감소하고 이로 인해 데이터 분석이나 머신러닝 모델의 성능에 부정적인 영향을 미치는 현상을 말한다. [빅데이.. 2023. 11. 26.
[머신러닝] 비지도 학습 알고리즘 - 군집분석 : K- 평균 군집 [실습] 온라인 판매 군집분석 온라인 판매 군집분석 데이터 로딩import pandas as pdimport numpy as npretail = pd.read_excel('./dataset/online_retail.xlsx')print(retail.shape)(525461, 8) 데이터 확인retail.head()invoice : 송장 번호 / StockCode : 품목코드 / Description : 설명 / Quantity : 제품수량 / InvoiceDate : 송장 날짜 및 시간 /  Price : 제품 가격 / CustomerID : 고객번호 / Country : 고객 거주 국가명retail.info()RangeIndex: 525461 entries, 0 to 525460Data columns (total 8 columns).. 2023. 11. 25.
[머신러닝] 비지도 학습 알고리즘 - 군집분석 : K- 평균 군집 K - 평균 군집 K -means Clustering군집 Clustering- 데이터를 여러개의 군집으로 묶는 분석 방법을 말하며 유사한 개체들을 군집으로 그룹화하여 각 집단의 성격을 파악한다.- 같은 군집에 속하는 데이터는 다른 군집에 속하는 데이터 보다 유사성이 높다.K 평균 군집화- 군집 중심점이라는 특정한 임의의 지점을 선택해 해당 중심에서 가장 가까운 포인트들을 선택하는 군집화 기법이다.- 거리기반 알고리즘이기 때문에 속성의 개수가 너무 많으면 군집화 정확도가 떨어진다. KMeans 클래스 생성자 주요 속성 n_ cluster군집화 개수 (군집 중심점의 개수)init초기에 군집 중심점의 좌표를 설정할 방식max_iter최대 반복 횟수, 이 횟수 이전에 모든 데이터의 중심점 이동이 없으면 종료한다.. 2023. 11. 23.