【揭秘NumPy】輕鬆上手預測建模的實戰案例全解析

提問者:用戶KFSA 發布時間: 2025-06-08 02:38:24 閱讀時間: 3分鐘

最佳答案

引言

NumPy是Python頂用於科學打算的核心庫,它供給了富強的n維數組東西,以及用於處理這些數組的東西。NumPy的數組(numpy.array)比Python的內置列表更高效,因為它們在內存中以持續的方法存儲,這使得打算速度更快,尤其合適大年夜範圍數據處理。在猜測建模中,NumPy是弗成或缺的東西之一。本文將具體介紹怎樣利用NumPy停止猜測建模,並經由過程實戰案例停止剖析。

NumPy基本

1. 安裝與導入

起首,確保你曾經安裝了NumPy庫。可能利用以下命令停止安裝:

pip install numpy

然後,在Python代碼中導入NumPy庫:

import numpy as np

2. 創建數組

NumPy供給了多種創建數組的方法,包含:

  • np.array():創建一個NumPy數組。
  • np.zeros():創建一個全零數組。
  • np.ones():創建一個全一數組。
  • np.full():創建一個指定值填充的數組。

3. 數組操縱

NumPy供給了豐富的數組操縱功能,包含:

  • 索引跟切片:與Python列表類似。
  • 數組運算:支撐元素級運算。
  • 索引跟前提抉擇:利用布爾索引抉擇數組中的元素。

猜測建模實戰案例

1. 房價猜測

數據籌備

起首,我們須要籌備數據。以下是一個房價猜測的數據集示例:

data = {
    'area': [1000, 1500, 2000, 2500, 3000],
    'bedrooms': [3, 4, 3, 4, 3],
    'price': [200000, 300000, 250000, 350000, 400000]
}

df = pd.DataFrame(data)

特徵工程

接上去,我們須要對數據停止特徵工程。這裡,我們將利用NumPy停止數據標準化:

from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()
df[['area', 'bedrooms']] = scaler.fit_transform(df[['area', 'bedrooms']])

模型構建

現在,我們可能利用NumPy構建一個簡單的線性回歸模型:

X = df[['area', 'bedrooms']]
y = df['price']

X = np.array(X)
y = np.array(y)

# 增加截距項
X = np.hstack((np.ones((X.shape[0], 1)), X))

# 梯度降落法求解回歸係數
def gradient_descent(X, y, weights, learning_rate, iterations):
    m = X.shape[0]
    for _ in range(iterations):
        predictions = X.dot(weights)
        errors = predictions - y
        gradient = X.T.dot(errors) / m
        weights -= learning_rate * gradient
    return weights

weights = np.zeros(X.shape[1])
learning_rate = 0.01
iterations = 1000

weights = gradient_descent(X, y, weights, learning_rate, iterations)

模型評價

最後,我們可能利用均方偏差(MSE)來評價模型的機能:

from sklearn.metrics import mean_squared_error

y_pred = X.dot(weights)
mse = mean_squared_error(y, y_pred)
print(f'MSE: {mse}')

2. 乘客生活猜測

另一個經典的猜測建模案例是泰坦尼克號乘客生活猜測。以下是一個利用NumPy停止猜測建模的示例:

import pandas as pd

# 讀取數據
data = pd.read_csv('titanic.csv')

# 數據預處理
data = data.dropna()
data['age'] = data['age'].fillna(data['age'].mean())
data['fare'] = data['fare'].fillna(data['fare'].mean())

# 特徵工程
X = data[['pclass', 'age', 'sibsp', 'parch', 'fare']]
y = data['survived']

# 數據標準化
scaler = StandardScaler()
X = scaler.fit_transform(X)

# 模型構建
from sklearn.linear_model import LogisticRegression

model = LogisticRegression()
model.fit(X, y)

# 模型評價
from sklearn.metrics import accuracy_score

X_test = X
y_test = y

y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(f'Accuracy: {accuracy}')

總結

NumPy是Python頂用於科學打算的核心庫,它供給了富強的n維數組東西跟豐富的數組操縱功能。經由過程本文的實戰案例,我們可能看到NumPy在猜測建模中的利用。控制NumPy將有助於你更高效地停止數據分析跟建模。

相關推薦