범주 형 sklearn Boston Housing 데이터 세트를 사용하여 matplotlib로 선형 플롯을 그리는 방법

user10851318

저는 데이터 과학의 초보자이며 boston 데이터 세트를 사용하여 matplotlib (및 pandas 및 numpy와 같은 다른 패키지)로 선형 플롯을 그리려고합니다. [0,1] 간격에서 그려야합니다. 나는 TARGET지역의 범죄율 ( CRIM, x 축) 에 대한 주택 가격 ( , y 축) 을 플로팅하도록 요청 받았다 . 내 목표는 Matplotlib의 히스토그램을 사용하는 것이지만 이와 같은 범주 형 데이터 세트에 대해 수행하는 방법을 찾을 수 없습니다. 지금까지 내가 가진 코드는 다음과 같습니다.

import matplotlib.pyplot as plt
import pandas as pd
from sklearn.datasets import load_boston

boston = load_boston()

dataFrame_x = pd.DataFrame(boston.data, columns = boston.feature_names)
dataFrame_y = pd.DataFrame(boston.target)

dataFrame_x.describe()

그리고 이것은 데이터 설명입니다 (너무 어색해 보입니다. 사과드립니다) :

    CRIM    ZN  INDUS   CHAS    NOX RM  AGE DIS RAD TAX PTRATIO B   LSTAT
count   506.000000  506.000000  506.000000  506.000000  506.000000  506.000000  506.000000  506.000000  506.000000  506.000000  506.000000  506.000000  506.000000
mean    3.613524    11.363636   11.136779   0.069170    0.554695    6.284634    68.574901   3.795043    9.549407    408.237154  18.455534   356.674032  12.653063
std 8.601545    23.322453   6.860353    0.253994    0.115878    0.702617    28.148861   2.105710    8.707259    168.537116  2.164946    91.294864   7.141062
min 0.006320    0.000000    0.460000    0.000000    0.385000    3.561000    2.900000    1.129600    1.000000    187.000000  12.600000   0.320000    1.730000
25% 0.082045    0.000000    5.190000    0.000000    0.449000    5.885500    45.025000   2.100175    4.000000    279.000000  17.400000   375.377500  6.950000
50% 0.256510    0.000000    9.690000    0.000000    0.538000    6.208500    77.500000   3.207450    5.000000    330.000000  19.050000   391.440000  11.360000
75% 3.677083    12.500000   18.100000   0.000000    0.624000    6.623500    94.075000   5.188425    24.000000   666.000000  20.200000   396.225000  16.955000
max 88.976200   100.000000  27.740000   1.000000    0.871000    8.780000    100.000000  12.126500   24.000000   711.000000  22.000000   396.900000  37.970000
Sheldore

귀하의 의견에 대한 이해를 바탕으로 다음은 데이터에 대한 선형 피팅을 수행하는 방법입니다. 영역 0에서 1에 대한 CRIM를 플로팅하고 싶기 때문에 Target인덱싱을 사용 CRIM하여 DataFrame 에서 값을 가져온 다음 값에 대해 선형 회귀를 수행합니다.

xdata = dataFrame_x['CRIM'][dataFrame_x['CRIM'] < 1].values
ydata = dataFrame_y[dataFrame_x['CRIM'] < 1].values.flatten()

xmesh = np.linspace(min(xdata), max(xdata), 50)

fit = np.poly1d(np.polyfit(xdata, ydata, 1))

plt.plot(xdata, ydata, 'bo', label='Data')
plt.plot(xmesh, fit(xmesh), '-b', label='Fit')
plt.legend(fontsize=16)
plt.xlabel('CRIM', fontsize=18)
plt.ylabel('Target',fontsize=18)

여기에 이미지 설명 입력

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사