AI bootcamp DAY23
5052 ワード
せんけいかいきせんけいかいき
理解
1.データのロード
1-1. df = pd.read_csv('')
1-2. df = head()
1-3. 사용할 특성 select
target = df[['Happiness']]
df = df[['Nation', 'GDP', 'Happiness']]
df_t = df[['Nation', 'GDP']]
1-4. df['Happiness].describe()
1-5(추가) 확률밀도함수, 평균과, 수직선 확인하여 평균 시각적으로 확인
import matplotlib.pyplot as plt
import seaborn as sns
SalePrice의 확률밀도함수를 그려보겠습니다
sns.displot(df['SalePrice'], kde=True)
평균과, 중간값으로 수직선을 그려보겠습니다.
plt.axvline(df['SalePrice'].mean(), color='blue')
plt.axvline(df['SalePrice'].median(), color='red');
2.データムモデルベースラインモデル
注意:分類問題=ターゲットの空きクラス;回帰問題=ターゲットの平均値;クロック列回帰問題=古いタイムスタンプの値
2-1. 予測:標準モデルとしての平均予測
predict = df['Happiness'].mean()
2-2. 平均値で予測する場合、各例の平均値との差異(error)が格納される errors = predict - df['Happiness']
2-3. Mean Absolute Error,errorに対して絶対値を取った後に平均計算を行う平均絶対誤差(MAE)は予測誤差の絶対値平均である
mean_absolute_error = errors.abs().mean()
平均エラーがかなり大きいことが確認できます.平均するとMAEが大きすぎるという意味です
3.予測モデルによる予測モデル
Scatterplotに最適なフィット直線を描画し、回帰予測モデルになります.
予測=作成したモデルの推定値
残差=予測値と観測値の違い
エラー
回帰線は残差二乗とRSSを最小化する直線である.RSSは、回帰モデルのコスト関数となるSquare Error(Sum of Square Error)とも呼ばれる.マシン学習では、コスト関数の最小化モデルを探す方法を学習します.
ここで,∂とbetaはRSS最小化の値であり,モデル学習により得られた値である.この残差二乗と最小化の方法を最小二乗回帰またはOrdinary最小二乗(OLS)と呼ぶ.
線形回帰直線は独立変数因変数,Xと因変数,Yの関係を要約する
依存変数は、反応応答変数、ラベル、ターゲットターゲットターゲットなどと呼ばれる.
独立変数は、予測予測予測変数、表示説明、および特性特徴
3-1 scikit-learningを使用して線形回帰モデルを構築
(1)解題に適したモデルを選択し,クラスを参照し,関連属性またはスーパーパラメータを決定する.
(2)データ前処理
(3)fit()メソッドを用いてモデルを学習する
(4)予測()メソッドを用いて新しいデータを予測する
3-2. 単純線形回帰
from sklearn.linear_model import LinearRegression
3-3. Xプロパティテーブルとyターゲットバックエンドの作成
feature = ['GDP']
target = ['Happiness']
X_train = df[feature]
y_train = df[target]
3-4. 勉強はモデルに向いている.model.fit(X_train, y_train)
LinearRegression()
3-5. 新しいデータサンプルを選択し,学習モデルにより予測するX_test = [[4000]]
y_pred = model.predict(X_test)
3-6. モデルによるテストデータ全体の予測X_test = [[x] for x in df_t['GDP']]
y_pred = model.predict(X_test)
3-7. 線形回帰モデルの係数係数
モデルはGDPとHappinessの間でどんな関係を学びましたか?
この質問に答えるには、LinearRegressionオブジェクトのcoef、interceptプロパティを確認します.
係数Coefficient
model.coef_
カットアウト
:座標平面上の直線がx軸と交差する点のx座標とy軸と交差する点のy座標.
modelintercept_
3-8. 予測関数を作成し、新しいデータを繰り返し予測し、係数の影響を説明します. def explain_prediction(usd):
y_pred = model.predict([[usd]])
pred = f"{int(sqft)} sqft 주택 가격 예측: ${int(y_pred[0])} (1 usd당 추가 GDP: ${int(model.coef_[0])
return pred
print(explain_prediction(4000))
4000ドルの幸福予測:447090ドル(1ドル当たりの追加幸福:107ドル)番外
from ipywidgets import interact
アクセラレータインタラクションを追加します.
@interact
def explain_prediction(sqft=(500,10000)):
y_pred = model.predict([[sqft]])
pred = f"{int(sqft)} sqft 주택 가격 예측: ${int(y_pred[0])} (1 sqft당 추가금: ${int(model.coef_[0]
return pred
interactive(children=(IntSlider(value=5250, description='sqft', max=10000, min=500), Output())
Reference
この問題について(AI bootcamp DAY23), 我々は、より多くの情報をここで見つけました https://velog.io/@jintonic92/AI-bootcamp-DAY23テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol