主頁 >  其他 > 7000字,Python資料分析:泰坦尼克號中女生更容易生還?

7000字,Python資料分析:泰坦尼克號中女生更容易生還?

2021-12-27 09:20:02 其他

作者 | Peter
來源 | 尤而小屋

Titanic資料是一份經典資料挖掘的資料集,本文介紹的是kaggle排名第一的案例分享,原notebook地址:

https://www.kaggle.com/startupsci/titanic-data-science-solutions

圖片

排名

看下這個案例的排名情況:

第一名和第二名的差距也不是很多,而且第二名的評論遠超第一名;有空再一起學習下第二名的思路,

通過自己的整體學習第一名的原始碼,前期對欄位的處理很細致,全面;建模的程序稍微比較淺,

資料集文末會給出!

資料探索

匯入庫

匯入整個程序中需要的三類別庫:

  • 資料處理

  • 可視化庫

  • 建模庫

# 資料處理
import pandas as pd
import numpy as np
import random as rnd

# 可視化
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline

# 模型
from sklearn.linear_model import LogisticRegression
from sklearn.svm import SVC, LinearSVC
from sklearn.ensemble import RandomForestClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.naive_bayes import GaussianNB
from sklearn.linear_model import Perceptron
from sklearn.linear_model import SGDClassifier
from sklearn.tree import DecisionTreeClassifier

匯入資料

匯入資料后查看資料的大小

圖片

欄位資訊

查看全部的欄位:

train.columns

Index(['PassengerId', 'Survived', 'Pclass', 'Name', 'Sex', 'Age', 'SibSp',
       'Parch', 'Ticket', 'Fare', 'Cabin', 'Embarked'],
      dtype='object')

下面是欄位的具體含義:

  • PassengerId:用戶id

  • survival:是否生還,0-否,1-是

  • pclass:艙位,1-頭等艙,2-二等,3-三等

  • name:姓名

  • sex:性別

  • Age:年齡

  • sibsp:在船上的兄弟/配偶數

  • parch:在船上父母/孩子數

  • ticket:票號

  • fare:票價

  • cabin:Cabin number;客艙號

  • embarked:登船地點

欄位分類

本案例中的資料主要是有兩種型別:

  • 分型別Categorical: Survived, Sex, and Embarked. Ordinal: Pclass

  • 連續型Continous: Age, Fare. Discrete: SibSp, Parch

缺失值

查看訓練集和測驗集的缺失值情況:

同時也可以通過info函式來查資料的基本資訊:

圖片

資料假設

作者基于資料的基本資訊和常識,給出了自己的一些假設和后面的資料處理和分析方向:

洗掉欄位

  • 本專案主要是考察其他欄位和Survival欄位的關系

  • 重點關注欄位:Age、Embarked

  • 洗掉欄位:對資料分析沒有作用,直接洗掉的欄位:Ticket(票號)、Cabin(客艙號)、PassengerId(乘客號)、Name(姓名)

修改、增加欄位

  • 增加Family:根據Parch(船上的兄弟姐妹個數) 和 SibSp(船上的父母小孩個數)

  • 從Name欄位中提取Title作為新特征

  • 將年齡Age欄位轉成有序的分類特征

  • 創建一個基于票價Fare 范圍的特征

猜想

  • 女人(Sex=female)更容易生還

  • 小孩(Age>?)更容易生還

  • 船艙等級高的乘客更容易生還(Pclass=1)

統計分析

主要是對分類的變數Sex、有序變數Pclss、離散型SibSp、Parch進行分析來驗證我們的猜想

1、船艙等級(1-頭等,2-二等,3-三等)

圖片

結論:頭等艙的人更容易生還

2、性別

圖片

結論:女人更容易生還

3、兄弟姐妹/配偶數

結論:兄弟姐妹或者配偶數量相對少的乘客更容易生還

4、父母/孩子數

圖片

結論:父母子女在3個的時候,更容易生還

可視化分析

年齡與生還

