본문 바로가기

코딩 학원(국비지원)

101일차 코딩학원 (능력단위평가)

반응형

6/16 공부 내용 정리

  • Ajax는 비동기 통신으로 데이터를 주고 받기 위한 기술이다. 페이지 갱신 없이 데이터 일부만 처리 가능하다. http 전송중에도 클라이언트가 웹어플리케이션과 상호작용이 가능하다. 

ajax 비동기 통신

  • ajax 예시 코드 
$.ajax({
            type: 'post',
            url: '/korea/comments?bno=' + bno,
            headers: { "content-type": "application/json" },
            data: JSON.stringify({ bno: bno, comment: comment }),
            success: function(result) {
                alert(result)
                showList(bno)
            },
            error: function() {
                alert("error");
            }
     })

  • 머신러닝 능력단위평가가 있다. 
  • 마력과 연비 사이에는 직접적인 관계가 없으며, 마력만으로 연비를 정확하게 결정할 수는 없습니다. 연비는 다양한 요인에 의해 결정되며, 주행 조건, 차량의 무게, 엔진의 효율성, 에어로다이나믹 디자인 등이 연비에 영향을 미칩니다.

  • C:\Python391\lib\site-packages\sklearn\base.py:439: UserWarning: X does not have valid feature names, but LinearRegression was fitted with feature names
      warnings.warn( 
  • 넘파이와 판다스의 차이? 왜 넘파이로 바꿔줘야 위 오류가 사라지는 것일까? 
  • heatmap 색상 바꾸기. how? cmap="" 
  • cmap을 설정하지 않으면 기본 색상으로 출력된다. 

cmap설정하지 않은 기본 색상

 

시험 문제 풀이

import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression           # 학습을 위한 라이브러리

data = {
    'name': ['A', 'B', 'C', 'D', 'E', 'F', 'G'],
    'horse power': [130, 250, 190, 300, 210, 220, 170],
    'efficiency': [16.3, 10.2, 11.1, 7.1, 12.1, 13.2, 14.2]
}

df = pd.DataFrame(data)
df = df.set_index('name')

print(df)

X = df[['horse power']].values  # 넘파이 배열로 변환
Y = df['efficiency'].values

reg = LinearRegression()
reg.fit(X, Y)

coef = reg.coef_            # horse power (마력)이 출력 변수 efficiency (효율성)에 미치는 영향
intercept = reg.intercept_  # horse power (마력)가 0일 때 efficiency (효율성)의 예측값
score = reg.score(X, Y)     # 예측 점수가 1에 가까울수록 모델이 주어진 입력 변수(X)에 대해 출력 변수(Y)의 변동을 잘 설명함.

print("계수:", coef)
print("절편:", intercept)
print("예측 점수:", score)    # 예측 점수 : 0.87. 마력이 좋으면 효율이 좋다는 결론이 나옴.

# 입력 변수 설정
X_hp = [[280]]

# 예측값 계산
predicted_efficiency = reg.predict(X_hp)
predicted_efficiency = np.round(predicted_efficiency, 2)

print("280 마력 자동차의 예상 연비:", predicted_efficiency)
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
import seaborn as sns
import matplotlib.pyplot as plt

data = {
    'name': ['A', 'B', 'C', 'D', 'E', 'F', 'G'],
    'horse power': [130, 250, 190, 300, 210, 220, 170],
    'weight': [1900, 2600, 2200, 2900, 2400, 2300, 2100],
    'efficiency': [16.3, 10.2, 11.1, 7.1, 12.1, 13.2, 14.2]
}

df = pd.DataFrame(data)
df = df.set_index('name')

print(df)

X = df[['horse power', 'weight']].values  # 넘파이 배열로 변환
Y = df['efficiency'].values

reg = LinearRegression()
reg.fit(X, Y)

coef = reg.coef_            # 마력과 총중량이 출력 변수 효율성에 미치는 영향
intercept = reg.intercept_  # 마력과 총중량이 0일 때 효율성의 예측값
score = reg.score(X, Y)     # 예측 점수가 1에 가까울수록 모델이 주어진 입력 변수(X)에 대해 출력 변수(Y)의 변동을 잘 설명함.

print("계수:", coef)
print("절편:", intercept)
print("예측 점수:", score)

# 입력 변수 설정
X_new = [[280, 2500]]

# 예측값 계산
predicted_efficiency = reg.predict(X_new)
predicted_efficiency = np.round(predicted_efficiency, 2)

print("280 마력 자동차의 예상 연비:", predicted_efficiency)

'''
    pairplot 
        - 주어진 데이터의 각 feature들 사이의 관계를 표시하는 plot
        - scatterplot, FaceGrid, kdeplot을 이용하여 feature들 간의 관계를 잘 보여줌
        - 각 feature에 대해 계산된 모든 결과를 보여줌 
            - feature가 많은 경우 사용하기 적합하지 않음 
'''

plt.figure(figsize=(10, 10))
sns.pairplot(df)
plt.show()

'''
    heatmap
        - 정사각형 그림에 데이터에 대한 정도 차이를 색 차이로 보여줌
        - 열화상카메라로 사물을 찍은 것처럼 보임 
        - 상관관계를 알 수 있음 
'''

corr = df.corr()
print(corr)

df.info()

plt.figure(figsize=(10, 10))
sns.heatmap(data=corr, square=True, annot=True, fmt=".2f")
plt.show()

 

 

반응형