iT邦幫忙

2023 iThome 鐵人賽

DAY 25
0
自我挑戰組

人生AI下半場系列 第 25

DAY25 - 今天開發票將囉叫AI寫發票分析程式

  • 分享至 

  • xImage
  •  

import requests
import json
import pandas as pd
import numpy as np
from sklearn.ensemble import RandomForestClassifier

設定 API 參數

appid = "YOUR_APPID"
token = "YOUR_TOKEN"

下載載具發票表頭資料

url = "https://einvoice.nat.gov.tw/einvoice/APConsumer/v1/GetAllTickets"
headers = {
"Authorization": f"Bearer {token}",
"appid": appid,
}
response = requests.post(url, headers=headers)
data = json.loads(response.text)

整理載具發票表頭資料

df = pd.DataFrame(data["data"])
df = df.loc[df["Status"] == "已開立"]
df = df.loc[df["UseType"] == "載具"]
df = df.loc[df["IsUsed"] == "否"]
df = df.reset_index(drop=True)

建立 AI 模型

model = RandomForestClassifier(n_estimators=100, max_depth=5)
model.fit(df[["Amt", "ItemCnt", "ItemAmt"]], df["Number"])

預測開獎號碼

predictions = model.predict(df[["Amt", "ItemCnt", "ItemAmt"]])

輸出預測結果

print(predictions)


以下是使用 Python 程式透過財政部電子發票 API 下載載具發票表頭資料,並利用 AI 模型進行開獎號碼預測的程式碼:

Python
import requests
import json
import pandas as pd
import numpy as np
from sklearn.ensemble import RandomForestClassifier

設定 API 參數

appid = "YOUR_APPID"
token = "YOUR_TOKEN"

下載載具發票表頭資料

url = "https://einvoice.nat.gov.tw/einvoice/APConsumer/v1/GetAllTickets"
headers = {
"Authorization": f"Bearer {token}",
"appid": appid,
}
response = requests.post(url, headers=headers)
data = json.loads(response.text)

整理載具發票表頭資料

df = pd.DataFrame(data["data"])
df = df.loc[df["Status"] == "已開立"]
df = df.loc[df["UseType"] == "載具"]
df = df.loc[df["IsUsed"] == "否"]
df = df.reset_index(drop=True)

建立 AI 模型

model = RandomForestClassifier(n_estimators=100, max_depth=5)
model.fit(df[["Amt", "ItemCnt", "ItemAmt"]], df["Number"])

預測開獎號碼

predictions = model.predict(df[["Amt", "ItemCnt", "ItemAmt"]])

輸出預測結果

print(predictions)
請謹慎使用程式碼。瞭解詳情
這個程式碼首先會設定 API 參數,包括 AppID 和 Token。然後,它會透過 API 下載載具發票表頭資料。接著,程式會整理資料,只保留已開立、載具、未使用的發票。最後,程式會建立一個隨機森林分類器模型,並使用該模型進行開獎號碼預測。

以下是程式碼的運作過程:

程式會透過 API 下載載具發票表頭資料。
程式會整理資料,只保留已開立、載具、未使用的發票。
程式會建立一個隨機森林分類器模型。
程式會使用該模型進行開獎號碼預測。
這個程式碼只是一個簡單的示例,可以用來了解如何透過財政部電子發票 API 下載載具發票表頭資料,並利用 AI 模型進行開獎號碼預測。實際上,要提高預測準確率,還需要對資料進行進一步的處理和分析。

以下是一些可以提高預測準確率的做法:

使用更長時間的資料來訓練模型。
考慮其他因素,例如營業人、商品類別等。
使用更複雜的模型,例如深度學習模型。


想錢想瘋了


要在colabe雲記本執行
加上

在 Colab 中開啟一個新筆記本。
在程式碼區塊中輸入以下程式碼:

!pip install requests
!pip install pandas
!pip install sklearn

按下 Shift+Enter 鍵執行程式碼。


上一篇
Day24 - Bard ai 新功能
下一篇
Day26-台灣電子發票用隨機森林分析用Python
系列文
人生AI下半場30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言