g = sns.FacetGrid(train, col="Survived")
g.map(plt.hist, 'Age', bins=20)

plt.show()

圖片

  1. 對于未生還的人員,大多數集中在15-25歲(左圖)

  2. 生還人員年齡最大為80;同時4歲以下的小孩生還率很高(右圖)

  3. 乘客的年齡大多數集中在15-35歲(兩圖)

艙位與生還

grid = sns.FacetGrid(
    train,
    col="Survived",
    row="Pclass",
    size=2.2,
    aspect=1.6
    )

grid.map(plt.hist,"Age",alpha=0.5,bins=20)
grid.add_legend()
plt.show()

圖片

  • 艙位等級3的乘客最多;但是很多沒有生還

  • 艙位等級1的乘客生還最多

登船地點、性別與生還的關系

grid = sns.FacetGrid(train,
                     row="Embarked",
                     size=2.2,
                     aspect=1.6)
grid.map(sns.pointplot,
         "Pclass",
         "Survived",
         "Sex",
         palette="deep")

grid.add_legend()

plt.show()

圖片

  1. 女性比男性的生還情況要好

  2. 除了在Embarked=C,男性的生還率要高些,

  3. 當艙位等級都在Pclass=3,男性的在Embarked=C的生還率好于Q

票價、艙位與生還

grid = sns.FacetGrid(train, 
                     row='Embarked', 
                     col='Survived', 
                     size=2.2, aspect=1.6)

grid.map(sns.barplot, 
         'Sex', 
         'Fare', 
         alpha=.5, ci=None)

grid.add_legend()

plt.show()

圖片

  • 票價越高,生還效果越好;右側上2圖

  • 生還率和登船的位置相關;明顯在Embarked=C的情況是最好的

上面都是基于簡單的統計和可視化方面的分析,下面的程序是基于各種機器學習建模的方法來進行分析,前期做了很多的預處理好特征工程的作業,

洗掉無效欄位

票價ticket和客艙號Cabin對我們分析幾乎是沒有用的,可以考慮直接洗掉:

生成新特征

主要是根據現有的特征屬性中找到一定的關系,來生成新的特征,或者進行一定的特征屬性轉化,

欄位Name處理

根據名稱Name生成找到稱謂,比如Lady、Dr、Miss等資訊,來查看這個稱謂和生還資訊之間是否存在關系

# 通過正則提取
for dataset in combine:
    dataset["Title"] = dataset.Name.str.extract('([A-Za-z]+)\.', expand=False)
    
  # 統計Title下的男女數量
train.groupby(["Sex","Title"]).size().reset_index()

圖片

使用交叉表的形式統計:

# 交叉表形式
pd.crosstab(train['Title'], train['Sex'])

將提取出來的稱謂進行整理,歸類為常見的稱謂和Rare資訊:

for dataset in combine:
    dataset["Title"] = dataset["Title"].replace(['Lady', 'Countess','Capt', 'Col',\
  'Don', 'Dr', 'Major', 'Rev', 'Sir', 'Jonkheer', 'Dona'], 'Rare')
    
    dataset['Title'] = dataset['Title'].replace('Mlle', 'Miss')
    dataset['Title'] = dataset['Title'].replace('Ms', 'Miss')
    dataset['Title'] = dataset['Title'].replace('Mme', 'Mrs')
    
    
# 根據稱謂Title求生還的均值
train[["Title","Survived"]].groupby("Title",as_index=False).mean()

圖片

稱謂本身是文本型對后期建模無用,我們直接轉成數值型:

title_mapping = {
  "Mr":1,
  "Miss":2,
  "Mrs":3,
  "Master":4,
  "Rare":5
}

for dataset in combine:
    # 存在資料的進行匹配
    dataset['Title'] = dataset['Title'].map(title_mapping)
    # 不存在則補0
    dataset['Title'] = dataset['Title'].fillna(0)
    
train.head()

同時還需要洗掉部分欄位:

train = train.drop(['Name', 'PassengerId'], axis=1)
test = test.drop(['Name'], axis=1)

combine = [train, test]
train.shape, test.shape

# ((891, 9), (418, 9))

欄位Sex

將性別的Male和Female轉成0-Male,1-Female

 for dataset in combine:
    dataset['Sex'] = dataset['Sex'].map( {'female': 1, 'male': 0} ).astype(int)

性別、年齡、生還之間的關系:

grid = sns.FacetGrid(
    train,
    row='Pclass',
    col='Sex',
    size=2.2, 
    aspect=1.6)

grid.map(plt.hist, 
         'Age', 
         alpha=.5, 
         bins=20)

grid.add_legend()

plt.show()

圖片

欄位Age

1、首先就是欄位的缺失值處理,

我們觀察到年齡欄位是存在缺失值的,我們通過Sex(0、1)和Pclass(1、2、3)的6種組合關系來進行填充,缺失值情況:

圖片

填充的具體程序:

guess_ages = np.zeros((2,3))

 for dataset in combine:
    for i in range(0,2):
        for j in range(0,3):
            # 找到某種條件下Age欄位的缺失值并洗掉
            guess_df = dataset[(dataset["Sex"] == i) & (dataset["Pclass"] == j+1)]["Age"].dropna()
            age_guess = guess_df.median()  # 中位數
            guess_ages[i,j] = int(age_guess / 0.5 + 0.5) * 0.5
    for i in range(0,2):
        for j in range(0,3):
            dataset.loc[(dataset.Age.isnull()) & (dataset.Sex == i) & (dataset.Pclass == j+1),"Age"] = guess_ages[i,j]
    dataset["Age"] = dataset["Age"].astype(int)
    
# 填充后不存在缺失值
train.isnull().sum()

2、年齡分段分箱

圖片

3、轉成數值分類

  • 年齡小于16用0替代

  • 16到32用1替代等...

for dataset in combine:
    dataset.loc[dataset["Age"] <= 16, "Age"] = 0
    dataset.loc[(dataset["Age"] > 16) & (dataset["Age"] <= 32), "Age"] = 1
    dataset.loc[(dataset["Age"] > 32) & (dataset["Age"] <= 48), "Age"] = 2
    dataset.loc[(dataset["Age"] > 48) & (dataset["Age"] <= 64), "Age"] = 3
    dataset.loc[(dataset["Age"] > 64), "Age"] = 4
    
# 洗掉年齡段AgeBand欄位
train = train.drop(["AgeBand"], axis=1)
combine = [train, test]

欄位處理

根據現有的欄位來生成新欄位:

生成新欄位1

首先根據Parch和SibSp兩個欄位生成一個FamilySize欄位

for dataset in combine:
    dataset["FamilySize"] = dataset["SibSp"] + dataset["Parch"] + 1

    
# 每個FamilySize的生還均值
train[['FamilySize', 'Survived']].groupby(['FamilySize'], as_index=False).mean().sort_values(by='Survived', ascending=False)

根據欄位FamilySize來判斷是否Islone:如果家庭成員FamilySize是一個人,那肯定是Islone的,用1表示,否則用0表示

圖片

最后將 Parch, SibSp, and FamilySize洗掉,僅保留是否一個人Islone:

# 將 Parch, SibSp, and FamilySize洗掉,僅保留是否一個人Islone

train = train.drop(['Parch', 'SibSp', 'FamilySize'],axis=1)
test = test.drop(['Parch', 'SibSp', 'FamilySize'],axis=1)
combine = [train, test]

train.head()

生成新欄位2

新欄位2是Age和Pclass的乘積:

Embarked欄位的分類

Embarked欄位取值有SQC,首先我們填充里面的缺失值

查看這個欄位是存在缺失值的:

圖片

處理:找出眾數、填充缺失值、查看每個取值的均值

圖片

將文本型別轉成數值型:

圖片

Fare欄位處理

訓練集這個欄位是沒有缺失值,測驗集中存在一個:

圖片

使用中值進行填充:

圖片

實行分箱操作:

# 只對FareBand欄位分箱
train['FareBand'] = pd.qcut(train['Fare'], 4)  # 分成4組

# 生還的均值
train[['FareBand', 'Survived']].groupby(['FareBand'], as_index=False).mean().sort_values(by='FareBand', ascending=True)

圖片

將每個段轉成數值型的資料:

# 4個分段
for dataset in combine:
    dataset.loc[ dataset['Fare'] <= 7.91, 'Fare'] = 0
    dataset.loc[(dataset['Fare'] > 7.91) & (dataset['Fare'] <= 14.454), 'Fare'] = 1
    dataset.loc[(dataset['Fare'] > 14.454) & (dataset['Fare'] <= 31), 'Fare']   = 2
    dataset.loc[ dataset['Fare'] > 31, 'Fare'] = 3
    dataset['Fare'] = dataset['Fare'].astype(int)

# 
train = train.drop(['FareBand'], axis=1)
combine = [train, test]
    
test.head()

這樣我們就得到最終用于建模的欄位和資料:

圖片

建模

下面是具體的建模程序,我們先劃分資料集:

# 訓練集
X_train = train.drop("Survived", axis=1)
Y_train = train["Survived"]

# 測驗集
X_test  = test.drop("PassengerId", axis=1).copy()
X_train.shape, Y_train.shape, X_test.shape

每個模型的具體程序:

  1. 建立模型實體化的物件

  2. 擬合訓練集

  3. 對測驗集進行預測

  4. 計算準確率

模型1:邏輯回歸

# 模型實體化
logreg = LogisticRegression()
# 擬合程序
logreg.fit(X_train, Y_train)

# 測驗集預測
Y_pred = logreg.predict(X_test)
# 準確率求解
acc_log = round(logreg.score(X_train, Y_train) * 100, 2)
acc_log

# 結果
81.37

邏輯回歸模型得到的系數:

# 邏輯回歸特征和系數


coeff_df = pd.DataFrame(train.columns[1:])  # 除去Survived特征
coeff_df.columns = ["Features"]

coeff_df["Correlation"] = pd.Series(logreg.coef_[0])

# 從高到低
coeff_df.sort_values(by='Correlation', ascending=False)

圖片

結論:性別對我們的生還真的是一個重要的影響因素

模型2:支持向量機SVM

圖片

模型3:KNN

圖片

模型4:樸素貝葉斯

模型5:感知機

模型6:線性支持向量分類

linear_svc = LinearSVC()
linear_svc.fit(X_train, Y_train)

Y_pred = linear_svc.predict(X_test)

acc_linear_svc = round(linear_svc.score(X_train, Y_train) * 100, 2)
acc_linear_svc
# 結果
79.46

模型7:隨機梯度下降

模型8:決策樹

圖片

模型9:隨機森林

圖片

模型對比

將上面9種模型的結果(準確率)進行對比:

models = pd.DataFrame({
    'Model': ['Support Vector Machines', 'KNN', 'Logistic Regression', 
              'Random Forest', 'Naive Bayes', 'Perceptron', 
              'Stochastic Gradient Decent', 'Linear SVC', 
              'Decision Tree'],
    'Score': [acc_svc, acc_knn, acc_log, 
              acc_random_forest, acc_gaussian, acc_perceptron, 
              acc_sgd, acc_linear_svc, acc_decision_tree]})

models.sort_values(by='Score', ascending=False)

圖片

通過對比結果:決策樹和隨機森林在這份資料集表現的效果是最好的;其次就是KNN(K近鄰)演算法,

Python學習資源傳送門:

資料集:

鏈接:https://pan.baidu.com/s/12LlkhlDSk7G50o9R0RvQKA

提取碼:swo8

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/394173.html

標籤:其他

上一篇:AMA:關于 Willin Wang 的任何問題

下一篇:《程式設計基礎》 第九章 結構 7-7 找出總分最高的學生 (15 分)

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more